[MPlayer-cygwin] [BUG] garbled video with levis.avi

Diego Biurrun diego at biurrun.de
Tue Sep 30 02:53:45 CEST 2003


Sascha Sommer writes:
 > > So I trick Michael Niedermayer into fixing ffindeo for me only to find
 > > that the file fails under Cygwin...
 > >
 > > http://www.mplayerhq.hu/~diego/levis.avi
 > >
 > > Linux plays this fine with both ffindeo and the ir32_32.dll, but Cygwin
 > > and MinGW fail both with the DLL and ffindeo.
 > 
 > The problem is its width. Try with vop expand, or vo directx:noaccel or
 > whatever

Yes, that fixes it.  Now it crashes, though.  Here is the gdb
backtrace with -v output:

GNU gdb 2003-09-20-cvs (cygwin-special)
Copyright 2003 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i686-pc-cygwin"...
(gdb) run -v   ../../samples/levis.avi
Starting program: /home/diego/mplayer/dev/mplayer.exe -v ../../samples/levis.avi
MPlayer dev-CVS-030915-02:55-3.2 (C) 2000-2003 MPlayer Team

CPU: Advanced Micro Devices K6-2 492.5 MHz (Family: 5, Stepping: 12)
Detected cache-line size is 32 bytes
CPUflags:  MMX: 1 MMX2: 0 3DNow: 1 3DNow2: 0 SSE: 0 SSE2: 0
Compiled for x86 CPU with extensions: MMX 3DNow

Reading config file /usr/local/etc/mplayer/mplayer.confReading config file /home/diego/.mplayer/config
Reading /home/diego/.mplayer/codecs.conf: Reading /usr/local/etc/mplayer/codecs.conf: Using built-in default codecs.conf
CommandLine: '-v' '../../samples/levis.avi'
get_path('font/font.desc') -> '/home/diego/.mplayer/font/font.desc'
Font /home/diego/.mplayer/font/font.desc loaded successfully! (206 chars)
Using MMX (with tiny bit 3DNow) Optimized OnScreenDisplay
Using usleep() timing
get_path('input.conf') -> '/home/diego/.mplayer/input.conf'
get_path('levis.avi.conf') -> '/home/diego/.mplayer/levis.avi.conf'

Playing ../../samples/levis.avi
[file] File size is 1977430 bytes
STREAM: [file] ../../samples/levis.avi
STREAM: Description: File
STREAM: Author: Albeu
STREAM: Comment: based on the code from ??? (probably Arpi)
AVI file format detected.
list_end=0x14C
======= AVI Header =======
us/frame: 166666  (fps=6.000)
max bytes/sec: 0
padding: 0
MainAVIHeader.dwFlags: (16) HAS_INDEX
frames  total: 269   initial: 4
streams: 2
Suggested BufferSize: 32768
Size:  152 x 116
==========================
list_end=0xDC
==> Found video stream: 0
====== STREAM Header =====
Type: vids   FCC: IV32 (32335649)
Flags: 0
Priority: 0   Language: 0
InitialFrames: 0
Rate: 6/1 = 6.000
Start: 0   Len: 269
Suggested BufferSize: 53352
Quality 9000
Sample size: 0
==========================
found 'bih', 40 bytes of 40
======= VIDEO Format ======
  biSize 40
  biWidth 152
  biHeight 116
  biPlanes 1
  biBitCount 24
  biCompression 842225225='IV32'
  biSizeImage 52896
===========================
list_end=0x14C
==> Found audio stream: 1
====== STREAM Header =====
Type: auds   FCC:  (0)
Flags: 0
Priority: 0   Language: 0
InitialFrames: 4
Rate: 8957/65 = 137.800
Start: 0   Len: 6177
Suggested BufferSize: 715
Quality 10000
Sample size: 65
==========================
found 'wf', 20 bytes of 18
======= WAVE Format =======
Format Tag: 49 (0x31)
Channels: 1
Samplerate: 44100
avg byte/sec: 8957
Block align: 65
bits/sample: 0
cbSize: 2
Unknown extra header dump: [40] [1] 
===========================
Broken chunk?  chunksize=3744  (id=JUNK)
list_end=0x1E187E
Found movie at 0x1000 - 0x1E187E
Reading INDEX block, 314 chunks for 269 frames (fpos=0x1e1886)
list_end=0x1E2C56
AVI index offset: 0xFFC (movi=0x1000 idx0=0x4 idx1=0x22D6)
Auto-selected AVI audio ID = 1
Auto-selected AVI video ID = 0
AVI: Searching for audio stream (id:1)
AVI video size=1563959 (269) audio size=401505 (6177)
VIDEO:  [IV32]  152x116  24bpp  6.000 fps  279.1 kbps (34.1 kbyte/s)
[V] filefmt:3  fourcc:0x32335649  size:152x116  fps: 6.00  ftime:=0.1667
get_path('sub/') -> '/home/diego/.mplayer/sub/'
get_path('default.sub') -> '/home/diego/.mplayer/default.sub'
==========================================================================
Opening audio decoder: [acm] Win32/ACM decoders
======= Win32 (ACM) AUDIO Codec init =======
Input format:
======= WAVE Format =======
Format Tag: 49 (0x31)
Channels: 1
Samplerate: 44100
avg byte/sec: 8957
Block align: 65
bits/sample: 0
cbSize: 2
Unknown extra header dump: [40] [1] 
===========================
Output format:
======= WAVE Format =======
Format Tag: 1 (0x1)
Channels: 1
Samplerate: 44100
avg byte/sec: 88200
Block align: 2
bits/sample: 16
cbSize: 0
===========================
Loaded DLL driver msgsm32.acm
Audio codec opened OK! ;-)
Audio ACM output buffer min. size: 1280
Audio ACM input buffer min. size: 130
INFO: Win32/ACM audio codec init OK!
dec_audio: Allocating 260 bytes for input buffer
dec_audio: Allocating 1280 + 65536 = 66816 bytes for output buffer
AUDIO: 44100 Hz, 1 ch, 16 bit (0x10), ratio: 8957->88200 (71.7 kbit)
Selected audio codec: [msgsmacm] afm:acm (MS GSM)
==========================================================================
<vo_directx><INFO>checking primary surface
<vo_directx><FORMAT PRIMARY>10 BGR24 supported
<vo_directx><INFO>testing supported overlay pixelformats
<vo_directx><FORMAT OVERLAY>0 YV12  supported
<vo_directx><FORMAT OVERLAY>1 I420  not supported
<vo_directx><FORMAT OVERLAY>2 IYUV  not supported
<vo_directx><FORMAT OVERLAY>3 YVU9  not supported
<vo_directx><FORMAT OVERLAY>4 YUY2  supported
<vo_directx><FORMAT OVERLAY>5 RGB15 supported
<vo_directx><FORMAT OVERLAY>6 BGR15 supported
<vo_directx><FORMAT OVERLAY>7 RGB16 supported
<vo_directx><FORMAT OVERLAY>8 BGR16 supported
<vo_directx><FORMAT OVERLAY>9 RGB24 not supported
<vo_directx><FORMAT OVERLAY>10 BGR24 not supported
<vo_directx><FORMAT OVERLAY>11 RGB32 supported
<vo_directx><FORMAT OVERLAY>12 BGR32 supported
<vo_directx><INFO>Your card supports 8 of 13 overlayformats
<vo_directx><INFO>can mirror left right
<vo_directx><INFO>hardware supports overlay
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
INFO: libavcodec init OK!
Selected video codec: [ffindeo3] vfm:ffmpeg (FFmpeg Intel Indeo 3.1/3.2)
==========================================================================
Checking audio filter chain for 44100Hz/1ch/16bit -> 44100Hz/2ch/16bit...
[libaf] Adding filter dummy 
[dummy] Was reinitialized, rate=44100Hz, nch = 1, format = 0x00000001 and bps = 2
AF_pre: af format: 2 bps, 1 ch, 44100 hz, little endian signed int 
AF_pre: 44100Hz 1ch Signed 16-bit (Little-Endian)
ao_win32: Samplerate:44100Hz Channels:2 Format:Signed 16-bit (Little-Endian)
ao_win32: Buffersize:4096
AO: [win32] 44100Hz 2ch Signed 16-bit (Little-Endian) (2 bps)
AO: Description: Windows waveOut audio output
AO: Author: Sascha Sommer <saschasommer at freenet.de>
Building audio filter chain for 44100Hz/1ch/16bit -> 44100Hz/2ch/16bit...
[dummy] Was reinitialized, rate=44100Hz, nch = 1, format = 0x00000001 and bps = 2
[libaf] Adding filter channels 
[channels] Changing number of channels to 2
[dummy] Was reinitialized, rate=44100Hz, nch = 1, format = 0x00000001 and bps = 2
Starting playback...
[libaf] Reallocating memory in module channels, old len = 0, new len = 65534
[ffmpeg] aspect_ratio: 0.000000
VDec: vo config request - 152 x 116 (preferred csp: Planar YVU9)
Trying filter chain: vo
Could not find matching colorspace - retrying with -vop scale...
Opening video filter: [scale]
SwScale params: -1 x -1 (-1=no scaling)
Trying filter chain: scale vo
VDec: using Planar YVU9 as output csp (no 0)
Movie-Aspect is undefined - no prescaling applied.
VO Config (152x116->152x116,flags=0,'MPlayer',0x39555659)
SwScaler: reducing / aligning filtersize 1 -> 4
SwScaler: reducing / aligning filtersize 5 -> 4
SwScaler: reducing / aligning filtersize 1 -> 1
SwScaler: reducing / aligning filtersize 5 -> 4

SwScaler: BICUBIC scaler, from Planar YVU9 to BGR 32-bit using 3DNOW
SwScaler: using 4-tap MMX scaler for horizontal luminance scaling
SwScaler: using 4-tap MMX scaler for horizontal chrominance scaling
SwScaler: using n-tap MMX scaler for vertical scaling (BGR)
SwScaler: using MMX YV12->BGR32 Converter
SwScaler: 152x116 -> 152x116
REQ: flags=0x17  req=0x0  
VO: [directx] 152x116 => 152x116 BGR 32-bit 
VO: Description: Directx DDraw YUV/RGB/BGR renderer
VO: Author: Sascha Sommer <saschasommer at freenet.de>
<vo_directx><INFO>using normal cooperativelevel
<vo_directx><INFO>overlay with format BGR32 created
*** [scale] Exporting mp_image_t, 152x116x9bpp YUV planar, 19836 bytes
*** [vo] Allocating mp_image_t, 152x116x32bpp BGR packed, 70528 bytes

Program received signal SIGSEGV, Segmentation fault.
0x00439c17 in fast_memcpy_3DNow (to=0x1565800, from=0x10196140, len=0)
    at aclib_template.c:320
320			__asm__ __volatile__ (
(gdb) bt
#0  0x00439c17 in fast_memcpy_3DNow (to=0x1565800, from=0x10196140, len=0)
    at aclib_template.c:320
#1  0x00439d45 in fast_memcpy (to=0x1565800, from=0x10196140, len=74240)
    at aclib.c:140
#2  0x0043432f in put_image (mpi=0x10181ee0) at vo_directx.c:1038
#3  0x00434d83 in control (request=13, data=0x10181ee0) at vo_directx.c:1159
#4  0x0045957b in put_image (vf=0x10181ee0, mpi=0x10181ee0) at vf_vo.c:106
#5  0x0000000d in ?? ()
#6  0x10181ee0 in ?? ()
#7  0x10181ee0 in ?? ()
#8  0x10181ee0 in ?? ()
#9  0x10176718 in ?? ()
#10 0x10181e70 in ?? ()
#11 0x0022e668 in ?? ()
#12 0x004458e3 in vf_next_put_image (vf=0x100e0b10, mpi=0x10181ee0)
    at vf.c:500
(gdb) disass $pc-32 $pc+32
Dump of assembler code from 0x439bf7 to 0x439c37:
0x00439bf7 <fast_memcpy_3DNow+359>:	add    %edx,%esi
0x00439bf9 <fast_memcpy_3DNow+361>:	add    %edx,%edi
0x00439bfb <fast_memcpy_3DNow+363>:	sub    $0x40,%ecx
0x00439bfe <fast_memcpy_3DNow+366>:	cmp    $0x40,%ecx
0x00439c01 <fast_memcpy_3DNow+369>:	jae    0x439b80 <fast_memcpy_3DNow+240>
0x00439c07 <fast_memcpy_3DNow+375>:	test   %ecx,%ecx
0x00439c09 <fast_memcpy_3DNow+377>:	je     0x439c5e <fast_memcpy_3DNow+462>
0x00439c0b <fast_memcpy_3DNow+379>:	nop    
0x00439c0c <fast_memcpy_3DNow+380>:	lea    0x0(%esi,1),%esi
0x00439c10 <fast_memcpy_3DNow+384>:	prefetch 0x140(%esi)
0x00439c17 <fast_memcpy_3DNow+391>:	movq   (%esi),%mm0
0x00439c1a <fast_memcpy_3DNow+394>:	movq   0x8(%esi),%mm1
0x00439c1e <fast_memcpy_3DNow+398>:	movq   0x10(%esi),%mm2
0x00439c22 <fast_memcpy_3DNow+402>:	movq   0x18(%esi),%mm3
0x00439c26 <fast_memcpy_3DNow+406>:	movq   0x20(%esi),%mm4
0x00439c2a <fast_memcpy_3DNow+410>:	movq   0x28(%esi),%mm5
0x00439c2e <fast_memcpy_3DNow+414>:	movq   0x30(%esi),%mm6
0x00439c32 <fast_memcpy_3DNow+418>:	movq   0x38(%esi),%mm7
0x00439c36 <fast_memcpy_3DNow+422>:	movq   %mm0,(%edi)
End of assembler dump.
(gdb) qiut   uit
The program is running.  Exit anyway? (y or n) 



More information about the MPlayer-cygwin mailing list