Unified · Split
| @@ -1234,9 +1234,12 @@ static CodingUnit* add_cu(VVCLocalContext *lc, const int x0, const int y0, · 1233 unmodified lines | ||
| 1234 | 1234 | |
| 1235 | 1235 | static void set_cu_tabs(const VVCLocalContext *lc, const CodingUnit *cu) |
| 1236 | 1236 | { |
| 1237 | − const VVCFrameContext *fc = lc->fc; | |
| 1238 | − const TransformUnit *tu = cu->tus.head; | |
| 1237 | + const VVCFrameContext *fc = lc->fc; | |
| 1238 | + const PredictionUnit *pu = &cu->pu; | |
| 1239 | + const TransformUnit *tu = cu->tus.head; | |
| 1239 | 1240 | |
| 1241 | + set_cb_tab(lc, fc->tab.mmi, pu->mi.motion_model_idc); | |
| 1242 | + set_cb_tab(lc, fc->tab.msf, pu->merge_subblock_flag); | |
| 1240 | 1243 | if (cu->tree_type != DUAL_TREE_CHROMA) |
| 1241 | 1244 | set_cb_tab(lc, fc->tab.skip, cu->skip_flag); |
| 1242 | 1245 | |
| @@ -1325,7 +1328,6 @@ static void merge_data_subblock(VVCLocalContext *lc) · 82 unmodified lines | ||
| 1325 | 1328 | PredictionUnit *pu = &cu->pu; |
| 1326 | 1329 | int merge_subblock_idx = 0; |
| 1327 | 1330 | |
| 1328 | − set_cb_tab(lc, fc->tab.msf, pu->merge_subblock_flag); | |
| 1329 | 1331 | if (ph->max_num_subblock_merge_cand > 1) { |
| 1330 | 1332 | merge_subblock_idx = ff_vvc_merge_subblock_idx(lc, ph->max_num_subblock_merge_cand); |
| 1331 | 1333 | } |
| @@ -155,9 +155,7 @@ static void min_pu_tl_init(TabList *l, VVCFrameContext *fc) · 154 unmodified lines | ||
| 155 | 155 | |
| 156 | 156 | tl_init(l, 1, changed); |
| 157 | 157 | |
| 158 | − TL_ADD(msf, pic_size_in_min_pu); | |
| 159 | 158 | TL_ADD(iaf, pic_size_in_min_pu); |
| 160 | − TL_ADD(mmi, pic_size_in_min_pu); | |
| 161 | 159 | } |
| 162 | 160 | |
| 163 | 161 | static void min_pu_nz_tl_init(TabList *l, VVCFrameContext *fc) |
| @@ -168,6 +166,8 @@ static void min_pu_nz_tl_init(TabList *l, VVCFrameContext *fc) · 4 unmodified lines | ||
| 168 | 166 | |
| 169 | 167 | tl_init(l, 0, changed); |
| 170 | 168 | |
| 169 | + TL_ADD(msf, pic_size_in_min_pu); | |
| 170 | + TL_ADD(mmi, pic_size_in_min_pu); | |
| 171 | 171 | TL_ADD(mvf, pic_size_in_min_pu); |
| 172 | 172 | } |
| 173 | 173 | |
| @@ -399,7 +399,6 @@ static void store_cp_mv(const VVCLocalContext *lc, const MotionInfo *mi, const i · 398 unmodified lines | ||
| 399 | 399 | const int offset = (y_cb * min_cb_width + x_cb) * MAX_CONTROL_POINTS; |
| 400 | 400 | |
| 401 | 401 | memcpy(&fc->tab.cp_mv[lx][offset], mi->mv[lx], sizeof(Mv) * num_cp_mv); |
| 402 | − SAMPLE_CTB(fc->tab.mmi, x_cb, y_cb) = mi->motion_model_idc; | |
| 403 | 402 | } |
| 404 | 403 | } |
| 405 | 404 | } |