diff options
author | Dave Airlie <airlied@redhat.com> | 2023-02-27 11:57:54 +1000 |
---|---|---|
committer | Lynne <dev@lynne.ee> | 2023-05-29 00:41:58 +0200 |
commit | e49b8b48cd4362392d28c7e0dcf04744aaf1ace7 (patch) | |
tree | 2590d48ac18dbca761d192b91c42d9685e978ad3 /libavcodec/av1dec.c | |
parent | 36c16a06b2e31a39c236d724c2fd5d457f02493a (diff) |
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
Diffstat (limited to 'libavcodec/av1dec.c')
-rw-r--r-- | libavcodec/av1dec.c | 4 |
1 files changed, 3 insertions, 1 deletions
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; |