[FFmpeg-devel] [PATCH] avcodec/vp8: Fix hang with slice threads

Ronald S. Bultje rsbultje at gmail.com
Fri Mar 10 03:17:37 EET 2017


Hi,

On Thu, Mar 9, 2017 at 8:12 PM, Michael Niedermayer <michael at niedermayer.cc>
wrote:

> From: Thomas Guilbert <tguilbert at google.com>
>
> Fixes: 447860.webm
>
> Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
> ---
>  libavcodec/vp8.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/libavcodec/vp8.c b/libavcodec/vp8.c
> index 6759b310f0..068223920e 100644
> --- a/libavcodec/vp8.c
> +++ b/libavcodec/vp8.c
> @@ -2508,8 +2508,10 @@ int vp78_decode_mb_row_sliced(AVCodecContext
> *avctx, void *tdata, int jobnr,
>      for (mb_y = jobnr; mb_y < s->mb_height; mb_y += num_jobs) {
>          td->thread_mb_pos = mb_y << 16;
>          ret = s->decode_mb_row_no_filter(avctx, tdata, jobnr, threadnr);
> -        if (ret < 0)
> +        if (ret < 0) {
> +            update_pos(td, s->mb_height, INT_MAX & 0xFFFF);
>              return ret;
> +        }
>          if (s->deblock_filter)
>              s->filter_mb_row(avctx, tdata, jobnr, threadnr);
>          update_pos(td, mb_y, INT_MAX & 0xFFFF);
> --
> 2.11.0


OK.

Ronald


More information about the ffmpeg-devel mailing list