Opened 18 years ago

Closed 17 years ago

Last modified 17 years ago

#517 closed defect (worksforme)

Movie created from png with raw -vf format crashes mplayer

Reported by: dobrin@… Owned by: reimar
Priority: unimportant Component: vf
Version: 1.0pre8 Severity: critical
Keywords: Cc:
Blocked By: Blocking:
Reproduced by developer: no Analyzed by developer: no

Description

Machine Specification
Windows XP SP2
CYGWIN_NT-5.1 tiburon 1.5.18(0.132/4/2) 2005-07-02 20:30 i686 unknown unknown
-rwxr-x---+ 1 dobrin Domain Admins 2424900 Oct 21 2003 /lib/libc-client.a
-rwxr-x---+ 1 dobrin Users 786466 Jul 2 2005 /lib/libc.a
gcc version 3.4.4 (cygming special) (gdc 0.12, using dmd 0.125)
GNU ld version 2.16.91 20050610
GNU assembler 2.16.91 20050610
1 Intel(R) Pentium(R) M processor 2.00GHz
NVIDIA GeForce Go 6800 Graphics Driver nv4_disp ...6771

#################
Hello,

I built a move from a sequence of 8bit png files (PNG image data, 720 x 486, 8-
bit/color RGB, non-interlaced) using the command line:

mencoder mf://./"*".png -fps 24 -ovc raw -vf format -o ./movie3.avi

the resulting movie plays fine on Windows Media Player10, but mplayer dumps
with signal 11 in module decode_video. If I omit the "-vf format", then mplayer
plays fine, but not Windows Media Player. I used the latest subversion version
compiled on cygwin 1.5.18. Pre7 has the same problem on windows, but plays
fine on pre7 on redhat 4.3.
Sorry, but I can't send an example file, propriary images.
Not currently much of a problem for me as I have a windows and linux solution.
But I'm sure it will kick me in the butt soon enough.

thank you for your time
Bruce Dobrin
Research and Developement
Sony Pictures Imageworks

###################
GDB OUTPUT:
dobrin@tiburon:/home/dobrin/mplayer> gdb ./mplayer
GNU gdb 6.3.50_2004-12-28-cvs (cygwin-special)
Copyright 2004 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 /tmp/sunfrm2/movie3.avi
Starting program: /home/dobrin/mplayer/mplayer.exe -v /tmp/sunfrm2/movie3.avi
MPlayer dev-SVN-r18736-3.4.4 (C) 2000-2006 MPlayer Team
CPU: Intel(R) Pentium(R) M processor 2.00GHz (Family: 6, Model: 13,
Stepping: 8)
CPUflags: MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled for x86 CPU with extensions: MMX MMX2 SSE SSE2

get_path('codecs.conf') -> '/home/dobrin/.mplayer/codecs.conf'
Reading /home/dobrin/.mplayer/codecs.conf: Can't open '/home/dobrin/.mplayer/
codecs.conf': No such file or directory
Reading /usr/local/etc/mplayer/codecs.conf: Can't open '/usr/local/etc/mplayer/
codecs.conf': No such file or directory
Using built-in default codecs.conf.
CommandLine: '-v' '/tmp/sunfrm2/movie3.avi'
init_freetype
get_path('font/font.desc') -> '/home/dobrin/.mplayer/font/font.desc'
Font /home/dobrin/.mplayer/font/font.desc loaded successfully! (206 chars)
Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay
Using Windows native timing
get_path('input.conf') -> '/home/dobrin/.mplayer/input.conf'
Can't open input config file /home/dobrin/.mplayer/input.conf: No such file or
directory
Can't open input config file /usr/local/etc/mplayer/input.conf: No such file or
directory
Falling back on default (hardcoded) input config
get_path('movie3.avi.conf') -> '/home/dobrin/.mplayer/movie3.avi.conf'

Playing /tmp/sunfrm2/movie3.avi.
get_path('sub/') -> '/home/dobrin/.mplayer/sub/'
[file] File size is 190367124 bytes
STREAM: [file] /tmp/sunfrm2/movie3.avi
STREAM: Description: File
STREAM: Author: Albeu
STREAM: Comment: based on the code from ??? (probably Arpi)
AVI file format detected.
list_end=0x120
======= AVI Header =======
us/frame: 41666 (fps=24.000)
max bytes/sec: 0
padding: 0
MainAVIHeader.dwFlags: (2320) HAS_INDEX IS_INTERLEAVED TRUST_CKTYPE
frames total: 272 initial: 0
streams: 1
Suggested BufferSize: 0
Size: 720 x 486
==========================
list_end=0x120
==> Found video stream: 0

STREAM Header =====

Type: vids FCC: YUY2 (32595559)
Flags: 0
Priority: 0 Language: 0
InitialFrames: 0
Rate: 24/1 = 24.000
Start: 0 Len: 272
Suggested BufferSize: 699840
Quality 0
Sample size: 0
==========================
Found 'bih', 40 bytes of 40
======= VIDEO Format ======

biSize 40
biWidth 720
biHeight 486
biPlanes 1
biBitCount 16
biCompression 844715353='YUY2'
biSizeImage 699840

===========================
======= Video Properties Header =======
Format: 0 VideoStandard: 0
VRefresh: 24 HTotal: 720 VTotal: 486
FrameAspect: 16384:11059 Framewidth: 720 Frameheight: 486
Fields: 1

Field 0 description

CompressedBMHeight: 486 CompressedBMWidth: 720
ValidBMHeight: 486 ValidBMWidth: 720
ValidBMXOffset: 0 ValidBMYOffset: 0
VideoXOffsetInT: 0 VideoYValidStartLine: 0

=======================================
list_end=0x14C
hdr=Software size=23
Software : MEncoder 1.0pre8-3.4.4
list_end=0xB58B48C
Found movie at 0x100C - 0xB58B48C
Reading INDEX block, 272 chunks for 272 frames (fpos=190362772).
AVI index offset: 0x1008 (movi=0x100C idx0=0x4 idx1=0xAADCC)
Auto-selected AVI video ID = 0
AVI_NI: No audio stream found -> no sound.
AVI: Searching for audio stream (id:-1)
AVI: No audio stream found -> no sound.
AVI video size=190356480 (272) audio size=0 (0)
VIDEO: [YUY2] 720x486 16bpp 24.000 fps 134369.3 kbps (16402.5 kbyte/s)
[V] filefmt:3 fourcc:0x32595559 size:720x486 fps:24.00 ftime:=0.0417
Clip info:

Software: MEncoder 1.0pre8-3.4.4

get_path('sub/') -> '/home/dobrin/.mplayer/sub/'
<vo_directx><INFO>checking primary surface
<vo_directx><FORMAT PRIMARY>14 BGR32 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 supported
<vo_directx><FORMAT OVERLAY>4 YUY2 supported
<vo_directx><FORMAT OVERLAY>5 UYVY supported
<vo_directx><FORMAT OVERLAY>6 BGR8 not supported
<vo_directx><FORMAT OVERLAY>7 RGB15 not supported
<vo_directx><FORMAT OVERLAY>8 BGR15 not supported
<vo_directx><FORMAT OVERLAY>9 RGB16 not supported
<vo_directx><FORMAT OVERLAY>10 BGR16 not supported
<vo_directx><FORMAT OVERLAY>11 RGB24 not supported
<vo_directx><FORMAT OVERLAY>12 BGR24 not supported
<vo_directx><FORMAT OVERLAY>13 RGB32 not supported
<vo_directx><FORMAT OVERLAY>14 BGR32 not supported
<vo_directx><INFO>Your card supports 4 of 15 overlayformats
<vo_directx><INFO>can mirror up down
<vo_directx><INFO>hardware supports overlay
==========================================================================
Opening video decoder: [raw] RAW Uncompressed Video
VDec: vo config request - 720 x 486 (preferred colorspace: Packed YUY2)
Trying filter chain: vo
VDec: using Packed YUY2 as output csp (no 0)
Movie-Aspect is 1.48:1 - prescaling to correct movie aspect.
VO Config (720x486->720x486,flags=0,'MPlayer',0x32595559)
VO: [directx] 720x486 => 720x486 Packed YUY2
VO: Description: Directx DDraw YUV/RGB/BGR renderer
VO: Author: Sascha Sommer <saschasommer@…>
<vo_directx><INFO>overlay with format YUY2 created
Selected video codec: [rawyuy2] vfm: raw (RAW YUY2)
==========================================================================
Audio: no sound
Freeing 0 unused audio chunks.
Starting playback...
* [vo] Exporting mp_image_t, 720x486x16bpp YUV packed, 699840 bytes

Program received signal SIGSEGV, Segmentation fault.
0x0044a668 in fast_memcpy ()
(gdb) bt
#0 0x0044a668 in fast_memcpy ()
#1 0x01876300 in ?? ()
#2 0x10169540 in ?? ()
#3 0x000001e6 in ?? ()
#4 0x0043ae57 in control ()
#5 0x01876300 in ?? ()
#6 0x10169540 in ?? ()
#7 0x000b6400 in ?? ()
#8 0x0045a111 in vf_get_image ()
#9 0x00000000 in ?? () from
(gdb) disass $pc-32 $pc+32
Dump of assembler code from 0x44a648 to 0x44a688:
0x0044a648 <fast_memcpy+168>: shrl (%ecx)
0x0044a64a <fast_memcpy+170>: enter $0xa4f3,$0x89
0x0044a64e <fast_memcpy+174>: ret $0xeac1
0x0044a651 <fast_memcpy+177>: push %es
0x0044a652 <fast_memcpy+178>: and $0x3f,%eax
0x0044a655 <fast_memcpy+181>: test $0xf,%esi
0x0044a65b <fast_memcpy+187>: jne 0x44a5f4 <fast_memcpy+84>
0x0044a65d <fast_memcpy+189>: test %edx,%edx
0x0044a65f <fast_memcpy+191>: jmp 0x44a68d <fast_memcpy+237>
0x0044a661 <fast_memcpy+193>: prefetchnta 0x140(%esi)
0x0044a668 <fast_memcpy+200>: movaps (%esi),%xmm0
0x0044a66b <fast_memcpy+203>: movaps 0x10(%esi),%xmm1
0x0044a66f <fast_memcpy+207>: movaps 0x20(%esi),%xmm2
0x0044a673 <fast_memcpy+211>: movaps 0x30(%esi),%xmm3
0x0044a677 <fast_memcpy+215>: movntps %xmm0,(%edi)
0x0044a67a <fast_memcpy+218>: movntps %xmm1,0x10(%edi)
0x0044a67e <fast_memcpy+222>: movntps %xmm2,0x20(%edi)
0x0044a682 <fast_memcpy+226>: movntps %xmm3,0x30(%edi)
0x0044a686 <fast_memcpy+230>: add $0x40,%esi
End of assembler dump.
(gdb) info all-registers
eax 0x0 0
ecx 0x2d0 720
edx 0x265 613
ebx 0x1876300 25649920
esp 0x22db10 0x22db10
ebp 0xb6400 0xb6400
esi 0x10216000 270622720
edi 0x1922dc0 26357184
eip 0x44a668 0x44a668
eflags 0x210206 2163206
cs 0x1b 27
ss 0x23 35
ds 0x23 35
es 0x23 35
fs 0x3b 59
gs 0x0 0
st0 -nan(0x3e106ce0011) (raw 0xffff000003e106ce0011)
st1 -nan(0x000657865) (raw 0xffff0000000000657865)
st2 <invalid float value> (raw 0xffff0000000000000000)
st3 -nan(0x00000000b) (raw 0xffff000000000000000b)
st4 0.00083333330849806543 (raw 0x3ff4da740d3a06d3d70a)
st5 -nan(0x6c3aa401cf3c9d4) (raw 0xffff06c3aa401cf3c9d4)
st6 0 (raw 0x00000000000000000000)
st7 -9.2233720368547758e+18 (raw 0xc03e8000000000000000)
fctrl 0xffff037f -64641
fstat 0xffff0020 -65504
ftag 0xffffffff -1
fiseg 0x1b 27
fioff 0x45c19f 4571551
foseg 0xffff0023 -65501
fooff 0x22dc38 2284600
fop 0x55c 1372
xmm0 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0,

0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0},

v2_int64 = {0x0, 0x0},

uint128 = 0x00000000000000000000000000000000}

xmm1 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x0 <repeats 12 times>, 0x28, 0x0, 0x0,

0x0}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x28, 0x0}, v4_int32 = {0x0,

0x0, 0x0, 0x28}, v2_int64 = {0x0, 0x2800000000},

uint128 = 0x00000028000000000000000000000000}

xmm2 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0,
---Type <return> to continue, or q <return> to quit---

0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0},

v2_int64 = {0x0, 0x0},

uint128 = 0x00000000000000000000000000000000}

xmm3 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0,

0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0},

v2_int64 = {0x0, 0x0},

uint128 = 0x00000000000000000000000000000000}

xmm4 {v4_float = {0x384, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x0, 0x0, 0x61, 0x44, 0x0, 0x10, 0x0, 0x0,

0x74, 0x0, 0x0, 0x0, 0x8, 0x4, 0x0, 0x0}, v8_int16 = {0x0, 0x4461, 0x1000,

0x0, 0x74, 0x0, 0x408, 0x0}, v4_int32 = {

0x44610000, 0x1000, 0x74, 0x408}, v2_int64 = {0x100044610000, 0x40800000074

}, uint128 = 0x00000408000000740000100044610000}
xmm5 {v4_float = {0x5a0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x0, 0x0, 0xb4, 0x44, 0x0, 0x0, 0x0, 0x0,

0x0, 0x0, 0x0, 0x0, 0x38, 0xcd, 0x22, 0x0}, v8_int16 = {0x0, 0x44b4, 0x0,

0x0, 0x0, 0x0, 0xcd38, 0x22}, v4_int32 = {

0x44b40000, 0x0, 0x0, 0x22cd38}, v2_int64 = {0x44b40000, 0x22cd3800000000},

uint128 = 0x0022cd38000000000000000044b40000}
xmm6 {v4_float = {0x2d0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x0, 0x0, 0x34, 0x44,

0x0 <repeats 12 times>}, v8_int16 = {0x0, 0x4434, 0x0, 0x0, 0x0, 0x0, 0x0,

0x0}, v4_int32 = {0x44340000, 0x0, 0x0, 0x0},

v2_int64 = {0x44340000, 0x0}, uint128 = 0x00000000000000000000000044340000}

xmm7 {v4_float = {0x0, 0x4, 0x0, 0x0}, v2_double = {0x35f, 0x0},
v16_int8 = {0x7, 0x0, 0x80, 0xf2, 0xff, 0xff, 0x8a,

0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v8_int16 = {0x7, 0xf280,

0xffff, 0x408a, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {

0xf2800007, 0x408affff, 0x0, 0x0}, v2_int64 = {0x408afffff2800007, 0x0},

uint128 = 0x0000000000000000408afffff2800007}
mxcsr 0x1fa0 8096
mm0 {uint64 = 0x3e106ce0011, v2_int32 = {0x6ce0011, 0x3e1}, v4_int16

{0x11, 0x6ce, 0x3e1, 0x0}, v8_int8 = {0x11,

0x0, 0xce, 0x6, 0xe1, 0x3, 0x0, 0x0}}

mm1 {uint64 = 0x657865, v2_int32 = {0x657865, 0x0}, v4_int16 =
{0x7865, 0x65, 0x0, 0x0}, v8_int8 = {0x65, 0x78, 0x65,

0x0, 0x0, 0x0, 0x0, 0x0}}

mm2 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 0x0,
0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0,

0x0, 0x0}}

mm3 {uint64 = 0xb, v2_int32 = {0xb, 0x0}, v4_int16 = {0xb, 0x0, 0x0,
0x0}, v8_int8 = {0xb, 0x0, 0x0, 0x0, 0x0, 0x0,

0x0, 0x0}}

mm4 {uint64 = 0xda740d3a06d3d70a, v2_int32 = {0x6d3d70a, 0xda740d3a},
v4_int16 = {0xd70a, 0x6d3, 0xd3a, 0xda74},

v8_int8 = {0xa, 0xd7, 0xd3, 0x6, 0x3a, 0xd, 0x74, 0xda}}

mm5 {uint64 = 0x6c3aa401cf3c9d4, v2_int32 = {0x1cf3c9d4, 0x6c3aa40},
v4_int16 = {0xc9d4, 0x1cf3, 0xaa40, 0x6c3},

v8_int8 = {0xd4, 0xc9, 0xf3, 0x1c, 0x40, 0xaa, 0xc3, 0x6}}

mm6 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 0x0,
0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0,

0x0, 0x0}}

mm7 {uint64 = 0x8000000000000000, v2_int32 = {0x0, 0x80000000},
v4_int16 = {0x0, 0x0, 0x0, 0x8000}, v8_int8 = {0x0,

0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80}}

(gdb)
(gdb)

Change History (2)

comment:1 by reimar, 18 years ago

Can't reproduce here with linux mplayer.
Try
0) see if you can get a build compiled with --enable-debug to get a proper backtrace
1) mplayer playback via -vo directx:noaccel and -vo gl
2) adding -vf format=yv12 to the mplayer playback command line

comment:2 by reimar, 17 years ago

Resolution: worksforme
Status: newclosed

Works for me, if you still have this problem upload the file that causes a
crash to ftp://upload.mplayerhq.hu/MPlayer/incoming.

Note: See TracTickets for help on using tickets.