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

Ilja Sekler ilja_sekler_ at gmx.de
Wed Aug 14 20:26:04 CEST 2013


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.

I seems that ffh264vdpau is not affected.

Thanks,

-- 
Regards

Ilja


More information about the MPlayer-users mailing list