summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinjie Fu <linjie.fu@intel.com>2023-02-16 13:46:30 +0800
committerHaihao Xiang <haihao.xiang@intel.com>2023-02-27 13:42:06 +0800
commitc1dceaf0c74fc010cf43744c36af6d9ebaa0b13d (patch)
tree287d29b584dbc1ceb91714827f9fdcf949d09a77
parent56e3cd23d486d6aa2e3dcddc57c8048547df4f42 (diff)
lavc/hevcdec: Add slice parse support for HEVC SCC extension
Signed-off-by: Linjie Fu <linjie.justin.fu@gmail.com> Signed-off-by: Fei Wang <fei.w.wang@intel.com>
-rw-r--r--libavcodec/hevcdec.c6
-rw-r--r--libavcodec/hevcdec.h4
2 files changed, 10 insertions, 0 deletions
diff --git a/libavcodec/hevcdec.c b/libavcodec/hevcdec.c
index 567e8d81d4..f9a97ac7f5 100644
--- a/libavcodec/hevcdec.c
+++ b/libavcodec/hevcdec.c
@@ -856,6 +856,12 @@ static int hls_slice_header(HEVCContext *s)
sh->slice_cr_qp_offset = 0;
}
+ if (s->ps.pps->pps_slice_act_qp_offsets_present_flag) {
+ sh->slice_act_y_qp_offset = get_se_golomb(gb);
+ sh->slice_act_cb_qp_offset = get_se_golomb(gb);
+ sh->slice_act_cr_qp_offset = get_se_golomb(gb);
+ }
+
if (s->ps.pps->chroma_qp_offset_list_enabled_flag)
sh->cu_chroma_qp_offset_enabled_flag = get_bits1(gb);
else
diff --git a/libavcodec/hevcdec.h b/libavcodec/hevcdec.h
index 9d3f4adbb3..7841ba8565 100644
--- a/libavcodec/hevcdec.h
+++ b/libavcodec/hevcdec.h
@@ -295,6 +295,10 @@ typedef struct SliceHeader {
int slice_cb_qp_offset;
int slice_cr_qp_offset;
+ int slice_act_y_qp_offset;
+ int slice_act_cb_qp_offset;
+ int slice_act_cr_qp_offset;
+
uint8_t cu_chroma_qp_offset_enabled_flag;
int beta_offset; ///< beta_offset_div2 * 2