[MPlayer-users] VDPAU decoding in MPlayer broken by recent FFmpeg changes

Reimar Döffinger Reimar.Doeffinger at gmx.de
Wed Aug 21 20:15:29 CEST 2013


On Wed, Aug 14, 2013 at 08:26:04PM +0200, Ilja Sekler wrote:
> Am 14.08.2013 18:57, schrieb Reimar Döffinger:
> 
> >Ok, something completely different then:
> >--- a/libavcodec/h263dec.c
> >+++ b/libavcodec/h263dec.c
> >@@ -168,7 +168,10 @@ static int decode_slice(MpegEncContext *s){
> >          const uint8_t *start= s->gb.buffer + get_bits_count(&s->gb)/8;
> >          const uint8_t *end  = ff_h263_find_resync_marker(s, start + 1, s->gb.buffer_end);
> >          skip_bits_long(&s->gb, 8*(end - start));
> >-        return s->avctx->hwaccel->decode_slice(s->avctx, start, end - start);
> >+        ret = s->avctx->hwaccel->decode_slice(s->avctx, start, end - start);
> >+        // ensure we exit decode loop
> >+        if (get_bits_left(&s->gb) <= 0) s->mb_y = s->mb_height;
> >+        return ret;
> >      }
> >
> >      if(s->partitioned_frame){
> 
> This works for me as far as the "marker does not match f_code"
> messages are concerned, thanks.
> 
> But I see a very strange effect when playing DivX videos through
> ffodivxvdpau now: it looks as if every second frame were dropped and
> the first one instead duplicated (or even worse), all movements look
> choppy. This is not related to this patch. It doesn't happen with
> the software decoder and doesn't happen with the VDPAU decoder and
> r36171 from Fedora repositories.

Hm, my suspicion is that this means there is an issue with
decoding B-frames (does it say something about "invalid packed
B-frames" when this issue shows up or does this happen for all files?).
However without being able to run it myself I don't have
good ideas on how to debug it really.
I guess there is no useful output? Maybe you could post it
anyway?
But not much of an idea what to do about this really.


More information about the MPlayer-users mailing list