[FFmpeg-cvslog] avcodec/vvcdec: set CuPredMode table for chroma

Nuo Mi git at videolan.org
Sat Feb 24 14:30:45 EET 2024


ffmpeg | branch: master | Nuo Mi <nuomi2021 at gmail.com> | Thu Feb 22 15:13:57 2024 +0800| [37ebebd055d8129cb590caf446c1ede4235875a1] | committer: Nuo Mi

avcodec/vvcdec: set CuPredMode table for chroma

follow the spec

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=37ebebd055d8129cb590caf446c1ede4235875a1
---

 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++) {



More information about the ffmpeg-cvslog mailing list