[FFmpeg-cvslog] r11398 - in trunk/libavcodec: rv30dsp.c rv34.c
Diego Biurrun
diego
Fri Jan 4 20:40:53 CET 2008
On Fri, Jan 04, 2008 at 06:50:45PM +0100, kostya wrote:
>
> Log:
> RV30 thirdpel motion compensation support
I get a crash that was not there before with the sample
http://samples.mplayerhq.hu/real/VC-RV30/lotr_trailer2_large.rm
Debian stable, K6-III, cc (GCC) 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
(gdb) run -stats /samples/Real/RV30/lotr_trailer2_large.rm
Starting program: /usr/src/ffmpeg/ffplay_g -stats
/samples/Real/RV30/lotr_trailer2_large.rm
Failed to read a valid object file image from memory.
[Thread debugging using libthread_db enabled]
[New Thread -1212073312 (LWP 29236)]
FFplay version SVN-r11399, Copyright (c) 2003-2008 Fabrice Bellard, et
al.
configuration: --enable-gpl --disable-vhook --disable-ffserver
--enable-debug
libavutil version: 49.6.0
libavcodec version: 51.49.0
libavformat version: 52.3.0
built on Jan 4 2008 20:29:12, gcc: 4.1.2 20061115 (prerelease)
(Debian 4.1.1-21)
[New Thread -1213236304 (LWP 29239)]
[New Thread -1222177872 (LWP 29240)]
[NULL @ 0x84d56d0]Unsupported video codec
[NULL @ 0x84d56d0]Unsupported video codec
Input #0, rm, from '/samples/Real/RV30/lotr_trailer2_large.rm':
Duration: 00:02:28.9, start: 0.000000, bitrate: 956 kb/s
Stream #0.0: Audio: cook, 44100 Hz, stereo, 64 kb/s
Stream #0.1: Video: rv30, yuv420p, 640x312 [PAR 0:1 DAR 0:1], 935
kb/s, 12.00 tb(r)
Stream #0.2: Data: 0x0000, 0 kb/s
Stream #0.3: Data: 0x0000 0KB vq= 0KB sq= 0B
Title: The Lord of the Rings: The Fellowship of the Ring
Copyright: ?2001 New Line Cinemas
[New Thread -1230566480 (LWP 29241)]
[New Thread -1239118928 (LWP 29242)]
9.45 A-V: 0.253 aq= 71KB vq= 1289KB sq= 0B
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1239118928 (LWP 29242)]
0x08400c06 in put_rv30_tpel8_v_lowpass (
dst=0xb59e3148 "\"\"\"\"########", '$' <repeats 13 times>, "%%%%&",
'\'' <repeats 18 times>, "(((('''''''&((('&'&&$%%$$$$$", '#' <repeats 12
times>, "\"\"!!!! !!!!\"\"\"\"", '$' <repeats 12 times>, '#'
<repeats 12 times>, "!!!!!!!!\"\"\"\"\"\"\"\"####", '"' <repeats 12
times>, "!!!!!!!! ", '"' <repeats 16 times>...,
src=0xb5904148 "#", '$' <repeats 24 times>, "%%%%&''''''''''", '&'
<repeats 12 times>, "%%%%'''&((('&'&&$%%$", '#' <repeats 16 times>,
"\"\"\"\"!!!! !!!!\"\"\"\"", '$' <repeats 12 times>, '#' <repeats
12 times>, "!!!!!!!!\"\"\"\"\"\"\"\"####", '"' <repeats 12 times>,
"!!!!!!!! ", '"' <repeats 16 times>..., dstStride=640,
srcStride=640, C1=12,
C2=6) at rv30dsp.c:205
205 RV30_LOWPASS(put_ , op_put)
(gdb) bt
#0 0x08400c06 in put_rv30_tpel8_v_lowpass (
dst=0xb59e3148 "\"\"\"\"########", '$' <repeats 13 times>, "%%%%&",
'\'' <repeats 18 times>, "(((('''''''&((('&'&&$%%$$$$$", '#' <repeats 12
times>, "\"\"!!!! !!!!\"\"\"\"", '$' <repeats 12 times>, '#'
<repeats 12 times>, "!!!!!!!!\"\"\"\"\"\"\"\"####", '"' <repeats 12
times>, "!!!!!!!! ", '"' <repeats 16 times>...,
src=0xb5904148 "#", '$' <repeats 24 times>, "%%%%&''''''''''", '&'
<repeats 12 times>, "%%%%'''&((('&'&&$%%$", '#' <repeats 16 times>,
"\"\"\"\"!!!! !!!!\"\"\"\"", '$' <repeats 12 times>, '#' <repeats
12 times>, "!!!!!!!!\"\"\"\"\"\"\"\"####", '"' <repeats 12 times>,
"!!!!!!!! ", '"' <repeats 16 times>..., dstStride=640,
srcStride=640, C1=12,
C2=6) at rv30dsp.c:205
#1 0x082e39fc in rv34_decode_mv (r=0x8628610, block_type=3) at
rv34.c:644
#2 0x082e6f83 in rv34_decode_slice (r=0x8628610, end=<value optimized
out>, buf=<value optimized out>, buf_size=1373) at rv34.c:924
#3 0x082e820a in ff_rv34_decode_frame (avctx=0x85ec980, data=0x877ff90,
data_size=0xb6248414, buf=0x86ede71 "\021\022G", buf_size=2393) at
rv34.c:1255
#4 0x080e8b40 in avcodec_decode_video (avctx=0x85ec980,
picture=0x877ff90, got_picture_ptr=0xb6248414, buf=0x86ede60 "\001\001",
buf_size=2393) at utils.c:945
#5 0x0804ce8d in video_thread (arg=0xb7271020) at ffplay.c:1369
#6 0xb7e3882b in SDL_GetThreadID () from /usr/lib/libSDL-1.2.so.0
#7 0xb7e85c8d in SDL_ThreadID () from /usr/lib/libSDL-1.2.so.0
#8 0xb7c190bd in start_thread () from /lib/tls/libpthread.so.0
#9 0xb7dc2ace in clone () from /lib/tls/libc.so.6
(gdb) disass $pc-32 $pc+32
Dump of assembler code from 0x8400be6 to 0x8400c26:
0x08400be6 <put_rv30_tpel8_v_lowpass+294>: inc %esp
0x08400be7 <put_rv30_tpel8_v_lowpass+295>: mov 0x7c(%esp),%ecx
0x08400beb <put_rv30_tpel8_v_lowpass+299>: movzbl
0xffffffff(%edx,%eax,1),%edx
0x08400bf0 <put_rv30_tpel8_v_lowpass+304>: imul %edi,%ecx
0x08400bf3 <put_rv30_tpel8_v_lowpass+307>: mov %edx,0x48(%esp)
0x08400bf7 <put_rv30_tpel8_v_lowpass+311>: mov 0x78(%esp),%edx
0x08400bfb <put_rv30_tpel8_v_lowpass+315>: imul %esi,%edx
0x08400bfe <put_rv30_tpel8_v_lowpass+318>: add %ecx,%edx
0x08400c00 <put_rv30_tpel8_v_lowpass+320>: mov 0x74(%esp),%ecx
0x08400c04 <put_rv30_tpel8_v_lowpass+324>: neg %ecx
0x08400c06 <put_rv30_tpel8_v_lowpass+326>: movzbl
0xffffffff(%ecx,%eax,1),%eax
0x08400c0b <put_rv30_tpel8_v_lowpass+331>: mov 0x5c(%esp),%ecx
0x08400c0f <put_rv30_tpel8_v_lowpass+335>: add %ebp,%eax
0x08400c11 <put_rv30_tpel8_v_lowpass+337>: sub %eax,%edx
0x08400c13 <put_rv30_tpel8_v_lowpass+339>: add $0x8,%edx
0x08400c16 <put_rv30_tpel8_v_lowpass+342>: sar $0x4,%edx
0x08400c19 <put_rv30_tpel8_v_lowpass+345>: movzbl
0x85d2d20(%edx),%eax
0x08400c20 <put_rv30_tpel8_v_lowpass+352>: mov 0x30(%esp),%edx
0x08400c24 <put_rv30_tpel8_v_lowpass+356>: mov
%al,0xffffffff(%ecx,%edx,1)
End of assembler dump.
(gdb) info all-registers
eax 0xb5904149 -1248837303
ecx 0xfffffd80 -640
edx 0x276 630
ebx 0x25 37
esp 0xb6247e4c 0xb6247e4c
ebp 0x23 0x23
esi 0x23 35
edi 0x23 35
eip 0x8400c06 0x8400c06 <put_rv30_tpel8_v_lowpass+326>
eflags 0x10283 [ CF SF IF RF ]
cs 0x73 115
ss 0x7b 123
ds 0x7b 123
es 0x7b 123
fs 0x0 0
gs 0x33 51
st0 -nan(0x20002000200020) (raw 0xffff0020002000200020)
st1 -nan(0x6f6f6f706f6f6f70) (raw 0xffff6f6f6f706f6f6f70)
st2 -nan(0x8000800080008) (raw 0xffff0008000800080008)
st3 -nan(0x8000800080008) (raw 0xffff0008000800080008)
st4 <invalid float value> (raw 0xffff0000000000000000)
st5 <invalid float value> (raw 0xffff0000000000000000)
st6 -nan(0x378037803780380) (raw 0xffff0378037803780380)
st7 <invalid float value> (raw 0xffff0000000000000000)
fctrl 0x37f 895
fstat 0x20 32
ftag 0xaaaa 43690
fiseg 0x73 115
fioff 0x804d186 134533510
foseg 0x7b 123
fooff 0xb72f7714 -1221626092
fop 0x51e 1310
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 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0,
0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}
xmm2 {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}
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 = {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}
xmm5 {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}
xmm6 {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}
xmm7 {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}
mxcsr 0x1f80 [ IM DM ZM OM UM PM ]
mm0 {uint64 = 0x20002000200020, v2_int32 = {0x200020, 0x200020}, v4_int16 = {0x20, 0x20, 0x20, 0x20}, v8_int8 = {0x20, 0x0, 0x20, 0x0, 0x20, 0x0, 0x20, 0x0}}
mm1 {uint64 = 0x6f6f6f706f6f6f70, v2_int32 = {0x6f6f6f70, 0x6f6f6f70}, v4_int16 = {0x6f70, 0x6f6f, 0x6f70, 0x6f6f}, v8_int8 = {0x70, 0x6f, 0x6f, 0x6f, 0x70, 0x6f, 0x6f, 0x6f}}
mm2 {uint64 = 0x8000800080008, v2_int32 = {0x80008, 0x80008}, v4_int16 = {0x8, 0x8, 0x8, 0x8}, v8_int8 = {0x8, 0x0, 0x8, 0x0, 0x8, 0x0, 0x8, 0x0}}
mm3 {uint64 = 0x8000800080008, v2_int32 = {0x80008, 0x80008}, v4_int16 = {0x8, 0x8, 0x8, 0x8}, v8_int8 = {0x8, 0x0, 0x8, 0x0, 0x8, 0x0, 0x8, 0x0}}
mm4 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm5 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm6 {uint64 = 0x378037803780380, v2_int32 = {0x3780380, 0x3780378}, v4_int16 = {0x380, 0x378, 0x378, 0x378}, v8_int8 = {0x80, 0x3, 0x78, 0x3, 0x78, 0x3, 0x78, 0x3}}
mm7 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
(gdb)
eax 0xb5904149 -1248837303
ecx 0xfffffd80 -640
edx 0x276 630
ebx 0x25 37
esp 0xb6247e4c 0xb6247e4c
ebp 0x23 0x23
esi 0x23 35
edi 0x23 35
eip 0x8400c06 0x8400c06 <put_rv30_tpel8_v_lowpass+326>
eflags 0x10283 [ CF SF IF RF ]
cs 0x73 115
ss 0x7b 123
ds 0x7b 123
es 0x7b 123
fs 0x0 0
gs 0x33 51
st0 -nan(0x20002000200020) (raw 0xffff0020002000200020)
st1 -nan(0x6f6f6f706f6f6f70) (raw 0xffff6f6f6f706f6f6f70)
st2 -nan(0x8000800080008) (raw 0xffff0008000800080008)
st3 -nan(0x8000800080008) (raw 0xffff0008000800080008)
st4 <invalid float value> (raw 0xffff0000000000000000)
st5 <invalid float value> (raw 0xffff0000000000000000)
st6 -nan(0x378037803780380) (raw 0xffff0378037803780380)
st7 <invalid float value> (raw 0xffff0000000000000000)
fctrl 0x37f 895
fstat 0x20 32
ftag 0xaaaa 43690
fiseg 0x73 115
fioff 0x804d186 134533510
foseg 0x7b 123
fooff 0xb72f7714 -1221626092
fop 0x51e 1310
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 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x0,
0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 = 0x00000000000000000000000000000000}
xmm2 {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}
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 = {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}
xmm5 {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}
xmm6 {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}
xmm7 {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}
mxcsr 0x1f80 [ IM DM ZM OM UM PM ]
mm0 {uint64 = 0x20002000200020, v2_int32 = {0x200020, 0x200020}, v4_int16 = {0x20, 0x20, 0x20, 0x20}, v8_int8 = {0x20, 0x0, 0x20, 0x0, 0x20, 0x0, 0x20, 0x0}}
mm1 {uint64 = 0x6f6f6f706f6f6f70, v2_int32 = {0x6f6f6f70, 0x6f6f6f70}, v4_int16 = {0x6f70, 0x6f6f, 0x6f70, 0x6f6f}, v8_int8 = {0x70, 0x6f, 0x6f, 0x6f, 0x70, 0x6f, 0x6f, 0x6f}}
mm2 {uint64 = 0x8000800080008, v2_int32 = {0x80008, 0x80008}, v4_int16 = {0x8, 0x8, 0x8, 0x8}, v8_int8 = {0x8, 0x0, 0x8, 0x0, 0x8, 0x0, 0x8, 0x0}}
mm3 {uint64 = 0x8000800080008, v2_int32 = {0x80008, 0x80008}, v4_int16 = {0x8, 0x8, 0x8, 0x8}, v8_int8 = {0x8, 0x0, 0x8, 0x0, 0x8, 0x0, 0x8, 0x0}}
mm4 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm5 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm6 {uint64 = 0x378037803780380, v2_int32 = {0x3780380, 0x3780378}, v4_int16 = {0x380, 0x378, 0x378, 0x378}, v8_int8 = {0x80, 0x3, 0x78, 0x3, 0x78, 0x3, 0x78, 0x3}}
mm7 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
Diego
More information about the ffmpeg-cvslog
mailing list