[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