GstH266Parser
To identify Nals in a bitstream and parse its headers, you should call:
- gst_h266_parser_identify_nalu to identify the following nalu in VVC bitstreams
Then, depending on the GstH266NalUnitType of the newly parsed GstH266NalUnit, you should call the different functions to parse the structure:
-
From GST_H266_NAL_SLICE_TRAIL to GST_H266_NAL_SLICE_GDR: gst_h266_parser_parse_slice_hdr
-
GST_H266_NAL_*_SEI
: gst_h266_parser_parse_sei -
Any other: gst_h266_parser_parse_nal
Note: You should always call gst_h266_parser_parse_nal if you don't actually need GstH266NalUnitType to be parsed for your personal use, in order to guarantee that the GstH266Parser is always up to date.
For more details about the structures, look at the ITU-T H.266 specifications, you can download them from:
- ITU-T H.266: http://www.itu.int/rec/T-REC-H.266
Functions
gst_h266_parse_aps
GstH266ParserResult gst_h266_parse_aps (GstH266Parser * parser, GstH266NalUnit * nalu, GstH266APS * aps)
Parses data, and fills the aps structure.
Since : 1.26
gst_h266_parse_pps
GstH266ParserResult gst_h266_parse_pps (GstH266Parser * parser, GstH266NalUnit * nalu, GstH266PPS * pps)
Parses data, and fills the pps structure.
Parameters:
parser
–
nalu
–
The GST_H266_NAL_PPS GstH266NalUnit to parse
pps
–
The GstH266PPS to fill.
Since : 1.26
gst_h266_parse_sps
GstH266ParserResult gst_h266_parse_sps (GstH266Parser * parser, GstH266NalUnit * nalu, GstH266SPS * sps)
Parses data, and fills the sps structure.
Parameters:
parser
–
The GstH266Parser
nalu
–
The GST_H266_NAL_SPS GstH266NalUnit to parse
sps
–
The GstH266SPS to fill.
Since : 1.26
gst_h266_parse_vps
GstH266ParserResult gst_h266_parse_vps (GstH266NalUnit * nalu, GstH266VPS * vps)
Parses data, and fills the vps structure.
Since : 1.26
gst_h266_parser_free
void gst_h266_parser_free (GstH266Parser * parser)
Frees the parser
Parameters:
parser
–
the GstH266Parser to free
Since : 1.26
gst_h266_parser_identify_nalu
GstH266ParserResult gst_h266_parser_identify_nalu (GstH266Parser * parser, guint8 * data, guint offset, gsize size, GstH266NalUnit * nalu)
Parses data and fills nalu from the next nalu data from data
Parameters:
parser
–
data
–
The data to parse
offset
–
the offset from which to parse data
size
–
the size of data
nalu
–
The GstH266NalUnit where to store parsed nal headers
Since : 1.26
gst_h266_parser_identify_nalu_unchecked
GstH266ParserResult gst_h266_parser_identify_nalu_unchecked (GstH266Parser * parser, guint8 * data, guint offset, gsize size, GstH266NalUnit * nalu)
Parses data and fills nalu from the next nalu data from data.
This differs from gst_h266_parser_identify_nalu in that it doesn't check whether the packet is complete or not.
Note: Only use this function if you already know the provided data is a complete NALU, else use gst_h266_parser_identify_nalu.
Parameters:
parser
–
data
–
The data to parse
offset
–
the offset from which to parse data
size
–
the size of data
nalu
–
The GstH266NalUnit where to store parsed nal headers
Since : 1.26
gst_h266_parser_identify_nalu_vvc
GstH266ParserResult gst_h266_parser_identify_nalu_vvc (GstH266Parser * parser, guint8 * data, guint offset, gsize size, guint8 nal_length_size, GstH266NalUnit * nalu)
Parses data and sets nalu.
Parameters:
parser
–
data
–
The data to parse, must be the beging of the Nal unit
offset
–
the offset from which to parse data
size
–
the size of data
nal_length_size
–
the size in bytes of the VVC nal length prefix.
nalu
–
The GstH266NalUnit where to store parsed nal headers
Since : 1.26
gst_h266_parser_new
GstH266Parser * gst_h266_parser_new ()
Creates a new GstH266Parser. It should be freed with gst_h266_parser_free after use.
a new GstH266Parser
Since : 1.26
gst_h266_parser_parse_aps
GstH266ParserResult gst_h266_parser_parse_aps (GstH266Parser * parser, GstH266NalUnit * nalu, GstH266APS * aps)
Parses data, and fills the aps structure.
Since : 1.26
gst_h266_parser_parse_aud
GstH266ParserResult gst_h266_parser_parse_aud (GstH266Parser * parser, GstH266NalUnit * nalu, GstH266AUD * aud)
Parses data, and fills the aud structure.
Since : 1.26
gst_h266_parser_parse_dci
GstH266ParserResult gst_h266_parser_parse_dci (GstH266Parser * parser, GstH266NalUnit * nalu, GstH266DCI * dci)
Parses data, and fills the dci structure.
Since : 1.26
gst_h266_parser_parse_nal
GstH266ParserResult gst_h266_parser_parse_nal (GstH266Parser * parser, GstH266NalUnit * nalu)
This function should be called in the case one doesn't need to parse a specific structure. It is necessary to do so to make sure parser is up to date.
Since : 1.26
gst_h266_parser_parse_opi
GstH266ParserResult gst_h266_parser_parse_opi (GstH266Parser * parser, GstH266NalUnit * nalu, GstH266OPI * opi)
Parses data, and fills the opi structure.
Since : 1.26
gst_h266_parser_parse_picture_hdr
GstH266ParserResult gst_h266_parser_parse_picture_hdr (GstH266Parser * parser, GstH266NalUnit * nalu, GstH266PicHdr * picture)
Parses data, and fills the ph structure.
Parameters:
parser
–
nalu
–
The picture header GstH266NalUnit to parse
picture
–
Since : 1.26
gst_h266_parser_parse_pps
GstH266ParserResult gst_h266_parser_parse_pps (GstH266Parser * parser, GstH266NalUnit * nalu, GstH266PPS * pps)
Parses data, and fills the pps structure.
Parameters:
parser
–
nalu
–
The GST_H266_NAL_PPS GstH266NalUnit to parse
pps
–
The GstH266PPS to fill.
Since : 1.26
gst_h266_parser_parse_sei
GstH266ParserResult gst_h266_parser_parse_sei (GstH266Parser * parser, GstH266NalUnit * nalu, GArray ** messages)
Parses data, create and fills the messages array.
Parameters:
parser
–
nalu
–
The GST_H266_NAL_*_SEI
GstH266NalUnit to parse
messages
–
The GArray of GstH266SEIMessage to fill. The caller must free it when done.
Since : 1.26
gst_h266_parser_parse_slice_hdr
GstH266ParserResult gst_h266_parser_parse_slice_hdr (GstH266Parser * parser, GstH266NalUnit * nalu, GstH266SliceHdr * slice)
Parses data, and fills the sh structure.
Since : 1.26
gst_h266_parser_parse_sps
GstH266ParserResult gst_h266_parser_parse_sps (GstH266Parser * parser, GstH266NalUnit * nalu, GstH266SPS * sps)
Parses data, and fills the sps structure.
Parameters:
parser
–
nalu
–
The GST_H266_NAL_SPS GstH266NalUnit to parse
sps
–
The GstH266SPS to fill.
Since : 1.26
gst_h266_parser_parse_vps
GstH266ParserResult gst_h266_parser_parse_vps (GstH266Parser * parser, GstH266NalUnit * nalu, GstH266VPS * vps)
Parses data, and fills the vps structure.
Parameters:
parser
–
nalu
–
The GST_H266_NAL_VPS GstH266NalUnit to parse
vps
–
The GstH266VPS to fill.
Since : 1.26
gst_h266_profile_from_string
GstH266Profile gst_h266_profile_from_string (gchar * string)
Returns a GstH266Profile for the string.
Parameters:
string
–
the descriptive name for GstH266Profile
the GstH266Profile of string or GST_H266_PROFILE_INVALID on error
Since : 1.26
gst_h266_profile_to_string
gchar * gst_h266_profile_to_string (GstH266Profile profile)
Returns the descriptive name for the GstH266Profile.
Parameters:
profile
–
Since : 1.26
Structures
GstH266ALF
struct _GstH266ALF { guint8 luma_filter_signal_flag; guint8 chroma_filter_signal_flag; guint8 cc_cb_filter_signal_flag; guint8 cc_cr_filter_signal_flag; guint8 luma_clip_flag; guint8 luma_num_filters_signalled_minus1; guint8 luma_coeff_delta_idx[GST_H266_NUM_ALF_FILTERS]; guint8 luma_coeff_abs[GST_H266_NUM_ALF_FILTERS][12]; guint8 luma_coeff_sign[GST_H266_NUM_ALF_FILTERS][12]; guint8 luma_clip_idx[GST_H266_NUM_ALF_FILTERS][12]; guint8 chroma_clip_flag; guint8 chroma_num_alt_filters_minus1; guint8 chroma_coeff_abs[8][6]; guint8 chroma_coeff_sign[8][6]; guint8 chroma_clip_idx[8][6]; guint8 cc_cb_filters_signalled_minus1; guint8 cc_cb_mapped_coeff_abs[4][7]; guint8 cc_cb_coeff_sign[4][7]; guint8 cc_cr_filters_signalled_minus1; guint8 cc_cr_mapped_coeff_abs[4][7]; guint8 cc_cr_coeff_sign[4][7]; };
Structure defining the H266 ALF parameters.
luma_filter_signal_flag: specifies whether a luma filter set is signalled. chroma_filter_signal_flag: specifies whether a chroma filter is signalled. cc_cb_filter_signal_flag: specifies whether cross-component filters for the Cb colour component are signalled. cc_cr_filter_signal_flag: specifies whether cross-component filters for the Cr colour component are signalled. luma_clip_flag: specifies whether linear adaptive loop filtering is applied to the luma component. luma_num_filters_signalled_minus1: specifies the number of adpative loop filter classes for which luma coefficients can be signalled. luma_coeff_delta_idx: specifies the indices of the signalled adaptive loop filter luma coefficient deltas for the filter class. luma_coeff_abs: specifies the absolute value of the j-th coefficient of the signalled luma filter. luma_coeff_sign: specifies the sign of the j-th luma coefficient of the filter. luma_clip_idx: specifies the clipping index of the clipping value to use before multiplying by the j-th coefficient of the signalled luma filter. chroma_clip_flag: specifies whether linear adaptive loop filtering is applied to chroma components. chroma_num_alt_filters_minus1: specifies the number of alternative filters for chroma components. chroma_coeff_abs: specifies the absolute value of the j-th chroma filter coefficient for the alternative chroma filter with index altIdx. chroma_coeff_sign: specifies the sign of the j-th chroma filter coefficient for the alternative chroma filter with index altIdx. chroma_clip_idx: specifies the clipping index of the clipping value to use before multiplying by the j-th coefficient of the alternative chroma filter with index altIdx. cc_cb_filters_signalled_minus1: specifies the number of cross-component filters for the Cb colour component. cc_cb_mapped_coeff_abs: specifies the absolute value of the j-th mapped coefficient of the signalled k-th cross-component filter for the Cb colour component. cc_cb_coeff_sign: specifies the sign of the j-th coefficient of the signalled k-th cross-component filter for the Cb colour component. cc_cr_filters_signalled_minus1: specifies the number of cross-component filters for the Cr colour component. cc_cr_mapped_coeff_abs: specifies the absolute value of the j-th mapped coefficient of the signalled k-th cross-component filter for the Cr colour component. cc_cr_coeff_sign: specifies the sign of the j-th coefficient of the signalled k-th cross-component filter for the Cr colour component.
Fields
luma_filter_signal_flag
(guint8)
–
chroma_filter_signal_flag
(guint8)
–
cc_cb_filter_signal_flag
(guint8)
–
cc_cr_filter_signal_flag
(guint8)
–
luma_clip_flag
(guint8)
–
luma_num_filters_signalled_minus1
(guint8)
–
luma_coeff_delta_idx
(guint8[25] )
–
luma_coeff_abs
(guint8[25][12] )
–
luma_coeff_sign
(guint8[25][12] )
–
luma_clip_idx
(guint8[25][12] )
–
chroma_clip_flag
(guint8)
–
chroma_num_alt_filters_minus1
(guint8)
–
chroma_coeff_abs
(guint8[8][6] )
–
chroma_coeff_sign
(guint8[8][6] )
–
chroma_clip_idx
(guint8[8][6] )
–
cc_cb_filters_signalled_minus1
(guint8)
–
cc_cb_mapped_coeff_abs
(guint8[4][7] )
–
cc_cb_coeff_sign
(guint8[4][7] )
–
cc_cr_filters_signalled_minus1
(guint8)
–
cc_cr_mapped_coeff_abs
(guint8[4][7] )
–
cc_cr_coeff_sign
(guint8[4][7] )
–
Since : 1.26
GstH266APS
struct _GstH266APS { GstH266APSType params_type; guint8 aps_id; guint8 chroma_present_flag; union { GstH266ALF alf; GstH266LMCS lmcs; GstH266ScalingList sl; }; guint8 extension_flag; guint8 extension_data_flag; gboolean valid; };
Structure defining the H266 Adaptation Parameter Set.
params_type: specifies the type of APS parameters carried in the APS as specified in Table 6. aps_id: provides an identifier for the APS for reference by other syntax elements. chroma_present_flag: specifies whether the APS NAL unit could include chroma related syntax elements. alf: ALF parameters of GstH266ALF when params_type is GST_H266_ALF_APS. lmcs: LMCS parameters of GstH266LMCS when params_type is GST_H266_LMCS_APS. sl: scaling list parameters of GstH266ScalingList when params_type is GST_H266_SCALING_APS. extension_flag: specifies whether aps_extension_data_flag syntax elements are present. extension_data_flag: could have any value and do not affect the decoding process now. valid: whether this APS is valid.
Fields
params_type
(GstH266APSType)
–
aps_id
(guint8)
–
chroma_present_flag
(guint8)
–
extension_flag
(guint8)
–
extension_data_flag
(guint8)
–
valid
(gboolean)
–
Since : 1.26
GstH266AUD
struct _GstH266AUD { guint8 irap_or_gdr_flag; guint8 pic_type; };
Structure defining the H266 AU delimiter.
irap_or_gdr_flag: specifies whether the AU containing the AU delimiter is an IRAP or GDR AU. pic_type: indicates sh_slice_type values that could be present in the AU.
Fields
irap_or_gdr_flag
(guint8)
–
pic_type
(guint8)
–
Since : 1.26
GstH266BufferingPeriod
struct _GstH266BufferingPeriod { guint8 nal_hrd_params_present_flag; guint8 vcl_hrd_params_present_flag; guint8 cpb_initial_removal_delay_length_minus1; guint8 cpb_removal_delay_length_minus1; guint8 dpb_output_delay_length_minus1; guint8 du_hrd_params_present_flag; guint8 du_cpb_removal_delay_increment_length_minus1; guint8 dpb_output_delay_du_length_minus1; guint8 du_cpb_params_in_pic_timing_sei_flag; guint8 du_dpb_params_in_pic_timing_sei_flag; guint8 concatenation_flag; guint8 additional_concatenation_info_present_flag; guint8 max_initial_removal_delay_for_concatenation; guint8 cpb_removal_delay_delta_minus1; guint8 max_sublayers_minus1; guint8 cpb_removal_delay_deltas_present_flag; guint8 num_cpb_removal_delay_deltas_minus1; guint8 cpb_removal_delay_delta_val[16]; guint8 cpb_cnt_minus1; guint8 sublayer_initial_cpb_removal_delay_present_flag; guint8 nal_initial_cpb_removal_delay[8][32]; guint8 nal_initial_cpb_removal_offset[8][32]; guint8 nal_initial_alt_cpb_removal_delay[8][32]; guint8 nal_initial_alt_cpb_removal_offset[8][32]; guint8 vcl_initial_cpb_removal_delay[8][32]; guint8 vcl_initial_cpb_removal_offset[8][32]; guint8 vcl_initial_alt_cpb_removal_delay[8][32]; guint8 vcl_initial_alt_cpb_removal_offset[8][32]; guint8 sublayer_dpb_output_offsets_present_flag; guint32 dpb_output_tid_offset[8]; guint8 alt_cpb_params_present_flag; guint8 use_alt_cpb_params_flag; };
Structure defining the H266 buffering period.
nal_hrd_params_present_flag: specifies whether a list of syntax element pairs bp_nal_initial_cpb_removal_delay and bp_nal_initial_cpb_removal_offset are present in the BP SEI message. vcl_hrd_params_present_flag: specifies whether a list of syntax element pairs bp_vcl_initial_cpb_removal_delay and bp_vcl_initial_cpb_removal_offset are present in the BP SEI message. cpb_initial_removal_delay_length_minus1: specifies the length, in bits, of the initial cpb removal syntax elements. cpb_removal_delay_length_minus1: specifies the length, in bits, of the cpb removal syntax elements. dpb_output_delay_length_minus1: specifies the length, in bits, of the syntax dpb output syntax elements. du_hrd_params_present_flag: specifies whether DU level HRD parameters are present and the HRD can be operated at the AU level or DU level. du_cpb_removal_delay_increment_length_minus1: specifies the length, in bits, of the du cpb removal syntax elements. dpb_output_delay_du_length_minus1: specifies the length, in bits, of the dpb output syntax element. du_cpb_params_in_pic_timing_sei_flag: specifies whether DU level CPB removal delay parameters are present in PT SEI messages. du_dpb_params_in_pic_timing_sei_flag: specifies whether DU level DPB output delay parameters are present in PT SEI messages. concatenation_flag: indicates whether the nominal CPB removal time of the current AU is determined relative to the nominal CPB removal time of the previous AU. additional_concatenation_info_present_flag: specifies whether the syntax element bp_max_initial_removal_delay_for_concatenation is present in the BP SEI message and the syntax element pt_delay_for_concatenation_ensured_flag is present in the PT SEI messages. max_initial_removal_delay_for_concatenation: identify whether the nominal removal time from the CPB of the first AU of a following BP computed with bp_cpb_removal_delay_delta_minus1 applies. cpb_removal_delay_delta_minus1: specifies a CPB removal delay increment value relative to the nominal CPB removal time of the AU prevNonDiscardableAu. max_sublayers_minus1: specifies whether maximum number of temporal sublayers for which the initial CPB removal delay and the initial CPB removal offset are indicated in the BP SEI message. cpb_removal_delay_deltas_present_flag: specifies whether the BP SEI message contains CPB removal delay deltas. num_cpb_removal_delay_deltas_minus1: specifies the number of syntax elements bp_cpb_removal_delay_delta_val[i] in the BP SEI message. cpb_removal_delay_delta_val: specifies the i-th CPB removal delay delta. cpb_cnt_minus1: specifies the number of syntax element pairs bp_nal_initial_cpb_removal_delay and bp_nal_initial_cpb_removal_offset of the i-th temporal sublayer. sublayer_initial_cpb_removal_delay_present_flag: specifies that initial CPB removal delay related syntax elements are present for sublayer representation. nal_initial_cpb_removal_delay: specify the j-th default initial CPB removal delay for the NAL HRD in units of a 90 kHz clock of the i-th temporal sublayer. nal_initial_cpb_removal_offset: specify the j-th default initial CPB removal offset of the i-th temporal sublayer for the NAL HRD in units of a 90 kHz clock. nal_initial_alt_cpb_removal_delay: specify the j-th alternative initial CPB removal delay for the NAL HRD in units of a 90 kHz clock of the i-th temporal sublayer. nal_initial_alt_cpb_removal_offset: specify the j-th alternative initial CPB removal offset of the i-th temporal sublayer for the NAL HRD in units of a 90 kHz clock. vcl_initial_cpb_removal_delay: specify the j-th default initial CPB removal delay of the i-th temporal sublayer for the VCL HRD in units of a 90 kHz clock. vcl_initial_cpb_removal_offset: specify the j-th default initial CPB removal offset of the i-th temporal sublayer for the VCL HRD in units of a 90 kHz clock. vcl_initial_alt_cpb_removal_delay: specify the j-th alternative initial CPB removal delay of the i-th temporal sublayer for the VCL HRD in units of a 90 kHz clock. vcl_initial_alt_cpb_removal_offset: specify the j-th alternative initial CPB removal offset of the i-th temporal sublayer for the VCL HRD in units of a 90 kHz clock. sublayer_dpb_output_offsets_present_flag: specifies whether DPB output time offsets are present for sublayer representation. dpb_output_tid_offset: specifies the difference between the DPB output times for the i-th sublayer representation. alt_cpb_params_present_flag: specifies the presence of the syntax element bp_use_alt_cpb_params_flag. use_alt_cpb_params_flag: could be used to derive the value of UseAltCpbParamsFlag.
Fields
nal_hrd_params_present_flag
(guint8)
–
vcl_hrd_params_present_flag
(guint8)
–
cpb_initial_removal_delay_length_minus1
(guint8)
–
cpb_removal_delay_length_minus1
(guint8)
–
dpb_output_delay_length_minus1
(guint8)
–
du_hrd_params_present_flag
(guint8)
–
du_cpb_removal_delay_increment_length_minus1
(guint8)
–
dpb_output_delay_du_length_minus1
(guint8)
–
du_cpb_params_in_pic_timing_sei_flag
(guint8)
–
du_dpb_params_in_pic_timing_sei_flag
(guint8)
–
concatenation_flag
(guint8)
–
additional_concatenation_info_present_flag
(guint8)
–
max_initial_removal_delay_for_concatenation
(guint8)
–
cpb_removal_delay_delta_minus1
(guint8)
–
max_sublayers_minus1
(guint8)
–
cpb_removal_delay_deltas_present_flag
(guint8)
–
num_cpb_removal_delay_deltas_minus1
(guint8)
–
cpb_removal_delay_delta_val
(guint8[16] )
–
cpb_cnt_minus1
(guint8)
–
sublayer_initial_cpb_removal_delay_present_flag
(guint8)
–
nal_initial_cpb_removal_delay
(guint8[8][32] )
–
nal_initial_cpb_removal_offset
(guint8[8][32] )
–
nal_initial_alt_cpb_removal_delay
(guint8[8][32] )
–
nal_initial_alt_cpb_removal_offset
(guint8[8][32] )
–
vcl_initial_cpb_removal_delay
(guint8[8][32] )
–
vcl_initial_cpb_removal_offset
(guint8[8][32] )
–
vcl_initial_alt_cpb_removal_delay
(guint8[8][32] )
–
vcl_initial_alt_cpb_removal_offset
(guint8[8][32] )
–
sublayer_dpb_output_offsets_present_flag
(guint8)
–
dpb_output_tid_offset
(guint32[8] )
–
alt_cpb_params_present_flag
(guint8)
–
use_alt_cpb_params_flag
(guint8)
–
Since : 1.26
GstH266DCI
struct _GstH266DCI { guint8 num_ptls_minus1; GstH266ProfileTierLevel profile_tier_level[15]; guint8 extension_flag; guint8 extension_data_flag; /* extension_data */ };
Structure defining the H266 decoding capability information.
num_ptls_minus1: specifies the number of profile_tier_level syntax structures in the DCI NAL unit. extension_flag: specifies whether dci_extension_data_flag syntax elements are present. extension_data_flag: could have any value.
Fields
num_ptls_minus1
(guint8)
–
profile_tier_level
(GstH266ProfileTierLevel[15] )
–
extension_flag
(guint8)
–
extension_data_flag
(guint8)
–
Since : 1.26
GstH266DPBParameters
struct _GstH266DPBParameters { guint8 max_dec_pic_buffering_minus1[GST_H266_MAX_SUBLAYERS]; guint8 max_num_reorder_pics[GST_H266_MAX_SUBLAYERS]; guint8 max_latency_increase_plus1[GST_H266_MAX_SUBLAYERS]; };
Structure defining the H266 DPB parameters.
max_dec_pic_buffering_minus1: specifies the maximum required size of the DPB in units of picture storage buffers. max_num_reorder_pics: specifies the maximum allowed number of pictures of the OLS that can precede any picture in the OLS in decoding order and follow that picture in output. max_latency_increase_plus1: used to compute the value of MaxLatencyPictures, which specifies the maximum number of pictures in the OLS.
Fields
max_dec_pic_buffering_minus1
(guint8[7] )
–
max_num_reorder_pics
(guint8[7] )
–
max_latency_increase_plus1
(guint8[7] )
–
Since : 1.26
GstH266DUInfo
struct _GstH266DUInfo { guint32 decoding_unit_idx; guint8 sublayer_delays_present_flag[8]; guint8 du_cpb_removal_delay_increment[8]; guint8 dpb_output_du_delay_present_flag; guint8 dpb_output_du_delay; };
Structure defining the H266 decoding unit info.
decoding_unit_idx: specifies the index to the list of DUs in the current AU. sublayer_delays_present_flag: specifies whether dui_du_cpb_removal_delay_increment[i] is present for the sublayer. du_cpb_removal_delay_increment: specifies the duration between the nominal CPB times of the last DU in decoding order in the current AU. dpb_output_du_delay_present_flag: specifies the presence of the dui_dpb_output_du_delay syntax element in the DUI SEI message. dpb_output_du_delay: is used to compute the DPB output time of the AU.
Fields
decoding_unit_idx
(guint32)
–
sublayer_delays_present_flag
(guint8[8] )
–
du_cpb_removal_delay_increment
(guint8[8] )
–
dpb_output_du_delay_present_flag
(guint8)
–
dpb_output_du_delay
(guint8)
–
Since : 1.26
GstH266FrameFieldInfo
struct _GstH266FrameFieldInfo { guint8 field_pic_flag; guint8 bottom_field_flag; guint8 pairing_indicated_flag; guint8 paired_with_next_field_flag; guint8 display_fields_from_frame_flag; guint8 top_field_first_flag; guint8 display_elemental_periods_minus1; guint8 source_scan_type; guint8 duplicate_flag; gboolean valid; };
Structure defining the H266 frame field information.
field_pic_flag: indicates whether the display model considers the current picture as a field. bottom_field_flag: indicates whether the current picture is a bottom field. pairing_indicated_flag: indicates whether the current picture is considered paired with the next picture in output order or with the previous picture in output order as the two fields of a frame. paired_with_next_field_flag: indicates whether the current picture is considered paired with the next picture as the two fields of a frame. display_fields_from_frame_flag: indicates whether the display model operates by sequentially displaying the individual fields of the frame with alternating parity. top_field_first_flag: indicates that the first field of the frame that is displayed by the display model is the top field. display_elemental_periods_minus1: indicates the number of elemental picture period intervals that the current coded picture or field occupies for the display model. source_scan_type; indicates whether the source scan type of the associated picture should be interpreted as progressive. duplicate_flag: indicates whether the current picture is indicated to be a duplicate of a previous picture in output order. valid: whether this frame field info is valid.
Fields
field_pic_flag
(guint8)
–
bottom_field_flag
(guint8)
–
pairing_indicated_flag
(guint8)
–
paired_with_next_field_flag
(guint8)
–
display_fields_from_frame_flag
(guint8)
–
top_field_first_flag
(guint8)
–
display_elemental_periods_minus1
(guint8)
–
source_scan_type
(guint8)
–
duplicate_flag
(guint8)
–
valid
(gboolean)
–
Since : 1.26
GstH266GeneralConstraintsInfo
struct _GstH266GeneralConstraintsInfo { guint8 present_flag; /* general */ guint8 intra_only_constraint_flag; guint8 all_layers_independent_constraint_flag; guint8 one_au_only_constraint_flag; /* picture format */ guint8 sixteen_minus_max_bitdepth_constraint_idc; guint8 three_minus_max_chroma_format_constraint_idc; /* NAL unit type related */ guint8 no_mixed_nalu_types_in_pic_constraint_flag; guint8 no_trail_constraint_flag; guint8 no_stsa_constraint_flag; guint8 no_rasl_constraint_flag; guint8 no_radl_constraint_flag; guint8 no_idr_constraint_flag; guint8 no_cra_constraint_flag; guint8 no_gdr_constraint_flag; guint8 no_aps_constraint_flag; guint8 no_idr_rpl_constraint_flag; /* tile, slice, subpicture partitioning */ guint8 one_tile_per_pic_constraint_flag; guint8 pic_header_in_slice_header_constraint_flag; guint8 one_slice_per_pic_constraint_flag; guint8 no_rectangular_slice_constraint_flag; guint8 one_slice_per_subpic_constraint_flag; guint8 no_subpic_info_constraint_flag; /* CTU and block partitioning */ guint8 three_minus_max_log2_ctu_size_constraint_idc; guint8 no_partition_constraints_override_constraint_flag; guint8 no_mtt_constraint_flag; guint8 no_qtbtt_dual_tree_intra_constraint_flag; /* intra */ guint8 no_palette_constraint_flag; guint8 no_ibc_constraint_flag; guint8 no_isp_constraint_flag; guint8 no_mrl_constraint_flag; guint8 no_mip_constraint_flag; guint8 no_cclm_constraint_flag; /* inter */ guint8 no_ref_pic_resampling_constraint_flag; guint8 no_res_change_in_clvs_constraint_flag; guint8 no_weighted_prediction_constraint_flag; guint8 no_ref_wraparound_constraint_flag; guint8 no_temporal_mvp_constraint_flag; guint8 no_sbtmvp_constraint_flag; guint8 no_amvr_constraint_flag; guint8 no_bdof_constraint_flag; guint8 no_smvd_constraint_flag; guint8 no_dmvr_constraint_flag; guint8 no_mmvd_constraint_flag; guint8 no_affine_motion_constraint_flag; guint8 no_prof_constraint_flag; guint8 no_bcw_constraint_flag; guint8 no_ciip_constraint_flag; guint8 no_gpm_constraint_flag; /* transform, quantization, residual */ guint8 no_luma_transform_size_64_constraint_flag; guint8 no_transform_skip_constraint_flag; guint8 no_bdpcm_constraint_flag; guint8 no_mts_constraint_flag; guint8 no_lfnst_constraint_flag; guint8 no_joint_cbcr_constraint_flag; guint8 no_sbt_constraint_flag; guint8 no_act_constraint_flag; guint8 no_explicit_scaling_list_constraint_flag; guint8 no_dep_quant_constraint_flag; guint8 no_sign_data_hiding_constraint_flag; guint8 no_cu_qp_delta_constraint_flag; guint8 no_chroma_qp_offset_constraint_flag; /* loop fitler */ guint8 no_sao_constraint_flag; guint8 no_alf_constraint_flag; guint8 no_ccalf_constraint_flag; guint8 no_lmcs_constraint_flag; guint8 no_ladf_constraint_flag; guint8 no_virtual_boundaries_constraint_flag; /* additional bits */ guint8 all_rap_pictures_constraint_flag; guint8 no_extended_precision_processing_constraint_flag; guint8 no_ts_residual_coding_rice_constraint_flag; guint8 no_rrc_rice_extension_constraint_flag; guint8 no_persistent_rice_adaptation_constraint_flag; guint8 no_reverse_last_sig_coeff_constraint_flag; /* reserved for future use */ guint8 reserved_zero_bit[64]; };
Structure defining the H266 general constraints info.
present_flag: specifies whether additional syntax elements are present. intra_only_constraint_flag: specifies whether sh_slice_type for all slices in OlsInScope shall be equal to 2. all_layers_independent_constraint_flag: specifies whether the vps_all_independent_layers_flag for all pictures in OlsInScope shall be equal to 1. one_au_only_constraint_flag: specifies whether there is only one AU in OlsInScope. sixteen_minus_max_bitdepth_constraint_idc: specifies whether sps_bitdepth_minus8 plus 8 for all pictures in OlsInScope shall be in the range of 0 to 16 - gci_sixteen_minus_max_bitdepth_constraint_idc, inclusive. three_minus_max_chroma_format_constraint_idc: specifies whether the sps_chroma_format_idc for all pictures in OlsInScope shall be in the range of 0 to 3 - gci_three_minus_max_chroma_format_constraint_idc, inclusive. no_mixed_nalu_types_in_pic_constraint_flag: specifies whether the pps_mixed_nalu_types_in_pic_flag for all pictures in OlsInScope shall be equal to 0. no_trail_constraint_flag: specifies whether there shall be no NAL unit with nuh_unit_type equal to TRAIL_NUT present in OlsInScope. no_stsa_constraint_flag: specifies whether there shall be no NAL unit with nuh_unit_type equal to STSA_NUT present in OlsInScope. no_rasl_constraint_flag: specifies whether there shall be no NAL unit with nuh_unit_type equal to RASL_NUT present in OlsInScope. no_radl_constraint_flag: specifies whether there shall be no NAL unit with nuh_unit_type equal to RADL_NUT present in OlsInScope. no_idr_constraint_flag: specifies whether there shall be no NAL unit with nuh_unit_type equal to IDR_W_RADL or IDR_N_LP present in OlsInScope. no_cra_constraint_flag: specifies whether there shall be no NAL unit with nuh_unit_type equal to CRA_NUT present in OlsInScope. no_gdr_constraint_flag: specifies whether sps_gdr_enabled_flag for all pictures in OlsInScope shall be equal to 0. no_aps_constraint_flag: specifies whether there shall be no NAL unit with nuh_unit_type equal to PREFIX_APS_NUT or SUFFIX_APS_NUT present in OlsInScope. no_idr_rpl_constraint_flag: specifies whether sps_idr_rpl_present_flag for all pictures in OlsInScope shall be equal to 0. one_tile_per_pic_constraint_flag: specifies whether each picture in OlsInScope shall contain only one tile. pic_header_in_slice_header_constraint_flag: specifies whether each picture in OlsInScope shall contain only one slice and the value of sh_picture_header_in_slice_header_flag in each slice in OlsInScope shall be equal to 1. one_slice_per_pic_constraint_flag: specifies whether each picture in OlsInScope shall contain only one slice. no_rectangular_slice_constraint_flag: specifies whether pps_rect_slice_flag for all pictures in OlsInScope shall be equal to 0. one_slice_per_subpic_constraint_flag: specifies whether the value of pps_single_slice_per_subpic_flag for all pictures in OlsInScope shall be equal to 1. no_subpic_info_constraint_flag: specifies whether sps_subpic_info_present_flag for all pictures in OlsInScope shall be equal to 0. three_minus_max_log2_ctu_size_constraint_idc: specifies whether sps_log2_ctu_size_minus5 for all pictures in OlsInScope shall be in the range of 0 to 3-gci_three_minus_max_log2_ctu_size_constraint_idc, inclusive. no_partition_constraints_override_constraint_flag: specifies whether sps_partition_constraints_override_enabled_flag for all pictures in OlsInScope shall be equal to 0. no_mtt_constraint_flag: specifies whether sps_max_mtt_hierarchy_depth_intra_slice_luma, sps_max_mtt_hierarchy_depth_inter_slice, and sps_max_mtt_hierarchy_depth_intra_slice_chroma for all pictures in OlsInScope shall be equal to 0. no_qtbtt_dual_tree_intra_constraint_flag: specifies whether sps_qtbtt_dual_tree_intra_flag for all pictures in OlsInScope shall be equal to 0. no_palette_constraint_flag: specifies whether sps_palette_enabled_flag for all pictures in OlsInScope shall be equal to 0. no_ibc_constraint_flag: specifies whether sps_ibc_enabled_flag for all pictures in OlsInScope shall be equal to 0. no_isp_constraint_flag: specifies whether sps_isp_enabled_flag for all pictures in OlsInScope shall be equal to 0. no_mrl_constraint_flag: specifies whether sps_mrl_enabled_flag for all pictures in OlsInScope shall be equal to 0. no_mip_constraint_flag: specifies whether sps_mip_enabled_flag for all pictures in OlsInScope shall be equal to 0. no_cclm_constraint_flag: specifies whether sps_cclm_enabled_flag for all pictures in OlsInScope shall be equal to 0. no_ref_pic_resampling_constraint_flag: specifies whether sps_ref_pic_resampling_enabled_flag for all pictures in OlsInScope shall be equal to 0. no_res_change_in_clvs_constraint_flag: specifies whether sps_res_change_in_clvs_allowed_flag for all pictures in OlsInScope shall be equal to 0. no_weighted_prediction_constraint_flag: specifies whether sps_weighted_pred_flag and sps_weighted_bipred_flag for all pictures in OlsInScope shall both be equal to 0. no_ref_wraparound_constraint_flag: specifies whether sps_ref_wraparound_enabled_flag for all pictures in OlsInScope shall be equal to 0. no_temporal_mvp_constraint_flag: specifies whether sps_temporal_mvp_enabled_flag for all pictures in OlsInScope shall be equal to 0. no_sbtmvp_constraint_flag: specifies whether sps_sbtmvp_enabled_flag for all pictures in OlsInScope shall be equal to 0. no_amvr_constraint_flag: specifies whether sps_amvr_enabled_flag for all pictures in OlsInScope shall be equal to 0. no_bdof_constraint_flag: specifies whether sps_bdof_enabled_flag for all pictures in OlsInScope shall be equal to 0. no_smvd_constraint_flag: specifies whether sps_smvd_enabled_flag for all pictures in OlsInScope shall be equal to 0. no_dmvr_constraint_flag: specifies whether sps_dmvr_enabled_flag for all pictures in OlsInScope shall be equal to 0. no_mmvd_constraint_flag: specifies whether sps_mmvd_enabled_flag for all pictures in OlsInScope shall be equal to 0. no_affine_motion_constraint_flag: specifies whether sps_affine_enabled_flag for all pictures in OlsInScope shall be equal to 0. no_prof_constraint_flag: specifies whether sps_affine_prof_enabled_flag for all pictures in OlsInScope shall be equal to 0. no_bcw_constraint_flag: specifies whether sps_bcw_enabled_flag for all pictures in OlsInScope shall be equal to 0. no_ciip_constraint_flag: specifies whether sps_ciip_enabled_flag for all pictures in OlsInScope shall be equal to 0. no_gpm_constraint_flag: specifies whether sps_gpm_enabled_flag for all pictures in OlsInScope shall be equal to 0. no_luma_transform_size_64_constraint_flag: specifies whether sps_max_luma_transform_size_64_flag for all pictures in OlsInScope shall be equal to 0. no_transform_skip_constraint_flag: specifies whether sps_transform_skip_enabled_flag for all pictures in OlsInScope shall be equal to 0. no_bdpcm_constraint_flag: specifies whether sps_bdpcm_enabled_flag for all pictures in OlsInScope shall be equal to 0. no_mts_constraint_flag: specifies whether sps_mts_enabled_flag for all pictures in OlsInScope shall be equal to 0. no_lfnst_constraint_flag: specifies whether sps_lfnst_enabled_flag for all pictures in OlsInScope shall be equal to 0. no_joint_cbcr_constraint_flag: specifies whether sps_joint_cbcr_enabled_flag for all pictures in OlsInScope shall be equal to 0. no_sbt_constraint_flag: specifies whether sps_sbt_enabled_flag for all pictures in OlsInScope shall be equal to 0. no_act_constraint_flag: specifies whether sps_act_enabled_flag for all pictures in OlsInScope shall be equal to 0. no_explicit_scaling_list_constraint_flag: specifies whether sps_explicit_scaling_list_enabled_flag for all pictures in OlsInScope shall be equal to 0. no_dep_quant_constraint_flag: specifies whether sps_dep_quant_enabled_flag for all pictures in OlsInScope shall be equal to 0. no_sign_data_hiding_constraint_flag: specifies whether sps_sign_data_hiding_enabled_flag for all pictures in OlsInScope shall be equal to 0. no_cu_qp_delta_constraint_flag: specifies whether pps_cu_qp_delta_enabled_flag for all pictures in OlsInScope shall be equal to 0. no_chroma_qp_offset_constraint_flag: specifies whether pps_cu_chroma_qp_offset_list_enabled_flag for all pictures in OlsInScope shall be equal to 0. no_sao_constraint_flag: specifies whether sps_sao_enabled_flag for all pictures in OlsInScope shall be equal to 0. no_alf_constraint_flag: specifies whether sps_alf_enabled_flag for all pictures in OlsInScope shall be equal to 0. no_ccalf_constraint_flag: specifies whether sps_ccalf_enabled_flag for all pictures in OlsInScope shall be equal to 0. no_lmcs_constraint_flag: specifies whether sps_lmcs_enabled_flag for all pictures in OlsInScope shall be equal to 0. no_ladf_constraint_flag: specifies whether sps_ladf_enabled_flag for all pictures in OlsInScope shall be equal to 0. no_virtual_boundaries_constraint_flag: specifies whether sps_virtual_boundaries_enabled_flag for all pictures in OlsInScope shall be equal to 0. all_rap_pictures_constraint_flag: specifies whether all pictures in OlsInScope are GDR pictures with ph_recovery_poc_cnt equal to 0 or IRAP pictures. no_extended_precision_processing_constraint_flag: specifies whether sps_extended_precision_flag for all pictures in OlsInScope shall be equal to 0. no_ts_residual_coding_rice_constraint_flag: specifies whether sps_ts_residual_coding_rice_present_in_sh_flag for all pictures in OlsInScope should be equal to 0. no_rrc_rice_extension_constraint_flag: specifies whether sps_rrc_rice_extension_flag for all pictures in OlsInScope shall be equal to 0. no_persistent_rice_adaptation_constraint_flag: specifies whether sps_persistent_rice_adaptation_enabled_flag for all pictures in OlsInScope shall be equal to 0. no_reverse_last_sig_coeff_constraint_flag: specifies whether sps_reverse_last_sig_coeff_enabled_flag for all pictures in OlsInScope shall be equal to 0. reserved_zero_bit: the reserved bits.
Fields
present_flag
(guint8)
–
intra_only_constraint_flag
(guint8)
–
all_layers_independent_constraint_flag
(guint8)
–
one_au_only_constraint_flag
(guint8)
–
sixteen_minus_max_bitdepth_constraint_idc
(guint8)
–
three_minus_max_chroma_format_constraint_idc
(guint8)
–
no_mixed_nalu_types_in_pic_constraint_flag
(guint8)
–
no_trail_constraint_flag
(guint8)
–
no_stsa_constraint_flag
(guint8)
–
no_rasl_constraint_flag
(guint8)
–
no_radl_constraint_flag
(guint8)
–
no_idr_constraint_flag
(guint8)
–
no_cra_constraint_flag
(guint8)
–
no_gdr_constraint_flag
(guint8)
–
no_aps_constraint_flag
(guint8)
–
no_idr_rpl_constraint_flag
(guint8)
–
one_tile_per_pic_constraint_flag
(guint8)
–
pic_header_in_slice_header_constraint_flag
(guint8)
–
one_slice_per_pic_constraint_flag
(guint8)
–
no_rectangular_slice_constraint_flag
(guint8)
–
one_slice_per_subpic_constraint_flag
(guint8)
–
no_subpic_info_constraint_flag
(guint8)
–
three_minus_max_log2_ctu_size_constraint_idc
(guint8)
–
no_partition_constraints_override_constraint_flag
(guint8)
–
no_mtt_constraint_flag
(guint8)
–
no_qtbtt_dual_tree_intra_constraint_flag
(guint8)
–
no_palette_constraint_flag
(guint8)
–
no_ibc_constraint_flag
(guint8)
–
no_isp_constraint_flag
(guint8)
–
no_mrl_constraint_flag
(guint8)
–
no_mip_constraint_flag
(guint8)
–
no_cclm_constraint_flag
(guint8)
–
no_ref_pic_resampling_constraint_flag
(guint8)
–
no_res_change_in_clvs_constraint_flag
(guint8)
–
no_weighted_prediction_constraint_flag
(guint8)
–
no_ref_wraparound_constraint_flag
(guint8)
–
no_temporal_mvp_constraint_flag
(guint8)
–
no_sbtmvp_constraint_flag
(guint8)
–
no_amvr_constraint_flag
(guint8)
–
no_bdof_constraint_flag
(guint8)
–
no_smvd_constraint_flag
(guint8)
–
no_dmvr_constraint_flag
(guint8)
–
no_mmvd_constraint_flag
(guint8)
–
no_affine_motion_constraint_flag
(guint8)
–
no_prof_constraint_flag
(guint8)
–
no_bcw_constraint_flag
(guint8)
–
no_ciip_constraint_flag
(guint8)
–
no_gpm_constraint_flag
(guint8)
–
no_luma_transform_size_64_constraint_flag
(guint8)
–
no_transform_skip_constraint_flag
(guint8)
–
no_bdpcm_constraint_flag
(guint8)
–
no_mts_constraint_flag
(guint8)
–
no_lfnst_constraint_flag
(guint8)
–
no_joint_cbcr_constraint_flag
(guint8)
–
no_sbt_constraint_flag
(guint8)
–
no_act_constraint_flag
(guint8)
–
no_explicit_scaling_list_constraint_flag
(guint8)
–
no_dep_quant_constraint_flag
(guint8)
–
no_sign_data_hiding_constraint_flag
(guint8)
–
no_cu_qp_delta_constraint_flag
(guint8)
–
no_chroma_qp_offset_constraint_flag
(guint8)
–
no_sao_constraint_flag
(guint8)
–
no_alf_constraint_flag
(guint8)
–
no_ccalf_constraint_flag
(guint8)
–
no_lmcs_constraint_flag
(guint8)
–
no_ladf_constraint_flag
(guint8)
–
no_virtual_boundaries_constraint_flag
(guint8)
–
all_rap_pictures_constraint_flag
(guint8)
–
no_extended_precision_processing_constraint_flag
(guint8)
–
no_ts_residual_coding_rice_constraint_flag
(guint8)
–
no_rrc_rice_extension_constraint_flag
(guint8)
–
no_persistent_rice_adaptation_constraint_flag
(guint8)
–
no_reverse_last_sig_coeff_constraint_flag
(guint8)
–
reserved_zero_bit
(guint8[64] )
–
Since : 1.26
GstH266GeneralHRDParameters
struct _GstH266GeneralHRDParameters { guint32 num_units_in_tick; guint32 time_scale; guint8 general_nal_hrd_params_present_flag; guint8 general_vcl_hrd_params_present_flag; guint8 general_same_pic_timing_in_all_ols_flag; guint8 general_du_hrd_params_present_flag; guint8 tick_divisor_minus2; guint8 bit_rate_scale; guint8 cpb_size_scale; guint8 cpb_size_du_scale; guint8 hrd_cpb_cnt_minus1; };
Structure defining the H266 HDR parameters.
num_units_in_tick: the number of time units of a clock operating at the frequency time_scale. time_scale: number of time units that pass in one second. general_nal_hrd_params_present_flag: specifies whether NAL HRD parameters are present in the general_timing_hrd_parameters syntax structure. general_vcl_hrd_params_present_flag: specifies whether VCL HRD parameters are present in the general_timing_hrd_parameters syntax structure. general_same_pic_timing_in_all_ols_flag: specifies whether the non-scalable-nested PT SEI message in each AU applies to the AU for any OLS in the bitstream and no scalable-nested PT SEI messages are present. general_du_hrd_params_present_flag: specifies whether DU level HRD parameters are present and the HRD could operate at the AU level or DU level. tick_divisor_minus2: specifies the clock sub-tick. bit_rate_scale: specifies the maximum input bit rate of the CPB. cpb_size_scale: specifies the CPB size of the CPB. cpb_size_du_scale: specifies the CPB size of the CPB at du level. hrd_cpb_cnt_minus1: plus 1 specifies the number of alternative CPB delivery schedules.
Fields
num_units_in_tick
(guint32)
–
time_scale
(guint32)
–
general_nal_hrd_params_present_flag
(guint8)
–
general_vcl_hrd_params_present_flag
(guint8)
–
general_same_pic_timing_in_all_ols_flag
(guint8)
–
general_du_hrd_params_present_flag
(guint8)
–
tick_divisor_minus2
(guint8)
–
bit_rate_scale
(guint8)
–
cpb_size_scale
(guint8)
–
cpb_size_du_scale
(guint8)
–
hrd_cpb_cnt_minus1
(guint8)
–
Since : 1.26
GstH266LMCS
struct _GstH266LMCS { guint8 min_bin_idx; guint8 delta_max_bin_idx; guint8 delta_cw_prec_minus1; guint8 delta_abs_cw[16]; guint8 delta_sign_cw_flag[16]; guint8 delta_abs_crs; guint8 delta_sign_crs_flag; };
Structure defining the H266 LMCS parameters.
min_bin_idx: minimum bin index used in the luma mapping with chroma scaling construction process. delta_max_bin_idx: specifies the delta value between 15 and the maximum bin index LmcsMaxBinIdx used in the luma mapping with chroma scaling construction process. delta_cw_prec_minus1: specifies the number of bits used for the representation of the syntax lmcs_delta_abs_cw[i]. delta_abs_cw: specifies the absolute delta codeword value for the ith bin. delta_sign_cw_flag: specifies the sign of the variable lmcsDeltaCW[i]. delta_abs_crs: specifies the absolute codeword value of the variable lmcsDeltaCrs. delta_sign_crs_flag: specifies the sign of the variable lmcsDeltaCrs.
Fields
min_bin_idx
(guint8)
–
delta_max_bin_idx
(guint8)
–
delta_cw_prec_minus1
(guint8)
–
delta_abs_cw
(guint8[16] )
–
delta_sign_cw_flag
(guint8[16] )
–
delta_abs_crs
(guint8)
–
delta_sign_crs_flag
(guint8)
–
Since : 1.26
GstH266NalUnit
struct _GstH266NalUnit { guint8 type; guint8 layer_id; guint8 temporal_id_plus1; /* calculated values */ guint size; guint offset; guint sc_offset; gboolean valid; guint8 *data; guint8 header_bytes; };
Structure defining the H266 Nal unit headers.
type: A GstH266NalUnitType. layer_id: A nal unit layer id. temporal_id_plus1: A nal unit temporal identifier. size: The size of the nal unit starting from offset. offset: The offset of the actual start of the nal unit. sc_offset:The offset of the start code of the nal unit. valid: If the nal unit is valid, which mean it has already been parsed. data: The data from which the Nalu has been parsed. header_bytes: The size of the NALU header in bytes.
Fields
type
(guint8)
–
layer_id
(guint8)
–
temporal_id_plus1
(guint8)
–
size
(guint)
–
offset
(guint)
–
sc_offset
(guint)
–
valid
(gboolean)
–
data
(guint8 *)
–
header_bytes
(guint8)
–
Since : 1.26
GstH266OLSHRDParameters
struct _GstH266OLSHRDParameters { guint8 fixed_pic_rate_general_flag[GST_H266_MAX_SUBLAYERS]; guint8 fixed_pic_rate_within_cvs_flag[GST_H266_MAX_SUBLAYERS]; guint16 elemental_duration_in_tc_minus1[GST_H266_MAX_SUBLAYERS]; guint8 low_delay_hrd_flag[GST_H266_MAX_SUBLAYERS]; GstH266SubLayerHRDParameters nal_sub_layer_hrd_parameters[GST_H266_MAX_SUBLAYERS]; GstH266SubLayerHRDParameters vcl_sub_layer_hrd_parameters[GST_H266_MAX_SUBLAYERS]; };
Structure defining the H266 OLS HDR parameters.
fixed_pic_rate_general_flag: indicates the temporal distance between the HRD output times of consecutive pictures in output order is constrained as specified in this clause using the variable DpbOutputElementalInterval[n]. fixed_pic_rate_within_cvs_flag: indicates the temporal distance between the HRD output times of consecutive pictures in output order is constrained as specified in this clause using the variable DpbOutputElementalInterval[n]. elemental_duration_in_tc_minus1: specifies the temporal distance between the elemental units that specify the HRD output times of consecutive pictures in output order. low_delay_hrd_flag: specifies the HRD operational mode as specified in Annex C. nal_sub_layer_hrd_parameters: sub layer nal GstH266SubLayerHRDParameters. vcl_sub_layer_hrd_parameters: sub layer vcl GstH266SubLayerHRDParameters.
Fields
fixed_pic_rate_general_flag
(guint8[7] )
–
fixed_pic_rate_within_cvs_flag
(guint8[7] )
–
elemental_duration_in_tc_minus1
(guint16[7] )
–
low_delay_hrd_flag
(guint8[7] )
–
nal_sub_layer_hrd_parameters
(GstH266SubLayerHRDParameters[7] )
–
vcl_sub_layer_hrd_parameters
(GstH266SubLayerHRDParameters[7] )
–
Since : 1.26
GstH266OPI
struct _GstH266OPI { guint8 ols_info_present_flag; guint8 htid_info_present_flag; guint ols_idx; guint8 htid_plus1; guint8 extension_flag; guint8 extension_data_flag; /* extension_data */ };
Structure defining the H266 operating point information.
ols_info_present_flag: specifies whether opi_ols_idx is present in the OPI. htid_info_present_flag: specifies whether opi_htid_plus1 is present. ols_idx: specifies that the current CVS and the next CVSs in decoding order up to and not including the next CVS for which opi_ols_idx is provided in an OPI NAL unit do not contain any other layers than those included in the OLS with OLS index equal to opi_ols_idx. htid_plus1: specifies that all the pictures in the current CVS and the next CVSs in decoding order up to and not including the next CVS for which opi_htid_plus1 is provided in an OPI NAL unit are IRAP pictures or GDR pictures with ph_recovery_poc_cnt equal to 0. extension_flag: specifies whether opi_extension_data_flag syntax elements are present. extension_data_flag: could have any value.
Fields
ols_info_present_flag
(guint8)
–
htid_info_present_flag
(guint8)
–
ols_idx
(guint)
–
htid_plus1
(guint8)
–
extension_flag
(guint8)
–
extension_data_flag
(guint8)
–
Since : 1.26
GstH266PPS
struct _GstH266PPS { guint8 pps_id; guint8 sps_id; GstH266SPS *sps; guint8 mixed_nalu_types_in_pic_flag; guint16 pic_width_in_luma_samples; guint16 pic_height_in_luma_samples; guint8 conformance_window_flag; guint16 conf_win_left_offset; guint16 conf_win_right_offset; guint16 conf_win_top_offset; guint16 conf_win_bottom_offset; guint8 scaling_window_explicit_signalling_flag; gint32 scaling_win_left_offset; gint32 scaling_win_right_offset; gint32 scaling_win_top_offset; gint32 scaling_win_bottom_offset; guint8 output_flag_present_flag; guint8 no_pic_partition_flag; guint8 subpic_id_mapping_present_flag; guint32 num_subpics_minus1; guint32 subpic_id_len_minus1; guint16 subpic_id[GST_H266_MAX_SLICES_PER_AU]; guint8 log2_ctu_size_minus5; guint8 num_exp_tile_columns_minus1; guint8 num_exp_tile_rows_minus1; guint16 tile_column_width_minus1[GST_H266_MAX_TILE_COLUMNS]; guint16 tile_row_height_minus1[GST_H266_MAX_TILE_ROWS]; guint8 loop_filter_across_tiles_enabled_flag; guint8 rect_slice_flag; guint8 single_slice_per_subpic_flag; guint16 num_slices_in_pic_minus1; guint8 tile_idx_delta_present_flag; guint16 slice_width_in_tiles_minus1[GST_H266_MAX_SLICES_PER_AU]; guint16 slice_height_in_tiles_minus1[GST_H266_MAX_SLICES_PER_AU]; guint16 num_exp_slices_in_tile[GST_H266_MAX_SLICES_PER_AU]; guint16 exp_slice_height_in_ctus_minus1[GST_H266_MAX_SLICES_PER_AU][GST_H266_MAX_TILE_ROWS]; gint16 tile_idx_delta_val[GST_H266_MAX_SLICES_PER_AU]; guint8 loop_filter_across_slices_enabled_flag; guint8 cabac_init_present_flag; guint8 num_ref_idx_default_active_minus1[2]; guint8 rpl1_idx_present_flag; guint8 weighted_pred_flag; guint8 weighted_bipred_flag; guint8 ref_wraparound_enabled_flag; guint16 pic_width_minus_wraparound_offset; gint8 init_qp_minus26; guint8 cu_qp_delta_enabled_flag; guint8 chroma_tool_offsets_present_flag; gint8 cb_qp_offset; gint8 cr_qp_offset; guint8 joint_cbcr_qp_offset_present_flag; gint8 joint_cbcr_qp_offset_value; guint8 slice_chroma_qp_offsets_present_flag; guint8 cu_chroma_qp_offset_list_enabled_flag; guint8 chroma_qp_offset_list_len_minus1; guint8 cb_qp_offset_list[6]; guint8 cr_qp_offset_list[6]; guint8 joint_cbcr_qp_offset_list[6]; guint8 deblocking_filter_control_present_flag; guint8 deblocking_filter_override_enabled_flag; guint8 deblocking_filter_disabled_flag; guint8 dbf_info_in_ph_flag; gint8 luma_beta_offset_div2; gint8 luma_tc_offset_div2; gint8 cb_beta_offset_div2; gint8 cb_tc_offset_div2; gint8 cr_beta_offset_div2; gint8 cr_tc_offset_div2; guint8 rpl_info_in_ph_flag; guint8 sao_info_in_ph_flag; guint8 alf_info_in_ph_flag; guint8 wp_info_in_ph_flag; guint8 qp_delta_info_in_ph_flag; guint8 picture_header_extension_present_flag; guint8 slice_header_extension_present_flag; guint8 extension_flag; guint8 extension_data_flag; /* extension_data */ /* calculated value */ gint width, height; gint crop_rect_width, crop_rect_height; gint crop_rect_x, crop_rect_y; guint32 pic_width_in_ctbs_y, pic_height_in_ctbs_y; guint32 pic_size_in_ctbs_y; guint32 num_tile_columns; guint32 num_tile_rows; guint32 num_tiles_in_pic; guint32 tile_col_bd_val[GST_H266_MAX_TILE_COLUMNS + 1]; guint32 tile_row_bd_val[GST_H266_MAX_TILE_ROWS + 1]; guint32 slice_top_left_tile_idx[GST_H266_MAX_SLICES_PER_AU]; guint32 slice_top_left_ctu_x[GST_H266_MAX_SLICES_PER_AU]; guint32 slice_top_left_ctu_y[GST_H266_MAX_SLICES_PER_AU]; guint32 slice_height_in_ctus[GST_H266_MAX_SLICES_PER_AU]; guint32 num_slices_in_subpic[GST_H266_MAX_SLICES_PER_AU]; gboolean valid; };
Structure defining the H266 PPS.
pps_id: provides an identifier for the PPS for reference by other syntax elements. sps_id: specifies the SPS referred to by this PPS. sps: the GstH266SPS this PPS refers to. mixed_nalu_types_in_pic_flag: specifies whether each picture referring to the PPS has more than one VCL NAL unit and the VCL NAL units do not have the same value of nal_unit_type. pic_width_in_luma_samples: specifies the width of each decoded picture referring to the PPS in units of luma samples. pic_height_in_luma_samples: specifies the height of each decoded picture referring to the PPS in units of luma samples. conformance_window_flag: specifies whether the conformance cropping window offset parameters follow next in the PPS. conf_win_left_offset: specify left offset of the cropping window that is applied to pictures. conf_win_right_offset: specify right offset of the cropping window that is applied to pictures. conf_win_top_offset: specify top offset of the cropping window that is applied to pictures. conf_win_bottom_offset: specify bottom offset of the cropping window that is applied to pictures. scaling_window_explicit_signalling_flag: specifies whether the scaling window offset parameters are present in the PPS. scaling_win_left_offset: specify the left offsets that are applied to the picture size for scaling ratio calculation. scaling_win_right_offset: specify the right offsets that are applied to the picture size for scaling ratio calculation. scaling_win_top_offset: specify the top offsets that are applied to the picture size for scaling ratio calculation. scaling_win_bottom_offset: specify the bottom offsets that are applied to the picture size for scaling ratio calculation. output_flag_present_flag: specifies whether the ph_pic_output_flag syntax element could be present in PH syntax structures referring to the PPS. no_pic_partition_flag: specifies whether no picture partitioning is applied to each picture referring to the PPS. subpic_id_mapping_present_flag: specifies whether the subpicture ID mapping is signalled in the PPS. num_subpics_minus1: shall be equal to sps_num_subpics_minus1. subpic_id_len_minus1: shall be equal to sps_subpic_id_len_minus1. subpic_id: specifies the subpicture ID of the i-th subpicture. log2_ctu_size_minus5: specifies the luma coding tree block size of each CTU. num_exp_tile_columns_minus1: specifies the number of explicitly provided tile column widths. num_exp_tile_rows_minus1: specifies the number of explicitly provided tile row heights. tile_column_width_minus1: specifies the width of the i-th tile column in units of CTBs. tile_row_height_minus1: specifies the height of the i-th tile row in units of CTBs. loop_filter_across_tiles_enabled_flag: specifies whether in-loop filtering operations across tile boundaries are enabled for pictures. rect_slice_flag: specifies whether the raster-san slice mode is in use for each picture referring to the PPS. single_slice_per_subpic_flag: specifies whether each subpicture consists of one and only one rectangular slice. num_slices_in_pic_minus1: specifies the number of rectangular slices in each picture. tile_idx_delta_present_flag: specifies whether all pictures are partitioned into rectangular slice rows and rectangular slice columns in slice raster order. slice_width_in_tiles_minus1: specifies the width of the i-th rectangular slice in units of tile columns. slice_height_in_tiles_minus1: specifies the height of the i-th rectangular slice in units of tile rows. num_exp_slices_in_tile: specifies the number of explicitly provided slice heights for the slices in the containing the i-th slice. exp_slice_height_in_ctus_minus1: specifies the height of the j-th rectangular slice in the tile containing the i-th slice. tile_idx_delta_val: specifies the difference between the tile index of the tile containing the first CTU in the (i+1)-th rectangular slice and the tile index of the tile containing the first CTU in the i-th rectangular slice. loop_filter_across_slices_enabled_flag: specifies whether in-loop filtering operations across slice boundaries are enabled. cabac_init_present_flag: specifies whether sh_cabac_init_flag is present in slice headers. num_ref_idx_default_active_minus1: specifies the inferred value of the variable NumRefIdxActive[0] for P or B slices. rpl1_idx_present_flag: specifies whether rpl_sps_flag[1] and rpl_idx[1] are present in the PH. weighted_pred_flag: specifies whether weighted prediction is applied to P slices. weighted_bipred_flag: specifies whether explicit weighted prediction is applied to B slices. ref_wraparound_enabled_flag: specifies whether the horizontal wrap-around motion compensation is enabled. pic_width_minus_wraparound_offset: specifies the difference between the picture width and the offset used for computing the horizontal wrap-around position in units of MinCbSizeY luma samples. init_qp_minus26: specifies the initial value of SliceQp Y for each slice. cu_qp_delta_enabled_flag: specifies whether either or both of the ph_cu_qp_delta_subdiv_intra_slice and ph_cu_qp_delta_subdiv_inter_slice syntax elements are present in PH. chroma_tool_offsets_present_flag: specifies whether chroma tool offsets related syntax elements are present in the PPS. cb_qp_offset: specify the offsets to the luma quantization parameter Qp'Y used for deriving Qp'Cb. cr_qp_offset: specify the offsets to the luma quantization parameter Qp'Y used for deriving Qp'Cr. joint_cbcr_qp_offset_present_flag: specifies whether pps_joint_cbcr_qp_offset_value and pps_joint_cbcr_qp_offset_list[i] are present in the PPS. joint_cbcr_qp_offset_value: specifies the offset to the luma quantization parameter Qp'Y used for deriving Qp'CbCr. slice_chroma_qp_offsets_present_flag: specifies whether the sh_cb_qp_offset and sh_cr_qp_offset syntax elements are present in slice headers. cu_chroma_qp_offset_list_enabled_flag: specifies whether the ph_cu_chroma_qp_offset_subdiv_intra_slice and ph_cu_chroma_qp_offset_subdiv_inter_slice syntax elements are present in PH. chroma_qp_offset_list_len_minus1: specifies whether number of pps_cb_qp_offset_list[i], pps_cr_qp_offset_list[i], and pps_joint_cbcr_qp_offset_list[i], syntax elements that are present. cb_qp_offset_list: specify offsets used in the derivation of Qp'Cb. cr_qp_offset_list: specify offsets used in the derivation of Qp'Cr. joint_cbcr_qp_offset_list: specify offsets used in the derivation of Qp'CbCr. deblocking_filter_control_present_flag: specifies whether presence of deblocking filter control syntax elements in the PPS. deblocking_filter_override_enabled_flag: specifies whether the deblocking behaviour could be overridden in the picture level or slice level. deblocking_filter_disabled_flag: specifies whether the deblocking filter is disabled unless overridden for a picture or slice by information. dbf_info_in_ph_flag: specifies whether deblocking filter information is present in the PH syntax structure and not present in slice headers. luma_beta_offset_div2: specify the default deblocking parameter offsets for beta that are applied to the luma component. luma_tc_offset_div2: specify the default deblocking parameter offsets for tC (divided by 2) that are applied to the luma component. cb_beta_offset_div2: specify the default deblocking parameter offsets for beta and that are applied to the Cb component. cb_tc_offset_div2: specify the default deblocking parameter offsets for tC (divided by 2) that are applied to the Cb component. cr_beta_offset_div2: specify the default deblocking parameter offsets for beta that are applied to the Cr component. cr_tc_offset_div2: specify the default deblocking parameter offsets for tC (divided by 2) that are applied to the Cr component. rpl_info_in_ph_flag: specifies whether RPL information is present in the PH syntax structure and not present in slice headers. sao_info_in_ph_flag: specifies whether SAO filter information could be present in the PH syntax structure and not present in slice headers. alf_info_in_ph_flag: specifies whether ALF information could be present in the PH syntax structure and not present in slice headers. wp_info_in_ph_flag: specifies whether weighted prediction information could be present in the PH syntax structure and not present in slice headers. qp_delta_info_in_ph_flag: specifies whether QP delta information is present in the PH syntax structure and not present in slice headers. picture_header_extension_present_flag: specifies whether PH extension syntax elements are present in PH syntax structures. slice_header_extension_present_flag: specifies whether slice header extension syntax elements are present in the slice headers. extension_flag: specifies whether pps_extension_data_flag syntax elements are present. extension_data_flag: could have any value. width: the calculated width of the picture. height: the calculated height of the picture. crop_rect_width: the cropped width of the picture. crop_rect_height: the cropped height of the picture. crop_rect_x: the x offset of the cropped window. crop_rect_y: the y offset of the cropped window. pic_width_in_ctbs_y: PicWidthInCtbsY specify picture width count in CTBs. pic_height_in_ctbs_y: PicHeightInCtbsY specify picture height count in CTBs. pic_size_in_ctbs_y: picture size count in CTBs. num_tile_columns: total tile number in columns. num_tile_rows: total tile number in rows. num_tiles_in_pic: total tile number of the picture. tile_col_bd_val: TileColBdVal specifying the location of the i-th tile column boundary in units of CTBs tile_row_bd_val: TileRowBdVal specifying the location of the j-th tile row boundary in units of CTBs. slice_top_left_tile_idx: SliceTopLeftTileIdx specifying the tile index of the tile containing the first CTU in the slice. slice_top_left_ctu_x: specifying the top left CTU index in X direction. slice_top_left_ctu_y: specifying the top left CTU index in Y direction. slice_height_in_ctus: slice height count in CTUs. num_slices_in_subpic: slice number in subpicture. valid: whether this PPS is valid.
Fields
pps_id
(guint8)
–
sps_id
(guint8)
–
sps
(GstH266SPS *)
–
mixed_nalu_types_in_pic_flag
(guint8)
–
pic_width_in_luma_samples
(guint16)
–
pic_height_in_luma_samples
(guint16)
–
conformance_window_flag
(guint8)
–
conf_win_left_offset
(guint16)
–
conf_win_right_offset
(guint16)
–
conf_win_top_offset
(guint16)
–
conf_win_bottom_offset
(guint16)
–
scaling_window_explicit_signalling_flag
(guint8)
–
scaling_win_left_offset
(gint32)
–
scaling_win_right_offset
(gint32)
–
scaling_win_top_offset
(gint32)
–
scaling_win_bottom_offset
(gint32)
–
output_flag_present_flag
(guint8)
–
no_pic_partition_flag
(guint8)
–
subpic_id_mapping_present_flag
(guint8)
–
num_subpics_minus1
(guint32)
–
subpic_id_len_minus1
(guint32)
–
subpic_id
(guint16[1000] )
–
log2_ctu_size_minus5
(guint8)
–
num_exp_tile_columns_minus1
(guint8)
–
num_exp_tile_rows_minus1
(guint8)
–
tile_column_width_minus1
(guint16[20] )
–
tile_row_height_minus1
(guint16[440] )
–
loop_filter_across_tiles_enabled_flag
(guint8)
–
rect_slice_flag
(guint8)
–
single_slice_per_subpic_flag
(guint8)
–
num_slices_in_pic_minus1
(guint16)
–
tile_idx_delta_present_flag
(guint8)
–
slice_width_in_tiles_minus1
(guint16[1000] )
–
slice_height_in_tiles_minus1
(guint16[1000] )
–
num_exp_slices_in_tile
(guint16[1000] )
–
exp_slice_height_in_ctus_minus1
(guint16[1000][440] )
–
tile_idx_delta_val
(gint16[1000] )
–
loop_filter_across_slices_enabled_flag
(guint8)
–
cabac_init_present_flag
(guint8)
–
num_ref_idx_default_active_minus1
(guint8[2] )
–
rpl1_idx_present_flag
(guint8)
–
weighted_pred_flag
(guint8)
–
weighted_bipred_flag
(guint8)
–
ref_wraparound_enabled_flag
(guint8)
–
pic_width_minus_wraparound_offset
(guint16)
–
init_qp_minus26
(gint8)
–
cu_qp_delta_enabled_flag
(guint8)
–
chroma_tool_offsets_present_flag
(guint8)
–
cb_qp_offset
(gint8)
–
cr_qp_offset
(gint8)
–
joint_cbcr_qp_offset_present_flag
(guint8)
–
joint_cbcr_qp_offset_value
(gint8)
–
slice_chroma_qp_offsets_present_flag
(guint8)
–
cu_chroma_qp_offset_list_enabled_flag
(guint8)
–
chroma_qp_offset_list_len_minus1
(guint8)
–
cb_qp_offset_list
(guint8[6] )
–
cr_qp_offset_list
(guint8[6] )
–
joint_cbcr_qp_offset_list
(guint8[6] )
–
deblocking_filter_control_present_flag
(guint8)
–
deblocking_filter_override_enabled_flag
(guint8)
–
deblocking_filter_disabled_flag
(guint8)
–
dbf_info_in_ph_flag
(guint8)
–
luma_beta_offset_div2
(gint8)
–
luma_tc_offset_div2
(gint8)
–
cb_beta_offset_div2
(gint8)
–
cb_tc_offset_div2
(gint8)
–
cr_beta_offset_div2
(gint8)
–
cr_tc_offset_div2
(gint8)
–
rpl_info_in_ph_flag
(guint8)
–
sao_info_in_ph_flag
(guint8)
–
alf_info_in_ph_flag
(guint8)
–
wp_info_in_ph_flag
(guint8)
–
qp_delta_info_in_ph_flag
(guint8)
–
picture_header_extension_present_flag
(guint8)
–
slice_header_extension_present_flag
(guint8)
–
extension_flag
(guint8)
–
extension_data_flag
(guint8)
–
width
(gint)
–
height
(gint)
–
crop_rect_width
(gint)
–
crop_rect_height
(gint)
–
crop_rect_x
(gint)
–
crop_rect_y
(gint)
–
pic_width_in_ctbs_y
(guint32)
–
pic_height_in_ctbs_y
(guint32)
–
pic_size_in_ctbs_y
(guint32)
–
num_tile_columns
(guint32)
–
num_tile_rows
(guint32)
–
num_tiles_in_pic
(guint32)
–
tile_col_bd_val
(guint32[21] )
–
tile_row_bd_val
(guint32[441] )
–
slice_top_left_tile_idx
(guint32[1000] )
–
slice_top_left_ctu_x
(guint32[1000] )
–
slice_top_left_ctu_y
(guint32[1000] )
–
slice_height_in_ctus
(guint32[1000] )
–
num_slices_in_subpic
(guint32[1000] )
–
valid
(gboolean)
–
Since : 1.26
GstH266Parser
H266 NAL Parser (opaque structure).
Since : 1.26
GstH266PicHdr
struct _GstH266PicHdr { guint8 gdr_or_irap_pic_flag; guint8 non_ref_pic_flag; guint8 gdr_pic_flag; guint8 inter_slice_allowed_flag; guint8 intra_slice_allowed_flag; guint8 pps_id; GstH266PPS *pps; guint16 pic_order_cnt_lsb; guint8 recovery_poc_cnt; guint8 extra_bit[16]; guint8 poc_msb_cycle_present_flag; guint8 poc_msb_cycle_val; guint8 alf_enabled_flag; guint8 num_alf_aps_ids_luma; guint8 alf_aps_id_luma[8]; guint8 alf_cb_enabled_flag; guint8 alf_cr_enabled_flag; guint8 alf_aps_id_chroma; guint8 alf_cc_cb_enabled_flag; guint8 alf_cc_cb_aps_id; guint8 alf_cc_cr_enabled_flag; guint8 alf_cc_cr_aps_id; guint8 lmcs_enabled_flag; guint8 lmcs_aps_id; guint8 chroma_residual_scale_flag; guint8 explicit_scaling_list_enabled_flag; guint8 scaling_list_aps_id; guint8 virtual_boundaries_present_flag; guint8 num_ver_virtual_boundaries; guint16 virtual_boundary_pos_x_minus1[3]; guint8 num_hor_virtual_boundaries; guint16 virtual_boundary_pos_y_minus1[3]; guint8 pic_output_flag; GstH266RefPicLists ref_pic_lists; guint8 partition_constraints_override_flag; guint8 log2_diff_min_qt_min_cb_intra_slice_luma; guint8 max_mtt_hierarchy_depth_intra_slice_luma; guint8 log2_diff_max_bt_min_qt_intra_slice_luma; guint8 log2_diff_max_tt_min_qt_intra_slice_luma; guint8 log2_diff_min_qt_min_cb_intra_slice_chroma; guint8 max_mtt_hierarchy_depth_intra_slice_chroma; guint8 log2_diff_max_bt_min_qt_intra_slice_chroma; guint8 log2_diff_max_tt_min_qt_intra_slice_chroma; guint8 cu_qp_delta_subdiv_intra_slice; guint8 cu_chroma_qp_offset_subdiv_intra_slice; guint8 log2_diff_min_qt_min_cb_inter_slice; guint8 max_mtt_hierarchy_depth_inter_slice; guint8 log2_diff_max_bt_min_qt_inter_slice; guint8 log2_diff_max_tt_min_qt_inter_slice; guint8 cu_qp_delta_subdiv_inter_slice; guint8 cu_chroma_qp_offset_subdiv_inter_slice; guint8 temporal_mvp_enabled_flag; guint8 collocated_from_l0_flag; guint8 collocated_ref_idx; guint8 mmvd_fullpel_only_flag; guint8 mvd_l1_zero_flag; guint8 bdof_disabled_flag; guint8 dmvr_disabled_flag; guint8 prof_disabled_flag; GstH266PredWeightTable pred_weight_table; gint8 qp_delta; guint8 joint_cbcr_sign_flag; guint8 sao_luma_enabled_flag; guint8 sao_chroma_enabled_flag; guint8 deblocking_params_present_flag; guint8 deblocking_filter_disabled_flag; gint8 luma_beta_offset_div2; gint8 luma_tc_offset_div2; gint8 cb_beta_offset_div2; gint8 cb_tc_offset_div2; gint8 cr_beta_offset_div2; gint8 cr_tc_offset_div2; guint8 extension_length; guint8 extension_data_byte[256]; gboolean valid; };
Structure defining the H266 picture header.
gdr_or_irap_pic_flag: specifies whethers the current picture is a GDR or IRAP picture. non_ref_pic_flag: specifies whether the current picture is never used as a reference picture. gdr_pic_flag: specifies whether the current picture is a GDR picture. inter_slice_allowed_flag: specifies whether all coded slices of the picture have sh_slice_type equal to 2. intra_slice_allowed_flag: specifies whether all coded slices of the picture have sh_slice_type equal to 0 or 1. pps_id: specifies the value of pps_pic_parameter_set_id for the PPS in use. pic_order_cnt_lsb: specifies the picture order count modulo MaxPicOrderCntLsb for the current picture. recovery_poc_cnt: specifies the recovery point of decoded pictures in output order. extra_bit[16]: could have any value. poc_msb_cycle_present_flag: specifies that the syntax element ph_poc_msb_cycle_val is present in the PH. poc_msb_cycle_val: specifies the value of the POC MSB cycle of the current picture. alf_enabled_flag: specifies whether the adaptive loop filter is enabled for the current picture. num_alf_aps_ids_luma: specifies the number of ALF APSs that the slices in the current picture refers to. alf_aps_id_luma: specifies the aps_adaptation_parameter_set_id of the i-th ALF APS. alf_cb_enabled_flag: specifies whether the adaptive loop filter is enabled for the Cb colour component of the current picture. alf_cr_enabled_flag: specifies whether the adaptive loop filter is enabled for the Cr colour component of the current picture. alf_aps_id_chroma;: specifies the aps_adaptation_parameter_set_id of the ALF APS. alf_cc_cb_enabled_flag: specifies whether the cross-component adaptive loop filter for the Cb colour component is enabled for the current picture alf_cc_cb_aps_id: specifies the aps_adaptation_parameter_set_id of the ALF APS that the Cb colour component of the slices in the current picture refers to. alf_cc_cr_enabled_flag: specifies that the cross-compoent adaptive loop filter for the Cr colour component is enabled for the current picture. alf_cc_cr_aps_id: specifies the aps_adaptation_parameter_set_id of the ALF APS that the Cr colour component of the slices in the current picture refers to. lmcs_enabled_flag: specifies whether LMCS is enabled for the current picture. lmcs_aps_id: specifies the aps_adaptation_parameter_set_id of the LMCS APS. chroma_residual_scale_flag: specifies whether chroma residual scaling is enabled and could be used for the current picture. explicit_scaling_list_enabled_flag: specifies that the explicit scaling list is enabled for the current picture. scaling_list_aps_id: specifies the aps_adaptation_parameter_set_id of the scaling list APS. virtual_boundaries_present_flag: specifies whether information of virtual boundaries is signalled in the PH syntax structure. num_ver_virtual_boundaries: specifies the number of ph_virtual_boundary_pos_x_minus1[i] syntax elements. virtual_boundary_pos_x_minus1: specifies the location of the i-th vertical virtual boundary in units of luma samples divided by 8. num_hor_virtual_boundaries: specifies the number of ph_virtual_boundary_pos_y_minus1[i]. virtual_boundary_pos_y_minus1: specifies the location of the i-th horizontal virtual boundary in units of luma samples divided by 8. pic_output_flag: affects the decoded picture output and removal processes as specified in Annex C. ref_pic_lists: reference lists of GstH266RefPicLists. partition_constraints_override_flag: specifies that partition constraint parameters are present. log2_diff_min_qt_min_cb_intra_slice_luma: specifies the difference between the base 2 logarithm of the minimum size in luma samples of a luma leaf block resulting from quadtree splitting of a CTU and the base 2 logarithm of the minimum coding block size in luma samples for luma CUs. max_mtt_hierarchy_depth_intra_slice_luma: specifies the maximum hierarchy depth for coding units resulting from multi-type tree splitting of a quadtree leaf. log2_diff_max_bt_min_qt_intra_slice_luma: specifies the difference between the base 2 logarithm of the maximum size in luma samples of a luma coding block that can be split using a binary split and the base 2 logarithm of the minimum size in luma samples of a luma leaf block resulting from quadtree splitting of a CTU. log2_diff_max_tt_min_qt_intra_slice_luma: specifies the difference between the base 2 logarithm of the maximum size in luma samples of a luma coding block that can be split using a ternary split and the base 2 logarithm of the minimum size in luma samples of a luma leaf block resulting from quadtree splitting of a CTU. log2_diff_min_qt_min_cb_intra_slice_chroma: specifies the difference between the base 2 logarithm of the minimum size in luma samples of a chroma leaf block resulting from quadtree splitting of a chroma CTU with treeType equal to DUAL_TREE_CHROMA and the base 2 logarithm of the minimum coding block size in luma samples for chroma CUs with treeType equal to DUAL_TREE_CHROMA. max_mtt_hierarchy_depth_intra_slice_chroma: specifies the maximum hierarchy depth for chroma coding units resulting from multi-type tree splitting of a chroma quadtree leaf with treeType equal to DUAL_TREE_CHROMA. log2_diff_max_bt_min_qt_intra_slice_chroma: specifies the difference between the base 2 logarithm of the maximum size in luma samples of a chroma coding block that can be split using a binary split and the base 2 logarithm of the minimum size in luma samples of a chroma leaf block resulting from quadtree splitting of a chroma CTU with treeType equal to DUAL_TREE_CHROMA. log2_diff_max_tt_min_qt_intra_slice_chroma: specifies the difference between the base 2 logarithm of the maximum size in luma samples of a chroma coding block that can be split using a ternary split and the base 2 logarithm of the minimum size in luma samples of a chroma leaf block resulting from quadtree splitting of a chroma CTU with treeType equal to DUAL_TREE_CHROMA. cu_qp_delta_subdiv_intra_slice: specifies the maximum cbSubdiv value of coding units in intra slice that convey cu_qp_delta_abs and cu_qp_delta_sign_flag. cu_chroma_qp_offset_subdiv_intra_slice: specifies the maximum cbSubdiv value of coding units in intra slice that convey cu_chroma_qp_offset_flag. log2_diff_min_qt_min_cb_inter_slice: specifies the difference between the base 2 logarithm of the minimum size in luma samples of a luma leaf block resulting from quadtree splitting of a CTU and the base 2 logarithm of the minimum luma coding block size in luma samples for luma CUs. max_mtt_hierarchy_depth_inter_slice: specifies the maximum hierarchy depth for coding units resulting from multi-type tree splitting of a quadtree leaf. log2_diff_max_bt_min_qt_inter_slice: specifies the difference between the base 2 logarithm of the maximum size in luma samples of a luma coding block that can be split using a binary split and the base 2 logarithm of the minimum size in luma samples of a luma leaf block resulting from quadtree splitting of a CTU. log2_diff_max_tt_min_qt_inter_slice: specifies the difference between the base 2 logarithm of the maximum size in luma samples of a luma coding block that can be split using a ternary split and the base 2 logarithm of the minimum size in luma samples of a luma leaf block resulting from quadtree splitting of a CTU. cu_qp_delta_subdiv_inter_slice: specifies the maximum cbSubdiv value of coding units that in inter slice convey cu_qp_delta_abs and cu_qp_delta_sign_flag. cu_chroma_qp_offset_subdiv_inter_slice: specifies the maximum cbSubdiv value of coding units in inter slice that convey cu_chroma_qp_offset_flag. temporal_mvp_enabled_flag: specifies whether temporal motion vector predictor is enabled for the current picture. collocated_from_l0_flag: specifies whether the collocated picture used for temporal motion vector prediction is derived from RPL 0. collocated_ref_idx: specifies the reference index of the collocated picture used for temporal motion vector prediction. mmvd_fullpel_only_flag: specifies whether the merge mode with motion vector difference uses only integer sample precision for the current picture. mvd_l1_zero_flag: specifies whether the mvd_coding syntax structure is parsed. bdof_disabled_flag: specifies that the bi-directional optical flow inter prediction based inter bi-prediction is disabled for the current picture. dmvr_disabled_flag: specifies whether the decoder motion vector refinement based inter bi-prediction is disabled for the current picture. prof_disabled_flag: specifies whether prediction refinement with optical flow is disabled for the current picture. pred_weight_table: prediction weight table of GstH266PredWeightTable. qp_delta: specifies the initial value of QpY to be used for the coding blocks in the picture. joint_cbcr_sign_flag: specifies whether the collocated residual samples of both chroma components have inverted signs. sao_luma_enabled_flag: specifies whether SAO is enabled for the luma component of the current picture. sao_chroma_enabled_flag: specifies whether SAO is enabled for the chroma component of the current picture. deblocking_params_present_flag: specifies whether the deblocking parameters could be present in the PH syntax structure. deblocking_filter_disabled_flag: specifies whether the deblocking filter is disabled for the current picture. luma_beta_offset_div2: specify the deblocking parameter offsets for beta that are applied to the luma component for the slices in the current picture. luma_tc_offset_div2: specify the deblocking parameter offsets for tC that are applied to the luma component for the slices in the current picture. cb_beta_offset_div2: specify the deblocking parameter offsets for beta that are applied to the Cb component for the slices in the current picture. cb_tc_offset_div2: specify the deblocking parameter offsets for tC that are applied to the Cb component for the slices in the current picture. cr_beta_offset_div2: specify the deblocking parameter offsets for beta that are applied to the Cr component for the slices in the current picture. cr_tc_offset_div2: specify the deblocking parameter offsets for tC that are applied to the Cr component for the slices in the current picture. extension_length: specifies the length of the PH extension data in bytes. extension_data_byte: could have any value. valid: whether this picture header is valid.
Fields
gdr_or_irap_pic_flag
(guint8)
–
non_ref_pic_flag
(guint8)
–
gdr_pic_flag
(guint8)
–
inter_slice_allowed_flag
(guint8)
–
intra_slice_allowed_flag
(guint8)
–
pps_id
(guint8)
–
pps
(GstH266PPS *)
–
pic_order_cnt_lsb
(guint16)
–
recovery_poc_cnt
(guint8)
–
extra_bit
(guint8[16] )
–
poc_msb_cycle_present_flag
(guint8)
–
poc_msb_cycle_val
(guint8)
–
alf_enabled_flag
(guint8)
–
num_alf_aps_ids_luma
(guint8)
–
alf_aps_id_luma
(guint8[8] )
–
alf_cb_enabled_flag
(guint8)
–
alf_cr_enabled_flag
(guint8)
–
alf_aps_id_chroma
(guint8)
–
alf_cc_cb_enabled_flag
(guint8)
–
alf_cc_cb_aps_id
(guint8)
–
alf_cc_cr_enabled_flag
(guint8)
–
alf_cc_cr_aps_id
(guint8)
–
lmcs_enabled_flag
(guint8)
–
lmcs_aps_id
(guint8)
–
chroma_residual_scale_flag
(guint8)
–
explicit_scaling_list_enabled_flag
(guint8)
–
scaling_list_aps_id
(guint8)
–
virtual_boundaries_present_flag
(guint8)
–
num_ver_virtual_boundaries
(guint8)
–
virtual_boundary_pos_x_minus1
(guint16[3] )
–
num_hor_virtual_boundaries
(guint8)
–
virtual_boundary_pos_y_minus1
(guint16[3] )
–
pic_output_flag
(guint8)
–
ref_pic_lists
(GstH266RefPicLists)
–
partition_constraints_override_flag
(guint8)
–
log2_diff_min_qt_min_cb_intra_slice_luma
(guint8)
–
max_mtt_hierarchy_depth_intra_slice_luma
(guint8)
–
log2_diff_max_bt_min_qt_intra_slice_luma
(guint8)
–
log2_diff_max_tt_min_qt_intra_slice_luma
(guint8)
–
log2_diff_min_qt_min_cb_intra_slice_chroma
(guint8)
–
max_mtt_hierarchy_depth_intra_slice_chroma
(guint8)
–
log2_diff_max_bt_min_qt_intra_slice_chroma
(guint8)
–
log2_diff_max_tt_min_qt_intra_slice_chroma
(guint8)
–
cu_qp_delta_subdiv_intra_slice
(guint8)
–
cu_chroma_qp_offset_subdiv_intra_slice
(guint8)
–
log2_diff_min_qt_min_cb_inter_slice
(guint8)
–
max_mtt_hierarchy_depth_inter_slice
(guint8)
–
log2_diff_max_bt_min_qt_inter_slice
(guint8)
–
log2_diff_max_tt_min_qt_inter_slice
(guint8)
–
cu_qp_delta_subdiv_inter_slice
(guint8)
–
cu_chroma_qp_offset_subdiv_inter_slice
(guint8)
–
temporal_mvp_enabled_flag
(guint8)
–
collocated_from_l0_flag
(guint8)
–
collocated_ref_idx
(guint8)
–
mmvd_fullpel_only_flag
(guint8)
–
mvd_l1_zero_flag
(guint8)
–
bdof_disabled_flag
(guint8)
–
dmvr_disabled_flag
(guint8)
–
prof_disabled_flag
(guint8)
–
pred_weight_table
(GstH266PredWeightTable)
–
qp_delta
(gint8)
–
joint_cbcr_sign_flag
(guint8)
–
sao_luma_enabled_flag
(guint8)
–
sao_chroma_enabled_flag
(guint8)
–
deblocking_params_present_flag
(guint8)
–
deblocking_filter_disabled_flag
(guint8)
–
luma_beta_offset_div2
(gint8)
–
luma_tc_offset_div2
(gint8)
–
cb_beta_offset_div2
(gint8)
–
cb_tc_offset_div2
(gint8)
–
cr_beta_offset_div2
(gint8)
–
cr_tc_offset_div2
(gint8)
–
extension_length
(guint8)
–
extension_data_byte
(guint8[256] )
–
valid
(gboolean)
–
Since : 1.26
GstH266PicTiming
struct _GstH266PicTiming { guint8 cpb_removal_delay_minus; guint8 sublayer_delays_present_flag[8]; guint8 cpb_removal_delay_delta_enabled_flag[8]; guint8 cpb_removal_delay_delta_idx[8]; guint8 cpb_removal_delay_minus1[8]; guint8 dpb_output_delay; guint8 cpb_alt_timing_info_present_flag; guint8 nal_cpb_alt_initial_removal_delay_delta[8][32]; guint8 nal_cpb_alt_initial_removal_offset_delta[8][32]; guint8 nal_cpb_delay_offset[8]; guint8 nal_dpb_delay_offset[8]; guint8 vcl_cpb_alt_initial_removal_delay_delta[8][32]; guint8 vcl_cpb_alt_initial_removal_offset_delta[8][32]; guint8 vcl_cpb_delay_offset[8]; guint8 vcl_dpb_delay_offset[8]; guint8 dpb_output_du_delay; guint32 num_decoding_units_minus1; guint8 du_common_cpb_removal_delay_flag; guint8 du_common_cpb_removal_delay_increment_minus1[8]; /* TODO: PicSizeInCtbsY could be very large */ guint32 num_nalus_in_du_minus1[600]; guint8 du_cpb_removal_delay_increment_minus1[600][8]; guint8 delay_for_concatenation_ensured_flag; guint8 display_elemental_periods_minus1; };
Structure defining the H266 picture timing.
cpb_removal_delay_minus: calculate the number of clock ticks between the nominal CPB removal times of the AU associated with the PT SEI message. sublayer_delays_present_flag: specifies whether cpb removal values are present for the sublayer with TemporalId equal to i. cpb_removal_delay_delta_enabled_flag: specifies whether pt_cpb_removal_delay_delta_idx[i] is present in the PT SEI message. cpb_removal_delay_delta_idx: specifies the index of the CPB removal delta. cpb_removal_delay_minus1: is used to calculate the number of clock ticks between the nominal CPB removal times of the AU. dpb_output_delay: is used to compute the DPB output time of the AU. cpb_alt_timing_info_present_flag: specifies whether the cpb alt syntax elements could be present in the PT SEI message. nal_cpb_alt_initial_removal_delay_delta: specifies whether alternative initial CPB removal delay delta for the i-th sublayer for the j-th CPB for the NAL HRD in units of a 90 kHz clock. nal_cpb_alt_initial_removal_offset_delta: specifies whether alternative initial CPB removal offset delta for the i-th sublayer for the j-th CPB for the NAL HRD in units of a 90 kHz clock. nal_cpb_delay_offset: specifies an offset to be used in the derivation of the nominal CPB removal times of the AU. nal_dpb_delay_offset: specifies an offset to be used in the derivation of the DPB output times of the IRAP AU. vcl_cpb_alt_initial_removal_delay_delta: specifies the alternative initial CPB removal delay delta for the i-th sublayer for the j-th CPB for the VCL HRD in units of a 90 kHz clock. vcl_cpb_alt_initial_removal_offset_delta: specifies the alternative initial CPB removal offset delta for the i-th sublayer for the j-th CPB for the VCL HRD in units of a 90 kHz clock. vcl_cpb_delay_offset: specifies an offset to be used in the derivation of the nominal CPB removal times of the AU. vcl_dpb_delay_offset: specifies an offset to be used in the derivation of the DPB output times of the IRAP AU. dpb_output_du_delay: is used to compute the DPB output time of the AU when DecodingUnitHrdFlag is equal to 1. num_decoding_units_minus1: specifies the number of DUs in the AU the PT SEI message is associated with. du_common_cpb_removal_delay_flag: specifies whether the syntax elements pt_du_common_cpb_removal_delay_increment_minus1[i] are present. du_common_cpb_removal_delay_increment_minus1: specifies the duration between the nominal CPB removal times of any two consecutive DUs in decoding order in the AU. num_nalus_in_du_minus1: specifies the number of NAL units in the i-th DU of the AU the PT SEI message is associated with. du_cpb_removal_delay_increment_minus1: specifies the duration between the nominal CPB removal times of the (i + 1)-th DU and the i-th DU. delay_for_concatenation_ensured_flag: specifies that the difference between the final arrival time and the CPB removal time of the AU is present. display_elemental_periods_minus1: indicates the number of elemental picture period intervals.
Fields
cpb_removal_delay_minus
(guint8)
–
sublayer_delays_present_flag
(guint8[8] )
–
cpb_removal_delay_delta_enabled_flag
(guint8[8] )
–
cpb_removal_delay_delta_idx
(guint8[8] )
–
cpb_removal_delay_minus1
(guint8[8] )
–
dpb_output_delay
(guint8)
–
cpb_alt_timing_info_present_flag
(guint8)
–
nal_cpb_alt_initial_removal_delay_delta
(guint8[8][32] )
–
nal_cpb_alt_initial_removal_offset_delta
(guint8[8][32] )
–
nal_cpb_delay_offset
(guint8[8] )
–
nal_dpb_delay_offset
(guint8[8] )
–
vcl_cpb_alt_initial_removal_delay_delta
(guint8[8][32] )
–
vcl_cpb_alt_initial_removal_offset_delta
(guint8[8][32] )
–
vcl_cpb_delay_offset
(guint8[8] )
–
vcl_dpb_delay_offset
(guint8[8] )
–
dpb_output_du_delay
(guint8)
–
num_decoding_units_minus1
(guint32)
–
du_common_cpb_removal_delay_flag
(guint8)
–
du_common_cpb_removal_delay_increment_minus1
(guint8[8] )
–
num_nalus_in_du_minus1
(guint32[600] )
–
du_cpb_removal_delay_increment_minus1
(guint8[600][8] )
–
delay_for_concatenation_ensured_flag
(guint8)
–
display_elemental_periods_minus1
(guint8)
–
Since : 1.26
GstH266PredWeightTable
struct _GstH266PredWeightTable { guint8 luma_log2_weight_denom; gint8 delta_chroma_log2_weight_denom; guint8 num_l0_weights; guint8 luma_weight_l0_flag[15]; guint8 chroma_weight_l0_flag[15]; gint8 delta_luma_weight_l0[15]; gint8 luma_offset_l0[15]; gint8 delta_chroma_weight_l0[15][2]; gint16 delta_chroma_offset_l0[15][2]; guint8 num_l1_weights; guint8 luma_weight_l1_flag[15]; guint8 chroma_weight_l1_flag[15]; gint8 delta_luma_weight_l1[15]; gint8 luma_offset_l1[15]; gint8 delta_chroma_weight_l1[15][2]; gint16 delta_chroma_offset_l1[15][2]; };
Structure defining the H266 weight table parameters.
luma_log2_weight_denom: the base 2 logarithm of the denominator for all luma weighting factors. delta_chroma_log2_weight_denom: the difference of the base 2 logarithm of the denominator for all chroma weighting factors. num_l0_weights: specifies the number of weights signalled for entries in RPL 0 when pps_wp_info_in_ph_flag is equal to 1. luma_weight_l0_flag: specifies whether weighting factors for the luma component of list 0 prediction using RefPicList[0][i] are present. chroma_weight_l0_flag: specifies whether weighting factors for the chroma prediction values of list 0 prediction using RefPicList[0][i] are present. delta_luma_weight_l0: the difference of the weighting factor applied to the luma prediction value for list 0 prediction using RefPicList[0][i]. luma_offset_l0: the additive offset applied to the luma prediction value for list 0 prediction using RefPicList[0][i]. delta_chroma_weight_l0: the difference of the weighting factor applied to the chroma prediction values for list 0 prediction. delta_chroma_offset_l0: the difference of the additive offset applied to the chroma prediction values for list 0 prediction. num_l1_weights: specifies the number of weights signalled for entries in RPL 1. luma_weight_l1_flag: specifies whether weighting factors for the luma component of list 1 prediction using RefPicList[1][i] are present. chroma_weight_l1_flag: specifies whether weighting factors for the chroma prediction values of list 1 prediction using RefPicList[1][i] are present. delta_luma_weight_l1: the difference of the weighting factor applied to the luma prediction value for list 1 prediction using RefPicList[1][i]. luma_offset_l1: the additive offset applied to the luma prediction value for list 1 prediction using RefPicList[1][i]. delta_chroma_weight_l1: the difference of the weighting factor applied to the chroma prediction values for list 1 prediction. delta_chroma_offset_l1: the difference of the additive offset applied to the chroma prediction values for list 1 prediction.
Fields
luma_log2_weight_denom
(guint8)
–
delta_chroma_log2_weight_denom
(gint8)
–
num_l0_weights
(guint8)
–
luma_weight_l0_flag
(guint8[15] )
–
chroma_weight_l0_flag
(guint8[15] )
–
delta_luma_weight_l0
(gint8[15] )
–
luma_offset_l0
(gint8[15] )
–
delta_chroma_weight_l0
(gint8[15][2] )
–
delta_chroma_offset_l0
(gint16[15][2] )
–
num_l1_weights
(guint8)
–
luma_weight_l1_flag
(guint8[15] )
–
chroma_weight_l1_flag
(guint8[15] )
–
delta_luma_weight_l1
(gint8[15] )
–
luma_offset_l1
(gint8[15] )
–
delta_chroma_weight_l1
(gint8[15][2] )
–
delta_chroma_offset_l1
(gint16[15][2] )
–
Since : 1.26
GstH266ProfileTierLevel
struct _GstH266ProfileTierLevel { GstH266Profile profile_idc; guint8 tier_flag; guint8 level_idc; guint8 frame_only_constraint_flag; guint8 multilayer_enabled_flag; GstH266GeneralConstraintsInfo general_constraints_info; guint8 sublayer_level_present_flag[GST_H266_MAX_SUBLAYERS - 1]; guint8 sublayer_level_idc[GST_H266_MAX_SUBLAYERS - 1]; guint8 num_sub_profiles; GstH266Profile sub_profile_idc[GST_H266_MAX_SUB_PROFILES]; guint8 ptl_reserved_zero_bit; };
Structure defining the H266 profile, tier and level.
profile_idc: the profile id. tier_flag: specifies the main tier or high tier. level_idc: indicates a level to which OlsInScope conforms as specified in Annex A. frame_only_constraint_flag: specifies whether sps_field_seq_flag for all pictures in OlsInScope shall be equal to 0. multilayer_enabled_flag: specifies whether the CVSs of OlsInScope might contain more than one layer. general_constraints_info: the GstH266GeneralConstraintsInfo contains the general constraints info. sublayer_level_present_flag: specifies whether level information is present in the profile_tier_level syntax structure for the sublayer representation. sublayer_level_idc: the sublayer level idc. num_sub_profiles: specifies the number of the general_sub_profile_idc[i] syntax elements. sub_profile_idc: specifies the i-th interoperability indicator registered as specified by Rec. ITU-T T.35
Fields
profile_idc
(GstH266Profile)
–
tier_flag
(guint8)
–
level_idc
(guint8)
–
frame_only_constraint_flag
(guint8)
–
multilayer_enabled_flag
(guint8)
–
general_constraints_info
(GstH266GeneralConstraintsInfo)
–
sublayer_level_present_flag
(guint8[6] )
–
sublayer_level_idc
(guint8[6] )
–
num_sub_profiles
(guint8)
–
sub_profile_idc
(GstH266Profile[256] )
–
ptl_reserved_zero_bit
(guint8)
–
Since : 1.26
GstH266RefPicListStruct
struct _GstH266RefPicListStruct { guint8 num_ref_entries; guint8 ltrp_in_header_flag; guint8 inter_layer_ref_pic_flag[GST_H266_MAX_REF_ENTRIES]; guint8 st_ref_pic_flag[GST_H266_MAX_REF_ENTRIES]; guint16 abs_delta_poc_st[GST_H266_MAX_REF_ENTRIES]; guint8 strp_entry_sign_flag[GST_H266_MAX_REF_ENTRIES]; guint8 rpls_poc_lsb_lt[GST_H266_MAX_REF_ENTRIES]; guint8 ilrp_idx[GST_H266_MAX_REF_ENTRIES]; guint num_short_term_pic; guint num_long_term_pic; guint num_inter_layer_pic; gint16 delta_poc_val_st[GST_H266_MAX_REF_ENTRIES]; };
Structure defining the H266 reference picture list.
num_ref_entries: specifies the number of entries in the ref_pic_list_struct(listIdx, rplsIdx) syntax structure. ltrp_in_header_flag: specifies whether the POC LSBs of the LTRP entries indicated in the ref_pic_list_struct(listIdx, rplsIdx) syntax structure are present in the same syntax structure. inter_layer_ref_pic_flag: specifies whether the i-th entry in the ref_pic_list_struct(listIdx, rplsIdx) syntax structure is an ILRP entry. st_ref_pic_flag: specifies whether the i-th entry in the ref_pic_list_struct(listIdx, rplsIdx) syntax structure is an STRP entry. abs_delta_poc_st: specifies the value of the variable AbsDeltaPocSt[listIdx][rplsIdx][i]. strp_entry_sign_flag: specifies whether DeltaPocValSt[listIdx][rplsIdx] is greater than or equal to 0. rpls_poc_lsb_lt: specifies the value of the picture order count modulo MaxPicOrderCntLsb of the picture referred to. ilrp_idx: specifies the index of the ILRP entry of the i-th entry in the ref_pic_list_struct. num_short_term_pic: the number of short term reference picture. num_long_term_pic: the number long term reference picture. num_inter_layer_pic: the number of inter layer reference picture. delta_poc_val_st: the calculated DeltaPocValSt value.
Fields
num_ref_entries
(guint8)
–
ltrp_in_header_flag
(guint8)
–
inter_layer_ref_pic_flag
(guint8[29] )
–
st_ref_pic_flag
(guint8[29] )
–
abs_delta_poc_st
(guint16[29] )
–
strp_entry_sign_flag
(guint8[29] )
–
rpls_poc_lsb_lt
(guint8[29] )
–
ilrp_idx
(guint8[29] )
–
num_short_term_pic
(guint)
–
num_long_term_pic
(guint)
–
num_inter_layer_pic
(guint)
–
delta_poc_val_st
(gint16[29] )
–
Since : 1.26
GstH266RefPicLists
struct _GstH266RefPicLists { guint8 rpl_sps_flag[2]; guint8 rpl_idx[2]; GstH266RefPicListStruct rpl_ref_list[2]; guint16 poc_lsb_lt[2][GST_H266_MAX_REF_ENTRIES]; guint8 delta_poc_msb_cycle_present_flag[2][GST_H266_MAX_REF_ENTRIES]; guint16 delta_poc_msb_cycle_lt[2][GST_H266_MAX_REF_ENTRIES]; };
Structure defining the H266 reference picture lists.
rpl_sps_flag: specifies whether RPL i in ref_pic_lists is derived based on one of the ref_pic_list_struct(listIdx, rplsIdx) syntax structures with listIdx equal to i in the SPS. rpl_idx: specifies the index into the list of the ref_pic_list_struct(listIdx, rplsIdx) syntax structures. rpl_ref_list: reference list of GstH266RefPicListStruct. poc_lsb_lt: specifies the value of the picture order count modulo MaxPicOrderCntLsb. delta_poc_msb_cycle_present_flag: specifies whether delta_poc_msb_cycle_lt[i][j] is present. delta_poc_msb_cycle_lt: specifies the value of the variable FullPocLt[i][j].
Fields
rpl_sps_flag
(guint8[2] )
–
rpl_idx
(guint8[2] )
–
rpl_ref_list
(GstH266RefPicListStruct[2] )
–
poc_lsb_lt
(guint16[2][29] )
–
delta_poc_msb_cycle_present_flag
(guint8[2][29] )
–
delta_poc_msb_cycle_lt
(guint16[2][29] )
–
Since : 1.26
GstH266SEIMessage
struct _GstH266SEIMessage { GstH266SEIPayloadType payloadType; union { GstH266BufferingPeriod buffering_period; GstH266PicTiming pic_timing; GstH266DUInfo du_info; GstH266ScalableNesting scalable_nesting; GstH266SubPicLevelInfo subpic_level_info; GstH266FrameFieldInfo frame_field_info; /* ... could implement more */ } payload; };
Structure defining the H266 sei message.
payloadType: the payload type of GstH266SEIPayloadType. buffering_period: buffering period sei of GstH266BufferingPeriod. pic_timing: picture timing sei of GstH266PicTiming. du_info: decoding unit info sei of GstH266DUInfo. scalable_nesting: scalable nesting sei of GstH266ScalableNesting. subpic_level_info: subpicture level info sei of GstH266SubPicLevelInfo. frame_field_info: frame field info sei of GstH266FrameFieldInfo.
Fields
payloadType
(GstH266SEIPayloadType)
–
payload.buffering_period
(GstH266BufferingPeriod)
–
payload.pic_timing
(GstH266PicTiming)
–
payload.du_info
(GstH266DUInfo)
–
payload.scalable_nesting
(GstH266ScalableNesting)
–
payload.subpic_level_info
(GstH266SubPicLevelInfo)
–
payload.frame_field_info
(GstH266FrameFieldInfo)
–
Since : 1.26
GstH266SPS
struct _GstH266SPS { guint8 nuh_layer_id; guint8 sps_id; guint8 vps_id; GstH266VPS *vps; guint8 max_sublayers_minus1; guint8 chroma_format_idc; guint8 log2_ctu_size_minus5; guint ctu_size; guint8 ptl_dpb_hrd_params_present_flag; GstH266DPBParameters dpb; GstH266ProfileTierLevel profile_tier_level; GstH266GeneralHRDParameters general_hrd_params; GstH266OLSHRDParameters ols_hrd_params; guint8 gdr_enabled_flag; guint8 res_change_in_clvs_allowed_flag; guint8 ref_pic_resampling_enabled_flag; guint16 pic_width_max_in_luma_samples; guint16 pic_height_max_in_luma_samples; guint8 conformance_window_flag; guint16 conf_win_left_offset; guint16 conf_win_right_offset; guint16 conf_win_top_offset; guint16 conf_win_bottom_offset; guint8 subpic_info_present_flag; guint16 num_subpics_minus1; guint8 independent_subpics_flag; guint8 subpic_same_size_flag; guint16 subpic_ctu_top_left_x[GST_H266_MAX_SLICES_PER_AU]; guint16 subpic_ctu_top_left_y[GST_H266_MAX_SLICES_PER_AU]; guint16 subpic_width_minus1[GST_H266_MAX_SLICES_PER_AU]; guint16 subpic_height_minus1[GST_H266_MAX_SLICES_PER_AU]; guint8 subpic_treated_as_pic_flag[GST_H266_MAX_SLICES_PER_AU]; guint8 loop_filter_across_subpic_enabled_flag[GST_H266_MAX_SLICES_PER_AU]; guint32 subpic_id[GST_H266_MAX_SLICES_PER_AU]; guint8 subpic_id_len_minus1; guint8 subpic_id_mapping_explicitly_signalled_flag; guint8 subpic_id_mapping_present_flag; guint8 bitdepth_minus8; guint8 entropy_coding_sync_enabled_flag; guint8 entry_point_offsets_present_flag; guint8 log2_max_pic_order_cnt_lsb_minus4; guint8 poc_msb_cycle_flag; guint8 poc_msb_cycle_len_minus1; guint8 num_extra_ph_bytes; guint8 extra_ph_bit_present_flag[16]; guint8 num_extra_sh_bytes; guint8 extra_sh_bit_present_flag[16]; guint8 sublayer_dpb_params_flag; guint8 log2_min_luma_coding_block_size_minus2; guint8 partition_constraints_override_enabled_flag; guint8 log2_diff_min_qt_min_cb_intra_slice_luma; guint8 max_mtt_hierarchy_depth_intra_slice_luma; guint8 log2_diff_max_bt_min_qt_intra_slice_luma; guint8 log2_diff_max_tt_min_qt_intra_slice_luma; guint8 qtbtt_dual_tree_intra_flag; guint8 log2_diff_min_qt_min_cb_intra_slice_chroma; guint8 max_mtt_hierarchy_depth_intra_slice_chroma; guint8 log2_diff_max_bt_min_qt_intra_slice_chroma; guint8 log2_diff_max_tt_min_qt_intra_slice_chroma; guint8 log2_diff_min_qt_min_cb_inter_slice; guint8 max_mtt_hierarchy_depth_inter_slice; guint8 log2_diff_max_bt_min_qt_inter_slice; guint8 log2_diff_max_tt_min_qt_inter_slice; guint8 max_luma_transform_size_64_flag; guint8 transform_skip_enabled_flag; guint8 log2_transform_skip_max_size_minus2; guint8 bdpcm_enabled_flag; guint8 mts_enabled_flag; guint8 explicit_mts_intra_enabled_flag; guint8 explicit_mts_inter_enabled_flag; guint8 lfnst_enabled_flag; guint8 joint_cbcr_enabled_flag; guint8 same_qp_table_for_chroma_flag; gint8 qp_table_start_minus26[GST_H266_MAX_SAMPLE_ARRAYS]; guint8 num_points_in_qp_table_minus1[GST_H266_MAX_SAMPLE_ARRAYS]; guint8 delta_qp_in_val_minus1[GST_H266_MAX_SAMPLE_ARRAYS][GST_H266_MAX_POINTS_IN_QP_TABLE]; guint8 delta_qp_diff_val[GST_H266_MAX_SAMPLE_ARRAYS][GST_H266_MAX_POINTS_IN_QP_TABLE]; guint8 sao_enabled_flag; guint8 alf_enabled_flag; guint8 ccalf_enabled_flag; guint8 lmcs_enabled_flag; guint8 weighted_pred_flag; guint8 weighted_bipred_flag; guint8 long_term_ref_pics_flag; guint8 inter_layer_prediction_enabled_flag; guint8 idr_rpl_present_flag; guint8 rpl1_same_as_rpl0_flag; guint8 num_ref_pic_lists[2]; GstH266RefPicListStruct ref_pic_list_struct[2][GST_H266_MAX_REF_PIC_LISTS]; guint8 ref_wraparound_enabled_flag; guint8 temporal_mvp_enabled_flag; guint8 sbtmvp_enabled_flag; guint8 amvr_enabled_flag; guint8 bdof_enabled_flag; guint8 bdof_control_present_in_ph_flag; guint8 smvd_enabled_flag; guint8 dmvr_enabled_flag; guint8 dmvr_control_present_in_ph_flag; guint8 mmvd_enabled_flag; guint8 mmvd_fullpel_only_enabled_flag; guint8 six_minus_max_num_merge_cand; guint8 sbt_enabled_flag; guint8 affine_enabled_flag; guint8 five_minus_max_num_subblock_merge_cand; guint8 sps_6param_affine_enabled_flag; guint8 affine_amvr_enabled_flag; guint8 affine_prof_enabled_flag; guint8 prof_control_present_in_ph_flag; guint8 bcw_enabled_flag; guint8 ciip_enabled_flag; guint8 gpm_enabled_flag; guint8 max_num_merge_cand_minus_max_num_gpm_cand; guint8 log2_parallel_merge_level_minus2; guint8 isp_enabled_flag; guint8 mrl_enabled_flag; guint8 mip_enabled_flag; guint8 cclm_enabled_flag; guint8 chroma_horizontal_collocated_flag; guint8 chroma_vertical_collocated_flag; guint8 palette_enabled_flag; guint8 act_enabled_flag; guint8 min_qp_prime_ts; guint8 ibc_enabled_flag; guint8 six_minus_max_num_ibc_merge_cand; guint8 ladf_enabled_flag; guint8 num_ladf_intervals_minus2; gint8 ladf_lowest_interval_qp_offset; gint8 ladf_qp_offset[4]; guint16 ladf_delta_threshold_minus1[4]; guint8 explicit_scaling_list_enabled_flag; guint8 scaling_matrix_for_lfnst_disabled_flag; guint8 scaling_matrix_for_alternative_colour_space_disabled_flag; guint8 scaling_matrix_designated_colour_space_flag; guint8 dep_quant_enabled_flag; guint8 sign_data_hiding_enabled_flag; guint8 virtual_boundaries_enabled_flag; guint8 virtual_boundaries_present_flag; guint32 num_ver_virtual_boundaries; guint16 virtual_boundary_pos_x_minus1[3]; guint32 num_hor_virtual_boundaries; guint16 virtual_boundary_pos_y_minus1[3]; guint8 timing_hrd_params_present_flag; guint8 sublayer_cpb_params_present_flag; guint8 field_seq_flag; guint8 vui_parameters_present_flag; guint16 vui_payload_size_minus1; GstH266VUIParams vui_params; guint8 extension_flag; guint8 range_extension_flag; guint8 extension_7_flags[7]; GstH266SPSRangeExtensionParams range_params; /* calculated values */ gint max_width, max_height; gint crop_rect_width, crop_rect_height; gint crop_rect_x, crop_rect_y; gint fps_num, fps_den; gint chroma_qp_table[GST_H266_MAX_SAMPLE_ARRAYS][GST_H266_MAX_POINTS_IN_QP_TABLE]; gboolean valid; };
Structure defining the H266 SPS.
nuh_layer_id: specifies the identifier of the layer to which a VCL NAL unit belongs or the identifier of a layer to which a non-VCL NAL unit applies. sps_id: provides an identifier for the SPS for reference by other syntax elements. vps_id: specifies the VPS referred to by this SPS. vps: the GstH266VPS this SPS refers to. max_sublayers_minus1: specifies the maximum number of temporal sublayers that could be present in each CLVS referring to the SPS. chroma_format_idc: specifies the chroma sampling relative to the luma sampling. log2_ctu_size_minus5: specifies the luma coding tree block size of each CTU. ctu_size: the calculated ctu size. ptl_dpb_hrd_params_present_flag: specifies whether a profile_tier_level syntax structure and a dpb_parameters syntax structure are present in the SPS. dpb: DPB parameters of GstH266DPBParameters. profile_tier_level: the profile tier and level in GstH266ProfileTierLevel. general_hrd_params: HRD parameters of GstH266GeneralHRDParameters. ols_hrd_params: OLS HRD parameters of GstH266OLSHRDParameters. gdr_enabled_flag: specifies whether GDR pictures are enabled and could be present in the CLVS. res_change_in_clvs_allowed_flag: specifies whether the picture spatial resolution might change within a CLVS. ref_pic_resampling_enabled_flag: specifies whether reference picture resampling is enabled. pic_width_max_in_luma_samples: specifies the maximum width, in units of luma samples, of each decoded picture. pic_height_max_in_luma_samples: specifies the maximum height, in units of luma samples, of each decoded picture. conformance_window_flag: indicates whether the conformance cropping window offset parameters follow next in the SPS. conf_win_left_offset: specify left offset of the cropping window that is applied to pictures. conf_win_right_offset: specify right offset of the cropping window that is applied to pictures. conf_win_top_offset: specify top offset of the cropping window that is applied to pictures. conf_win_bottom_offset: specify bottom offset of the cropping window that is applied to pictures. subpic_info_present_flag: specifies whether subpicture information is present for the CLVS and there might be one or more than one subpicture in each picture of the CLVS. num_subpics_minus1: specifies the number of subpictures in each picture in the CLVS. independent_subpics_flag: specifies whether all subpicture boundaries in the CLVS are treated as picture boundaries and there is no loop filtering across the subpicture boundaries. subpic_same_size_flag: specifies whether all subpictures in the CLVS have the same width and height. subpic_ctu_top_left_x: specifies horizontal position of top-left CTU of i-th subpicture in unit of CtbSizeY. subpic_ctu_top_left_y: specifies vertical position of top-left CTU of i-th subpicture in unit of CtbSizeY. subpic_width_minus1: specifies the width of the i-th subpicture in units of CtbSizeY. subpic_height_minus1: specifies the height of the i-th subpicture in units of CtbSizeY. subpic_treated_as_pic_flag: specifies whether the i-th subpicture of each coded picture in the CLVS is treated as a picture. loop_filter_across_subpic_enabled_flag: specifies whether in-loop filtering operations across subpicture boundaries is enabled and might be performed across the boundaries of the i-th subpicture. subpic_id: specifies the subpicture ID of the i-th subpicture. subpic_id_len_minus1: specifies the number of bits used to represent the syntax element sps_subpic_id[i]. subpic_id_mapping_explicitly_signalled_flag: specifies whether the subpicture ID mapping is explicitly signalled. subpic_id_mapping_present_flag: specifies whether the subpicture ID mapping is signalled in the SPS. bitdepth_minus8: specifies the bit depth of the samples of the luma and chroma arrays. entropy_coding_sync_enabled_flag: specifies whether a specific synchronization process for context variables is invoked before decoding the CTU. entry_point_offsets_present_flag: specifies whether signalling for entry point offsets for tiles or tile-specific CTU rows could be present in the slice headers of pictures. log2_max_pic_order_cnt_lsb_minus4: specifies the value of the variable MaxPicOrderCntLsb. poc_msb_cycle_flag: specifies whether the ph_poc_msb_cycle_present_flag syntax element is present in PH syntax structures. poc_msb_cycle_len_minus1: specifies the length, in bits, of the ph_poc_msb_cycle_val syntax elements. num_extra_ph_bytes: specifies the number of bytes of extra bits in the PH syntax structure for coded pictures. extra_ph_bit_present_flag: specifies whether the i-th extra bit is present in PH syntax structures. num_extra_sh_bytes: specifies the number of bytes of extra bits in the slice headers for coded pictures. extra_sh_bit_present_flag: specifies whether the i-th extra bit is present in the slice headers of pictures. sublayer_dpb_params_flag: used to control the presence of dpb_max_dec_pic_buffering_minus1[i], dpb_max_num_reorder_pics[i], and dpb_max_latency_increase_plus1[i] syntax elements in the dpb_parameters syntax strucure. log2_min_luma_coding_block_size_minus2: specifies the minimum luma coding block size. partition_constraints_override_enabled_flag: specifies the presence of ph_partition_constraints_override_flag in PH syntax structures. log2_diff_min_qt_min_cb_intra_slice_luma: specifies the default difference between the base 2 logarithm of the minimum size in luma samples of a luma leaf block resulting from quadtree splitting of a CTU and the base 2 logarithm of the minimum coding block size in luma samples. max_mtt_hierarchy_depth_intra_slice_luma: specifies the default maximum hierarchy depth for coding units resulting from multi-type tree splitting of a quadtree leaf in slices with sh_slice_type equal to 2(I). log2_diff_max_bt_min_qt_intra_slice_luma: specifies the default difference between the base 2 logarithm of the maximum size in luma samples of a luma coding block that can be split using a binary split and the base 2 logarithm of the minimum size in luma samples of a luma leaf block resulting from quadtree splitting. log2_diff_max_tt_min_qt_intra_slice_luma: specifies the default difference between the base 2 logarithm of the maximum size in luma samples of a luma coding block that can be split using a ternary split and the base 2 logarithm of the minimum size in luma samples of a luma leaf block resulting from quadtree splitting. qtbtt_dual_tree_intra_flag: specifies whether each CTU is split into coding units with 64x64 luma samples using an implicit quadtree split, and these coding units are the root of two separate coding_tree syntax structure for luma and chroma. log2_diff_min_qt_min_cb_intra_slice_chroma: specifies the default difference between the base 2 logarithm of the minimum size in luma samples of a chroma leaf block resulting from quadtree splitting of a chroma CTU and the base 2 logarithm of the minimum coding block size in luma samples for chroma CUs in slices with sh_slice_type equal to 2(I). max_mtt_hierarchy_depth_intra_slice_chroma: specifies the default maximum hierarchy depth for chroma coding units resulting from multi-type tree splitting of a chroma quadtree leaf in slices with sh_slice_type equal to 2(I). log2_diff_max_bt_min_qt_intra_slice_chroma: specifies the default difference between the base 2 logarithm of the maximum size in luma samples of a chroma coding block that can be split using a binary split and the base 2 logarithm of the minimum size in luma samples of a chroma leaf block resulting from quadtree splitting of a chroma CTU in slices with sh_slice_type equal to 2(I). log2_diff_max_tt_min_qt_intra_slice_chroma: specifies the default difference between the base 2 logarithm of the maximum size in luma samples of a chroma coding block that can be split using a ternary split and the base 2 logarithm of the minimum size in luma samples of a chroma leaf block resulting from quadtree splitting of a chroma CTU in slices with sh_slice_type equal to 2(I). log2_diff_min_qt_min_cb_inter_slice: specifies the default difference between the base 2 logarithm of the minimum size in luma samples of a luma leaf block resulting from quadtree splitting of a CTU and the base 2 logarithm of the minimum luma coding block size in luma samples for luma CUs in slices with sh_slice_type equal to 0(B) or 1(P). max_mtt_hierarchy_depth_inter_slice: specifies the default maximum hierarchy depth for coding units resulting from multi-type tree splitting of a quadtree leaf in slices with sh_slice_type equal to 0 (B) or 1 (P). log2_diff_max_bt_min_qt_inter_slice: specifies the default difference between the base 2 logarithm of the maximum size in luma samples of a luma coding block that can be split using a binary split and the base 2 logarithm of the minimum size in luma samples of a luma leaf block resulting from quadtree splitting of a CTU in slices with sh_slice_type equal to 0(B) or 1(P). log2_diff_max_tt_min_qt_inter_slice: specifies the default difference between the base 2 logarithm of the maximum size in luma samples of a luma coding block that can be split using a ternary split and the base 2 logarithm of the minimum size in luma samples of a luma leaf block resulting from quadtree splitting of a CTU in slices with sh_slice_type equal to 0(B) or 1(P). max_luma_transform_size_64_flag: specifies whether the maximum transform size in luma samples is equal to 64. transform_skip_enabled_flag: specifies whether transform_skip_flag could be present in the transform unit syntax. log2_transform_skip_max_size_minus2: specifies the maximum block size used for transform skip. bdpcm_enabled_flag: specifies whether intra_bdpcm_luma_flag and intra_bdpcm_chroma_flag could be present in the coding unit syntax for intra coding units. mts_enabled_flag: specifies whether sps_explicit_mts_intra_enabled_flag and sps_explicit_mts_inter_enabled_flag are present in the SPS. explicit_mts_intra_enabled_flag: specifies whether mts_idx could be present in the intra coding unit syntax of the CLVS. explicit_mts_inter_enabled_flag: specifies whether mts_idx could be present in the inter coding unit syntax of the CLVS. lfnst_enabled_flag: specifies whether lfnst_idx could be present in intra coding unit syntax. joint_cbcr_enabled_flag: specifies whether the joint coding of chroma residuals is enabled for the CLVS. same_qp_table_for_chroma_flag: specifies whether only one chroma QP mapping table is signalled and this table applies to Cb and Cr residuals and additionally to joint Cb-Cr residuals. qp_table_start_minus26: specifies the starting luma and chroma QP used to describe the i-th chroma QP mapping table. num_points_in_qp_table_minus1: specifies the number of points used to describe the i-th chroma QP mapping table. delta_qp_in_val_minus1: specifies a delta value used to derive the input coordinate of the j-th pivot point of the i-th chroma QP mapping table. delta_qp_diff_val: specifies a delta value used to derive the output coordinate of the j-th pivot point of the i-th chroma QP mapping table. sao_enabled_flag: specifies whether SAO is enabled for the CLVS. alf_enabled_flag: specifies whether ALF is enabled for the CLVS. ccalf_enabled_flag: specifies whether CCALF is enabled for the CLVS. lmcs_enabled_flag: specifies whether LMCS is enabled for the CLVS. weighted_pred_flag: specifies whether weighted prediction might be applied to P slices referring to the SPS. weighted_bipred_flag: specifies whether explicit weighted prediction might be applied to B slices referring to the SPS. guint8 long_term_ref_pics_flag: specifies whether no LTRP is used for inter prediction of any coded picture in the CLVS. inter_layer_prediction_enabled_flag: specifies whether inter-layer prediction is enabled for the CLVS and ILRPs might be used for inter prediction of one or more coded pictures in the CLVS. idr_rpl_present_flag: specifies whether RPL syntax elements could be present in slice headers of slices with nal_unit_type equal to IDR_N_LP or IDR_W_RADL. rpl1_same_as_rpl0_flag: specifies whether the syntax element sps_num_ref_pic_lists[1] and the syntax structure ref_pic_list_struct(1, rplsIdx) are present. num_ref_pic_lists: specifies the number of the ref_pic_list_struct(listIdx, rplsIdx) syntax structures with listIdx equal to i included in the SPS. ref_pic_list_struct: the reference list of GstH266RefPicListStruct. ref_wraparound_enabled_flag: specifies whether horizontal wrap-around motion compensation is enabled for the CLVS. temporal_mvp_enabled_flag: specifies whether temporal motion vector predictors are enabled for the CLVS. sbtmvp_enabled_flag: specifies whether subblock-based temporal motion vector predictors are enabled and might be used in decoding of pictures with all slices having sh_slice_type not equal to I in the CLVS. amvr_enabled_flag: specifies whether adaptive motion vector difference resolution is enabled for the CVLS. bdof_enabled_flag: specifies whether the bi-directional optical flow inter prediction is enabled for the CLVS. bdof_control_present_in_ph_flag: specifies whether ph_bdof_disabled_flag could be present in PH syntax structures referring to the SPS. smvd_enabled_flag: specifies whether symmetric motion vector difference is enabled for the CLVS. dmvr_enabled_flag: specifies whether decoder motion vector refinement based inter bi-prediction is enabled for the CLVS. dmvr_control_present_in_ph_flag: specifies whether ph_dmvr_disabled_flag could be present in PH syntax structures referring to the SPS. mmvd_enabled_flag: specifies whether merge mode with motion vector difference is enabled for the CLVS. mmvd_fullpel_only_enabled_flag: specifies whether the merge mode with motion vector difference using only integer sample precision is enabled for the CLVS. six_minus_max_num_merge_cand: specifies the maximum number of merging motion vector prediction (MVP) candidates supported in the SPS. sbt_enabled_flag: specifies whether subblock transform for inter-predicted CUs is enabled for the CLVS. affine_enabled_flag: specifies whether the affine model based motion compensation is enabled for the CLVS. five_minus_max_num_subblock_merge_cand: specifies the maximum number of subblock-based merging motion vector prediction candidates supported. sps_6param_affine_enabled_flag: specifies whether the 6-parameter affine model based motion compensation is enabled for the CLVS. affine_amvr_enabled_flag: specifies whether adaptive motion vector difference resolution is enabled for the CLVS. affine_prof_enabled_flag: specifies whether the affine motion compensation refined with optical flow is enabled for the CLVS. prof_control_present_in_ph_flag: specifies whether ph_prof_disabled_flag could be present in PH syntax structures. bcw_enabled_flag: specifies whether bi-prediction with CU weights is enabled for the CLVS. ciip_enabled_flag: specifies whether ciip_flag could be present in the coding unit syntax for inter coding units. gpm_enabled_flag: specifies whether the geometric partition based motion compensation is enabled for the CLVS. max_num_merge_cand_minus_max_num_gpm_cand: specifies the maximum number of geometric partitioning merge mode candidates supported in the SPS. log2_parallel_merge_level_minus2: specifies the value of the variable Log2ParMrgLevel. isp_enabled_flag: specifies whether intra prediction with subpartitions is enabled for the CLVS. mrl_enabled_flag: specifies whether intra prediction with multiple reference lines is enabled for the CLVS. mip_enabled_flag: specifies whether the matrix-based intra prediction is enabled for the CLVS. cclm_enabled_flag: specifies whether the cross-component linear model intra prediction from luma component to chroma component is enabled for the CLVS. chroma_horizontal_collocated_flag: specifies whether prediction processes operate in a manner designed for chroma sample positions that are not horizontally shifted relative to corresponding luma sample positions. chroma_vertical_collocated_flag: specifies whether prediction processes operate in a manner designed for chroma sample positions that are not vertically shifted relative to corresponding luma sample positions. palette_enabled_flag: specifies whether the palette prediction mode is enabled for the CLVS. act_enabled_flag: specifies whether the adaptive colour transform is enabled for the CLVS. min_qp_prime_ts: specifies whether minimum allowed quantization parameter for transform skip mode. ibc_enabled_flag: specifies whether the IBC prediction mode is enabled for the CLVS. six_minus_max_num_ibc_merge_cand: specifies the maximum number of IBC merging block vector prediction (BVP) candidates. ladf_enabled_flag: specifies whether sps_num_ladf_intervals_minus2, sps_ladf_lowest_interval_qp_offset, sps_ladf_qp_offset[i], and sps_ladf_delta_threshold_minus1[i] are present in the SPS. num_ladf_intervals_minus2: specifies the number of sps_ladf_delta_threshold_minus1[i] and sps_ladf_qp_offset[i] syntax elements that are present in the SPS. ladf_lowest_interval_qp_offset: specifies the offset used to derive the variable qP. ladf_qp_offset: specifies the offset array used to derive the variable qP. ladf_delta_threshold_minus1: is used to compute the values of SpsLadfIntervalLowerBound[i]. explicit_scaling_list_enabled_flag: specifies whether the use of an explicit scaling list is enabled for the CLVS. scaling_matrix_for_lfnst_disabled_flag: specifies whether scaling matrices are disabled for blocks coded with LFNST for the CLVS. scaling_matrix_for_alternative_colour_space_disabled_flag: specifies whether scaling matrices are disabled and not applied to blocks of a coding unit. scaling_matrix_designated_colour_space_flag: specifies whether the colour space of the scaling matrices is the colour space that does not use a colour space conversion for the decoded residuals. dep_quant_enabled_flag: specifies whether dependent quantization is enabled for the CLVS. sign_data_hiding_enabled_flag: specifies whether sign bit hiding is enabled for the CLVS. virtual_boundaries_enabled_flag: specifies whether disabling in-loop filtering across virtual boundaries is enabled for the CLVS. virtual_boundaries_present_flag: specifies whether information of virtual boundaries is signalled in the SPS. num_ver_virtual_boundaries: specifies the number of sps_virtual_boundary_pos_x_minus1[i] syntax elements. virtual_boundary_pos_x_minus1: specifies the location of the i-th vertical virtual boundary in units of luma samples divided by 8. num_hor_virtual_boundaries: specifies the number of sps_virtual_boundary_pos_y_minus1[i] syntax elements. virtual_boundary_pos_y_minus1: specifies the location of the i-th horizontal virtual boundary in units of luma samples divided by 8. timing_hrd_params_present_flag: specifies whether the SPS contains a general_timing_hrd_parameters syntax structure and an ols_timing_hrd_parameters syntax structure. sublayer_cpb_params_present_flag: specifies whether the ols_timing_hrd_parameters syntax structure in the SPS includes HRD parameters for sublayer representations. field_seq_flag: indicates whether the CLVS conveys pictures that represent fields. vui_parameters_present_flag: specifies whether the syntax structure vui_payload is present in the SPS RBSP syntax structure. vui_payload_size_minus1: specifies the number of RBSP bytes in the vui_payload syntax structure. vui_params: VUI parameters of GstH266VUIParams. extension_flag: specifies whether the syntax elements sps_range_extension_flag and sps_extension_7bits are present. range_extension_flag: specifies whether the sps_range_extension syntax structure is present. extension_7_flags: specifies whether no sps_extension_data_flag syntax elements are present. range_params: range parameters of GstH266SPSRangeExtensionParams. max_width: the calculated max width of the picture. max_height: the calculated max height of the picture. crop_rect_width: the cropped width of the picture. crop_rect_height: the cropped height of the picture. crop_rect_x: the x offset of the cropped window. crop_rect_y: the y offset of the cropped window. fps_num: the calculated FPS numerator. fps_den: the calculated FPS denominator. valid: whether the SPS is valid.
Fields
nuh_layer_id
(guint8)
–
sps_id
(guint8)
–
vps_id
(guint8)
–
vps
(GstH266VPS *)
–
max_sublayers_minus1
(guint8)
–
chroma_format_idc
(guint8)
–
log2_ctu_size_minus5
(guint8)
–
ctu_size
(guint)
–
ptl_dpb_hrd_params_present_flag
(guint8)
–
dpb
(GstH266DPBParameters)
–
profile_tier_level
(GstH266ProfileTierLevel)
–
general_hrd_params
(GstH266GeneralHRDParameters)
–
ols_hrd_params
(GstH266OLSHRDParameters)
–
gdr_enabled_flag
(guint8)
–
res_change_in_clvs_allowed_flag
(guint8)
–
ref_pic_resampling_enabled_flag
(guint8)
–
pic_width_max_in_luma_samples
(guint16)
–
pic_height_max_in_luma_samples
(guint16)
–
conformance_window_flag
(guint8)
–
conf_win_left_offset
(guint16)
–
conf_win_right_offset
(guint16)
–
conf_win_top_offset
(guint16)
–
conf_win_bottom_offset
(guint16)
–
subpic_info_present_flag
(guint8)
–
num_subpics_minus1
(guint16)
–
independent_subpics_flag
(guint8)
–
subpic_same_size_flag
(guint8)
–
subpic_ctu_top_left_x
(guint16[1000] )
–
subpic_ctu_top_left_y
(guint16[1000] )
–
subpic_width_minus1
(guint16[1000] )
–
subpic_height_minus1
(guint16[1000] )
–
subpic_treated_as_pic_flag
(guint8[1000] )
–
loop_filter_across_subpic_enabled_flag
(guint8[1000] )
–
subpic_id
(guint32[1000] )
–
subpic_id_len_minus1
(guint8)
–
subpic_id_mapping_explicitly_signalled_flag
(guint8)
–
subpic_id_mapping_present_flag
(guint8)
–
bitdepth_minus8
(guint8)
–
entropy_coding_sync_enabled_flag
(guint8)
–
entry_point_offsets_present_flag
(guint8)
–
log2_max_pic_order_cnt_lsb_minus4
(guint8)
–
poc_msb_cycle_flag
(guint8)
–
poc_msb_cycle_len_minus1
(guint8)
–
num_extra_ph_bytes
(guint8)
–
extra_ph_bit_present_flag
(guint8[16] )
–
num_extra_sh_bytes
(guint8)
–
extra_sh_bit_present_flag
(guint8[16] )
–
sublayer_dpb_params_flag
(guint8)
–
log2_min_luma_coding_block_size_minus2
(guint8)
–
partition_constraints_override_enabled_flag
(guint8)
–
log2_diff_min_qt_min_cb_intra_slice_luma
(guint8)
–
max_mtt_hierarchy_depth_intra_slice_luma
(guint8)
–
log2_diff_max_bt_min_qt_intra_slice_luma
(guint8)
–
log2_diff_max_tt_min_qt_intra_slice_luma
(guint8)
–
qtbtt_dual_tree_intra_flag
(guint8)
–
log2_diff_min_qt_min_cb_intra_slice_chroma
(guint8)
–
max_mtt_hierarchy_depth_intra_slice_chroma
(guint8)
–
log2_diff_max_bt_min_qt_intra_slice_chroma
(guint8)
–
log2_diff_max_tt_min_qt_intra_slice_chroma
(guint8)
–
log2_diff_min_qt_min_cb_inter_slice
(guint8)
–
max_mtt_hierarchy_depth_inter_slice
(guint8)
–
log2_diff_max_bt_min_qt_inter_slice
(guint8)
–
log2_diff_max_tt_min_qt_inter_slice
(guint8)
–
max_luma_transform_size_64_flag
(guint8)
–
transform_skip_enabled_flag
(guint8)
–
log2_transform_skip_max_size_minus2
(guint8)
–
bdpcm_enabled_flag
(guint8)
–
mts_enabled_flag
(guint8)
–
explicit_mts_intra_enabled_flag
(guint8)
–
explicit_mts_inter_enabled_flag
(guint8)
–
lfnst_enabled_flag
(guint8)
–
joint_cbcr_enabled_flag
(guint8)
–
same_qp_table_for_chroma_flag
(guint8)
–
qp_table_start_minus26
(gint8[3] )
–
num_points_in_qp_table_minus1
(guint8[3] )
–
delta_qp_in_val_minus1
(guint8[3][111] )
–
delta_qp_diff_val
(guint8[3][111] )
–
sao_enabled_flag
(guint8)
–
alf_enabled_flag
(guint8)
–
ccalf_enabled_flag
(guint8)
–
lmcs_enabled_flag
(guint8)
–
weighted_pred_flag
(guint8)
–
weighted_bipred_flag
(guint8)
–
long_term_ref_pics_flag
(guint8)
–
inter_layer_prediction_enabled_flag
(guint8)
–
idr_rpl_present_flag
(guint8)
–
rpl1_same_as_rpl0_flag
(guint8)
–
num_ref_pic_lists
(guint8[2] )
–
ref_pic_list_struct
(GstH266RefPicListStruct[2][64] )
–
ref_wraparound_enabled_flag
(guint8)
–
temporal_mvp_enabled_flag
(guint8)
–
sbtmvp_enabled_flag
(guint8)
–
amvr_enabled_flag
(guint8)
–
bdof_enabled_flag
(guint8)
–
bdof_control_present_in_ph_flag
(guint8)
–
smvd_enabled_flag
(guint8)
–
dmvr_enabled_flag
(guint8)
–
dmvr_control_present_in_ph_flag
(guint8)
–
mmvd_enabled_flag
(guint8)
–
mmvd_fullpel_only_enabled_flag
(guint8)
–
six_minus_max_num_merge_cand
(guint8)
–
sbt_enabled_flag
(guint8)
–
affine_enabled_flag
(guint8)
–
five_minus_max_num_subblock_merge_cand
(guint8)
–
sps_6param_affine_enabled_flag
(guint8)
–
affine_amvr_enabled_flag
(guint8)
–
affine_prof_enabled_flag
(guint8)
–
prof_control_present_in_ph_flag
(guint8)
–
bcw_enabled_flag
(guint8)
–
ciip_enabled_flag
(guint8)
–
gpm_enabled_flag
(guint8)
–
max_num_merge_cand_minus_max_num_gpm_cand
(guint8)
–
log2_parallel_merge_level_minus2
(guint8)
–
isp_enabled_flag
(guint8)
–
mrl_enabled_flag
(guint8)
–
mip_enabled_flag
(guint8)
–
cclm_enabled_flag
(guint8)
–
chroma_horizontal_collocated_flag
(guint8)
–
chroma_vertical_collocated_flag
(guint8)
–
palette_enabled_flag
(guint8)
–
act_enabled_flag
(guint8)
–
min_qp_prime_ts
(guint8)
–
ibc_enabled_flag
(guint8)
–
six_minus_max_num_ibc_merge_cand
(guint8)
–
ladf_enabled_flag
(guint8)
–
num_ladf_intervals_minus2
(guint8)
–
ladf_lowest_interval_qp_offset
(gint8)
–
ladf_qp_offset
(gint8[4] )
–
ladf_delta_threshold_minus1
(guint16[4] )
–
explicit_scaling_list_enabled_flag
(guint8)
–
scaling_matrix_for_lfnst_disabled_flag
(guint8)
–
scaling_matrix_for_alternative_colour_space_disabled_flag
(guint8)
–
scaling_matrix_designated_colour_space_flag
(guint8)
–
dep_quant_enabled_flag
(guint8)
–
sign_data_hiding_enabled_flag
(guint8)
–
virtual_boundaries_enabled_flag
(guint8)
–
virtual_boundaries_present_flag
(guint8)
–
num_ver_virtual_boundaries
(guint32)
–
virtual_boundary_pos_x_minus1
(guint16[3] )
–
num_hor_virtual_boundaries
(guint32)
–
virtual_boundary_pos_y_minus1
(guint16[3] )
–
timing_hrd_params_present_flag
(guint8)
–
sublayer_cpb_params_present_flag
(guint8)
–
field_seq_flag
(guint8)
–
vui_parameters_present_flag
(guint8)
–
vui_payload_size_minus1
(guint16)
–
vui_params
(GstH266VUIParams)
–
extension_flag
(guint8)
–
range_extension_flag
(guint8)
–
extension_7_flags
(guint8[7] )
–
range_params
(GstH266SPSRangeExtensionParams)
–
max_width
(gint)
–
max_height
(gint)
–
crop_rect_width
(gint)
–
crop_rect_height
(gint)
–
crop_rect_x
(gint)
–
crop_rect_y
(gint)
–
fps_num
(gint)
–
fps_den
(gint)
–
chroma_qp_table
(gint[3][111] )
–
valid
(gboolean)
–
Since : 1.26
GstH266SPSRangeExtensionParams
struct _GstH266SPSRangeExtensionParams { guint8 extended_precision_flag; guint8 ts_residual_coding_rice_present_in_sh_flag; guint8 rrc_rice_extension_flag; guint8 persistent_rice_adaptation_enabled_flag; guint8 reverse_last_sig_coeff_enabled_flag; };
Structure defining the H266 SPS range extension parameters.
extended_precision_flag: specifies whether an extended dynamic range is used for transform coefficients. ts_residual_coding_rice_present_in_sh_flag: specifies whether sh_ts_residual_coding_rice_idx_minus1 may be present in slice_header syntax structures referring to the SPS. rrc_rice_extension_flag: specifies whether an alternative Rice parameter derivation is used. persistent_rice_adaptation_enabled_flag: specifies whether Rice parameter derivation is initialized at the start of each TU using statistics accumulated from previous TUs. reverse_last_sig_coeff_enabled_flag: specifies whether sh_reverse_last_sig_coeff_flag is present in slice_header syntax structures referring to the SPS.
Fields
extended_precision_flag
(guint8)
–
ts_residual_coding_rice_present_in_sh_flag
(guint8)
–
rrc_rice_extension_flag
(guint8)
–
persistent_rice_adaptation_enabled_flag
(guint8)
–
reverse_last_sig_coeff_enabled_flag
(guint8)
–
Since : 1.26
GstH266ScalableNesting
struct _GstH266ScalableNesting { guint8 ols_flag; guint8 subpic_flag; guint8 num_olss_minus1; guint8 ols_idx_delta_minus1[GST_H266_MAX_TOTAL_NUM_OLSS]; guint8 all_layers_flag; guint8 num_layers_minus1; guint8 layer_id[GST_H266_MAX_LAYERS]; guint16 num_subpics_minus1; guint8 subpic_id_len_minus1; guint8 subpic_id[GST_H266_MAX_SLICES_PER_AU]; guint8 num_seis_minus1; };
Structure defining the H266 scalable nesting.
ols_flag: specifies whether the scalable-nested SEI messages apply to specific OLSs. subpic_flag: specifies whether the scalable-nested SEI messages that apply to specified OLSs or layers apply only to specific subpictures of the specified OLSs or layers. num_olss_minus1: specifies the number of OLSs to which the scalable-nested SEI messages apply. ols_idx_delta_minus1: is used to derive the variable NestingOlsIdx[i]. all_layers_flag: specifies whether the scalable-nested SEI messages apply to all layers that have nuh_layer_id greater than or equal to the nuh_layer_id of the current SEI NAL unit. num_layers_minus1: specifies the number of layers to which the scalable-nested SEI messages apply. layer_id: specifies the nuh_layer_id value of the i-th layer to which the scalable-nested SEI messages apply. num_subpics_minus1: specifies the number of subpictures in each picture in the multiSubpicLayers. subpic_id_len_minus1: specifies the number of bits used to represent the syntax element sn_subpic_id[i]. subpic_id: indicates the subpicture ID of the i-th subpicture in each picture in the multiSubpicLayers. num_seis_minus1: specifies the number of scalable-nested SEI messages.
Fields
ols_flag
(guint8)
–
subpic_flag
(guint8)
–
num_olss_minus1
(guint8)
–
ols_idx_delta_minus1
(guint8[257] )
–
all_layers_flag
(guint8)
–
num_layers_minus1
(guint8)
–
layer_id
(guint8[64] )
–
num_subpics_minus1
(guint16)
–
subpic_id_len_minus1
(guint8)
–
subpic_id
(guint8[1000] )
–
num_seis_minus1
(guint8)
–
Since : 1.26
GstH266ScalingList
struct _GstH266ScalingList { guint8 copy_mode_flag[28]; guint8 pred_mode_flag[28]; guint8 pred_id_delta[28]; gint8 dc_coef[14]; gint8 delta_coef[28][64]; guint8 scaling_list_DC[14]; guint8 scaling_list[28][64]; };
Structure defining the H266 scaling list parameters.
copy_mode_flag: specifies whether the values of the scaling list are the same as the values of a reference scaling list. pred_mode_flag: specifies whether the values of the scaling list can be predicted from a reference scaling list. pred_id_delta: specifies the reference scaling list used to derive the predicted scaling matrix scalingMatrixPred. dc_coef: used to derive the value of the variable ScalingMatrixDcRec. delta_coef: specifies the difference between the current matrix coefficient ScalingList. scaling_list_DC: the scaling list DC coef. scaling_list: the calculated scaling list coefs.
Fields
copy_mode_flag
(guint8[28] )
–
pred_mode_flag
(guint8[28] )
–
pred_id_delta
(guint8[28] )
–
dc_coef
(gint8[14] )
–
delta_coef
(gint8[28][64] )
–
scaling_list_DC
(guint8[14] )
–
scaling_list
(guint8[28][64] )
–
Since : 1.26
GstH266SliceHdr
struct _GstH266SliceHdr { guint8 picture_header_in_slice_header_flag; GstH266PicHdr picture_header; guint16 subpic_id; guint16 slice_address; guint8 extra_bit[16]; guint8 num_tiles_in_slice_minus1; guint8 slice_type; guint8 no_output_of_prior_pics_flag; guint8 alf_enabled_flag; guint8 num_alf_aps_ids_luma; guint8 alf_aps_id_luma[8]; guint8 alf_cb_enabled_flag; guint8 alf_cr_enabled_flag; guint8 alf_aps_id_chroma; guint8 alf_cc_cb_enabled_flag; guint8 alf_cc_cb_aps_id; guint8 alf_cc_cr_enabled_flag; guint8 alf_cc_cr_aps_id; guint8 lmcs_used_flag; guint8 explicit_scaling_list_used_flag; GstH266RefPicLists ref_pic_lists; guint8 num_ref_idx_active_override_flag; guint8 num_ref_idx_active_minus1[2]; guint8 num_ref_idx_active[2]; guint8 cabac_init_flag; guint8 collocated_from_l0_flag; guint8 collocated_ref_idx; GstH266PredWeightTable pred_weight_table; gint8 slice_qp_y; gint8 qp_delta; gint8 cb_qp_offset; gint8 cr_qp_offset; gint8 joint_cbcr_qp_offset; guint8 cu_chroma_qp_offset_enabled_flag; guint8 sao_luma_used_flag; guint8 sao_chroma_used_flag; guint8 deblocking_params_present_flag; guint8 deblocking_filter_disabled_flag; gint8 luma_beta_offset_div2; gint8 luma_tc_offset_div2; gint8 cb_beta_offset_div2; gint8 cb_tc_offset_div2; gint8 cr_beta_offset_div2; gint8 cr_tc_offset_div2; guint8 dep_quant_used_flag; guint8 sign_data_hiding_used_flag; guint8 ts_residual_coding_disabled_flag; guint8 ts_residual_coding_rice_idx_minus1; guint8 reverse_last_sig_coeff_flag; guint16 slice_header_extension_length; guint8 slice_header_extension_data_byte[256]; guint16 num_entry_points; guint16 entry_point_start_ctu[GST_H266_MAX_ENTRY_POINTS]; guint8 entry_offset_len_minus1; guint32 entry_point_offset_minus1[GST_H266_MAX_ENTRY_POINTS]; /* Size of the slice_header() in bits */ guint header_size; /* Number of emulation prevention bytes (EPB) in this slice_header() */ guint n_emulation_prevention_bytes; };
Structure defining the H266 slice header.
gdr_or_irap_pic_flag: specifies that the PH syntax structure is present in the slice header. picture_header: the picture header of GstH266PicHdr. subpic_id: specifies the subpicture ID of the subpicture. slice_address: specifies the slice address of the slice. extra_bit: could have any value. num_tiles_in_slice_minus1: specifies the number of tiles in the slice. slice_type: specifies the coding type of the slice. no_output_of_prior_pics_flag: affects the output of previously-decoded pictures in the DPB. alf_enabled_flag: specifies whether ALF is enabled for the Y, Cb, or Cr colour component of the current slice. num_alf_aps_ids_luma: specifies the number of ALF APSs. alf_aps_id_luma: specifies the aps_adaptation_parameter_set_id of the i-th ALF APS that the luma component of the slice refers to. alf_cb_enabled_flag: specifies whether ALF is enabled for the Cb colour component of the current slice. alf_cr_enabled_flag: specifies whether ALF is enabled for the Cr colour component of the current slice. alf_aps_id_chroma: specifies the aps_adaptation_parameter_set_id of the ALF APS that the chroma component of the slice refers to. alf_cc_cb_enabled_flag: specifies whether CCALF is enabled for the Cb colour component. alf_cc_cb_aps_id: specifies the aps_adaptation_parameter_set_id that the Cb colour component of the slice refers to. alf_cc_cr_enabled_flag: specifies whether CCALF is enabled for the Cr colour component of the current slice. alf_cc_cr_aps_id: specifies the aps_adaptation_parameter_set_id that the Cr colour component of the slice refers to. lmcs_used_flag: specifies that luma mapping is used for the current slice and chroma scaling could be used for the current slice. explicit_scaling_list_used_flag: specifies that the explicit scaling list is used in the scaling process for transform coefficients. ref_pic_lists: reference pictures lists of GstH266RefPicLists. num_ref_idx_active_override_flag: specifies whether the syntax element sh_num_ref_idx_active_minus1[0] is present for P and B slices. num_ref_idx_active_minus1: is used for the derivation of the variable NumRefIdxActive[i]. num_ref_idx_active: the calculated NumRefIdxActive value. cabac_init_flag: specifies the method for determining the initialization table used in the initialization process for context variables. collocated_from_l0_flag: specifies whether the collocated picture used for temporal motion vector prediction is derived from RPL 0. collocated_ref_idx: specifies the reference index of the collocated picture used for temporal motion vector prediction. pred_weight_table: prediction weight table of GstH266PredWeightTable. qp_base: the qp base of the current slice. qp_delta: specifies the initial value of QpY to be used for the coding blocks in the slice. cb_qp_offset: specifies a difference to be added to the value of pps_cb_qp_offset when determining the value of the Qp'Cb quantization. cr_qp_offset: specifies a difference to be added to the value of pps_cr_qp_offset when determining the value of the Qp' Cr quantization. joint_cbcr_qp_offset: specifies a difference to be added to the value of pps_joint_cbcr_qp_offset_value when determining the value of the Qp'CbCr. cu_chroma_qp_offset_enabled_flag: specifies whether the cu_chroma_qp_offset_flag could be present in the transform unit and palette coding syntax of the current slice. sao_luma_used_flag: specifies whether SAO is used for the luma component in the current slice. sao_chroma_used_flag: specifies whether SAO is used for the chroma component in the current slice. deblocking_params_present_flag: specifies whether the deblocking parameters could be present in the slice header. deblocking_filter_disabled_flag: specifies whether the deblocking filter is disabled for the current slice. luma_beta_offset_div2: specify the deblocking parameter offsets for beta that are applied to the luma component for the current slice. luma_tc_offset_div2: specify the deblocking parameter offsets for tC that are applied to the luma component for the current slice. cb_beta_offset_div2: specify the deblocking parameter offsets for beta that are applied to the Cb component for the current slice. cb_tc_offset_div2: specify the deblocking parameter offsets for tC that are applied to the Cb component for the current slice. cr_beta_offset_div2: specify the deblocking parameter offsets for beta that are applied to the Cr component for the current slice. cr_tc_offset_div2: specify the deblocking parameter offsets for tC that are applied to the Cr component for the current slice. dep_quant_used_flag: specifies whether dependent quantization is used. sign_data_hiding_used_flag: specifies whether sign bit hiding is not used for the current slice. ts_residual_coding_disabled_flag: specifies whether the residual_coding syntax structure is used to parse the residual samples of a transform skip block for the current slice. ts_residual_coding_rice_idx_minus1: specifies whether Rice parameter used for the residual_ts_coding syntax structure in the current slice. reverse_last_sig_coeff_flag: specifies whether the coordinates of the last significant coefficient are coded relative to ( 0, 0 ) for each transform block of the current slice. slice_header_extension_length: specifies the length of the slice header extension data in bytes. slice_header_extension_data_byte: could have any value. num_entry_points: NumEntryPoints specifies the number of entry points in the current slice. entry_offset_len_minus1: specifies the length, in bits, of the sh_entry_point_offset_minus1[i] syntax elements. entry_point_offset_minus1: specifies the i-th entry point offset in bytes. header_size: size of the slice_header in bits. n_emulation_prevention_bytes: number of emulation prevention bytes (EPB) in this slice_header.
Fields
picture_header_in_slice_header_flag
(guint8)
–
picture_header
(GstH266PicHdr)
–
subpic_id
(guint16)
–
slice_address
(guint16)
–
extra_bit
(guint8[16] )
–
num_tiles_in_slice_minus1
(guint8)
–
slice_type
(guint8)
–
no_output_of_prior_pics_flag
(guint8)
–
alf_enabled_flag
(guint8)
–
num_alf_aps_ids_luma
(guint8)
–
alf_aps_id_luma
(guint8[8] )
–
alf_cb_enabled_flag
(guint8)
–
alf_cr_enabled_flag
(guint8)
–
alf_aps_id_chroma
(guint8)
–
alf_cc_cb_enabled_flag
(guint8)
–
alf_cc_cb_aps_id
(guint8)
–
alf_cc_cr_enabled_flag
(guint8)
–
alf_cc_cr_aps_id
(guint8)
–
lmcs_used_flag
(guint8)
–
explicit_scaling_list_used_flag
(guint8)
–
ref_pic_lists
(GstH266RefPicLists)
–
num_ref_idx_active_override_flag
(guint8)
–
num_ref_idx_active_minus1
(guint8[2] )
–
num_ref_idx_active
(guint8[2] )
–
cabac_init_flag
(guint8)
–
collocated_from_l0_flag
(guint8)
–
collocated_ref_idx
(guint8)
–
pred_weight_table
(GstH266PredWeightTable)
–
slice_qp_y
(gint8)
–
qp_delta
(gint8)
–
cb_qp_offset
(gint8)
–
cr_qp_offset
(gint8)
–
joint_cbcr_qp_offset
(gint8)
–
cu_chroma_qp_offset_enabled_flag
(guint8)
–
sao_luma_used_flag
(guint8)
–
sao_chroma_used_flag
(guint8)
–
deblocking_params_present_flag
(guint8)
–
deblocking_filter_disabled_flag
(guint8)
–
luma_beta_offset_div2
(gint8)
–
luma_tc_offset_div2
(gint8)
–
cb_beta_offset_div2
(gint8)
–
cb_tc_offset_div2
(gint8)
–
cr_beta_offset_div2
(gint8)
–
cr_tc_offset_div2
(gint8)
–
dep_quant_used_flag
(guint8)
–
sign_data_hiding_used_flag
(guint8)
–
ts_residual_coding_disabled_flag
(guint8)
–
ts_residual_coding_rice_idx_minus1
(guint8)
–
reverse_last_sig_coeff_flag
(guint8)
–
slice_header_extension_length
(guint16)
–
slice_header_extension_data_byte
(guint8[256] )
–
num_entry_points
(guint16)
–
entry_point_start_ctu
(guint16[2700] )
–
entry_offset_len_minus1
(guint8)
–
entry_point_offset_minus1
(guint32[2700] )
–
header_size
(guint)
–
n_emulation_prevention_bytes
(guint)
–
Since : 1.26
GstH266SubLayerHRDParameters
struct _GstH266SubLayerHRDParameters { guint32 bit_rate_value_minus1[GST_H266_MAX_CPB_CNT]; guint32 cpb_size_value_minus1[GST_H266_MAX_CPB_CNT]; guint32 cpb_size_du_value_minus1[GST_H266_MAX_CPB_CNT]; guint32 bit_rate_du_value_minus1[GST_H266_MAX_CPB_CNT]; guint8 cbr_flag[GST_H266_MAX_CPB_CNT]; /* calculated values */ guint32 bit_rate[GST_H266_MAX_CPB_CNT]; guint32 cpb_size[GST_H266_MAX_CPB_CNT]; };
Structure defining the H266 sub layer HDR parameters.
bit_rate_value_minus1: specifies the maximum input bit rate for the CPB. cpb_size_value_minus1: together with cpb_size_scale to specify the CPB size. cpb_size_du_value_minus1: together with cpb_size_du_scale to specify the CPB size. bit_rate_du_value_minus1: specifies the maximum input bit rate for the CPB. cbr_flag: specifies whether to decode this bitstream by the HRD using the CPB specification. bit_rate: the calculated bit rate. cpb_size: the calculated cpb size.
Fields
bit_rate_value_minus1
(guint32[32] )
–
cpb_size_value_minus1
(guint32[32] )
–
cpb_size_du_value_minus1
(guint32[32] )
–
bit_rate_du_value_minus1
(guint32[32] )
–
cbr_flag
(guint8[32] )
–
bit_rate
(guint32[32] )
–
cpb_size
(guint32[32] )
–
Since : 1.26
GstH266SubPicLevelInfo
struct _GstH266SubPicLevelInfo { guint8 num_ref_levels_minus1; guint8 cbr_constraint_flag; guint8 explicit_fraction_present_flag; guint16 num_subpics_minus1; guint8 max_sublayers_minus1; guint8 sublayer_info_present_flag; guint8 non_subpic_layers_fraction[GST_H266_MAX_SUBLAYERS][GST_H266_MAX_SUBLAYERS]; guint8 ref_level_idc[GST_H266_MAX_SUBLAYERS][GST_H266_MAX_SUBLAYERS]; guint8 ref_level_fraction_minus1[GST_H266_MAX_SUBLAYERS][GST_H266_MAX_SLICES_PER_AU][GST_H266_MAX_SUBLAYERS]; };
Structure defining the H266 subpicture level information.
num_ref_levels_minus1: specifies the number of reference levels signalled for each subpicture sequences. cbr_constraint_flag: specifies whether to decode the sub-bitstreams resulting from extraction of any subpicture sequence. explicit_fraction_present_flag: specifies whether the syntax elements sli_ref_level_fraction_minus1[ i ] are present. num_subpics_minus1: specifies the number of subpictures in the pictures in the multiSubpicLayers in targetCvss. max_sublayers_minus1: specifies the maximum number of temporal sublayers in the subpicture sequences. sublayer_info_present_flag: specifies whether the level information for subpicture sequences is present for sublayer representation. non_subpic_layers_fraction: indicates the i-th fraction of the bitstream level limits associated with layers in targetCvss. ref_level_idc: indicates the i-th level to which each subpicture sequence conforms as specified in Annex A. ref_level_fraction_minus1: specifies the i-th fraction of the level limits for the subpictures.
Fields
num_ref_levels_minus1
(guint8)
–
cbr_constraint_flag
(guint8)
–
explicit_fraction_present_flag
(guint8)
–
num_subpics_minus1
(guint16)
–
max_sublayers_minus1
(guint8)
–
sublayer_info_present_flag
(guint8)
–
non_subpic_layers_fraction
(guint8[7][7] )
–
ref_level_idc
(guint8[7][7] )
–
ref_level_fraction_minus1
(guint8[7][1000][7] )
–
Since : 1.26
GstH266VPS
struct _GstH266VPS { guint8 vps_id; guint8 max_layers_minus1; guint8 max_sublayers_minus1; guint8 default_ptl_dpb_hrd_max_tid_flag; guint8 all_independent_layers_flag; guint8 layer_id[GST_H266_MAX_LAYERS]; guint8 independent_layer_flag[GST_H266_MAX_LAYERS]; guint8 max_tid_ref_present_flag[GST_H266_MAX_LAYERS]; guint8 direct_ref_layer_flag[GST_H266_MAX_LAYERS][GST_H266_MAX_LAYERS]; guint8 max_tid_il_ref_pics_plus1[GST_H266_MAX_LAYERS][GST_H266_MAX_LAYERS]; guint8 each_layer_is_an_ols_flag; guint8 ols_mode_idc; guint total_num_olss; guint num_multi_layer_olss; guint16 multi_layer_ols_idx[GST_H266_MAX_TOTAL_NUM_OLSS]; guint16 num_layers_in_ols[GST_H266_MAX_TOTAL_NUM_OLSS]; guint8 layer_id_in_ols[GST_H266_MAX_TOTAL_NUM_OLSS][GST_H266_MAX_LAYERS]; guint8 num_output_layer_sets_minus2; guint8 ols_output_layer_flag[GST_H266_MAX_TOTAL_NUM_OLSS][GST_H266_MAX_LAYERS]; guint16 num_output_layers_in_ols[GST_H266_MAX_TOTAL_NUM_OLSS]; guint8 output_layer_id_in_ols[GST_H266_MAX_TOTAL_NUM_OLSS][GST_H266_MAX_LAYERS]; guint8 num_sub_layers_in_layer_in_ols[GST_H266_MAX_TOTAL_NUM_OLSS][GST_H266_MAX_LAYERS]; guint8 num_ptls_minus1; guint8 pt_present_flag[GST_H266_MAX_PTLS]; guint8 ptl_max_tid[GST_H266_MAX_PTLS]; GstH266ProfileTierLevel profile_tier_level[GST_H266_MAX_PTLS]; guint8 ols_ptl_idx[GST_H266_MAX_TOTAL_NUM_OLSS]; guint8 num_dpb_params_minus1; guint8 sublayer_dpb_params_present_flag; guint8 dpb_max_tid[GST_H266_MAX_TOTAL_NUM_OLSS]; GstH266DPBParameters dpb[GST_H266_MAX_TOTAL_NUM_OLSS]; guint16 ols_dpb_pic_width[GST_H266_MAX_TOTAL_NUM_OLSS]; guint16 ols_dpb_pic_height[GST_H266_MAX_TOTAL_NUM_OLSS]; guint8 ols_dpb_chroma_format[GST_H266_MAX_TOTAL_NUM_OLSS]; guint8 ols_dpb_bitdepth_minus8[GST_H266_MAX_TOTAL_NUM_OLSS]; guint8 ols_dpb_params_idx[GST_H266_MAX_TOTAL_NUM_OLSS]; guint8 timing_hrd_params_present_flag; GstH266GeneralHRDParameters general_hrd_params; guint8 sublayer_cpb_params_present_flag; guint8 num_ols_timing_hrd_params_minus1; guint8 hrd_max_tid[GST_H266_MAX_TOTAL_NUM_OLSS]; GstH266OLSHRDParameters ols_hrd_params[GST_H266_MAX_TOTAL_NUM_OLSS]; guint8 ols_timing_hrd_idx[GST_H266_MAX_TOTAL_NUM_OLSS]; /* Reserve some data for future usage. */ guint8 extension_flag; guint8 extension_data[64]; gboolean valid; };
Structure defining the H266 VPS.
vps_id: provides an identifier for the VPS for reference by other syntax elements. max_layers_minus1: specifies the number of layers specified by the VPS. max_sublayers_minus1: specifies the maximum number of temporal sublayers that may be present in a layer specified by the VPS. default_ptl_dpb_hrd_max_tid_flag: specifies whether the syntax elements vps_ptl_max_tid, vps_dpb_max_tid, and vps_hrd_max_tid are present. all_independent_layers_flag: specifies whether all layers specified by the VPS are independently coded without using inter-layer prediction. layer_id: specifies the nuh_layer_id value of the i-th layer. independent_layer_flag: specifies whether the layer with index i does not use inter-layer prediction. max_tid_ref_present_flag: specifies whether the syntax element vps_max_tid_il_ref_pics_plus1 could be present. direct_ref_layer_flag: specifies whether the layer with index j is not a direct reference layer for the layer with index i. max_tid_il_ref_pics_plus1: specifies whether the pictures of the j-th layer that are neither IRAP pictures nor GDR pictures with ph_recovery_poc_cnt equal to 0 are not used as ILRPs for decoding of pictures of the i-th layer. each_layer_is_an_ols_flag: specifies whether each OLS specified by the VPS contains only one layer and each layer specified by the VPS is an OLS with the single included layer being the only output layer. ols_mode_idc: specifies whether the total number of OLSs specified by the VPS is equal to vps_max_layers_minus1 + 1. total_num_olss: specifies the total number of OLSs specified by the VPS. num_multi_layer_olss: specifies the number of multi-layer OLSs (i.e., OLSs that contain more than one layer). multi_layer_ols_idx: specifies the index to the list of multi-layer OLSs for the i-th OLS. num_layers_in_ols: specifies the number of layers in the i-th OLS. layer_id_in_ols: specifies the nuh_layer_id value of the j-th layer in the i-th OLS. num_output_layer_sets_minus2: specifies the total number of OLSs specified by the VPS when vps_ols_mode_idc is equal to 2. ols_output_layer_flag: specifies whether the layer with nuh_layer_id equal to vps_layer_id[j] is an output layer of the i-th OLS when vps_ols_mode_idc is equal to 2. num_output_layers_in_ols: specifies the number of output layers in the i-th OLS. output_layer_id_in_ols: specifies the nuh_layer_id value of the j-th output layer in the i-th OLS. num_sub_layers_in_layer_in_ols: specifies the number of sublayers in the j-th layer in the i-th OLS. num_ptls_minus1: specifies the number of profile_tier_level syntax structures in the VPS. pt_present_flag: specifies whether profile, tier, and general constraints information are present in the i-th profile_tier_level syntax structure in the VPS. ptl_max_tid: specifies the TemporalId of the highest sublayer representation. profile_tier_level: specifies the profile, tier and level using GstH266ProfileTierLevel. ols_ptl_idx: specifies the index of the profile_tier_level syntax structure that applies to the i-th OLS. num_dpb_params_minus1: specifies the number of dpb_parameters syntax strutcures in the VPS. sublayer_dpb_params_present_flag: is used to control the presence of dpb_max_dec_pic_buffering_minus1[j], dpb_max_num_reorder_pics[j], and dpb_max_latency_increase_plus1[j] syntax elements in the dpb_parameters syntax strucures in the VPS. dpb_max_tid: specifies the TemporalId of the highest sublayer representation for which the DPB parameters could be present in the i-th dpb_parameters syntax strutcure in the VPS. dpb: the DPB parameters using GstH266DPBParameters. ols_dpb_pic_width: specifies the width of each picture storage buffer for the i-th multi-layer OLS. ols_dpb_pic_height: specifies the height of each picture storage buffer for the i-th multi-layer OLS. ols_dpb_chroma_format: specifies the greatest allowed value of sps_chroma_format_idc for all SPSs. ols_dpb_bitdepth_minus8: specifies the greatest allowed value of sps_bitdepth_minus8 for all SPSs. ols_dpb_params_idx: specifies the index of the dpb_parameters syntax structure that applies to the i-th multi-layer OLS. timing_hrd_params_present_flag: specifies whether the VPS contains a general_timing_hrd_parameters syntax structure and other HRD parameters. general_hrd_params: HRD parameters in GstH266GeneralHRDParameters. sublayer_cpb_params_present_flag: specifies that the i-th ols_timing_hrd_parameters syntax structure in the VPS contains HRD parameters for the sublayer representations. num_ols_timing_hrd_params_minus1: specifies the number of ols_timing_hrd_parameters syntax structures present in the VPS. hrd_max_tid: specifies the TemporalId of the highest sublayer representation for which the HRD parameters are contained in the i-th ols_timing_hrd_parameters syntax structure. ols_hrd_params: OLS HRD parameters using GstH266OLSHRDParameters. ols_timing_hrd_idx: specifies the index of the ols_timing_hrd_parameters syntax structure that applies to the i-th multi-layer OLS. extension_flag: specifies whether no vps_extension_data_flag syntax elements are present in the VPS RBSP syntax structure. extension_data: could have any value, it is not defined in this version of this Specification. valid: whether this VPS is valid.
Fields
vps_id
(guint8)
–
max_layers_minus1
(guint8)
–
max_sublayers_minus1
(guint8)
–
default_ptl_dpb_hrd_max_tid_flag
(guint8)
–
all_independent_layers_flag
(guint8)
–
layer_id
(guint8[64] )
–
independent_layer_flag
(guint8[64] )
–
max_tid_ref_present_flag
(guint8[64] )
–
direct_ref_layer_flag
(guint8[64][64] )
–
max_tid_il_ref_pics_plus1
(guint8[64][64] )
–
each_layer_is_an_ols_flag
(guint8)
–
ols_mode_idc
(guint8)
–
total_num_olss
(guint)
–
num_multi_layer_olss
(guint)
–
multi_layer_ols_idx
(guint16[257] )
–
num_layers_in_ols
(guint16[257] )
–
layer_id_in_ols
(guint8[257][64] )
–
num_output_layer_sets_minus2
(guint8)
–
ols_output_layer_flag
(guint8[257][64] )
–
num_output_layers_in_ols
(guint16[257] )
–
output_layer_id_in_ols
(guint8[257][64] )
–
num_sub_layers_in_layer_in_ols
(guint8[257][64] )
–
num_ptls_minus1
(guint8)
–
pt_present_flag
(guint8[257] )
–
ptl_max_tid
(guint8[257] )
–
profile_tier_level
(GstH266ProfileTierLevel[257] )
–
ols_ptl_idx
(guint8[257] )
–
num_dpb_params_minus1
(guint8)
–
sublayer_dpb_params_present_flag
(guint8)
–
dpb_max_tid
(guint8[257] )
–
dpb
(GstH266DPBParameters[257] )
–
ols_dpb_pic_width
(guint16[257] )
–
ols_dpb_pic_height
(guint16[257] )
–
ols_dpb_chroma_format
(guint8[257] )
–
ols_dpb_bitdepth_minus8
(guint8[257] )
–
ols_dpb_params_idx
(guint8[257] )
–
timing_hrd_params_present_flag
(guint8)
–
general_hrd_params
(GstH266GeneralHRDParameters)
–
sublayer_cpb_params_present_flag
(guint8)
–
num_ols_timing_hrd_params_minus1
(guint8)
–
hrd_max_tid
(guint8[257] )
–
ols_hrd_params
(GstH266OLSHRDParameters[257] )
–
ols_timing_hrd_idx
(guint8[257] )
–
extension_flag
(guint8)
–
extension_data
(guint8[64] )
–
valid
(gboolean)
–
Since : 1.26
GstH266VUIParams
struct _GstH266VUIParams { guint8 progressive_source_flag; guint8 interlaced_source_flag; guint8 non_packed_constraint_flag; guint8 non_projected_constraint_flag; guint8 aspect_ratio_info_present_flag; guint8 aspect_ratio_constant_flag; guint8 aspect_ratio_idc; guint16 sar_width; guint16 sar_height; guint8 overscan_info_present_flag; guint8 overscan_appropriate_flag; guint8 colour_description_present_flag; guint8 colour_primaries; guint8 transfer_characteristics; guint8 matrix_coeffs; guint8 full_range_flag; guint8 chroma_loc_info_present_flag; guint8 chroma_sample_loc_type_frame; guint8 chroma_sample_loc_type_top_field; guint8 chroma_sample_loc_type_bottom_field; /* extension_data */ /* calculated values */ guint par_n; guint par_d; };
Structure defining the H266 VUI parameters.
progressive_source_flag: flag to indicate the progressive type of stream. interlaced_source_flag: flag to indicate the interlaced type of stream. non_packed_constraint_flag: indicate the presence of frame packing arrangement sei message non_projected_constraint_flag: flag to indicate the projected support. aspect_ratio_info_present_flag: specifies whether aspect_ratio_idc is present. aspect_ratio_constant_flag: specifies whether the ratio is constant. aspect_ratio_idc: specifies the value of the sample aspect ratio of the luma samples. sar_width: indicates the horizontal size of the sample aspect ratio. sar_height: indicates the vertical size of the sample aspect ratio. overscan_info_present_flag: specify whether the overscan_appropriate_flag is present. overscan_appropriate_flag: indicates whether the cropped decoded pictures output are suitable for display using overscan. colour_description_present_flag: specifies whether colour_primaries, transfer_characteristics and matrix_coefficients are present. colour_primaries: indicates the chromaticity coordinates of the source primaries. transfer_characteristics: indicates the opto-electronic transfer characteristic. matrix_coeffs: describes the matrix coefficients used in deriving luma and chroma signals. full_range_flag: indicates the full range of the color. chroma_loc_info_present_flag: specifies whether chroma_sample_loc_type_frame, chroma_sample_loc_type_top_field and chroma_sample_loc_type_bottom_field are present. chroma_sample_loc_type_frame: specify the location of chroma for the frame. chroma_sample_loc_type_top_field: specify the location of chroma for the top field. chroma_sample_loc_type_bottom_field: specify the location of chroma for the bottom field. par_n: calculated aspect ratio numerator value. par_d: calculated aspect ratio denominator value.
Fields
progressive_source_flag
(guint8)
–
interlaced_source_flag
(guint8)
–
non_packed_constraint_flag
(guint8)
–
non_projected_constraint_flag
(guint8)
–
aspect_ratio_info_present_flag
(guint8)
–
aspect_ratio_constant_flag
(guint8)
–
aspect_ratio_idc
(guint8)
–
sar_width
(guint16)
–
sar_height
(guint16)
–
overscan_info_present_flag
(guint8)
–
overscan_appropriate_flag
(guint8)
–
colour_description_present_flag
(guint8)
–
colour_primaries
(guint8)
–
transfer_characteristics
(guint8)
–
matrix_coeffs
(guint8)
–
full_range_flag
(guint8)
–
chroma_loc_info_present_flag
(guint8)
–
chroma_sample_loc_type_frame
(guint8)
–
chroma_sample_loc_type_top_field
(guint8)
–
chroma_sample_loc_type_bottom_field
(guint8)
–
par_n
(guint)
–
par_d
(guint)
–
Since : 1.26
Enumerations
GstH266APSType
typedef enum { GST_H266_ALF_APS = 0, GST_H266_LMCS_APS = 1, GST_H266_SCALING_APS = 2, /* end of the aps type */ GST_H266_APS_TYPE_MAX = 3 } GstH266APSType;
Indicates the types of Adaptation parameter set (APS) as Table 6 - APS parameters type codes and types of APS parameters.
GST_H266_ALF_APS: ALF parameters. GST_H266_LMCS_APS: LMCS parameters. GST_H266_SCALING_APS: Scaling list parameters.
Members
GST_H266_ALF_APS
(0)
–
GST_H266_LMCS_APS
(1)
–
GST_H266_SCALING_APS
(2)
–
GST_H266_APS_TYPE_MAX
(3)
–
Since : 1.26
GstH266Level
typedef enum { GST_H266_LEVEL_L1_0 = 16, GST_H266_LEVEL_L2_0 = 32, GST_H266_LEVEL_L2_1 = 35, GST_H266_LEVEL_L3_0 = 48, GST_H266_LEVEL_L3_1 = 51, GST_H266_LEVEL_L4_0 = 64, GST_H266_LEVEL_L4_1 = 67, GST_H266_LEVEL_L5_0 = 80, GST_H266_LEVEL_L5_1 = 83, GST_H266_LEVEL_L5_2 = 86, GST_H266_LEVEL_L6_0 = 96, GST_H266_LEVEL_L6_1 = 99, GST_H266_LEVEL_L6_2 = 102, GST_H266_LEVEL_L6_3 = 105, } GstH266Level;
H.266 level.
Members
GST_H266_LEVEL_L1_0
(16)
–
GST_H266_LEVEL_L2_0
(32)
–
GST_H266_LEVEL_L2_1
(35)
–
GST_H266_LEVEL_L3_0
(48)
–
GST_H266_LEVEL_L3_1
(51)
–
GST_H266_LEVEL_L4_0
(64)
–
GST_H266_LEVEL_L4_1
(67)
–
GST_H266_LEVEL_L5_0
(80)
–
GST_H266_LEVEL_L5_1
(83)
–
GST_H266_LEVEL_L5_2
(86)
–
GST_H266_LEVEL_L6_0
(96)
–
GST_H266_LEVEL_L6_1
(99)
–
GST_H266_LEVEL_L6_2
(102)
–
GST_H266_LEVEL_L6_3
(105)
–
Since : 1.26
GstH266NalUnitType
typedef enum { GST_H266_NAL_SLICE_TRAIL = 0, GST_H266_NAL_SLICE_STSA = 1, GST_H266_NAL_SLICE_RADL = 2, GST_H266_NAL_SLICE_RASL = 3, GST_H266_NAL_SLICE_IDR_W_RADL = 7, GST_H266_NAL_SLICE_IDR_N_LP = 8, GST_H266_NAL_SLICE_CRA = 9, GST_H266_NAL_SLICE_GDR = 10, GST_H266_NAL_OPI = 12, GST_H266_NAL_DCI = 13, GST_H266_NAL_VPS = 14, GST_H266_NAL_SPS = 15, GST_H266_NAL_PPS = 16, GST_H266_NAL_PREFIX_APS = 17, GST_H266_NAL_SUFFIX_APS = 18, GST_H266_NAL_PH = 19, GST_H266_NAL_AUD = 20, GST_H266_NAL_EOS = 21, GST_H266_NAL_EOB = 22, GST_H266_NAL_PREFIX_SEI = 23, GST_H266_NAL_SUFFIX_SEI = 24, GST_H266_NAL_FD = 25, } GstH266NalUnitType;
Indicates the types of H266 Nal Units as table 5 - NAL unit type codes and NAL unit type classes.
GST_H266_NAL_SLICE_TRAIL: Coded slice of a trailing picture or subpicture. GST_H266_NAL_SLICE_STSA: Coded slice of an STSA picture or subpicture. GST_H266_NAL_SLICE_RADL: Coded slice of a RADL picture or subpicture. GST_H266_NAL_SLICE_RASL: Coded slice of a RASL picture or subpicture. GST_H266_NAL_SLICE_IDR_W_RADL: Coded slice of an IDR picture or subpicture. GST_H266_NAL_SLICE_IDR_N_LP: Coded slice of an IDR picture or subpicture. GST_H266_NAL_SLICE_CRA: Coded slice of a CRA picture or subpicture. GST_H266_NAL_SLICE_GDR: Coded slice of a GDR picture or subpicture. GST_H266_NAL_OPI: Operating point information. GST_H266_NAL_DCI: Decoding capability information. GST_H266_NAL_VPS: Video parameter set(VPS). GST_H266_NAL_SPS: Sequence parameter set (SPS). GST_H266_NAL_PPS: Picture parameter set (PPS). GST_H266_NAL_PREFIX_APS: Prefix Adaptation parameter set (APS). GST_H266_NAL_SUFFIX_APS: Suffix Adaptation parameter set (APS). GST_H266_NAL_PH: Picture header (PH). GST_H266_NAL_AUD: AU delimiter. GST_H266_NAL_EOS: End of sequence (EOS). GST_H266_NAL_EOB: End of bitstream (EOB). GST_H266_NAL_PREFIX_SEI: Prefix Supplemental enhancement information. GST_H266_NAL_SUFFIX_SEI: Suffix Suppliemental enhancement information. GST_H266_NAL_FD: Filler data (FD).
Members
GST_H266_NAL_SLICE_TRAIL
(0)
–
GST_H266_NAL_SLICE_STSA
(1)
–
GST_H266_NAL_SLICE_RADL
(2)
–
GST_H266_NAL_SLICE_RASL
(3)
–
GST_H266_NAL_SLICE_IDR_W_RADL
(7)
–
GST_H266_NAL_SLICE_IDR_N_LP
(8)
–
GST_H266_NAL_SLICE_CRA
(9)
–
GST_H266_NAL_SLICE_GDR
(10)
–
GST_H266_NAL_OPI
(12)
–
GST_H266_NAL_DCI
(13)
–
GST_H266_NAL_VPS
(14)
–
GST_H266_NAL_SPS
(15)
–
GST_H266_NAL_PPS
(16)
–
GST_H266_NAL_PREFIX_APS
(17)
–
GST_H266_NAL_SUFFIX_APS
(18)
–
GST_H266_NAL_PH
(19)
–
GST_H266_NAL_AUD
(20)
–
GST_H266_NAL_EOS
(21)
–
GST_H266_NAL_EOB
(22)
–
GST_H266_NAL_PREFIX_SEI
(23)
–
GST_H266_NAL_SUFFIX_SEI
(24)
–
GST_H266_NAL_FD
(25)
–
Since : 1.26
GstH266ParserResult
typedef enum { GST_H266_PARSER_OK, GST_H266_PARSER_BROKEN_DATA, GST_H266_PARSER_BROKEN_LINK, GST_H266_PARSER_ERROR, GST_H266_PARSER_NO_NAL, GST_H266_PARSER_NO_NAL_END } GstH266ParserResult;
The result of parsing H266 data.
GST_H266_PARSER_OK: The parsing succeeded. GST_H266_PARSER_BROKEN_DATA: The data to parse is broken. GST_H266_PARSER_BROKEN_LINK: The link to structure needed for the parsing couldn't be found. GST_H266_PARSER_ERROR: An error accured when parsing. GST_H266_PARSER_NO_NAL: No nal found during the parsing. GST_H266_PARSER_NO_NAL_END: Start of the nal found, but not the end.
Members
GST_H266_PARSER_OK
(0)
–
GST_H266_PARSER_BROKEN_DATA
(1)
–
GST_H266_PARSER_BROKEN_LINK
(2)
–
GST_H266_PARSER_ERROR
(3)
–
GST_H266_PARSER_NO_NAL
(4)
–
GST_H266_PARSER_NO_NAL_END
(5)
–
Since : 1.26
GstH266Profile
typedef enum { GST_H266_PROFILE_INVALID = -1, GST_H266_PROFILE_NONE = 0, GST_H266_PROFILE_INTRA = 8, GST_H266_PROFILE_STILL_PICTURE = 64, GST_H266_PROFILE_MAIN_10 = 1, GST_H266_PROFILE_MAIN_10_STILL_PICTURE = GST_H266_PROFILE_MAIN_10 | GST_H266_PROFILE_STILL_PICTURE, GST_H266_PROFILE_MULTILAYER_MAIN_10 = 17, GST_H266_PROFILE_MULTILAYER_MAIN_10_STILL_PICTURE = GST_H266_PROFILE_MULTILAYER_MAIN_10 | GST_H266_PROFILE_STILL_PICTURE, GST_H266_PROFILE_MAIN_10_444 = 33, GST_H266_PROFILE_MAIN_10_444_STILL_PICTURE = GST_H266_PROFILE_MAIN_10_444 | GST_H266_PROFILE_STILL_PICTURE, GST_H266_PROFILE_MULTILAYER_MAIN_10_444 = 49, GST_H266_PROFILE_MULTILAYER_MAIN_10_444_STILL_PICTURE = GST_H266_PROFILE_MULTILAYER_MAIN_10_444 | GST_H266_PROFILE_STILL_PICTURE, GST_H266_PROFILE_MAIN_12 = 2, GST_H266_PROFILE_MAIN_12_444 = 34, GST_H266_PROFILE_MAIN_16_444 = 35, GST_H266_PROFILE_MAIN_12_INTRA = GST_H266_PROFILE_MAIN_12 | GST_H266_PROFILE_INTRA, GST_H266_PROFILE_MAIN_12_444_INTRA = GST_H266_PROFILE_MAIN_12_444 | GST_H266_PROFILE_INTRA, GST_H266_PROFILE_MAIN_16_444_INTRA = GST_H266_PROFILE_MAIN_16_444 | GST_H266_PROFILE_INTRA, GST_H266_PROFILE_MAIN_12_STILL_PICTURE = GST_H266_PROFILE_MAIN_12 | GST_H266_PROFILE_STILL_PICTURE, GST_H266_PROFILE_MAIN_12_444_STILL_PICTURE = GST_H266_PROFILE_MAIN_12_444 | GST_H266_PROFILE_STILL_PICTURE, GST_H266_PROFILE_MAIN_16_444_STILL_PICTURE = GST_H266_PROFILE_MAIN_16_444 | GST_H266_PROFILE_STILL_PICTURE, /* end of the profiles */ GST_H266_PROFILE_MAX } GstH266Profile;
H.266 Profiles.
GST_H266_PROFILE_MAIN_10: Main 10 profile (A.3.1). GST_H266_PROFILE_MAIN_10_STILL_PICTURE: Main 10 Still Picture profile (A.3.1). GST_H266_PROFILE_MULTILAYER_MAIN_10: MultiLayer Main 10 profile (A.3.3). GST_H266_PROFILE_MULTILAYER_MAIN_10_STILL_PICTURE: MultiLayer Main 10 Still Picture profile (A.3.3). GST_H266_PROFILE_MAIN_10_444: Main 10 4:4:4 profile (A.3.2). GST_H266_PROFILE_MAIN_10_444_STILL_PICTURE: Main 10 4:4:4 Still Picture profile (A.3.2). GST_H266_PROFILE_MULTILAYER_MAIN_10_444: MultiLayer Main 10 4:4:4 profile (A.3.4). GST_H266_PROFILE_MULTILAYER_MAIN_10_444_STILL_PICTURE: MultiLayer Main 10 4:4:4 Still Picture profile (A.3.4). GST_H266_PROFILE_MAIN_12: Main 12 profile (A.3.5). GST_H266_PROFILE_MAIN_12_444: Main 12 4:4:4 profile (A.3.5). GST_H266_PROFILE_MAIN_16_444: Main 16 4:4:4 profile (A.3.5). GST_H266_PROFILE_MAIN_12_INTRA: Main 12 Intra profile (A.3.5). GST_H266_PROFILE_MAIN_12_444_INTRA: Main 12 4:4:4 Intra profile (A.3.5). GST_H266_PROFILE_MAIN_16_444_INTRA: Main 16 4:4:4 Intra profile (A.3.5). GST_H266_PROFILE_MAIN_12_STILL_PICTURE: Main 12 Still Picture profile (A.3.5). GST_H266_PROFILE_MAIN_12_444_STILL_PICTURE: Main 12 4:4:4 Still Picture profile (A.3.5). GST_H266_PROFILE_MAIN_16_444_STILL_PICTURE: Main 16 4:4:4 Still Picture profile (A.3.5).
Members
GST_H266_PROFILE_INVALID
(-1)
–
GST_H266_PROFILE_NONE
(0)
–
GST_H266_PROFILE_INTRA
(8)
–
GST_H266_PROFILE_STILL_PICTURE
(64)
–
GST_H266_PROFILE_MAIN_10
(1)
–
GST_H266_PROFILE_MAIN_10_STILL_PICTURE
(65)
–
GST_H266_PROFILE_MULTILAYER_MAIN_10
(17)
–
GST_H266_PROFILE_MULTILAYER_MAIN_10_STILL_PICTURE
(81)
–
GST_H266_PROFILE_MAIN_10_444
(33)
–
GST_H266_PROFILE_MAIN_10_444_STILL_PICTURE
(97)
–
GST_H266_PROFILE_MULTILAYER_MAIN_10_444
(49)
–
GST_H266_PROFILE_MULTILAYER_MAIN_10_444_STILL_PICTURE
(113)
–
GST_H266_PROFILE_MAIN_12
(2)
–
GST_H266_PROFILE_MAIN_12_444
(34)
–
GST_H266_PROFILE_MAIN_16_444
(35)
–
GST_H266_PROFILE_MAIN_12_INTRA
(10)
–
GST_H266_PROFILE_MAIN_12_444_INTRA
(42)
–
GST_H266_PROFILE_MAIN_16_444_INTRA
(43)
–
GST_H266_PROFILE_MAIN_12_STILL_PICTURE
(66)
–
GST_H266_PROFILE_MAIN_12_444_STILL_PICTURE
(98)
–
GST_H266_PROFILE_MAIN_16_444_STILL_PICTURE
(99)
–
GST_H266_PROFILE_MAX
(100)
–
Since : 1.26
GstH266SEIPayloadType
typedef enum { GST_H266_SEI_BUF_PERIOD = 0, GST_H266_SEI_PIC_TIMING = 1, GST_H266_SEI_REGISTERED_USER_DATA = 4, GST_H266_SEI_USER_DATA_UNREGISTERED = 5, GST_H266_SEI_DU_INFO = 130, GST_H266_SEI_SCALABLE_NESTING = 133, GST_H266_SEI_FRAME_FIELD_INFO = 168, GST_H266_SEI_SUBPIC_LEVEL_INFO = 203, /* and more... */ } GstH266SEIPayloadType;
The type of SEI message. More other SEIs are specified in Rec.ITU-T H.274 | ISO/IEC 23002-7.
GST_H266_SEI_BUF_PERIOD: Buffering Period SEI Message. GST_H266_SEI_PIC_TIMING: Picture Timing SEI Message. GST_H266_SEI_REGISTERED_USER_DATA: Registered user data. GST_H266_SEI_USER_DATA_UNREGISTERED: User data Unregistered. GST_H266_SEI_DU_INFO: DU Information SEI Message. GST_H266_SEI_SCALABLE_NETING: Scalable Nesting SEI Message. GST_H266_SEI_FRAME_FIELD_INFO: Frame Field Info SEI Message. GST_H266_SEI_SUBPIC_LEVEL_INFO: Subpicture Level Information SEI.
Members
GST_H266_SEI_BUF_PERIOD
(0)
–
GST_H266_SEI_PIC_TIMING
(1)
–
GST_H266_SEI_REGISTERED_USER_DATA
(4)
–
GST_H266_SEI_USER_DATA_UNREGISTERED
(5)
–
GST_H266_SEI_DU_INFO
(130)
–
GST_H266_SEI_SCALABLE_NESTING
(133)
–
GST_H266_SEI_FRAME_FIELD_INFO
(168)
–
GST_H266_SEI_SUBPIC_LEVEL_INFO
(203)
–
Since : 1.26
GstH266SliceType
typedef enum { GST_H266_B_SLICE = 0, GST_H266_P_SLICE = 1, GST_H266_I_SLICE = 2 } GstH266SliceType;
Types of Picture slice.
GST_H266_B_SLICE: B slice type. GST_H266_P_SLICE: P slice type. GST_H266_I_SLICE: I slice type.
Members
GST_H266_B_SLICE
(0)
–
GST_H266_P_SLICE
(1)
–
GST_H266_I_SLICE
(2)
–
Since : 1.26
The results of the search are