[MPlayer-users] endless loop when building odml index

Ivan Mitev imitev at obs.bg
Sun Apr 4 11:15:12 CEST 2004


hi, 

i have troubles with a big >3go avi file i just created with transcode 
(version 0.6.12, which has odml support). 

there is an endless loop when building the odml index.
if i put a printf() in libmpdemux/aviheader.c, after the "3rd for" (around 
line 505, after idx++), i see that mplayer is caught in an infinite loop. i 
can't fix it, as i don't understand anything to avi headers/index. 

i'm using the CVS version of april 1st (MPlayer-20040401); btw, maybe the 
problem is that transcode generates a buggy avi... 

mplayer -v output: 

MPlayer dev-CVS-040401-07:00-3.3.1 (C) 2000-2004 MPlayer Team 

CPU: Advanced Micro Devices Athlon MP/XP Thoroughbred 1527 MHz (Family: 6, 
Stepping: 1)
Detected cache-line size is 64 bytes
CPUflags:  MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 0
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx SSE 

Reading config file /usr/local/etc/mplayer/mplayer.confReading config file 
/thinroot/.mplayer/config
Reading /thinroot/.mplayer/codecs.conf: Reading 
/usr/local/etc/mplayer/codecs.conf: Using built-in default codecs.conf.
CommandLine: '-v' 'lord_of_the_ring_1-001.avi'
init_freetype
get_path('font/font.desc') -> '/thinroot/.mplayer/font/font.desc'
font: can't open file: /thinroot/.mplayer/font/font.desc
Font /usr/local/share/mplayer/font/font.desc loaded successfully! (206 
chars)
Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay
Using Linux hardware RTC timing (1024Hz).
get_path('input.conf') -> '/thinroot/.mplayer/input.conf'
Setting up LIRC support...
get_path('lord_of_the_ring_1-001.avi.conf') -> 
'/thinroot/.mplayer/lord_of_the_ring_1-001.avi.conf' 

Playing lord_of_the_ring_1-001.avi.
[file] File size is 3404298040 bytes
STREAM: [file] lord_of_the_ring_1-001.avi
STREAM: Description: File
STREAM: Author: Albeu
STREAM: Comment: based on the code from ??? (probably Arpi)
AVI file format detected.
list_end=0x1D2
======= AVI Header =======
us/frame: 40000  (fps=25.000)
max bytes/sec: 0
padding: 0
MainAVIHeader.dwFlags: (272) HAS_INDEX IS_INTERLEAVED
frames  total: 256597   initial: 0
streams: 2
Suggested BufferSize: 0
Size:  1024 x 416
==========================
list_end=0x114
==> Found video stream: 0
====== STREAM Header =====
Type: vids   FCC: XVID (44495658)
Flags: 0
Priority: 0   Language: 0
InitialFrames: 0
Rate: 25000000/1000000 = 25.000
Start: 0   Len: 256597
Suggested BufferSize: 0
Quality 0
Sample size: 0
==========================
found 'bih', 40 bytes of 40
======= VIDEO Format ======
 biSize 40
 biWidth 1024
 biHeight 416
 biPlanes 1
 biBitCount 24
 biCompression 1145656920='XVID'
 biSizeImage 1277952
===========================
====== AVI Super Index Header ========
 FCC (indx) dwSize (56) wLongsPerEntry(4)
 bIndexSubType (0) bIndexType (0)
 nEntriesInUse (2) dwChunkId (ix00)
 dwReserved[0] (0) dwReserved[1] (0) dwReserved[2] (0)
===========================
ODML (ix00): [0] 0x00000000764f05de 0x12cf28 154081
ODML (ix00): [1] 0x00000000cad06fc8 0xc83b0 102514
list_end=0x1BA
==> Found audio stream: 1
====== STREAM Header =====
Type: auds   FCC:  (0)
Flags: 0
Priority: 0   Language: 0
InitialFrames: 0
Rate: 56000/1 = 56000.000
Start: 0   Len: 574776832
Suggested BufferSize: 0
Quality -1
Sample size: 1
==========================
found 'wf', 18 bytes of 18
======= WAVE Format =======
Format Tag: 8192 (0x2000)
Channels: 2
Samplerate: 48000
avg byte/sec: 56000
Block align: 1
bits/sample: 16
cbSize: 0
===========================
====== AVI Super Index Header ========
 FCC (indx) dwSize (56) wLongsPerEntry(4)
 bIndexSubType (0) bIndexType (0)
 nEntriesInUse (2) dwChunkId (ix01)
 dwReserved[0] (0) dwReserved[1] (0) dwReserved[2] (0)
===========================
ODML (ix01): [0] 0x000000007661d50e 0x12cf28 154081
ODML (ix01): [1] 0x00000000cadcf380 0xc83b0 102514
list_end=0x1D2
AVI: dmlh found (size=4) (total_frames=256597)
list_end=0x1F8
hdr=Software  size=17
Software  : transcode-0.6.12
list_end=0x7674A43E
Found movie at 0x800 - 0x7674A43E
additional RIFF header...
list_end=0xCAE97738
Found movie at 0x800 - 0xCAE97738
AVI: ODML: Building odml index (2 superindexchunks)
====== AVI Standard Index Header ========
 FCC (ix00) dwSize (1232680) wLongsPerEntry(2)
 bIndexSubType (0) bIndexType (1)
 nEntriesInUse (154082) dwChunkId (00db)
 qwBaseOffset (0x0) dwReserved3 (1075661436)
===========================
====== AVI Standard Index Header ========
 FCC (ix00) dwSize (820144) wLongsPerEntry(2)
 bIndexSubType (0) bIndexType (1)
 nEntriesInUse (102515) dwChunkId (00db)
 qwBaseOffset (0x76BFE096) dwReserved3 (170)
===========================
====== AVI Standard Index Header ========
 FCC (ix01) dwSize (1232680) wLongsPerEntry(2)
 bIndexSubType (0) bIndexType (1)
 nEntriesInUse (154082) dwChunkId (01wb)
 qwBaseOffset (0x0) dwReserved3 (65528)
===========================
====== AVI Standard Index Header ========
 FCC (ix01) dwSize (820144) wLongsPerEntry(2)
 bIndexSubType (0) bIndexType (1)
 nEntriesInUse (102515) dwChunkId (01wb)
 qwBaseOffset (0x76BFE096) dwReserved3 (1409)
=========================== 

[ then if have to exit ] 


and a tcprobe of the avi file:
# tcprobe -i lord_of_the_ring_1-001.avi
[tcprobe] RIFF data, AVI video
[avilib] V: 25.000 fps, codec=XVID, frames=256597, width=1024, height=416
[avilib] A: 48000 Hz, format=0x2000, bits=16, channels=2, bitrate=448 kbps,
[avilib]    256597 chunks, 574776832 bytes, CBR
[tcprobe] summary for lord_of_the_ring_1-001.avi, (*) = not default, 0 = not 
detected
import frame size: -g 1024x416 [720x576] (*)
      frame rate: -f 25.000 [25.000] frc=3
     audio track: -a 0 [0] -e 48000,16,2 [48000,16,2] -n 0x2000 [0x2000]
                  bitrate=448 kbps
          length: 256597 frames, frame_time=40 msec, duration=2:51:03.880 




More information about the MPlayer-users mailing list