[MPlayer-users] Mplayer crashes again..
David Kuehling
dvdkhlng at gmx.de
Sat Mar 30 20:47:02 CET 2002
libavcodec's MPEG4 (or the way mplayer uses it) seems to be extremely
unstable. I just made it segfault with the following options:
mencoder -npp hb,vb,lb,al -vc mpeg12 -dvd 1 -o test.avi -ovc lavc
-lavcopts vcodec=mpeg4:vhq:vbitrate=860:vme=5 -oac copy -pass 1 -sws 2
-x 512 -y 288 -o divx.avi
It does work, however when using greater parameters for -x and -y (eg
640x360 worked fine).
Here's the backtrace:
Pos: 0.8s 19f ( 0%) 18fps Trem: 0min 0mb A-V:0.015 [0:448]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1024 (LWP 29529)]
0x080cc0f0 in pix_abs16x16_mmx2 (
blk2=0x409d1bd0 ".0224557889;<=>>?<,#\"\"\"", '#' <repeats 18 times>, "$$$$$%%&&&''''''()*+++,----.-0000/'\037\036\035\035\035\035\035\035\035\035\035", '\036' <repeats 13 times>, "\035\035", '\036' <repeats 13 times>, "\037\037\037\037\036\035\037\034", '\032' <repeats 21 times>, '\e' <repeats 16 times>, "\032\032\032\e\034\035\037\037 \037\037\037\037\037", '\036' <repeats 17 times>, "\035\035\035\035\035\035\036\036\036"...,
blk1=0x40a0fe50 <Address 0x40a0fe50 out of bounds>, stride=544)
at i386/motion_est_mmx.c:68
68 asm volatile(
(gdb) bt
#0 0x080cc0f0 in pix_abs16x16_mmx2 (
blk2=0x409d1bd0 ".0224557889;<=>>?<,#\"\"\"", '#' <repeats 18 times>, "$$$$$%%&&&''''''()*+++,----.-0000/'\037\036\035\035\035\035\035\035\035\035\035", '\036' <repeats 13 times>, "\035\035", '\036' <repeats 13 times>, "\037\037\037\037\036\035\037\034", '\032' <repeats 21 times>, '\e' <repeats 16 times>, "\032\032\032\e\034\035\037\037 \037\037\037\037\037", '\036' <repeats 17 times>, "\035\035\035\035\035\035\036\036\036"...,
blk1=0x40a0fe50 <Address 0x40a0fe50 out of bounds>, stride=544)
at i386/motion_est_mmx.c:68
#1 0x080b3959 in epzs_motion_search (s=0x82643c0, mx_ptr=0xbfffa5b4,
my_ptr=0xbfffa5b8, P=0xbfffa5bc, pred_x=0, pred_y=-3, xmin=-400,
ymin=-208, xmax=128, ymax=96) at motion_est.c:590
#2 0x080b4984 in estimate_motion (s=0x82643c0, mb_x=24, mb_y=12)
at motion_est.c:910
#3 0x0809a742 in encode_picture (s=0x82643c0, picture_number=18)
at mpegvideo.c:1304
#4 0x08097538 in MPV_encode_picture (avctx=0x8185e20, buf=0x406b4008 "",
buf_size=2097152, data=0x8185ef4) at mpegvideo.c:558
#5 0x08095ddc in avcodec_encode_video (avctx=0x8185e20, buf=0x406b4008 "",
buf_size=2097152, pict=0x8185ef4) at utils.c:100
#6 0x0804ecf4 in main (argc=25, argv=0xbffffd04, envp=0xbffffd6c)
at mencoder.c:1710
#7 0x402126cf in __libc_start_main () from /lib/libc.so.6
And a little asm:
(gdb) disas $eip-16 $eip+16
Dump of assembler code from 0x80cc0e0 to 0x80cc100:
0x80cc0e0 <pix_abs16x16_mmx2+36>: cld
0x80cc0e1 <pix_abs16x16_mmx2+37>: mov 0xfffffffc(%ebp),%ecx
0x80cc0e4 <pix_abs16x16_mmx2+40>: mov 0x10(%ebp),%ebx
0x80cc0e7 <pix_abs16x16_mmx2+43>: sub %edi,%edx
0x80cc0e9 <pix_abs16x16_mmx2+45>: mov %edi,%eax
0x80cc0eb <pix_abs16x16_mmx2+47>: nop
0x80cc0ec <pix_abs16x16_mmx2+48>: lea 0x0(%esi,1),%esi
0x80cc0f0 <pix_abs16x16_mmx2+52>: movq (%edx,%eax,1),%mm0
0x80cc0f4 <pix_abs16x16_mmx2+56>: movq (%ecx,%eax,1),%mm2
0x80cc0f8 <pix_abs16x16_mmx2+60>: psadbw %mm2,%mm0
0x80cc0fb <pix_abs16x16_mmx2+63>: add %ebx,%eax
0x80cc0fd <pix_abs16x16_mmx2+65>: movq (%edx,%eax,1),%mm1
More information about the MPlayer-users
mailing list