[MPlayer-dev-eng] Mencoder crash with x264 - mingw32 on p4 build, maybe other

Gianluigi Tiesi mplayer at netfarm.it
Thu Mar 29 03:03:09 CEST 2007


I've been experimenting crashes when trying to encode using x264 or lavc
h264, this happens on a p4 and not on a amd tb k7, this is strange
because the code seams to be mmx.
The build is on mingw but I don't known if it's really win32 only.
I don't known too much mmx so I'm not able to locate the code in the
source, but I have trapped the crash with ollydbg so I have some (maybe)
usefull infos.

The code where it crashes is here:
00AB08F4    0FFDC1          PADDW MM0,MM1
00AB08F7    66:0FFDD3       PADDW MM2,MM3
00AB08FB    66:0FFDC9       PADDW MM1,MM1
00AB08FF    66:0FFDDB       PADDW MM3,MM3
00AB0903    66:0FF9C8       PSUBW MM1,MM0
00AB0907    66:0FF9DA       PSUBW MM3,MM2
00AB090B    66:0FFDC2       PADDW MM0,MM2
00AB090F    66:0FFDCB       PADDW MM1,MM3
00AB0913    66:0FFDD2       PADDW MM2,MM2
00AB0917    66:0FFDDB       PADDW MM3,MM3
00AB091B    66:0FF9D0       PSUBW MM2,MM0
00AB091F    66:0FF9D9       PSUBW MM3,MM1
00AB0923    66:0FEFE4       PXOR MM4,MM4
00AB0927    66:0FEFED       PXOR MM5,MM5
00AB092B    66:0FF9E0       PSUBW MM4,MM0
00AB092F    66:0FF9EA       PSUBW MM5,MM2
00AB0933    66:0FEEC4       PMAXSW MM0,MM4
00AB0937    66:0FEED5       PMAXSW MM2,MM5
00AB093B    66:0FEFE4       PXOR MM4,MM4
00AB093F    66:0FEFED       PXOR MM5,MM5
00AB0943    66:0FF9E1       PSUBW MM4,MM1
00AB0947    66:0FF9EB       PSUBW MM5,MM3
00AB094B    66:0FEECC       PMAXSW MM1,MM4
00AB094F    66:0FEEDD       PMAXSW MM3,MM5
00AB0953    66:0FDDC1       PADDUSW MM0,MM1
00AB0957    66:0FDDD3       PADDUSW MM2,MM3
00AB095B    66:0FDDF0       PADDUSW MM6,MM0
00AB095F    66:0FDDF2       PADDUSW MM6,MM2
00AB0963    66:0F71D6 01    PSRLW MM6,1
00AB0968    66:0FF535 2C0CC>PMADDWD MM6,QWORD PTR DS:[CE0C2C]
                         ^^^^^^^^^^^^
crash here

00AB0970    0F12FE          MOVHLPS XMM7,XMM6
00AB0973    66:0FFEF7       PADDD MM6,MM7
00AB0977    F2:             PREFIX REPNE:                            ; Superfluous prefix
00AB0978    0F70FE 0E       PSHUFW MM7,MM6,0E
00AB097C    66:0FFEF7       PADDD MM6,MM7
00AB0980    66:0F7EF0       MOVD EAX,MM6
00AB0984    5B              POP EBX
00AB0985    C3              RETN

DS:[00CE0C2C]=0001 0001 0001 0001
MM6=ABAB ABAB ABAB ABAB

Dump of registers
EAX 019916A8
ECX 019913E8
EDX 00000010
EBX 00000020
ESP 0022CC18
EBP 00000000
ESI 0198F330
EDI 0022CEB4
EIP 00AB0968 mencoder.00AB0968
C 0  ES 0023 32bit 0(FFFFFFFF)
P 1  CS 001B 32bit 0(FFFFFFFF)
A 0  SS 0023 32bit 0(FFFFFFFF)
Z 0  DS 0023 32bit 0(FFFFFFFF)
S 0  FS 003B 32bit 7FFDF000(FFF)
T 0  GS 0000 NULL
D 0
O 0  LastErr ERROR_SUCCESS (00000000)
EFL 00200206 (NO,NB,NE,A,NS,PE,GE,G)
MM0 8080 8080 8080 8080
MM1 8080 8080 8080 8080
MM2 8080 8080 8080 8080
MM3 8080 8080 8080 8080
MM4 ABAB ABAB ABAB ABAB
MM5 ABAB ABAB ABAB ABAB
MM6 ABAB ABAB ABAB ABAB
MM7 ABAB ABAB ABAB ABAB

attached stdout/stderr of mencoder -v
Using x264 or lavc h264 crashes mencoder in the same place

Any clue?
Regards

-- 
Gianluigi Tiesi <sherpya at netfarm.it>
EDP Project Leader
Netfarm S.r.l. - http://www.netfarm.it/
Free Software: http://oss.netfarm.it/
-------------- next part --------------
[swscaler @ 00CB0FF0]SwScaler: using unscaled yuv420p -> yuv420p special converter
x264 [info]: using SAR=1/1
x264 [info]: using cpu capabilities MMX MMXEXT SSE SSE2 
-------------- next part --------------
MEncoder Sherpya-SVN-r22834-4.1.2 (C) 2000-2006 MPlayer Team
CPU: Genuine Intel(R) CPU           T2300  @ 1.66GHz (Family: 6, Model: 14, Stepping: 8)
CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled with runtime CPU detection.
Configuration: --prefix=/usr --language=all --enable-win32dll --enable-static --enable-qtx --enable-real --enable-md5sum --enable-menu --disable-vidix-internal --disable-sdl --enable-caca --enable-gl --enable-matrixview --enable-freetype --enable-png --enable-jpeg --enable-gif --enable-tga --enable-mad --disable-tv --disable-dvb --disable-dvbhead --with-extraincdir=/j/Devel/mplayer/live --enable-runtime-cpudetection
init_freetype
get_path('font/font.desc') -> 'C:/mplayer/mplayer/font/font.desc'
font: can't open file: C:/mplayer/mplayer/font/font.desc
font: can't open file: /usr/share/mplayer/font/font.desc
Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay
WINSOCK2 init: 0
[file] File size is 28 bytes
STREAM: [file] colorbars.avs
STREAM: Description: File
STREAM: Author: Albeu
STREAM: Comment: based on the code from ??? (probably Arpi)
success: format: 0  data: 0x0 - 0x1c
Checking for YUV4MPEG2
ASF_check: not ASF guid!
Checking for NuppelVideo
Checking for REAL
Checking for SMJPEG
Searching demuxer type for filename colorbars.avs ext: .avs
Trying demuxer 38 based on filename extension
AVS: avs_check_file - attempting to open file colorbars.avs
AVS: Init Ok
AVS file format detected.
AVS: demux_open_avs()
==> Found video stream: 0
==> Found audio stream: 0
AVS: Clip has audio -> Channels = 2 - Freq = 48000
VIDEO:  [YV12]  640x480  12bpp  29.970 fps    0.0 kbps ( 0.0 kbyte/s)
[V] filefmt:38  fourcc:0x32315659  size:640x480  fps:29.97  ftime:=0.0334
==========================================================================
Opening audio decoder: [pcm] Uncompressed PCM audio decoder
dec_audio: Allocating 2048 + 65536 = 67584 bytes for output buffer.
AUDIO: 48000 Hz, 2 ch, floatle, 3072.0 kbit/100.00% (ratio: 384000->384000)
Selected audio codec: [pcm] afm: pcm (Uncompressed PCM)
==========================================================================
WINSOCK2 init: 0
[file] File size is 0 bytes
STREAM: [file] out.avi
STREAM: Description: File
STREAM: Author: Albeu
STREAM: Comment: based on the code from ??? (probably Arpi)
Opening video filter: [expand osd=1]
Expand: -1 x -1, -1 ; -1, osd: 1, aspect: 0.000000, round: 1
==========================================================================
Opening video decoder: [raw] RAW Uncompressed Video
VDec: vo config request - 640 x 480 (preferred colorspace: Planar YV12)
Trying filter chain: expand x264
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
SwScale params: -1 x -1 (-1=no scaling)
Trying filter chain: scale expand x264
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is undefined - no prescaling applied.
VO Config (640x480->640x480,flags=0,'MPlayer',0x32315659)
REQ: flags=0x403  req=0x0  
REQ: flags=0x3  req=0x0  
Selected video codec: [rawyv12] vfm: raw (RAW YV12)
==========================================================================
Building audio filter chain for 48000Hz/2ch/floatle -> 0Hz/0ch/??...
[libaf] Adding filter dummy 
[dummy] Was reinitialized: 48000Hz/2ch/floatle
[libaf] Adding filter format 
[format] Changing sample format from little-endian 32-bit float to big-endian 8-bit signed int
[dummy] Was reinitialized: 48000Hz/2ch/floatle
[format] Changing sample format from little-endian 32-bit float to big-endian 8-bit signed int
Building audio filter chain for 48000Hz/2ch/floatle -> 48000Hz/2ch/s16le...
[dummy] Was reinitialized: 48000Hz/2ch/floatle
[format] Changing sample format from little-endian 32-bit float to big-endian 8-bit signed int
[format] Changing sample format from little-endian 32-bit float to little-endian 16-bit signed int
[format] Accelerated little-endian 32-bit float to little-endian 16-bit signed int conversion
[dummy] Was reinitialized: 48000Hz/2ch/floatle
[format] Changing sample format from little-endian 32-bit float to little-endian 16-bit signed int
[format] Accelerated little-endian 32-bit float to little-endian 16-bit signed int conversion
[libaf] Reallocating memory in module format, old len = 0, new len = 32776
*** [scale] Exporting mp_image_t, 640x480x12bpp YUV planar, 460800 bytes
*** [x264] Allocating mp_image_t, 640x480x12bpp YUV planar, 460800 bytes
*** [expand] Direct Rendering mp_image_t, 640x480x12bpp YUV planar, 460800 bytes
get_path('subfont.ttf') -> 'C:/mplayer/mplayer/subfont.ttf'
Unicode font: 255 glyphs.


More information about the MPlayer-dev-eng mailing list