History

avcodec/vvcdec: do not zero frame qp table

For luma, qp can only change at the CU level, so the qp tab size is related to the CU. For chroma, considering the joint CbCr, the QP tab size is related to the TU.

Nuo Mi committed 2 years ago

Commit daf6fcd1 parent ca2caeb1 file · +6 −1Browse files

Showing the changes to libavcodec (1 of 1 file). Show all

Unified · Split

libavcodec/vvc/dec.c+6−1
@@ -145,6 +145,8 @@ static void min_cb_nz_tl_init(TabList *l, VVCFrameContext *fc) · 144 unmodified lines
145145 TL_ADD(cp_mv[i], pic_size_in_min_cb * MAX_CONTROL_POINTS);
146146 TL_ADD(cpm[i], pic_size_in_min_cb);
147147 }
148+ // For luma, qp can only change at the CU level, so the qp tab size is related to the CU.
149+ TL_ADD(qp[LUMA], pic_size_in_min_cb);
148150 }
149151
150152 static void min_pu_tl_init(TabList *l, VVCFrameContext *fc)
@@ -186,7 +188,6 @@ static void min_tu_tl_init(TabList *l, VVCFrameContext *fc) · 35 unmodified lines
186188
187189 for (int i = 0; i < VVC_MAX_SAMPLE_ARRAYS; i++) {
188190 TL_ADD(tu_coded_flag[i], pic_size_in_min_tu);
189− TL_ADD(qp[i], pic_size_in_min_tu);
190191
191192 for (int vertical = 0; vertical < 2; vertical++)
192193 TL_ADD(bs[vertical][i], pic_size_in_min_tu);
@@ -212,6 +213,10 @@ static void min_tu_nz_tl_init(TabList *l, VVCFrameContext *fc) · 19 unmodified lines
212213 TL_ADD(max_len_p[vertical], pic_size_in_min_tu);
213214 TL_ADD(max_len_q[vertical], pic_size_in_min_tu);
214215 }
216+
217+ // For chroma, considering the joint CbCr, the QP tab size is related to the TU.
218+ for (int i = CB; i < VVC_MAX_SAMPLE_ARRAYS; i++)
219+ TL_ADD(qp[i], pic_size_in_min_tu);
215220 }
216221
217222 static void pixel_buffer_nz_tl_init(TabList *l, VVCFrameContext *fc)

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t