[MPlayer-dev-eng] Re: [MPlayer-users] [BUG] crash with -flip
Arpi
arpi at thot.banki.hu
Sat Jan 4 13:00:33 CET 2003
Hi,
i've traced it a bit (yes i could reproduce).
the vf_flip.c filter does support difert rendering, if the codec has the
MP_IMGFLAG_ACCEPT_STRIDE flag set (ffmpeg has).
but, flip will set negative stride values.
so it's probably some unhandled case / limitation of libavcodec not (always)
supporting negatiev strides.
note, that it decodes the first 2 frames (play with -fps 1) and then crashes
decoding the 3. frame.
here comes Diego's cutted bugrep:
> I have a divx file that crashes when I play it with -flip and decode
> with libavcodec, regardless of vo driver. It does not crash with -vc
> divx.
>
> I have uploaded the first 5MB to incoming as FinalFantasy.avi.
> MPlayer CVS-030104-04:35-2.95.4 (C) 2000-2002 Arpad Gereoffy (see DOCS)
> Compiled for x86 CPU with extensions: MMX 3DNow 3DNowEx
> Selected video codec: [ffdivx] vfm:ffmpeg (FFmpeg DivX ;-) (MS MPEG-4 v3))
> *** [vo] Allocating mp_image_t, 576x320x12bpp YUV planar, 276480 bytes
> *** [flip] Direct Rendering mp_image_t, 576x320x12bpp YUV planar, 276480 bytes
> *** [vo] Allocating mp_image_t, 576x320x12bpp YUV planar, 276480 bytes
> *** [flip] Direct Rendering mp_image_t, 576x320x12bpp YUV planar, 276480 bytes
> MPlayer interrupted by signal 11 in module: decode_video
> (gdb) bt
> #0 msmpeg4v34_decode_mb (s=0x83867e0, block=0x8390380) at common.h:632
> #1 0x081e529d in decode_slice (s=0x83867e0) at h263dec.c:206
> #2 0x081e5ca1 in ff_h263_decode_frame (avctx=0x834faf0, data=0x83497b0,
> data_size=0xbfffe728,
> buf=0x846a0b0 "I\237ý.\002.m. _\005I\225<\2128\234\f.Vù\0
> 34\207\021\n{.\213M..\201\221H..\027F..ê2s\f.\226.@\002.d\236
> E.\020..þ6.uGz;..ü%}\200ë\002\201_Kz÷9.\227åJc\220\016\201\21
> 1.s%..\206\231ô\003.7.2_\221.6..\034-5.G9\001..\200p.k.\227är
> *\035\f\003\205\223^.#\220\023]\f\003\205\222æKò9", buf_size=4585)
> at h263dec.c:572
> #3 0x0815fc38 in avcodec_decode_video (avctx=0x834faf0, picture=0x83497b0,
> got_picture_ptr=0xbfffe728,
> buf=0x846a0b0 "I\237ý.\002.m. _\005I\225<\2128\234\f.Vù\0
> 34\207\021\n{.\213M..\201\221H..\027F..ê2s\f.\226.@\002.d\236
> E.\020..þ6.uGz;..ü%}\200ë\002\201_Kz÷9.\227åJc\220\016\201\21
> 1.s%..\206\231ô\003.7.2_\221.6..\034-5.G9\001..\200p.k.\227är
> *\035\f\003\205\223^.#\220\023]\f\003\205\222æKò9", buf_size=4585)
> at utils.c:317
> #4 0x080b09a9 in decode (sh=0x8350a90, data=0x846a0b0, len=4585, flags=0)
> at vd_ffmpeg.c:535
> #5 0x080a80a2 in decode_video (sh_video=0x8350a90,
> start=0x846a0b0 "I\237ý.\002.m. _\005I\225<\2128\234\f.Vù
> \034\207\021\n{.\213M..\201\221H..\027F..ê2s\f.\226.@\002.d\2
> 36E.\020..þ6.uGz;..ü%}\200ë\002\201_Kz÷9.\227åJc\220\016\201\
> 211.s%..\206\231ô\003.7.2_\221.6..\034-5.G9\001..\200p.k.\227
> är*\035\f\003\205\223^.#\220\023]\f\003\205\222æKò9", in_size=4585,
> drop_frame=0) at dec_video.c:306
> #6 0x08067de3 in main (argc=4, argv=0xbffffa54) at mplayer.c:1751
> (gdb) disass $pc-32 $pc+32
> Dump of assembler code from 0x81d934c to 0x81d938c:
> 0x81d934c <msmpeg4v34_decode_mb+64>:
> je 0x81d93e0 <msmpeg4v34_decode_mb+212>
> 0x81d9352 <msmpeg4v34_decode_mb+70>: mov 0x9b20(%ecx),%ebx
> 0x81d9358 <msmpeg4v34_decode_mb+76>: mov 0x9b18(%ecx),%edx
> 0x81d935e <msmpeg4v34_decode_mb+82>: mov 0x8(%ebp),%edi
> 0x81d9361 <msmpeg4v34_decode_mb+85>: mov %ebx,%eax
> 0x81d9363 <msmpeg4v34_decode_mb+87>: sar $0x3,%eax
> 0x81d9366 <msmpeg4v34_decode_mb+90>: mov %ebx,%ecx
> 0x81d9368 <msmpeg4v34_decode_mb+92>: and $0x7,%ecx
> 0x81d936b <msmpeg4v34_decode_mb+95>: inc %ebx
> 0x81d936c <msmpeg4v34_decode_mb+96>: movzbl (%eax,%edx,1),%eax
> 0x81d9370 <msmpeg4v34_decode_mb+100>: shl %cl,%eax
> 0x81d9372 <msmpeg4v34_decode_mb+102>: mov %ebx,0x9b20(%edi)
> 0x81d9378 <msmpeg4v34_decode_mb+108>: test $0x80,%al
> 0x81d937a <msmpeg4v34_decode_mb+110>:
> je 0x81d93e0 <msmpeg4v34_decode_mb+212>
> 0x81d937c <msmpeg4v34_decode_mb+112>: movl $0x0,0x1270(%edi)
> 0x81d9386 <msmpeg4v34_decode_mb+122>: movl $0x5,0xfffffff0(%ebp)
> End of assembler dump.
A'rpi / Astral & ESP-team
--
Developer of MPlayer, the Movie Player for Linux - http://www.MPlayerHQ.hu
More information about the MPlayer-dev-eng
mailing list