From 37ebebd055d8129cb590caf446c1ede4235875a1 Mon Sep 17 00:00:00 2001 From: Nuo Mi Date: Thu, 22 Feb 2024 15:13:57 +0800 Subject: [PATCH] avcodec/vvcdec: set CuPredMode table for chroma follow the spec --- libavcodec/vvc/vvc_ctu.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/libavcodec/vvc/vvc_ctu.c b/libavcodec/vvc/vvc_ctu.c index 36f98f5f2b..2e48f7bed8 100644 --- a/libavcodec/vvc/vvc_ctu.c +++ b/libavcodec/vvc/vvc_ctu.c @@ -1227,9 +1227,12 @@ static void set_cu_tabs(const VVCLocalContext *lc, const CodingUnit *cu) const VVCFrameContext *fc = lc->fc; const TransformUnit *tu = cu->tus.head; - set_cb_tab(lc, fc->tab.cpm[cu->ch_type], cu->pred_mode); - if (cu->tree_type != DUAL_TREE_CHROMA) + if (cu->tree_type != DUAL_TREE_CHROMA) { + set_cb_tab(lc, fc->tab.cpm[LUMA], cu->pred_mode); set_cb_tab(lc, fc->tab.skip, cu->skip_flag); + } + if (fc->ps.sps->r->sps_chroma_format_idc && cu->tree_type != DUAL_TREE_LUMA) + set_cb_tab(lc, fc->tab.cpm[CHROMA], cu->pred_mode); while (tu) { for (int j = 0; j < tu->nb_tbs; j++) {