Quoting Derek Buitenhuis (2016-12-12 15:33:27)
> This could happen when there was a frame number gap and frame threading was 
> used.
> 
> Debugging-by: Ronald S. Bultje <[email protected]>
> Debugging-by: Justin Ruggles <[email protected]>
> Signed-off-by: Derek Buitenhuis <[email protected]>
> ---
>  libavcodec/h264_slice.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c
> index 8d79740a7f..1b91088f52 100644
> --- a/libavcodec/h264_slice.c
> +++ b/libavcodec/h264_slice.c
> @@ -1404,6 +1404,9 @@ static int h264_field_start(H264Context *h, const 
> H264SliceContext *sl,
>                  h->short_ref[0]->f->width == prev->f->width &&
>                  h->short_ref[0]->f->height == prev->f->height &&
>                  h->short_ref[0]->f->format == prev->f->format) {
> +                ff_thread_await_progress(&prev->tf, INT_MAX, 0);
> +                if (prev->field_picture)
> +                    ff_thread_await_progress(&prev->tf, INT_MAX, 1);
>                  av_image_copy(h->short_ref[0]->f->data,
>                                h->short_ref[0]->f->linesize,
>                                (const uint8_t **)prev->f->data,
> -- 
> 2.11.0

Thanks, pushed.

-- 
Anton Khirnov
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to