aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/cbs_h265.h
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2024-07-14 09:48:25 -0300
committerJames Almer <jamrial@gmail.com>2024-07-15 16:39:44 -0300
commit64807ccc919194d0c08aa69c14f86085505594ff (patch)
tree28536c29eacdf4582fe8724fd0649e0ff61af183 /libavcodec/cbs_h265.h
parent25138fa0f3670eb443b6081f2c7d1cd45b86d602 (diff)
downloadffmpeg-64807ccc919194d0c08aa69c14f86085505594ff.tar.gz
avcodec/cbs_h265: add support for PPS Multilayer extension fields
Signed-off-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'libavcodec/cbs_h265.h')
-rw-r--r--libavcodec/cbs_h265.h40
1 files changed, 40 insertions, 0 deletions
diff --git a/libavcodec/cbs_h265.h b/libavcodec/cbs_h265.h
index 0f0541b2ef..586864f6bb 100644
--- a/libavcodec/cbs_h265.h
+++ b/libavcodec/cbs_h265.h
@@ -442,6 +442,46 @@ typedef struct H265RawPPS {
uint8_t luma_bit_depth_entry_minus8;
uint8_t chroma_bit_depth_entry_minus8;
uint16_t pps_palette_predictor_initializers[3][128];
+
+ // Multilayer extension.
+ uint8_t poc_reset_info_present_flag;
+ uint8_t pps_infer_scaling_list_flag;
+ uint8_t pps_scaling_list_ref_layer_id;
+ uint8_t num_ref_loc_offsets;
+ uint8_t ref_loc_offset_layer_id[64];
+ uint8_t scaled_ref_layer_offset_present_flag[64];
+ int16_t scaled_ref_layer_left_offset[64];
+ int16_t scaled_ref_layer_top_offset[64];
+ int16_t scaled_ref_layer_right_offset[64];
+ int16_t scaled_ref_layer_bottom_offset[64];
+ uint8_t ref_region_offset_present_flag[64];
+ int16_t ref_region_left_offset[64];
+ int16_t ref_region_top_offset[64];
+ int16_t ref_region_right_offset[64];
+ int16_t ref_region_bottom_offset[64];
+ uint8_t resample_phase_set_present_flag[64];
+ uint8_t phase_hor_luma[64];
+ uint8_t phase_ver_luma[64];
+ uint8_t phase_hor_chroma_plus8[64];
+ uint8_t phase_ver_chroma_plus8[64];
+ uint8_t colour_mapping_enabled_flag;
+ uint8_t num_cm_ref_layers_minus1;
+ uint8_t cm_ref_layer_id[62];
+ uint8_t cm_octant_depth;
+ uint8_t cm_y_part_num_log2;
+ uint8_t luma_bit_depth_cm_input_minus8;
+ uint8_t chroma_bit_depth_cm_input_minus8;
+ uint8_t luma_bit_depth_cm_output_minus8;
+ uint8_t chroma_bit_depth_cm_output_minus8;
+ uint8_t cm_res_quant_bits;
+ uint8_t cm_delta_flc_bits_minus1;
+ int16_t cm_adapt_threshold_u_delta;
+ int16_t cm_adapt_threshold_v_delta;
+ uint8_t split_octant_flag[2];
+ uint8_t coded_res_flag[12][2][2][4];
+ uint8_t res_coeff_q[12][2][2][4][3];
+ uint32_t res_coeff_s[12][2][2][4][3];
+ uint8_t res_coeff_r[12][2][2][4][3];
} H265RawPPS;
typedef struct H265RawAUD {