From e49b8b48cd4362392d28c7e0dcf04744aaf1ace7 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Mon, 27 Feb 2023 11:57:54 +1000 Subject: [PATCH] av1: set skip mode frames properly There are circumstances where the flag isn't set but the skip mode frames are. So don't use the inferred bit which has other inputs when deciding to pass the skip mode frames to the device. This fixes some decoding bugs on intel av1 --- libavcodec/av1dec.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libavcodec/av1dec.c b/libavcodec/av1dec.c index 7e423427b2..47fa919e62 100644 --- a/libavcodec/av1dec.c +++ b/libavcodec/av1dec.c @@ -270,7 +270,9 @@ static void skip_mode_params(AV1DecContext *s) int second_forward_idx, second_forward_hint; int ref_hint, dist, i; - if (!header->skip_mode_present) + if (header->frame_type == AV1_FRAME_KEY || + header->frame_type == AV1_FRAME_INTRA_ONLY || + !header->reference_select || !seq->enable_order_hint) return; forward_idx = -1;