mirror of
https://github.com/librempeg/librempeg
synced 2024-11-22 18:49:58 +00:00
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. Signed-off-by: Paul B Mahol <onemda@gmail.com>
This commit is contained in:
parent
63afa7dbc9
commit
72f1ce6008
@ -145,6 +145,8 @@ static void min_cb_nz_tl_init(TabList *l, VVCFrameContext *fc)
|
||||
TL_ADD(cp_mv[i], pic_size_in_min_cb * MAX_CONTROL_POINTS);
|
||||
TL_ADD(cpm[i], pic_size_in_min_cb);
|
||||
}
|
||||
// For luma, qp can only change at the CU level, so the qp tab size is related to the CU.
|
||||
TL_ADD(qp[LUMA], pic_size_in_min_cb);
|
||||
}
|
||||
|
||||
static void min_pu_tl_init(TabList *l, VVCFrameContext *fc)
|
||||
@ -186,7 +188,6 @@ static void min_tu_tl_init(TabList *l, VVCFrameContext *fc)
|
||||
|
||||
for (int i = 0; i < VVC_MAX_SAMPLE_ARRAYS; i++) {
|
||||
TL_ADD(tu_coded_flag[i], pic_size_in_min_tu);
|
||||
TL_ADD(qp[i], pic_size_in_min_tu);
|
||||
|
||||
for (int vertical = 0; vertical < 2; vertical++)
|
||||
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)
|
||||
TL_ADD(max_len_p[vertical], pic_size_in_min_tu);
|
||||
TL_ADD(max_len_q[vertical], pic_size_in_min_tu);
|
||||
}
|
||||
|
||||
// For chroma, considering the joint CbCr, the QP tab size is related to the TU.
|
||||
for (int i = CB; i < VVC_MAX_SAMPLE_ARRAYS; i++)
|
||||
TL_ADD(qp[i], pic_size_in_min_tu);
|
||||
}
|
||||
|
||||
static void pixel_buffer_nz_tl_init(TabList *l, VVCFrameContext *fc)
|
||||
|
Loading…
Reference in New Issue
Block a user