[MPlayer-users] [bugreport] scale on amd64? incoming\PngBug.tar.bz2

compn tempn at twmi.rr.com
Tue Jun 28 13:47:52 CEST 2005


Description: mplayer and mencoder crash when reading some PNG images. The images where created by POV-ray (www.povray.org), a famous raytracing program.
An old version of mplayer on windows (MPlayer dev-CVS-041023-09:31-3.2.3) doesn't have this problem.

Converting the PNGs with imagemagick to jpg format solves the problem (of course, I have to play the jpg files).

Command line:
mplayer mf://*.png -mf w=720:h=576:fps=25:type=png
mencoder mf://*.png -mf w=720:h=576:fps=25:type=png -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=4000 -oac copy -o output.avi


System info:
Gentoo 2005.0 amd64

# uname -a
Linux thor 2.6.12-rc4 #2 Sun May 22 13:21:17 CEST 2005 x86_64 AMD Athlon(tm) 64 Processor 3000+ AuthenticAMD GNU/Linux

# ls -l /lib/libc[.-]*
-rwxr-xr-x  1 root root 1270528 Apr 15 10:47 /lib/libc-2.3.4.so
lrwxrwxrwx  1 root root      13 Apr 15 10:47 /lib/libc.so.6 -> libc-2.3.4.so

# gcc -v
Reading specs from /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3/specs
Configured with: /var/tmp/portage/gcc-3.4.3-r1/work/gcc-3.4.3/configure --enable-version-specific-runtime-libs --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/3.4.3 --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3/include --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/3.4.3 --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/3.4.3/man --infodir=/usr/share/gcc-data/x86_64-pc-linux-gnu/3.4.3/info --with-gxx-include-dir=/usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3/include/g++-v3 --host=x86_64-pc-linux-gnu --disable-altivec --enable-nls --without-included-gettext --enable-__cxa_atexit --enable-clocale=gnu --with-system-zlib --disable-checking --disable-werror --disable-libunwind-exceptions --enable-shared --enable-threads=posix --enable-multilib --disable-libgcj --enable-languages=c,c++,f77
Thread model: posix
gcc version 3.4.3 20041125 (Gentoo Linux 3.4.3-r1, ssp-3.4.3-0, pie-8.7.7)
ld -v
GNU ld version 2.15.92.0.2 20040927

# as --version
GNU assembler 2.15.92.0.2 20040927
Copyright 2002 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License.  This program has absolutely no warranty.
This assembler was configured for a target of `x86_64-pc-linux-gnu'.

# cat /proc/cpuinfo
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 15
model           : 12
model name      : AMD Athlon(tm) 64 Processor 3000+
stepping        : 0
cpu MHz         : 2009.174
cache size      : 512 KB
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext lm 3dnowext 3dnow k8c+
bogomips        : 3981.31
TLB size        : 1024 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp

Video card: nvidia 5200fx, X-builtin driver
Sound card: integrated nvidia

gdb info (MPlayer-20050626)

gdb ../mplayer
GNU gdb 6.3
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 "x86_64-pc-linux-gnu"...Using host libthread_db library "/lib/libthread_db.so.1".

(gdb) run -v mf://*.png -mf w=720:h=576:fps=25:type=png
Starting program: /usr/src/MPlayer-20050626/mplayer -v mf://*.png -mf w=720:h=576:fps=25:type=png
[Thread debugging using libthread_db enabled]
[New Thread 16384 (LWP 13686)]
Using GNU internationalization
Original domain: messages
Original dirname: /usr/share/locale
Current domain: mplayer
Current dirname: /usr/local/share/locale

MPlayer dev-CVS-050626-06:00-3.4.3 (C) 2000-2005 MPlayer Team
CPU: Advanced Micro Devices  (Family: 8, Stepping: 0)
Detected cache-line size is 64 bytes
CPUflags:  MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 1
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx SSE SSE2


CommandLine: '-v' 'mf://*.png' '-mf' 'w=720:h=576:fps=25:type=png'
init_freetype
get_path('font/font.desc') -> '/root/.mplayer/font/font.desc'
font: can't open file: /root/.mplayer/font/font.desc
font: can't open file: /usr/local/share/mplayer/font/font.desc
Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay
Using Linux hardware RTC timing (1024Hz).
get_path('input.conf') -> '/root/.mplayer/input.conf'
Can't open input config file /root/.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('*.png.conf') -> '/root/.mplayer/*.png.conf'
Playing mf://*.png.
STREAM: [null] mf://*.png
STREAM: Description: Null stream
STREAM: Author: Albeu
STREAM: Comment:
[demuxer] mf support.
[mf] search expr: *.png
[mf] number of files: 5 (40)
==> Found video stream: 0
VIDEO:  [MPNG]  720x576  24bpp  25.000 fps    0.0 kbps ( 0.0 kbyte/s)
[V] filefmt:16  fourcc:0x474E504D  size:720x576  fps:25.00  ftime:=0.0400
get_path('sub/') -> '/root/.mplayer/sub/'
get_path('default.sub') -> '/root/.mplayer/default.sub'
X11 opening display: :0
vo: X11 color mask:  FFFFFF  (R:FF0000 G:FF00 B:FF)
vo: X11 running at 1600x1200 with depth 24 and 32 bpp (":0" => local display)
[x11] Detected wm supports NetWM.
[x11] Detected wm supports FULLSCREEN state.
[x11] Detected wm supports ABOVE state.
[x11] Detected wm supports BELOW state.
[x11] Detected wm supports STAYS_ON_TOP state.
[x11] Current fstype setting honours FULLSCREEN STAYS_ON_TOP ABOVE BELOW X atoms
[xv common] Drawing colorkey manually.
[xv common] Using colorkey from Xv (0x0101fe).
==========================================================================
Opening video decoder: [mpng] PNG Images decoder
Selected video codec: [mpng] vfm:mpng (PNG image decoder)
==========================================================================
Audio: no sound
Freeing 0 unused audio chunks.
Starting playback...
VDec: vo config request - 720 x 576 (preferred csp: BGR 24-bit)
Trying filter chain: vo
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 vo
VDec: using BGR 24-bit as output csp (no 1)
Movie-Aspect is undefined - no prescaling applied.
VO Config (720x576->720x576,flags=0,'MPlayer',0x42475218)
SwScaler: using unscaled BGR 24-bit -> Planar YV12 special converter
REQ: flags=0x437  req=0x0
VO: [xv] 720x576 => 720x576 Planar YV12
VO: Description: X11/Xv
VO: Author: Gerd Knorr <kraxel at goldbach.in-berlin.de> and others
Xvideo image format: 0x32595559 (YUY2) packed
Xvideo image format: 0x32315659 (YV12) planar
Xvideo image format: 0x59565955 (UYVY) packed
Xvideo image format: 0x30323449 (I420) planar
using Xvideo port 53 for hw scaling
[xv] dx: 0 dy: 0 dw: 720 dh: 576
*** [scale] Allocating mp_image_t, 720x576x24bpp BGR packed, 1244160 bytes
*** [vo] Allocating mp_image_t, 720x576x12bpp YUV planar, 622080 bytes

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 16384 (LWP 13686)]
0x0000000000529245 in rgb24toyv12_MMX2 (src=0x2aaaaedff040 "", ydst=0x2aaaaef30040 "",
    udst=0x2aaaaefae940 '\200' <repeats 200 times>..., vdst=0x2aaaaef95440 '\200' <repeats 200 times>...,
    width=4294966576, height=576, lumStride=720, chromStride=360, srcStride=2160) at rgb2rgb_template.c:2107
2107                            asm volatile(
(gdb) bt
#0  0x0000000000529245 in rgb24toyv12_MMX2 (src=0x2aaaaedff040 "", ydst=0x2aaaaef30040 "",
    udst=0x2aaaaefae940 '\200' <repeats 200 times>..., vdst=0x2aaaaef95440 '\200' <repeats 200 times>...,
    width=4294966576, height=576, lumStride=720, chromStride=360, srcStride=2160) at rgb2rgb_template.c:2107
#1  0x00000000005202e4 in bgr24toyv12Wrapper (c=0x2aaaaedff040, src=0xa33320, srcStride=0xfffffe98, srcSliceY=1,
    srcSliceH=576, dst=0x870, dstStride=0xfffffd30) at swscale.c:1547
#2  0x0000000000520e71 in sws_scale_ordered (c=0xa23900, src=0x1, srcStride=0x2aaaaedff040, srcSliceY=0,
    srcSliceH=576, dst=0xa1f120, dstStride=0xa1f140) at swscale.c:2305
#3  0x0000000000481621 in scale (sws1=0x2aaaaedff040, sws2=0xa23900, src=0x1, src_stride=0xa33340, y=0, h=576,
    dst=0x870, dst_stride=0xa1f140, interlaced=0) at vf_scale.c:302
#4  0x00000000004817aa in put_image (vf=0xa23620, mpi=0xa33300) at vf_scale.c:330
#5  0x000000000045abb5 in decode_video (sh_video=0xa15b20, start=0xa33300 "\020Ä\002\030\030RGBÐ\002",
    in_size=10630688, drop_frame=0) at dec_video.c:334
#6  0x0000000000411db9 in main (argc=10574624, argv=0xa13db0) at mplayer.c:2350
(gdb) disass $pc-32 $pc+32
Dump of assembler code from 0x529225 to 0x529265:
0x0000000000529225 <rgb24toyv12_MMX2+181>:      mov    %r8,%rax
0x0000000000529228 <rgb24toyv12_MMX2+184>:      movq   0x74b470,%mm6
0x0000000000529230 <rgb24toyv12_MMX2+192>:      movq   0x74b448,%mm5
0x0000000000529238 <rgb24toyv12_MMX2+200>:      pxor   %mm7,%mm7
0x000000000052923b <rgb24toyv12_MMX2+203>:      lea    (%rax,%rax,2),%rbx
0x000000000052923f <rgb24toyv12_MMX2+207>:      nop
0x0000000000529240 <rgb24toyv12_MMX2+208>:      prefetchnta 0x40(%rcx,%rbx,1)
0x0000000000529245 <rgb24toyv12_MMX2+213>:      movd   (%rcx,%rbx,1),%mm0
0x0000000000529249 <rgb24toyv12_MMX2+217>:      movd   0x3(%rcx,%rbx,1),%mm1
0x000000000052924e <rgb24toyv12_MMX2+222>:      punpcklbw %mm7,%mm0
0x0000000000529251 <rgb24toyv12_MMX2+225>:      punpcklbw %mm7,%mm1
0x0000000000529254 <rgb24toyv12_MMX2+228>:      movd   0x6(%rcx,%rbx,1),%mm2
0x0000000000529259 <rgb24toyv12_MMX2+233>:      movd   0x9(%rcx,%rbx,1),%mm3
0x000000000052925e <rgb24toyv12_MMX2+238>:      punpcklbw %mm7,%mm2
0x0000000000529261 <rgb24toyv12_MMX2+241>:      punpcklbw %mm7,%mm3
0x0000000000529264 <rgb24toyv12_MMX2+244>:      pmaddwd %mm6,%mm0
End of assembler dump.
(gdb) info all-registers
rax            0xfffffd30       4294966576
rbx            0x2fffff790      12884899728
rcx            0x2aaaaedff8b0   46912566720688
rdx            0x2aaaaef30310   46912567968528
rsi            0x1      1
rdi            0x2aaaaedff040   46912566718528
rbp            0x2aaaaef30040   0x2aaaaef30040
rsp            0x7fffffbbbb18   0x7fffffbbbb18
r8             0xfffffd30       4294966576
r9             0x870    2160
r10            0x2aaaaedff040   46912566718528
r11            0xfffffe98       4294966936
r12            0x168    360
r13            0x2aaaaef95440   46912568382528
r14            0x2aaaaefae940   46912568486208
r15            0x10e0   4320
rip            0x529245 0x529245 <rgb24toyv12_MMX2+213>
eflags         0x210202 2163202
cs             0x33     51
ss             0x2b     43
ds             0x0      0
es             0x0      0
fs             0x0      0
gs             0x0      0
st0            0        (raw 0x00000000000000000000)
st1            0        (raw 0x00000000000000000000)
st2            0        (raw 0x00000000000000000000)
st3            0        (raw 0x00000000000000000000)
st4            0        (raw 0x00000000000000000000)
st5            -nan(0x1000100010001)    (raw 0xffff0001000100010001)
st6            -nan(0x210041000d)       (raw 0xffff000000210041000d)
st7            <invalid float value>    (raw 0xffff0000000000000000)
fctrl          0x37f    895
fstat          0x0      0
ftag           0xa955   43349
fiseg          0x0      0
fioff          0x0      0
foseg          0x0      0
fooff          0x0      0
fop            0x0      0
xmm0           {f = {0x0, 0x1, 0x0, 0x0}}       {f = {-0, 1.47349393, 0, 0}}
xmm1           {f = {0x0, 0x0, 0x0, 0x8000000}} {f = {-8.61697709e+27, -2.89462285e-08, -2.50335198e+33,
    1.8697712e+15}}
xmm2           {f = {0x0, 0x0, 0x0, 0x0}}       {f = {5.98644653e-28, -2.0668685e+23, -8.03926531e+34,
    2.25188223e+22}}
xmm3           {f = {0x0, 0x0, 0x0, 0x0}}       {f = {-3.11890607e-16, -2.85455161e-25, -2.99411521e-27,
    -1.41970177e-05}}
xmm4           {f = {0x0, 0x4, 0x0, 0x0}}       {f = {-6.3382559e+31, 4.7324214, 0, 0}}
xmm5           {f = {0x1, 0x0, 0x0, 0x0}}       {f = {1.33333337, 0, 0, 0}}
xmm6           {f = {0x0, 0x0, 0x0, 0x0}}       {f = {0, 0, 0, 0}}
xmm7           {f = {0x0, 0x0, 0x0, 0x0}}       {f = {0, 0, 0, 0}}
xmm8           {f = {0x0, 0x0, 0x0, 0x0}}       {f = {0, 0, 0, 0}}
xmm9           {f = {0x0, 0x0, 0x0, 0x0}}       {f = {0, 0, 0, 0}}
xmm10          {f = {0x0, 0x0, 0x0, 0x0}}       {f = {0, 0, 0, 0}}
xmm11          {f = {0x0, 0x0, 0x0, 0x0}}       {f = {0, 0, 0, 0}}
xmm12          {f = {0x0, 0x0, 0x0, 0x0}}       {f = {0, 0, 0, 0}}
xmm13          {f = {0x0, 0x0, 0x0, 0x0}}       {f = {0, 0, 0, 0}}
xmm14          {f = {0x0, 0x0, 0x0, 0x0}}       {f = {0, 0, 0, 0}}
xmm15          {f = {0x0, 0x0, 0x0, 0x0}}       {f = {0, 0, 0, 0}}
mxcsr          0x1fa0   8096




More information about the MPlayer-users mailing list