diff options
author | Nuo Mi <nuomi2021@gmail.com> | 2024-02-22 15:13:57 +0800 |
---|---|---|
committer | Nuo Mi <nuomi2021@gmail.com> | 2024-02-24 20:24:55 +0800 |
commit | 37ebebd055d8129cb590caf446c1ede4235875a1 (patch) | |
tree | 8ebf4391fa974dff9b290d32d54bd3ad29170deb | |
parent | ab2c9dfb26215419c33d76cac4d46c917d9959be (diff) | |
download | ffmpeg-37ebebd055d8129cb590caf446c1ede4235875a1.tar.gz |
avcodec/vvcdec: set CuPredMode table for chroma
follow the spec
-rw-r--r-- | libavcodec/vvc/vvc_ctu.c | 7 |
1 files 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++) { |