The result of writing AV1 data into bit stream. The writing succeeded The input data to write is invalid The output does not have enough size An general error occurred when writing Parameters of Constrained Directional Enhancement Filter (CDEF). controls the amount of damping in the deringing filter. specifies the number of bits needed to specify which CDEF filter to apply. specify the strength of the primary filter (Y component) specify the strength of the secondary filter (Y component). specify the strength of the primary filter (UV components). specify the strength of the secondary filter (UV components). Unknown (in this case the source video transfer function must be signaled outside the AV1 bitstream). Horizontally co-located with (0, 0) luma sample, vertical position in the middle between two luma samples. co-located with (0, 0) luma sample. For future use. syntax element which, together with @seq_profile, determine the bit depth. is syntax elements which, together with @seq_profile and @high_bitdepth, determines the bit depth. equal to 1 indicates that the video does not contain U and V color planes. @mono_chrome equal to 0 indicates that the video contains Y, U, and V color planes. equal to 1 specifies that color_primaries, @transfer_characteristics, and @matrix_coefficients are present. @color_description_present_flag equal to 0 specifies that @color_primaries, @transfer_characteristics and @matrix_coefficients are not present. is an integer that is defined by the "Color primaries" section of ISO/IEC 23091-4/ITU-T H.273. is an integer that is defined by the "Transfer characteristics" section of ISO/IEC 23091-4/ITU-T H.273. is an integer that is defined by the "Matrix coefficients" section of ISO/IEC 23091-4/ITU-T H.273. is a binary value that is associated with the VideoFullRangeFlag variable specified in ISO/IEC 23091-4/ITU-T H.273. color range equal to 0 shall be referred to as the studio swing representation and color range equal to 1 shall be referred to as the full swing representation for all intents relating to this specification. @subsampling_x, @subsampling_y: specify the chroma subsampling format. If @matrix_coefficients is equal to GST_AV1_MC_IDENTITY, it is a requirement of bitstream conformance that @subsampling_x is equal to 0 and @subsampling_y is equal to 0. @chroma_sample_position specifies the sample position for subsampled streams: equal to 1 indicates that the U and V planes may have separate delta quantizer values. @separate_uv_delta_q equal to 0 indicates that the U and V planes will share the same delta quantizer value. BT.709 Unspecified BT.470 System M (historical) BT.470 System B, G (historical), BT.601 SMPTE 240 Generic film (color filters using illuminant C, BT.2020, BT.2100, SMPTE 428 (CIE 1921 XYZ), SMPTE RP 431-2 SMPTE EG 432-1 EBU Tech. 3213-E plus 1 specifies the length of the @decoder_buffer_delay and the @encoder_buffer_delay syntax elements, in bits. is the number of time units of a decoding clock operating at the frequency @time_scale Hz that corresponds to one increment of a clock tick counter. plus 1 specifies the length of the @buffer_removal_time syntax element, in bits. plus 1 specifies the length of the @frame_presentation_time syntax element, in bits. equal to 1 specifies that film grain should be added to this frame. apply_grain equal to 0 specifies that film grain should not be added. specifies the starting value for the pseudo-random numbers used during film grain synthesis. equal to 1 means that a new set of parameters should be sent. @update_grain equal to 0 means that the previous set of parameters should be used. indicates which reference frame contains the film grain parameters to be used for this frame. specifies the number of points for the piece-wise linear scaling function of the luma component. It is a requirement of bitstream conformance that @num_y_points is less than or equal to 14. represents the x (luma value) coordinate for the i-th point of the piecewise linear scaling function for luma component. The values are signaled on the scale of 0..255. (In case of 10 bit video, these values correspond to luma values divided by 4. In case of 12 bit video, these values correspond to luma values divided by 16.) If i is greater than 0, it is a r equirement of bitstream conformance that @point_y_value[ i ] is greater than @point_y_value[ i - 1 ] (this ensures the x coordinates are specified in increasing order). represents the scaling (output) value for the i-th point of the piecewise linear scaling function for luma component. specifies that the chroma scaling is inferred from the luma scaling. specifies the number of points for the piece-wise linear scaling function of the cb component. It is a requirement of bitstream conformance that @num_cb_points is less than or equal to 10. represents the x coordinate for the i-th point of the piece-wise linear scaling function for cb component. The values are signaled on the scale of 0..255. If i is greater than 0, it is a requirement of bitstream conformance that point_cb_value[ i ] is greater than point_cb_value[ i - 1 ]. represents the scaling (output) value for the i-th point of the piecewise linear scaling function for cb component. specifies represents the number of points for the piece-wise linear scaling function of the cr component. It is a requirement of bitstream conformance that num_cr_points is less than or equal to 10. If subsampling_x is equal to 1 and @subsampling_y is equal to 1 and num_cb_points is equal to 0, it is a requirement of bitstream conformance that num_cr_points is equal to 0. If @subsampling_x is equal to 1 and @subsampling_y is equal to 1 and @num_cb_points is not equal to 0, it is a requirement of bitstream conformance that @num_cr_points is not equal to 0. represents the x coordinate for the i-th point of the piece-wise linear scaling function for cr component. The values are signaled on the scale of 0..255. If i is greater than 0, it is a requirement of bitstream conformance that @point_cr_value[ i ] is greater than @point_cr_value[ i - 1 ]. represents the scaling (output) value for the i-th point of the piecewise linear scaling function for cr component. represents the shift - 8 applied to the values of the chroma component. The @grain_scaling_minus_8 can take values of 0..3 and determines the range and quantization step of the standard deviation of film grain. specifies the number of auto-regressive coefficients for luma and chroma. specifies auto-regressive coefficients used for the Y plane. specifies auto-regressive coefficients used for the U plane. specifies auto-regressive coefficients used for the V plane. specifies the range of the auto-regressive coefficients. Values of 0, 1, 2, and 3 correspond to the ranges for auto-regressive coefficients of [-2, 2), [-1, 1), [-0.5, 0.5) and [-0.25, 0.25) respectively. specifies how much the Gaussian random numbers should be scaled down during the grain synthesis process. represents a multiplier for the cb component used in derivation of the input index to the cb component scaling function. represents a multiplier for the average luma component used in derivation of the input index to the cb component scaling function. represents an offset used in derivation of the input index to the cb component scaling function. represents a multiplier for the cr component used in derivation of the input index to the cr component scaling function. represents a multiplier for the average luma component used in derivation of the input index to the cr component scaling function. represents an offset used in derivation of the input index to the cr component scaling function. equal to 1 indicates that the overlap between film grain blocks shall be applied. overlap_flag equal to 0 indicates that the overlap between film grain blocks shall not be applied. equal to 1 indicates that clipping to the restricted (studio) range shall be applied to the sample values after adding the film grain (see the semantics for color_range for an explanation of studio swing). clip_to_restricted_range equal to 0 indicates that clipping to the full range shall be applied to the sample values after adding the film grain. equal to 1, indicates the frame indexed by @frame_to_show_map_idx is to be output; @show_existing_frame equal to 0 indicates that further processing is required. If @obu_type is equal to %GST_AV1_OBU_FRAME, it is a requirement of bitstream conformance that @show_existing_frame is equal to 0. specifies the frame to be output. It is only available if @show_existing_frame is 1. specifies the presentation time of the frame in clock ticks DispCT counted from the removal time of the last frame with frame_type equal to KEY_FRAME for the operating point that is being decoded. The syntax element is signaled as a fixed length unsigned integer with a length in bits given by @frame_presentation_time_length_minus_1 + 1. The @frame_presentation_time is the remainder of a modulo 1 << (@frame_presentation_time_length_minus_1 + 1) counter. is a syntax element used by the decoder model. It does not affect the decoding process. provides the frame id number for the frame to output. It is a requirement of bitstream conformance that whenever @display_frame_id is read, the value matches @ref_frame_id[ @frame_to_show_map_idx ] (the value of @current_frame_id at the time that the frame indexed by @frame_to_show_map_idx was stored), and that @ref_valid[ @frame_to_show_map_idx ] is equal to 1. It is a requirement of bitstream conformance that the number of bits needed to read @display_frame_id does not exceed 16. This is equivalent to the constraint that idLen <= 16 specifies the type of the frame. equal to 1 specifies that this frame should be immediately output once decoded. show_frame equal to 0 specifies that this frame should not be immediately output. (It may be output later if a later uncompressed header uses @show_existing_frame equal to 1). equal to 1 specifies that the frame may be output using the @show_existing_frame mechanism. showable_frame equal to 0 specifies that this frame will not be output using the @show_existing_frame mechanism. It is a requirement of bitstream conformance that when @show_existing_frame is used to show a previous frame, that the value of @showable_frame for the previous frame was equal to 1. It is a requirement of bitstream conformance that a particular showable frame is output via the @show_existing_frame mechanism at most once. equal to 1 indicates that error resilient mode is enabled; @error_resilient_mode equal to 0 indicates that error resilient mode is disabled. specifies whether the CDF update in the symbol decoding process should be disabled. equal to 1 indicates that intra blocks may use palette encoding; @allow_screen_content_tools equal to 0 indicates that palette encoding is never used. equal to 1 specifies that motion vectors will always be integers. @force_integer_mv equal to 0 specifies that motion vectors can contain fractional bits. specifies the frame id number for the current frame. Frame id numbers are additional information that do not affect the decoding process, but provide decoders with a way of detecting missing reference frames so that appropriate action can be taken. equal to 0 specifies that the frame size is equal to the size in the sequence header. @frame_size_override_flag equal to 1 specifies that the frame size will either be specified as the size of one of the reference frames, or computed from the @frame_width_minus_1 and @frame_height_minus_1 syntax elements. is used to compute order_hint. specifies which reference frame contains the CDF values and other state that should be loaded at the start of the frame. equal to 1 specifies that @buffer_removal_time is present in the bitstream. @buffer_removal_time_present_flag equal to 0 specifies that @buffer_removal_time is not present in the bitstream. specifies the frame removal time in units of DecCT clock ticks counted from the removal time of the last frame with frame_type equal to KEY_FRAME for operating point opNum. @buffer_removal_time is signaled as a fixed length unsigned integer with a length in bits given by @buffer_removal_time_length_minus_1 + 1. @buffer_removal_time is the remainder of a modulo 1 << ( @buffer_removal_time_length_minus_1 + 1 ) counter. contains a bitmask that specifies which reference frame slots will be updated with the current frame after it is decoded. If @frame_type is equal to %GST_AV1_INTRA_ONLY_FRAME, it is a requirement of bitstream conformance that @refresh_frame_flags is not equal to 0xff. specifies the expected output order hint for each reference buffer. equal to 1 indicates that intra block copy may be used in this frame. allow_intrabc equal to 0 indicates that intra block copy is not allowed in this frame. equal to 1 indicates that only two reference frames are explicitly signaled. frame_refs_short_signaling equal to 0 indicates that all reference frames are explicitly signaled. specifies the reference frame to use for LAST_FRAME. specifies the reference frame to use for GOLDEN_FRAME. @ref_frame_idx[i]: specifies which reference frames are used by inter frames. @delta_frame_id_minus_1 is used to calculate @delta_frame_id. equal to 0 specifies that motion vectors are specified to quarter pel precision; @allow_high_precision_mv equal to 1 specifies that motion vectors are specified to eighth pel precision. equal to 0 specifies that only the SIMPLE motion mode will be used. equal to 1 specifies that motion vector information from a previous frame can be used when decoding the current frame. @use_ref_frame_mvs equal to 0 specifies that this information will not be used. equal to 1 indicates that the end of frame CDF update is disabled; @disable_frame_end_update_cdf equal to 0 indicates that the end of frame CDF update is enabled. equal to 1 indicates that the syntax element @motion_mode may be present. @allow_warped_motion equal to 0 indicates that the syntax element motion_mode will not be present (this means that LOCALWARP cannot be signaled if @allow_warped_motion is equal to 0). equal to 1 specifies that the frame is restricted to a reduced subset of the full set of transform types. equal to 0 means that the render width and height are inferred from the frame width and height. @render_and_frame_size_different equal to 1 means that the render width and height are explicitly coded in the bitstream. equal to 0 indicates that no upscaling is needed. @use_superres equal to 1 indicates that upscaling is needed. equal to 1 indicates that the filter selection is signaled at the block level; @is_filter_switchable equal to 0 indicates that the filter selection is signaled at the frame level. a #GstAV1InterpolationFilter that specifies the filter selection used for performing inter prediction. a #GstAV1LoopFilterParams holding the loop filter parameters. a #GstAV1QuantizationParams holding the quantization parameters. a #GstAV1SegmentationParams holding the segmentation parameters. a #GstAV1TileInfo holding the tile info. a #GstAV1CDEFParams holding the CDEF paramters. a #GstAV1LoopRestorationParams holding the loop restoration parameters. is used to compute TxMode. equal to 1 specifies that the syntax element @skip_mode will be coded in the bitstream. @skip_mode_present equal to 0 specifies that @skip_mode will not be used for this frame. equal to 1 specifies that the mode info for inter blocks contains the syntax element comp_mode that indicates whether to use single or compound reference prediction. Reference_select equal to 0 specifies that all interblocks will use single prediction. a #GstAV1GlobalMotionParams holding the global motion parameters. a #GstAV1FilmGrainParams holding the Film Grain parameters. is the denominator of a fraction that specifies the ratio between the superblock width before and after upscaling. if equal to 0 indicating that this frame may use inter prediction. specifies the expected output order for each reference frame. specifies the intended direction of the motion vector in time for each reference frame. is a variable that is equal to 1 when all segments use lossless encoding. is a variable that is equal to 1 when @coded_lossless is equal to 1 and @frame_width is equal to @upscaled_width. This indicates that the frame is fully lossless at the upscaled resolution. whether the segmentation is lossless. the segmentation's qm level. the upscaled width. the frame width. the frame height. the frame width to be rendered. the frame height to be rendered. specifies how the transform size is determined. specifies the frames to use for compound prediction when @skip_mode is 1. specifies the frame id for each frame used for reference. (Since: 1.24) specifies the global motion parameters of the reference. (Since: 1.24) a #GstAV1TileGroupOBU holding tile_group data. a #GstAV1FrameHeaderOBU holding frame_header data. no filtering is applied Wiener filter process is invoked self guided filter proces is invoked restoration filter is swichtable Key Frame InterFrame Intra-Only Frame Switch Frame specifies whether global motion parameters are present for a particular reference frame. specifies whether a particular reference frame uses rotation and zoom global motion. specifies whether a particular reference frame uses translation global motion. is set equal to SavedGmParams[ frame_to_show_map_idx ][ ref ][ j ] for ref = LAST_FRAME..ALTREF_FRAME, for j = 0..5. specifying the type of global motion. whether this global motion parameters is invalid. (Since: 1.20) Eighttap Eighttap Smooth Eighttap Sharp Bilinear Filter is swichtable is an array containing loop filter strength values. Different loop filter strength values from the array are used depending on the image plane being filtered, and the edge direction (vertical or horizontal) being filtered. indicates the sharpness level. The @loop_filter_level and @loop_filter_sharpness together determine when a block edge is filtered, and by how much the filtering can change the sample values. The loop filter process is described in AV1 Bitstream Spec. section 7.14. equal to 1 means that the filter level depends on the mode and reference frame used to predict a block. @loop_filter_delta_enabled equal to 0 means that the filter level does not depend on the mode and reference frame. equal to 1 means that the bitstream contains additional syntax elements that specify which mode and reference frame deltas are to be updated. @loop_filter_delta_update equal to 0 means that these syntax elements are not present. contains the adjustment needed for the filter level based on the chosen reference frame. If this syntax element is not present in the bitstream, it maintains its previous value. contains the adjustment needed for the filter level based on the chosen mode. If this syntax element is not present in the bitstream, it maintains its previous value. specifies whether loop filter delta values are present in the bitstream. specifies the left shift which should be applied to decoded loop filter delta values. equal to 1 specifies that separate loop filter deltas are sent for horizontal luma edges, vertical luma edges, the U edges, and the V edges. @delta_lf_multi equal to 0 specifies that the same loop filter delta is used for all edges. specifies if the luma restoration size should be halved. is only present for 4:2:0 formats and specifies if the chroma size should be half the luma size. specifies the type of restoration used for each plane. specifies the size of loop restoration units in units of samples in the current plane. indicates if any plane uses loop restoration. Identity matrix BT.709 Unspecified For future use US FCC 73.628 BT.470 System B, G (historical) BT.601 SMPTE 240 M YCgCo BT.2020 non-constant luminance, BT.2100 YCbCr BT.2020 constant luminance SMPTE ST 2085 YDzDx Chromaticity-derived non-constant luminance Chromaticity-derived constant luminancw BT.2100 ICtCp High Dynamic Range content light level syntax metadata. specifies the maximum content light level as specified in CEA-861.3, Appendix A. specifies the maximum frame-average light level as specified in CEA-861.3, Appendix A. High Dynamic Range mastering display color volume metadata. specifies a 0.16 fixed-point X chromaticity coordinate as defined by CIE 1931, where i = 0,1,2 specifies Red, Green, Blue respectively. specifies a 0.16 fixed-point Y chromaticity coordinate as defined by CIE 1931, where i = 0,1,2 specifies Red, Green, Blue respectively. specifies a 0.16 fixed-point white X chromaticity coordinate as defined by CIE 1931. specifies a 0.16 fixed-point white Y chromaticity coordinate as defined by CIE 1931. is a 24.8 fixed-point maximum luminance, represented in candelas per square meter. is a 18.14 fixed-point minimum luminance, represented in candelas per square meter. shall be a byte having a value specified as a country code by Annex A of Recommendation ITU-T T.35. shall be bytes containing data registered as specified in Recommendation ITU-T T.35. type of metadata The scalability metadata OBU is intended for use by intermediate processing entities that may perform selective layer elimination. indicates the picture prediction structure of the bitstream. indicates the number of spatial layers present in the video sequence minus one. indicates when set to 1 that the @spatial_layer_max_width and @spatial_layer_max_height parameters are present for each of the (@spatial_layers_cnt_minus_1 + 1) layers, or that it they are not present when set to 0. indicates when set to 1 that the spatial_layer_ref_id is present for each of the (@spatial_layers_cnt_minus_1 + 1) layers, or that it is not present when set to 0. indicates when set to 1 that the temporal dependency information is present, or that it is not when set to 0. specifies the maximum frame width for the frames with @spatial_id equal to i. This number must not be larger than @max_frame_width_minus_1 + 1. specifies the maximum frame height for the frames with @spatial_id equal to i. This number must not be larger than @max_frame_height_minus_1 + 1. specifies the @spatial_id value of the frame within the current temporal unit that the frame of layer i uses for reference. If no frame within the current temporal unit is used for reference the value must be equal to 255. indicates the number of pictures in a temporal picture group. If the @temporal_group_size is greater than 0, then the scalability structure data allows the inter-picture temporal dependency structure of the video sequence to be specified. If the @temporal_group_size is greater than 0, then for @temporal_group_size pictures in the temporal group, each picture's temporal layer id (@temporal_id), switch up points (@temporal_group_temporal_switching_up_point_flag and @temporal_group_spatial_switching_up_point_flag), and the reference picture indices (@temporal_group_ref_pic_diff) are specified. The first picture specified in a temporal group must have @temporal_id equal to 0. If the parameter @temporal_group_size is not present or set to 0, then either there is only one temporal layer or there is no fixed inter-picture temporal dependency present going forward in the video sequence. Note that for a given picture, all frames follow the same inter-picture temporal dependency structure. However, the frame rate of each layer can be different from each other. The specified dependency structure in the scalability structure data must be for the highest frame rate layer. specifies the temporal_id value for the i-th picture in the temporal group. is set to 1 if subsequent (in decoding order) pictures with a @temporal_id higher than @temporal_group_temporal_id[i] do not depend on any picture preceding the current picture (in coding order) with @temporal_id higher than @temporal_group_temporal_id[ i ]. is set to 1 if spatial layers of the current picture in the temporal group (i.e., pictures with a spatial_id higher than zero) do not depend on any picture preceding the current picture in the temporal group. indicates the number of reference pictures used by the i-th picture in the temporal group. indicates, for the i-th picture in the temporal group, the temporal distance between the i-th picture and the j-th reference picture used by the i-th picture. The temporal distance is measured in frames, counting only frames of identical @spatial_id values. specifies the method of dropping values of the n_frames syntax element as specified in AV1 Spec 6.1.1. @counting_type should be the same for all pictures in the coded video sequence. equal to 1 indicates that the the @seconds_value, @minutes_value, @hours_value syntax elements will be present. @full_timestamp_flag equal to 0 indicates that there are flags to control the presence of these syntax elements. equal to 0 indicates that the difference between the current value of clockTimestamp and the value of clockTimestamp computed from the previous set of timestamp syntax elements in output order can be interpreted as the time difference between the times of origin or capture of the associated frames or fields. @discontinuity_flag equal to 1 indicates that the difference between the current value of clockTimestamp and the value of clockTimestamp computed from the previous set of clock timestamp syntax elements in output order should not be interpreted as the time difference between the times of origin or capture of the associated frames or fields. specifies the skipping of one or more values of @n_frames using the counting method specified by counting_type. is used to compute clockTimestamp. When @timing_info_present_flag is equal to 1, @n_frames shall be less than maxFps, where maxFps is specified by maxFps = ceil( time_scale / ( 2 * @num_units_in_display_tick ) ). equal to 1 specifies that @seconds_value and @minutes_flag are present when @full_timestamp_flag is equal to 0. @seconds_flag equal to 0 specifies that @seconds_value and @minutes_flag are not present. is used to compute clockTimestamp and shall be in the range of 0 to 59. When @seconds_value is not present, its value is inferred to be equal to the value of @seconds_value for the previous set of clock timestamp syntax elements in decoding order, and it is required that such a previous @seconds_value shall have been present. equal to 1 specifies that @minutes_value and @hours_flag are present when @full_timestamp_flag is equal to 0 and @seconds_flag is equal to 1. @minutes_flag equal to 0 specifies that @minutes_value and @hours_flag are not present. specifies the value of mm used to compute clockTimestamp and shall be in the range of 0 to 59, inclusive. When minutes_value is not present, its value is inferred to be equal to the value of @minutes_value for the previous set of clock timestamp syntax elements in decoding order, and it is required that such a previous @minutes_value shall have been present. equal to 1 specifies that @hours_value is present when @full_timestamp_flag is equal to 0 and @seconds_flag is equal to 1 and @minutes_flag is equal to 1. is used to compute clockTimestamp and shall be in the range of 0 to 23, inclusive. When @hours_value is not present, its value is inferred to be equal to the value of @hours_value for the previous set of clock timestamp syntax elements in decoding order, and it is required that such a previous @hours_value shall have been present. greater than 0 specifies the length in bits of the @time_offset_value syntax element. @time_offset_length equal to 0 specifies that the @time_offset_value syntax element is not present. @time_offset_length should be the same for all pictures in the coded video sequence. is used to compute clockTimestamp. The number of bits used to represent @time_offset_value is equal to @time_offset_length. When @time_offset_value is not present, its value is inferred to be equal to 0. Reserved 0 Metadata high dynamic range content light level semantics Metadata high dynamic range mastering display color volume semantics Metadata scalability semantics Metadata ITUT T35 semantics Timecode semantics It is the general representation of AV1 OBU (Open Bitstream Unit). One OBU include its header and payload. a #GstAV1OBUHeader OBU Header the type of data structure contained in the OBU payload. references the current data chunk that holds the OBU size of the OBU, not include header size Collect info for OBU header and OBU extension header if obu_extension_flag == 1. the type of data structure contained in the OBU payload. indicates if OBU header extention is present. equal to 1 indicates that the obu_size syntax element will be present. @obu_has_size_field equal to 0 indicates that the @obu_size syntax element will not be present. specifies the temporal level of the data contained in the OBU. specifies the spatial level of the data contained in the OBU. Defines all the possible OBU types Reserved 0 Sequence Header OBU Temporal Delimiter OBU Frame Header OBU Tile Group OBU Metadata OBU Frame OBU (includes Frame Header and one Tile Group) Redundant Frame Header OBU Tile LIst OBU Reserved 9 Reserved 10 Reserved 11 Reserved 12 Reserved 13 Reserved 14 Padding specifies the level that the coded video sequence conforms to. specifies the tier that the coded video sequence conforms to. contains a bitmask that indicates which spatial and temporal layers should be decoded. Bit k is equal to 1 if temporal layer k should be decoded (for k between 0 and 7). Bit j+8 is equal to 1 if spatial layer j should be decoded (for j between 0 and 3). equal to one indicates that there is a decoder model associated with this operating point. @decoder_model_present_for_this_op equal to zero indicates that there is not a decoder model associated. specifies the time interval between the arrival of the first bit in the smoothing buffer and the subsequent removal of the data that belongs to the first coded frame for operating point op, measured in units of 1/90000 seconds. The length of @decoder_buffer_delay is specified by @buffer_delay_length_minus_1 + 1, in bits. specifies, in combination with @decoder_buffer_delay syntax element, the first bit arrival time of frames to be decoded to the smoothing buffer. @encoder_buffer_delay is measured in units of 1/90000 seconds. For a video sequence that includes one or more random access points the sum of @decoder_buffer_delay and @encoder_buffer_delay shall be kept constant. equal to 1 indicates that the smoothing buffer operates in low-delay mode for operating point op. In low-delay mode late decode times and buffer underflow are both permitted. @low_delay_mode_flag equal to 0 indicates that the smoothing buffer operates in strict mode, where buffer underflow is not allowed. equal to 1 indicates that @initial_display_delay_minus_1 is specified for this operating. 0 indicates that @initial_display_delay_minus_1 is not specified for this operating point. plus 1 specifies, for operating point i, the number of decoded frames that should be present in the buffer pool before the first presentable frame is displayed. This will ensure that all presentable frames in the sequence can be decoded at or before the time that they are scheduled for display. For more details about the structures, you can refer to the AV1 Bitstream & Decoding Process Specification V1.0.0 [specification](https://aomediacodec.github.io/av1-spec/av1-spec.pdf) It offers you bitstream parsing of low overhead bistream format (Section 5) or Annex B according to the setting of the parser. By calling the function of gst_av1_parser_reset(), user can switch between bistream mode and Annex B mode. To retrieve OBUs and parse its headers, you should firstly call the function of gst_av1_parser_identify_one_obu() to get the OBU type if succeeds or just discard the data if fails. Then, depending on the #GstAV1OBUType of the newly parsed #GstAV1OBU, you should call the differents functions to parse the structure details: * %GST_AV1_OBU_SEQUENCE_HEADER: gst_av1_parser_parse_sequence_header_obu() * %GST_AV1_OBU_TEMPORAL_DELIMITER: gst_av1_parser_parse_temporal_delimiter_obu() * %GST_AV1_OBU_FRAME: gst_av1_parser_parse_frame_obu() * %GST_AV1_OBU_FRAME_HEADER: gst_av1_parser_parse_frame_header_obu() * %GST_AV1_OBU_TILE_GROUP: gst_av1_parser_parse_tile_group_obu() * %GST_AV1_OBU_METADATA: gst_av1_parser_parse_metadata_obu() * %GST_AV1_OBU_REDUNDANT_FRAME_HEADER: gst_av1_parser_parse_frame_header_obu() * %GST_AV1_OBU_TILE_LIST: gst_av1_parser_parse_tile_list_obu() Note: Some parser functions are dependent on information provided in the sequence header and reference frame's information. It maintains a state inside itself, which contains all global vars and reference information during the whole parsing process. Calling gst_av1_parser_reset() or a new sequence's arriving can clear and reset this inside state. After successfully handled a frame(for example, decode a frame successfully), you should call gst_av1_parser_reference_frame_update() to update the parser's inside state(such as reference information, global segmentation information, etc). If parser is not %NULL, frees its allocated memory. It cannot be used afterwards. the #GstAV1Parser to free Identify one @obu's type from the incoming data stream. This function should be called first to know the type of @obu before other parse APIs. The #GstAV1ParserResult. the #GstAV1Parser the data to parse the size of @data a #GstAV1OBU to store the identified result the consumed data size Parse one frame header @obu based on the @parser context, store the result in the @frame. The #GstAV1ParserResult. the #GstAV1Parser a #GstAV1OBU to be parsed a #GstAV1FrameHeaderOBU to store the parsed result. Parse one frame @obu based on the @parser context, store the result in the @frame. The #GstAV1ParserResult. the #GstAV1Parser a #GstAV1OBU to be parsed a #GstAV1FrameOBU to store the parsed result. Parse one meta data @obu based on the @parser context. The #GstAV1ParserResult. the #GstAV1Parser a #GstAV1OBU to be parsed a #GstAV1MetadataOBU to store the parsed result. Parse one sequence header @obu based on the @parser context, store the result in the @seq_header. The #GstAV1ParserResult. the #GstAV1Parser a #GstAV1OBU to be parsed a #GstAV1SequenceHeaderOBU to store the parsed result. Parse one temporal delimiter @obu based on the @parser context. The temporal delimiter is just delimiter and contains no content. The #GstAV1ParserResult. the #GstAV1Parser a #GstAV1OBU to be parsed Parse one tile group @obu based on the @parser context, store the result in the @tile_group. The #GstAV1ParserResult. the #GstAV1Parser a #GstAV1OBU to be parsed a #GstAV1TileGroupOBU to store the parsed result. Parse one tile list @obu based on the @parser context, store the result in the @tile_list. It is for large scale tile coding mode. The #GstAV1ParserResult. the #GstAV1Parser a #GstAV1OBU to be parsed a #GstAV1TileListOBU to store the parsed result. Update the context of @frame_header to parser's state. This function is used when we finish one frame's decoding/showing, and need to update info such as reference, global parameters. The #GstAV1ParserResult. the #GstAV1Parser a #GstAV1FrameHeaderOBU to load Reset the current #GstAV1Parser's state totally. the #GstAV1Parser indicate whether conforms to annex b Only reset the current #GstAV1Parser's annex b context. The other part of the state is kept. the #GstAV1Parser Set the operating point to filter OBUs. The #GstAV1ParserResult. the #GstAV1Parser the operating point to set Allocates a new #GstAV1Parser, a newly-allocated #GstAV1Parser Defines the result of parser process successful return the parser needs more data for one OBU no need to handle this OBU, skip it stream error, for example, include invalid bits no reference, for example, no sequence found something like invalid parameters Defines the AV1 profiles 8-bit and 10-bit 4:2:0 and 4:0:0 only. 8-bit and 10-bit 4:4:4. 8-bit and 10-bit 4:2:2, 12-bit 4:0:0 4:2:2 and 4:4:4 unknow AV1 profile indicates the base frame qindex. This is used for Y AC coefficients and as the base value for the other quantizers. equal to 1 indicates that the U and V delta quantizer values are coded separately. @diff_uv_delta equal to 0 indicates that the U and V delta quantizer values share a common value. specifies that the quantizer matrix will be used to compute quantizers. specifies the level in the quantizer matrix that should be used for luma plane decoding. specifies the level in the quantizer matrix that should be used for chroma U plane decoding. specifies the level in the quantizer matrix that should be used for chroma V plane decoding. specifies whether quantizer index delta values are present in the bitstream. specifies the left shift which should be applied to decoded quantizer index delta values. indicates the Y DC quantizer relative to base_q_idx. indicates the U DC quantizer relative to base_q_idx. indicates the U AC quantizer relative to base_q_idx. indicates the V DC quantizer relative to base_q_idx. indicates the V AC quantizer relative to base_q_idx. Intra Frame Reference Last Reference Frame Last2 Reference Frame Last3 Reference Frame Golden Reference Frame BWD Reference Frame Alternative2 Reference Frame Alternative Reference Frame Total Reference Frame Number All the info related to a reference frames. 1 spatial layer, 2 temporal layers 1 spatial layer, 3 temporal layers 2 spatial layer (ratio 2:1), 1 temporal layer, inter-layer dependency 2 spatial layer (ratio 2:1), 2 temporal layer, inter-layer dependency 2 spatial layer (ratio 2:1), 3 temporal layer, inter-layer dependency 2 spatial layer (ratio 2:1), 1 temporal layer 2 spatial layer (ratio 2:1), 2 temporal layer 2 spatial layer (ratio 2:1), 3 temporal layer 2 spatial layer (ratio 1.5:1), 1 temporal layer, inter-layer dependency 2 spatial layer (ratio 1.5:1), 2 temporal layer, inter-layer dependency 2 spatial layer (ratio 1.5:1), 3 temporal layer, inter-layer dependency 2 spatial layer (ratio 1.5:1), 1 temporal layer 2 spatial layer (ratio 1.5:1), 2 temporal layer 2 spatial layer (ratio 1.5:1), 3 temporal layer Use scalability structure #GstAV1MetadataScalability equal to 1 indicates that this frame makes use of the segmentation tool; @segmentation_enabled equal to 0 indicates that the frame does not use segmentation. equal to 1 indicates that the segmentation map are updated during the decoding of this frame. @segmentation_update_map equal to 0 means that the segmentation map from the previous frame is used. equal to 1 indicates that the updates to the segmentation map are coded relative to the existing segmentation map. @segmentation_temporal_update equal to 0 indicates that the new segmentation map is coded without reference to the existing segmentation map. equal to 1 indicates that new parameters are about to be specified for each segment. @segmentation_update_data equal to 0 indicates that the segmentation parameters should keep their existing values. set to 1 when the feature of segmentation is enabled. the value of according segmentation feature. equal to 1 indicates that the segment id will be read before the skip syntax element. @seg_id_pre_skip equal to 0 indicates that the skip syntax element will be read first. indicates the highest numbered segment id that has some enabled feature. This is used when decoding the segment id to only decode choices corresponding to used segments. Defines all the possible OBU types Level 2.0 Level 2.1 Level 2.2 Level 2.3 Level 3.0 Level 3.1 Level 3.2 Level 3.3 Level 4.0 Level 4.1 Level 4.2 Level 4.3 Level 5.0 Level 5.1 Level 5.2 Level 5.3 Level 6.0 Level 6.1 Level 6.2 Level 6.3 Level 7.0 Level 7.1 Level 7.2 Level 7.3 all valid levels Maximum parameters specifies the features that can be used in the coded video sequence equal to 1 specifies that the bitstream contains only one coded frame. specifies that the syntax elements not needed by a still picture are omitted. specifies the number of bits minus 1 used for transmitting the frame width syntax elements. specifies the number of bits minus 1 used for transmitting the frame height syntax elements. specifies the maximum frame width minus 1 for the frames represented by this sequenceheader. specifies the maximum frame height minus 1 for the frames represented by this sequenceheader. specifies whether frame id numbers are present in the bitstream. specifies the number of bits minus 2 used to encode delta_frame_id syntax elements. is used to calculate the number of bits used to encode the frame_id syntax element. when equal to 1, indicates that superblocks contain 128x128 luma samples. When equal to 0, it indicates that superblocks contain 64x64 luma samples. (The number of contained chroma samples depends on @subsampling_x and @subsampling_y). equal to 1 specifies that the @use_filter_intra syntax element may be present. @enable_filter_intra equal to 0 specifies that the @use_filter_intra syntax element will not be present. specifies whether the intra edge filtering process should be enabled. equal to 1 specifies that the mode info for inter blocks may contain the syntax element interintra. @enable_interintra_compound equal to 0 specifies that the syntax element interintra will not be present. equal to 1 specifies that the mode info for inter blocks may contain the syntax element @compound_type. @enable_masked_compound equal to 0 specifies that the syntax element @compound_type will not be present. equal to 1 indicates that the allow_warped_motion syntax element may be present. @enable_warped_motion equal to 0 indicates that the @allow_warped_motion syntax element will not be present. equal to 1 indicates that tools based on the values of order hints may be used. @enable_order_hint equal to 0 indicates that tools based on order hints are disabled. equal to 1 indicates that the inter prediction filter type may be specified independently in the horizontal and vertical directions. If the flag is equal to 0, only one filter type may be specified, which is then used in both directions. equal to 1 indicates that the distance weights process may be used for inter prediction. equal to 1 indicates that the @use_ref_frame_mvs syntax element may be present. @enable_ref_frame_mvs equal to 0 indicates that the @use_ref_frame_mvs syntax element will not be present. equal to 0 indicates that the @seq_force_screen_content_tools syntax element will be present. @seq_choose_screen_content_tools equal to 1 indicates that @seq_force_screen_content_tools should be set equal to SELECT_SCREEN_CONTENT_TOOLS. equal to SELECT_SCREEN_CONTENT_TOOLS indicates that the @allow_screen_content_tools syntax element will be present in the frame header. Otherwise, @seq_force_screen_content_tools contains the value for @allow_screen_content_tools. equal to 0 indicates that the seq_force_integer_mv syntax element will be present. @seq_choose_integer_mv equal to 1 indicates that @seq_force_integer_mv should be set equal to SELECT_INTEGER_MV. equal to SELECT_INTEGER_MV indicates that the @force_integer_mv syntax element will be present in the frame header (providing allow_screen_content_tools is equal to 1). Otherwise, @seq_force_integer_mv contains the value for @force_integer_mv. is used to compute OrderHintBits. equal to 1 specifies that the use_superres syntax element will be present in the uncompressed header. enable_superres equal to 0 specifies that the use_superres syntax element will not be present (instead use_superres will be set to 0 in the uncompressed header without being read). equal to 1 specifies that cdef filtering may be enabled. enable_cdef equal to 0 specifies that cdef filtering is disabled. equal to 1 specifies that loop restoration filtering may be enabled. enable_restoration equal to 0 specifies that loop restoration filtering is disabled. specifies whether film grain parameters are present in the bitstream. indicates the number of operating points minus 1 present in this bitstream. specifies the corresponding operating point for a set of operating parameters. specifies whether the decoder model info is present in the bitstream. holds information about the decoder model. specifies whether initial display delay information is present in the bitstream or not. specifies whether timing info is present in the bitstream. holds the timing information. hold the color configuration. specifies the number of bits used for the order_hint syntax element. the bit depth of the stream. the YUV plane number. the inverse transform will use only 4x4 transforms. the inverse transform will use the largest transform size that fits inside the block. the choice of transform size is specified explicitly for each block. specifies whether @tg_start and @tg_end are present in the bitstream. If @tg_start and @tg_end are not present in the bitstream, this tile group covers the entire frame. If @obu_type is equal to %GST_AV1_OBU_FRAME, it is a requirement of bitstream conformance that the value of @tile_start_and_end_present_flag is equal to 0. specifies the zero-based index of the first tile in the current tile group. It is a requirement of bitstream conformance that the value of @tg_start is equal to the value of TileNum at the point that tile_group_obu is invoked. specifies the zero-based index of the last tile in the current tile group. It is a requirement of bitstream conformance that the value of tg_end is greater than or equal to tg_start. It is a requirement of bitstream conformance that the value of tg_end for the last tile group in each frame is equal to num_tiles-1. specifies the total number of tiles in the frame. equal to 1 means that the tiles are uniformly spaced across the frame. (In other words, all tiles are the same size except for the ones at the right and bottom edge which can be smaller.) @uniform_tile_spacing_flag equal to 0 means that the tile sizes are coded. is used to compute @tile_rows_log2. specifies the width of a tile minus 1 in units of superblocks. specifies the height of a tile minus 1 in units of superblocks. is used to compute @tile_size_bytes specifies which tile to use for the CDF update. is an array specifying the start column (in units of 4x4 luma samples) for each tile across the image. is an array specifying the start row (in units of 4x4 luma samples) for each tile down the image. specifies the base 2 logarithm of the desired number of tiles across the frame. specifies the number of tiles across the frame. It is a requirement of bitstream conformance that @tile_cols is less than or equal to GST_AV1_MAX_TILE_COLS. specifies the base 2 logarithm of the desired number of tiles down the frame. specifies the number of tiles down the frame. It is a requirement of bitstream conformance that @tile_rows is less than or equal to GST_AV1_MAX_TILE_ROWS. specifies the number of bytes needed to code each tile size. plus one is the width of the output frame, in tile units. plus one is the height of the output frame, in tile units. plus one is the number of @tile_list_entry in the list. It is a requirement of bitstream conformance that @tile_count_minus_1 is less than or equal to 511. is the number of time units of a clock operating at the frequency @time_scale Hz that corresponds to one increment of a clock tick counter. A clock tick, in seconds, is equal to num_units_in_display_tick divided by time_scale. It is a requirement of bitstream conformance that num_units_in_display_tick is greater than 0. is the number of time units that pass in one second. It is a requirement of bitstream conformance that @time_scale is greater than 0. equal to 1 indicates that pictures should be displayed according to their output order with the number of ticks between two consecutive pictures (without dropping frames) specified by @num_ticks_per_picture_minus_1 + 1. @equal_picture_interval equal to 0 indicates that the interval between two consecutive pictures is not specified. plus 1 specifies the number of clock ticks corresponding to output time between two consecutive pictures in the output order. It is a requirement of bitstream conformance that the value of @num_ticks_per_picture_minus_1 shall be in the range of 0 to (1 << 32) - 2, inclusive. For future use BT.709 Unspecified For future use BT.470 System M (historical) BT.470 System B, G (historical) BT.601 SMPTE 240 M Linear Logarithmic (100 : 1 range) Logarithmic (100 * Sqrt(10) : 1 range) IEC 61966-2-4 BT.1361 sRGB or sYCC BT.2020 10-bit systems BT.2020 12-bit systems SMPTE ST 2084, ITU BT.2100 PQ SMPTE ST 428 BT.2100 HLG, ARIB STD-B67 Warp model is just an identity transform Warp model is a pure translation Warp model is a rotation + symmetric zoom + translation Warp model is a general affine transform The result of writing H264 data into bit stream. The writing succeeded The input data to write is invalid The output does not have enough size An general error occurred when writing indicates the scan type, 0: progressive, 1: interlaced, 2: unknown, 3: reserved used in calculating clockTimestamp specifies the method of dropping values of the n_frames equal to 1 specifies that the n_frames syntax element is followed by seconds_value, minutes_value, and hours_value (Since 1.18) indicates whether the difference between the current value of clockTimestamp and the value of clockTimestamp computed from the previous clock timestamp can be interpreted as the time difference or not. specifies the skipping of one or more values of n_frames using the counting method specified by counting_type specifies the value of nFrames used to compute clockTimestamp equal to 1 specifies that @seconds_value and minutes_flag are present when @full_timestamp_flag is equal to 0 specifies the value of seconds to compute clockTimestamp equal to 1 specifies that @minutes_value and hours_flag are present when @full_timestamp_flag is equal to 0 and @seconds_flag is equal to 1 specifies the value of minutes to compute clockTimestamp equal to 1 specifies that @hours_value is present when @full_timestamp_flag is equal to 0 and @seconds_flag is equal to 1 and @minutes_flag is equal to 1 specifies the value of tOffset used to compute clockTimestamp The upper bounds for the nominal target brightness light level as specified in CEA-861.3 D.2.31 Contains AVCDecoderConfigurationRecord data as defined in ISO/IEC 14496-15 Indicates configurationVersion, must be 1 H.264 profile indication H.264 profile compatibility H.264 level indiction Indicates the length in bytes of the NAL unit length field Array of identified #GstH264NalUnit from sequenceParameterSetNALUnit. This array may contain non-SPS nal units such as SEI message Array of identified #GstH264NalUnit from pictureParameterSetNALUnit. This array may contain non-PPS nal units such as SEI message %TRUE if chroma information is present. Otherwise below values have no meaning chroma_format_idc defined in ISO/IEC 14496-10 Indicates bit depth of luma component Indicates bit depth of chroma component Array of identified #GstH264NalUnit from sequenceParameterSetExtNALUnit. Free @config data a #GstH264DecoderConfigRecord data Frame packing arrangement types. A complete 2D frame without any frame packing Checkerboard based interleaving Column based interleaving Row based interleaving Side-by-side packing Deprecated; use GST_H264_FRAME_PACKING_TOP_BOTTOM instead Top-Bottom packing Temporal interleaving Defines the HRD parameters plus 1 specifies the number of alternative CPB specifications in the bitstream specifies the maximum input bit rate of the SchedSelIdx-th CPB specifies the CPB size of the SchedSelIdx-th CPB @guint32 bit_rate_value_minus1: specifies the maximum input bit rate for the SchedSelIdx-th CPB is used together with cpb_size_scale to specify the SchedSelIdx-th CPB size Specifies if running in constant or intermittent bit rate mode specifies the length in bits of the cpb_removal_delay syntax element specifies the length in bits of the dpb_output_delay syntax element >0 specifies the length in bits of the time_offset syntax element. =0 specifies that the time_offset syntax element is not present Length of the time offset H.264 level Level 1 Level 1b Level 1.1 Level 1.2 Level 1.3 Level 2 Level 2.1 Level 2.2 Level 3 Level 3.1 Level 3.2 Level 4 Level 4.1 Level 4.2 Level 5 Level 5.1 Level 5.2 Level 6 Level 6.1 Level 6.2 The colour volume (primaries, white point and luminance range) of display defined by SMPTE ST 2086. D.2.29 H264 NAL Parser (opaque structure). Frees @nalparser the #GstH264NalParser to free Creates a new #GstH264NalParser. It should be freed with gst_h264_nal_parser_free after use. a new #GstH264NalParser Structure defining the NAL unit headers not equal to 0 specifies that the content of the NAL unit contains a sequence parameter set, a sequence parameter set extension, a subset sequence parameter set, a picture parameter set, a slice of a reference picture, a slice data partition of a reference picture, or a prefix NAL unit preceding a slice of a reference picture. A #GstH264NalUnitType calculated idr_pic_flag The size of the NAL unit starting from @offset, thus including the header bytes. e.g. @type (nal_unit_type), but not the start code. The offset of the first byte of the NAL unit header, just after the start code. The offset of the first byte of the start code of the NAL unit. If the NAL unit is valid, which means it has already been parsed The data array from which the NAL unit has been parsed, into which the offset and sc_offset apply. The size of the NALU header in bytes. The NALU header is the 1-byte type code, and for extension / prefix NALs includes the extension header bytes. @offset + @header_bytes is therefore the first byte of the actual packet payload. (Since: 1.6) the extension type for prefix NAL/MVC/SVC (Since: 1.6) If equal to 0, it specifies that the current access unit is an IDR access unit The priority identifier for the NAL unit The view identifier for the NAL unit The temporal identifier for the NAL unit If equal to 1, it specifies that the current access unit is an anchor access unit If equal to 0, it specifies that the current view component is not used for inter-view prediction by any other view component in the current access unit Indicates the type of H.264 NAL unit extension. No NAL unit header extension is available NAL unit header extension for SVC (Annex G) NAL unit header extension for MVC (Annex H) Indicates the type of H264 Nal Units Unknown nal type Slice nal DPA slice nal DPB slice nal DPC slice nal DPR slice nal Supplemental enhancement information (SEI) nal unit Sequence parameter set (SPS) nal unit Picture parameter set (PPS) nal unit Access unit (AU) delimiter nal unit End of sequence nal unit End of stream nal unit Filler data nal lunit Sequence parameter set (SPS) extension NAL unit Prefix NAL unit Subset sequence parameter set (SSPS) NAL unit Depth parameter set (DPS) NAL unit First reserved parameter Second reserved parameter Auxiliary coded picture without partitioning NAL unit Coded slice extension NAL unit Coded slice extension for depth or 3D-AVC texture view H264 Picture Parameter Set Clears all @pps internal resources. The #GstH264PPS to free The result of parsing H264 data. The parsing succeeded The data to parse is broken The link to structure needed for the parsing couldn't be found An error occurred when parsing No NAL unit found during the parsing Start of the NAL unit found, but not the end. This will be returned if no start/sync marker for the next NAL unit was found. In this case the parser will assume that the end of the data is also the end of the NAL unit. Whether this assumption is correct or not depends on the context, which only the caller can know, which is why a special result value is returned in this case. If the data is NAL-aligned then #GST_H264_PARSER_NO_NAL_END can be treated just like #GST_H264_PARSER_OK. If the data is not guaranteed to be NAL-aligned, then the caller probably wants to collect more data until there's another sync marker or the end of the stream has been reached. non-zero if linked GstH264VUIParams::nal_hrd_parameters_present_flag or GstH264VUIParams::vcl_hrd_parameters_present_flag is non-zero (Since: 1.18) specifies the length of @cpb_removal_delay in bits (Since 1.18) specifies the length of @dpb_output_delay in bits (Since 1.18) specifies how many clock ticks to wait after removal from the CPB of the access unit associated with the most recent buffering period SEI message in a preceding access unit before removing from the buffer the access unit data associated with the picture timing SEI message used to compute the DPB output time of the picture GstH264VUIParams::pic_struct_present_flag indicates whether a picture should be displayed as a frame or one or more fields equal to 1 indicates that a number of clock timestamp syntax elements are present a #GstH264ClockTimestamp specifies the length time_offset of #GstH264ClockTimestamp in bits (Since 1.18) H.264 Profiles. Baseline profile (A.2.1) Main profile (A.2.2) Extended profile (A.2.3) High profile (A.2.4), or Progressive High profile (A.2.4.1), or Constrained High profile (A.2.4.2) depending on constraint_set4_flag and constraint_set5_flag High 10 profile (A.2.5) or High 10 Intra profile (A.2.8), or Progressive High 10 profile (A.2.5.1) depending on constraint_set3_flag and constraint_set4_flag High 4:2:2 profile (A.2.6) or High 4:2:2 Intra profile (A.2.9), depending on constraint_set3_flag High 4:4:4 Predictive profile (A.2.7) or High 4:4:4 Intra profile (A.2.10), depending on the value of constraint_set3_flag Multiview High profile (H.10.1.1) Stereo High profile (H.10.1.2) Scalable Baseline profile (G.10.1.1) Scalable High profile (G.10.1.2) or Scalable High Intra profile (G.10.1.3), depending on the value of constraint_set3_flag Invalid H264 profile The User data registered by Rec. ITU-T T.35 SEI messag. an itu_t_t35_country_code. an itu_t_t35_country_code_extension_byte. Should be ignored when @country_code is not 0xff the data of itu_t_t35_payload_byte excluding @country_code and @country_code_extension the size of @data in bytes Constains information about SEI message. The content depends on the @payloadType. #GstH264SEIPayloadType The type of SEI message. Buffering Period SEI Message Picture Timing SEI Message Registered user data (D.2.5) User Data Unregistered (D.2.6) Recovery Point SEI Message (D.2.7) stereo video info SEI message (Since: 1.6) Frame Packing Arrangement (FPA) message that contains the 3D arrangement for stereoscopic 3D video (Since: 1.6) Mastering display colour volume information SEI message (D.2.29) (Since: 1.18) Content light level information SEI message (D.2.31) (Since: 1.18) Unhandled SEI message. This may or may not be defined by spec (Since 1.18) ... SEI pic_struct type Picture is a frame Top field of frame Bottom field of frame Top bottom field of frame bottom top field of frame top bottom top field of frame bottom top bottom field of frame indicates that the frame should be displayed two times consecutively indicates that the frame should be displayed three times consecutively Contains unhandled SEI payload data. This SEI may or may not be defined by spec Payload type payload raw data excluding payload type and payload size byte the size of @data H264 Sequence Parameter Set (SPS) The ID of the sequence parameter set indicate the profile to which the coded video sequence conforms Clears all @sps internal resources. The #GstH264SPS to free Represents the parsed `seq_parameter_set_mvc_extension()`. plus 1 specifies the maximum number of coded views in the coded video sequence array of #GstH264SPSExtMVCView plus 1 specifies the number of level values signalled for the coded video sequence. array of #GstH264SPSExtMVCLevelValue Represents level values for a subset of the operation points for the coded video sequence. specifies the level value signalled for the coded video sequence plus 1 specifies the number of operation points to which the level indicated by level_idc applies specifies the applicable operation point Represents an operation point for the coded video sequence. Represents inter-view dependency relationships for the coded video sequence. specifies the number of view components for inter-view prediction in the initialized RefPicList0 in decoding anchor view components. specifies the view_id for inter-view prediction in the initialized RefPicList0 in decoding anchor view components. specifies the number of view components for inter-view prediction in the initialized RefPicList1 in decoding anchor view components. specifies the view_id for inter-view prediction in the initialized RefPicList1 in decoding anchor view components. specifies the number of view components for inter-view prediction in the initialized RefPicList0 in decoding non-anchor view components. specifies the view_id for inter-view prediction in the initialized RefPicList0 in decoding non-anchor view components. specifies the number of view components for inter-view prediction in the initialized RefPicList1 in decoding non-anchor view components. specifies the view_id for inter-view prediction in the initialized RefPicList1 in decoding non-anchor view components. Type of Picture slice The User data unregistered SEI message syntax. an uuid_iso_iec_11578. the data of user_data_payload_byte the size of @data in bytes The structure representing the VUI parameters. %TRUE specifies that aspect_ratio_idc is present. %FALSE specifies that aspect_ratio_idc is not present @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 %TRUE overscan_appropriate_flag is present %FALSE otherwise %TRUE indicates that the cropped decoded pictures output are suitable for display using overscan. %FALSE the cropped decoded pictures output contain visually important information %TRUE specifies that video_format, video_full_range_flag and colour_description_present_flag are present. indicates the representation of the picture indicates the black level and range of the luma and chroma signals %TRUE specifies that colour_primaries, transfer_characteristics and matrix_coefficients are present indicates the chromaticity coordinates of the source primaries indicates the opto-electronic transfer characteristic describes the matrix coefficients used in deriving luma and chroma signals %TRUE specifies that chroma_sample_loc_type_top_field and chroma_sample_loc_type_bottom_field are present, %FALSE otherwise specify the location of chroma for top field @chroma_sample_loc_type_bottom_field specify the location of chroma for bottom field %TRUE specifies that num_units_in_tick, time_scale and fixed_frame_rate_flag are present in the bitstream is the number of time units of a clock operating at the frequency time_scale Hz time_scale: is the number of time units that pass in one second %TRUE indicates that the temporal distance between the HRD output times of any two consecutive pictures in output order is constrained as specified in the spec, %FALSE otherwise. %TRUE if NAL HRD parameters exist in the bitstream %TRUE if VCL HRD parameters exist in the bitstream specifies the HRD operational mode %TRUE specifies that picture timing SEI messages are present or not %TRUE specifies that the following coded video sequence bitstream restriction parameters are present %FALSE indicates that no sample outside the picture boundaries and no sample at a fractional sample position, %TRUE indicates that one or more samples outside picture boundaries may be used in inter prediction indicates a number of bytes not exceeded by the sum of the sizes of the VCL NAL units associated with any coded picture in the coded video sequence. indicates the maximum number of coded bits of macroblock_layer indicate the maximum absolute value of a decoded horizontal motion vector component indicate the maximum absolute value of a decoded vertical motion vector component indicates the maximum number of frames, complementary field pairs, or non-paired fields that precede any frame, specifies the required size of the HRD decoded picture buffer in units of frame buffers. Check if @nalu is a multiview extension NAL unit. a #GstH264NalUnit Check if @nalu is a scalable extension NAL unit. a #GstH264NalUnit The upper bounds for the nominal target brightness light level as specified in CEA-861.3 D.2.35 Contains HEVCDecoderConfigurationRecord data as defined in ISO/IEC 14496-15 Indicates configurationVersion, must be 1 general profile space general tier flag general profile indiction general profile compatibility flags general_progressive_source_flag parsed from HEVCDecoderConfigurationRecord.general_constraint_indicator_flags general_interlaced_source_flag parsed from HEVCDecoderConfigurationRecord.general_constraint_indicator_flags general_non_packed_constraint_flag parsed from HEVCDecoderConfigurationRecord.general_constraint_indicator_flags general_frame_only_constraint_flag parsed from HEVCDecoderConfigurationRecord.general_constraint_indicator_flags general_max_12bit_constraint_flag parsed from HEVCDecoderConfigurationRecord.general_constraint_indicator_flags general_max_10bit_constraint_flag parsed from HEVCDecoderConfigurationRecord.general_constraint_indicator_flags general_max_8bit_constraint_flag parsed from HEVCDecoderConfigurationRecord.general_constraint_indicator_flags general_max_422chroma_constraint_flag parsed from HEVCDecoderConfigurationRecord.general_constraint_indicator_flags general_max_420chroma_constraint_flag parsed from HEVCDecoderConfigurationRecord.general_constraint_indicator_flags general_max_monochrome_constraint_flag parsed from HEVCDecoderConfigurationRecord.general_constraint_indicator_flags general_intra_constraint_flag parsed from HEVCDecoderConfigurationRecord.general_constraint_indicator_flags general_one_picture_only_constraint_flag parsed from HEVCDecoderConfigurationRecord.general_constraint_indicator_flags general_lower_bit_rate_constraint_flag parsed from HEVCDecoderConfigurationRecord.general_constraint_indicator_flags general_max_14bit_constraint_flag parsed from HEVCDecoderConfigurationRecord.general_constraint_indicator_flags general_inbld_flag parsed from HEVCDecoderConfigurationRecord.general_constraint_indicator_flags general level indication min spatial segmentation indication parallelism type chroma format indication bit depth luma minus 8 bit depth chroma minus 8 average frame rate in units of frames per 256 seconds, or 0 when unspecified constant frame rate. 1: stream to which this configuration record applies is constante frame rate 2: representation of each temporal layer in the stream is constant frame rate 0: unspecified 0: unknown whether the stream is temporally scalable otherwise: the number of temporal layers 1: all SPSs that activated when the stream to this configuration record applies is decoded have sps_temporal_id_nesting_flags equal to 1 and temporal sub-layer up-switching to any higher temporal layer can be performed at any semple 0: unknown indicates the length in bytes of nal unit length field. This value shall be one of 0, 1, or 3 corresponding to a length encoded with 1, 2, or 4 bytes, respectively Array of #GstH265DecoderConfigRecordNalUnitArray Free @config data a #GstH265DecoderConfigRecord data Contains NAL Unit array data as defined in ISO/IEC 14496-15 1: all NAL units of the given type are in this array and none are in the stream. 0: additional NAL units of the indicated type may be in the stream Indicates the type of the NAL units in the following array. Shall be VPS, SPS, PPS, prefix SEI or suffix SEI Array of identified #GstH265NalUnit Defines the HRD parameters indicate the presence of NAL HRD parameters indicate the presence of VCL HRD parameters indicate the presence of sub_pic_hrd_params is used to specify the clock sub-tick specifies the length, in bits, of the nal_initial_cpb_removal_delay specifies the length, in bits, of the cpb_delay_offset and the au_cpb_removal_delay_minus1 syntax elements. maximum input bitrate CPB size when operates in access unit level CPB size when operates in sub-picture level specifies the length, in bits, of the nal_initial_cpb_removal_delay, nal_initial_cpb_removal_offset, vcl_initial_cpb_removal_delay and vcl_initial_cpb_removal_offset. specifies the length, in bits, of the cpb_delay_offset and the au_cpb_removal_delay_minus1 syntax elements specifies the length, in bits, of the dpb_delay_offset and the pic_dpb_output_delay syntax elements flag to indicate the presence of constraint on the temporal distance between the HRD output times of consecutive pictures in output order same as fixed_pic_rate_general_flag temporal distance in clock ticks specifies the HRD operational mode specifies the number of alternative CPB specifications. Sublayer HRD parameters. H.265 level Level 1 Level 2 Level 2.1 Level 3 Level 3.1 Level 4 Level 4.1 Level 5 Level 5.1 Level 5.2 Level 6 Level 6.1 Level 6.2 The colour volume (primaries, white point and luminance range) of display defined by SMPTE ST 2086. D.2.28 Structure defining the Nal unit headers A #GstH265NalUnitType A nal unit layer id A nal unit temporal identifier The size of the nal unit starting from @offset The offset of the actual start of the nal unit The offset of the start code of the nal unit If the nal unit is valid, which mean it has already been parsed The data from which the Nalu has been parsed Indicates the type of H265 Nal Units Slice nal of a non-TSA, non-STSA trailing picture Slice nal of a non-TSA, non-STSA trailing picture Slice nal of a TSA picture Slice nal of a TSA picture Slice nal of a STSA picture Slice nal of a STSA picture Slice nal of a RADL picture Slice nal of a RADL piicture Slice nal of a RASL picture Slice nal of a RASL picture Slice nal of a BLA picture Slice nal of a BLA picture Slice nal of a BLA picture Slice nal of an IDR picture Slice nal of an IDR picture Slice nal of a CRA picture Video parameter set(VPS) nal unit Sequence parameter set (SPS) nal unit Picture parameter set (PPS) nal unit Access unit (AU) delimiter nal unit End of sequence (EOS) nal unit End of bitstream (EOB) nal unit Filler data (FD) nal lunit Supplemental enhancement information prefix nal unit Suppliemental enhancement information suffix nal unit H265 Picture Parameter Set Defines the GstH265SPSExtensionParams plus 2 specifies the maximum transform block size for which transform_skip_flag may be present in coded pictures referring to the PPS. equal to 1 specifies that log2_res_scale_abs_plus1 and res_scale_sign_flag may be present in the transform unit syntax for pictures referring to the PPS. equal to 1 specifies that the cu_chroma_qp_offset_flag may be present in the transform unit syntax. specifies the difference between the luma coding tree block size and the minimum luma coding block size of coding units that convey cu_chroma_qp_offset_flag. plus 1 specifies the number of cb_qp_offset_list[] and cr_qp_offset_list[] syntax elements that are present in the PPS. specify offsets used in the derivation of qp cb. specify offsets used in the derivation of qp cr. the base 2 logarithm of the scaling parameter that is used to scale sample adaptive offset (SAO) offset values for luma samples. the base 2 logarithm of the scaling parameter that is used to scale SAO offset values for chroma samples. equal to 1 specifies that a picture referring to the PPS may be included in a reference picture list of a slice of the picture itself. equal to 1 specifies that an adaptive colour transform may be applied to the residual in the decoding process. equal to 1 specifies that slice_act_y_qp_offset, slice_act_cb_qp_offset, slice_act_cr_qp_offset are present in the slice header. @pps_act_y_qp_offset_plus5 @pps_act_cb_qp_offset_plus5 @pps_act_cr_qp_offset_plus3: are used to determine the offsets that are applied to the quantization parameter values qp derived in clause 8.6.2 for the luma, Cb and Cr components, respectively, when tu_residual_act_flag[ xTbY ][ yTbY ] is equal to 1. equal to 1 specifies that the palette predictor initializers used for the pictures referring to the PPS are derived based on the palette predictor initializers specified by the PPS. specifies the number of entries in the picture palette predictor initializer. equal to 1 specifies that the pictures that refer to this PPS are monochrome. Equal to 0 specifies that the pictures that refer to this PPS have multiple components. plus 8 specifies the bit depth of the luma component of the entries of the palette predictor initializer. plus 8 specifies the bit depth of the chroma components of the entries of the palette predictor initializer. specifies the value of the comp-th component of the i-th palette entry in the PPS that is used to initialize the array PredictorPaletteEntries. Defines the _GstH265PPSSccExtensionParams It offers you bitstream parsing in HEVC mode and non-HEVC mode. To identify Nals in a bitstream and parse its headers, you should call: * gst_h265_parser_identify_nalu() to identify the following nalu in non-HEVC bitstreams * gst_h265_parser_identify_nalu_hevc() to identify the nalu in HEVC bitstreams Then, depending on the #GstH265NalUnitType of the newly parsed #GstH265NalUnit, you should call the differents functions to parse the structure: * From %GST_H265_NAL_SLICE_TRAIL_N to %GST_H265_NAL_SLICE_CRA_NUT: gst_h265_parser_parse_slice_hdr() * `GST_H265_NAL_*_SEI`: gst_h265_parser_parse_sei() * %GST_H265_NAL_VPS: gst_h265_parser_parse_vps() * %GST_H265_NAL_SPS: gst_h265_parser_parse_sps() * %GST_H265_NAL_PPS: #gst_h265_parser_parse_pps() * Any other: gst_h265_parser_parse_nal() Note: You should always call gst_h265_parser_parse_nal() if you don't actually need #GstH265NalUnitType to be parsed for your personal use, in order to guarantee that the #GstH265Parser is always up to date. For more details about the structures, look at the ITU-T H.265 specifications, you can download them from: * ITU-T H.265: http://www.itu.int/rec/T-REC-H.265 Frees @parser the #GstH265Parser to free Parses @data for packetized (e.g., hvc1/hev1) bitstream and sets @nalus. In addition to nal identifying process, this method scans start-code prefix to split malformed packet into actual nal chunks. a #GstH265ParserResult a #GstH265Parser The data to parse, must be the beging of the Nal unit the offset from which to parse @data the size of @data the size in bytes of the HEVC nal length prefix. a caller allocated GArray of #GstH265NalUnit where to store parsed nal headers the size of consumed bytes Parses @data and fills @nalu from the next nalu data from @data a #GstH265ParserResult a #GstH265Parser The data to parse the offset from which to parse @data the size of @data The #GstH265NalUnit where to store parsed nal headers Parses @data and sets @nalu. a #GstH265ParserResult a #GstH265Parser The data to parse, must be the beging of the Nal unit the offset from which to parse @data the size of @data the size in bytes of the HEVC nal length prefix. The #GstH265NalUnit where to store parsed nal headers Parses @data and fills @nalu from the next nalu data from @data. This differs from @gst_h265_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_h265_parser_identify_nalu. a #GstH265ParserResult a #GstH265Parser The data to parse the offset from which to parse @data the size of @data The #GstH265NalUnit where to store parsed nal headers Copy @au into new #GstBuffer and insert @sei into the #GstBuffer. The validation for completeness of @au and @sei is caller's responsibility. Both @au and @sei must be byte-stream formatted a SEI inserted #GstBuffer or %NULL if cannot figure out proper position to insert a @sei a #GstH265Parser a #GstBuffer containing AU data a #GstMemory containing a SEI nal Copy @au into new #GstBuffer and insert @sei into the #GstBuffer. The validation for completeness of @au and @sei is caller's responsibility. Nal prefix type of both @au and @sei must be packetized, and also the size of nal length field must be identical to @nal_length_size a SEI inserted #GstBuffer or %NULL if cannot figure out proper position to insert a @sei a #GstH265Parser a size of nal length field, allowed range is [1, 4] a #GstBuffer containing AU data a #GstMemory containing a SEI nal Link SPS and PPS of @parser to @slice. @slice must be valid and parsed already by @parser or other #GstH265Parser a #GstH265ParserResult a #GstH265Parser The #GstH265SliceHdr to fill. Parses HEVCDecoderConfigurationRecord data and fill into @config. The caller must free @config via gst_h265_decoder_config_record_free() This method does not parse VPS, SPS and PPS and therefore the caller needs to parse each NAL unit via appropriate parsing method. a #GstH265ParserResult a #GstH265Parser the data to parse the size of @data parsed #GstH265DecoderConfigRecord data 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. a #GstH265ParserResult a #GstH265Parser The #GstH265NalUnit to parse Parses @data, and fills the @pps structure. a #GstH265ParserResult a #GstH265Parser The %GST_H265_NAL_PPS #GstH265NalUnit to parse The #GstH265PPS to fill. Parses @data, create and fills the @messages array. a #GstH265ParserResult a #GstH265Parser The `GST_H265_NAL_*_SEI` #GstH265NalUnit to parse The GArray of #GstH265SEIMessage to fill. The caller must free it when done. Parses @data, and fills the @slice structure. The resulting @slice_hdr structure shall be deallocated with gst_h265_slice_hdr_free() when it is no longer needed a #GstH265ParserResult a #GstH265Parser The `GST_H265_NAL_SLICE` #GstH265NalUnit to parse The #GstH265SliceHdr to fill. Parses @data, and fills the @slice structure. The resulting @slice_hdr structure shall be deallocated with gst_h265_slice_hdr_free() when it is no longer needed a #GstH265ParserResult a #GstH265Parser The `GST_H265_NAL_SLICE` #GstH265NalUnit to parse The #GstH265SliceHdr to fill. The #GstH265SPSEXT to fill. Parses @data, and fills the @sps structure. a #GstH265ParserResult a #GstH265Parser The %GST_H265_NAL_SPS #GstH265NalUnit to parse The #GstH265SPS to fill. Whether to parse the vui_params or not Parses @data, and fills the @sps structure. a #GstH265ParserResult a #GstH265Parser The %GST_H265_NAL_SPS #GstH265NalUnit to parse The #GstH265SPS to fill. The #GstH265SPSEXT matching the #GstH265SPS to fill. Whether to parse the vui_params or not Parses @data, and fills the @vps structure. a #GstH265ParserResult a #GstH265Parser The %GST_H265_NAL_VPS #GstH265NalUnit to parse The #GstH265VPS to fill. Replace internal Sequence Parameter Set struct corresponding to id of @pps with @pps. @nalparser will mark @pps as last parsed sps. a #GstH265ParserResult a #GstH265Parser a #GstH265PPS. Replace internal Sequence Parameter Set struct corresponding to id of @sps with @sps. @nalparser will mark @sps as last parsed sps. a #GstH265ParserResult a #GstH265Parser a #GstH265SPS. Replace internal Video Parameter Set struct corresponding to id of @vps with @vps. @nalparser will mark @vps as last parsed vps. a #GstH265ParserResult a #GstH265Parser a #GstH265VPS. Creates a new #GstH265Parser. It should be freed with gst_h265_parser_free after use. a new #GstH265Parser The result of parsing H265 data. The parsing succeeded The data to parse is broken The link to structure needed for the parsing couldn't be found An error accured when parsing No nal found during the parsing Start of the nal found, but not the end. H.265 Profiles. Main profile (A.3.2) Main 10 profile (A.3.3) Main Still Picture profile (A.3.4) Monochrome profile (A.3.4) Monochrome 12-bits profile (A.3.4) Monochrome 16-bits profile (A.3.4) Main profile 12-bits (A.3.4) Main 4:2:2 profile 10-bits (A.3.4) Main 4:2:2 profile 12-bits (A.3.4) Main 4:4:4 profile (A.3.4) Main 4:4:4 10-bits profile (A.3.4) Main 4:4:4 12-bits profile (A.3.4) Main Intra profile (A.3.4) Main Intra 10-bits profile (A.3.4) Main Intra 12-bits profile (A.3.4) Main Intra 4:2:2 10-bits profile (A.3.4) Main Intra 4:2:2 12-bits profile (A.3.4) Main Intra 4:4:4 profile (A.3.4) Main Intra 4:4:4 10-bits profile (A.3.4) Main Intra 4:4:4 12-bits profile (A.3.4) Main Intra 4:4:4 16-bits profile (A.3.4) Main 4:4:4 Still Picture profile (A.3.4) Main 4:4:4 16-bits Still Picture profile (A.3.4) Monochrome 10-bits profile (A.3.5) (Since: 1.18) High Throughput 4:4:4 profile (A.3.6) (Since: 1.18) High Throughput 4:4:4 10-bits profile (A.3.6) (Since: 1.18) High Throughput 4:4:4 14-bits profile (A.3.6) (Since: 1.18) High Throughput 4:4:4 16-bits Intra profile (A.3.6) (Since: 1.18) Screen-Extended Main profile (A.3.7) (Since: 1.18) Screen-Extended Main 10-bits profile (A.3.7) (Since: 1.18) Screen-Extended Main 4:4:4 profile (A.3.7) (Since: 1.18) Screen-Extended Main 4:4:4 10-bits profile (A.3.7) (Since: 1.18) Screen-Extended High Throughput 4:4:4 profile (A.3.7) (Since: 1.18) Screen-Extended High Throughput 4:4:4 10-bits profile (A.3.7) (Since: 1.18) Screen-Extended High Throughput 4:4:4 14-bits profile (A.3.7) (Since: 1.18) Multiview Main profile (G.11.1) (Since: 1.18) Scalable Main profile (H.11.1) (Since: 1.18) Scalable Main 10-bits profile (H.11.1) (Since: 1.18) Scalable Monochrome profile (H.11.1) (Since: 1.18) Scalable Monochrome 12-bits profile (H.11.1) (Since: 1.18) Scalable Monochrome 16-bits profile (H.11.1) (Since: 1.18) Scalable Main 4:4:4 profile (H.11.1) (Since: 1.18) 3D Main 4:4:4 profile (I.11.1) (Since: 1.18) Valid values for the profile_idc field. This is different from #GstH265Profile as an extension idc can be used to encode a whole variety of profiles. Main profile (A.3.2) Main 10 profile (A.3.3) Main Still Picture profile (A.3.4) Format range extensions profile (A.3.5) High throughput profiles (A.3.6) Multiview Main profiles (G.11.1) (Since: 1.18) Scalable Main and Scalable Main 10 profile (H.11.1) (Since: 1.18) 3D Main profile (I.11.1) (Since: 1.18) Screen content coding extensions profiles (A.3.7) Scalable Format range extensions profiles (H.11.1) (Since: 1.18) High throughput screen content coding extensions profiles (A.3.8) (Since: 1.18) Define ProfileTierLevel parameters specifies the context for the interpretation of general_profile_idc and general_profile_combatibility_flag the tier context for the interpretation of general_level_idc profile id compatibility flags flag to indicate the type of stream flag to indicate the type of stream indicate the presence of frame packing arrangement sei message recognize the field_seq_flag used to define profile extensions, see Annex A used to define profile extensions, see Annex A used to define profile extensions, see Annex A used to define profile extensions, see Annex A used to define profile extensions, see Annex A used to define profile extensions, see Annex A used to define profile extensions, see Annex A used to define profile extensions, see Annex A used to define profile extensions, see Annex A used to define profile extensions, see Annex A @level idc: indicate the level which the CVS confirms sublayer profile presence ind sublayer level presence indicator. profile space for sublayers tier flags for sublayers. conformant profile indicator for sublayers. @sub_layer_profile_compatibility_flag[6][32]: compatibility flags for sublayers progressive stream indicator for sublayer interlaced stream indicator for sublayer indicate the presence of frame packing arrangement sei message with in sublayers recognize the sublayer specific field_seq_flag indicate the sublayer specific level Return the H265 profile defined in @ptl. a #GstH265Profile a #GstH265ProfileTierLevel The User data registered by Rec. ITU-T T.35 SEI message. an itu_t_t35_country_code. an itu_t_t35_country_code_extension_byte. Should be ignored when @country_code is not 0xff the data of itu_t_t35_payload_byte excluding @country_code and @country_code_extension the size of @data in bytes Constains information about SEI message. The content depends on the @payloadType. #GstH265SEIPayloadType The type of SEI message. Buffering Period SEI Message Picture Timing SEI Message Registered user data (D.2.5) User data unregistered (D.2.7) Recovery Point SEI Message (D.3.8) Time code SEI message (D.2.27) (Since: 1.16) Mastering display colour volume information SEI message (D.2.28) (Since: 1.18) Content light level information SEI message (D.2.35) (Since: 1.18) ... SEI pic_struct type Picture is a frame Top field of frame Botom field of frame Top bottom field of frame bottom top field of frame top bottom top field of frame bottom top bottom field of frame indicates that the frame should be displayed two times consecutively indicates that the frame should be displayed three times consecutively top field paired with previous bottom field in output order bottom field paried with previous top field in output order top field paired with next bottom field in output order bottom field paired with next top field in output order H265 Sequence Parameter Set (SPS) The ID of the sequence parameter set H265 Sequence Parameter Set extension Defines the GstH265SPSExtensionParams %TRUE specifies that a rotation is applied to the residual data block from intra 4X4 blocks coded using a transform skip operation. %TRUE specifies tspecifies that a particular context is used for the parsing of the sig_coeff_flag for transform blocks with a skipped transform. %TRUE specifies that an extended dynamic range is used for coefficient parsing and inverse transform processing %TRUE specifies that the filtering process of neighbouring samples is unconditionally disabled for intra prediction %TRUE specifies that weighted prediction offset values are signalled using a bit-depth-dependent precision. %TRUE specifies that the Rice parameter derivation for the binarization of coeff_abs_level_remaining[] is initialized at the start of each sub-block using mode dependent statistics accumulated from previous sub-blocks. %TRUE specifies that a context-based adaptive binary arithmetic coding (CABAC) alignment process is used prior to bypass decoding of the syntax elements coeff_sign_flag[] and coeff_abs_level_remaining[] equal to 1 specifies that a picture in the CVS may be included in a reference picture list of a slice of the picture itself. equal to 1 specifies that the decoding process for palette mode may be used for intra blocks. Equal to 0 specifies that the decoding process for palette mode is not applied. specifies the maximum allowed palette size. specifies the difference between the maximum allowed palette predictor size and the maximum allowed palette size. equal to 1 specifies that the sequence palette predictors are initialized using the sps_palette_predictor_initializer specified in clause 7.3.2.2.3. plus 1 specifies the number of entries in the sequence palette predictor initializer. specifies the value of the comp-th component of the i-th palette entry in the SPS that is used to initialize the array PredictorPaletteEntries. controls the presence and inference of the use_integer_mv_flag that specifies the resolution of motion vectors for inter prediction. equal to 1 specifies that the intra boundary filtering process is unconditionally disabled for intra prediction. Defines the _GstH265SPSSccExtensionParams Defines the GstH265ScalingList this plus 8 specifies the DC Coefficient values for 16x16 scaling list this plus 8 specifies the DC Coefficient values for 32x32 scaling list 4x4 scaling list 8x8 scaling list 16x16 scaling list @guint8 scaling_lists_32x32: 32x32 scaling list Defines the #GstH265ShortTermRefPicSet params %TRUE specifies that the stRpsIdx-th candidate short-term RPS is predicted from another candidate short-term RPS plus 1 specifies the difference between the value of source and candidate short term RPS. delta_rps_sign and abs_delta_rps_minus1 together specify the value of the variable deltaRps. delta_rps_sign and abs_delta_rps_minus1 together specify the value of the variable deltaRps sum of @NumNegativePics and @NumPositivePics. Derived value depending on inter_ref_pic_set_prediction_flag. If inter_ref_pic_set_prediction_flag is equal to 0, this specifies the number of entries in the stRpsIdx-th candidate short-term RPS that have poc values less than the poc of the current picture. Derived value depending on inter_ref_pic_set_prediction_flag. If inter_ref_pic_set_prediction_flag is equal to 0, this specifies the number of entires in the stRpsIdx-th candidate short-term RPS that have poc values greater than the poc value of the current picture. Derived value depending on inter_ref_pic_set_prediction_flag. If inter_ref_pic_set_prediction_flag is equal to 0, equal to zero specifies that the i-th entry in the stRpsIdx-th candidate short-term RPS that has poc value less than of the current picture is not used for reference by the current picture Derived value depending on inter_ref_pic_set_prediction_flag. If inter_ref_pic_set_prediction_flag is equal to 0, equal to zero specifies that the i-th entry in the current candidate short-term RPS that has poc value greater than that of the current picture is not used for reference by the current picture. Derived value depending on inter_ref_pic_set_prediction_flag. See 7.4.8 Short-term reference picture set semantics Derived value depending on inter_ref_pic_set_prediction_flag. See 7.4.8 Short-term reference picture set semantics The value of NumDeltaPocs[RefRpsIdx]. If inter_ref_pic_set_prediction_flag is equal to 0, this value should be ignored (Since: 1.18) Defines the extended #GstH265ShortTermRefPicSetExt params Bit j equals to 1 specifies that the j-th entry in the source candidate short-term RPS is included in this candidate short-term RPS. Specifies the negative picture order count delta for the i-th entry in the short-term RPS. See details in section 7.4.8 "Short-term reference picture set semantics" of the specification. Specifies the positive picture order count delta for the i-th entry in the short-term RPS. See details in section 7.4.8 "Short-term reference picture set semantics" of the specification. equal to 1 if this slice segment is the first slice segment of the picture in decoding order affects the output of previously-decoded pictures in the decoded picture buffer after the decoding of an IDR or a BLA picture that is not the first picture in the bitstream as specified in Annex C a #GstH265PPS equal to 1 if the value of each slice segment header syntax element that is not present is inferred to be equal to the value of corresponding slice segment header syntax element in the slice header. the address of the first CTB in the slice segment slice type (B, P, or I) affects the decoded picture output and removal processes as specified in Annex C. specifies the colour plane associated with the current slice RBSP when separate_colour_plane_flag is equal to 1 the picture order count modulo MaxPicOrderCntLsb for the current picture equal to 1 specifies that the short-term RPS of the current picture is derived based on the active SPS. a #GstH265ShortTermRefPicSet structure the index of st_ref_pic_set syntax structure that is used for derivation of the short-term RPS of the current picture. the number of entries in the long-term RPS of current picture that are derived based on the syntax in active SPS. the number of entries in the long-term RPS of the current picture that are directly signalled in the slice header. the index of candidate long-term reference pictures specified in the active SPS. the value of the picture order count modulo MaxPicOrderCntLsb of the each entry in the long-term RPS of the current picture. equal to 0 if the entry in the long-term RPS of the current picture is not used for reference by the current picture. equal to 1 if i-th delta_poc_msb_cycle_lt[] is present. used to determine the value of the most significant bits of the picture order count value of the i-th entry in the long-term RPS of the current picture. whether temporal motion vector predictors can be used for inter prediction. equal to 1 if SAO is enabled for the luma component in the current slice. equal to 1 if SAO is enabled for the chroma component in the current slice. equal to 1 specifies that the syntax elements num_ref_idx_l0_active_minus1 and num_ref_idx_l1_active_minus1 are present. the maximum reference index for reference picture list 0 that may be used to decode the slice. the maximum reference index for reference picture list 1 that may be used to decode the slice. a #GstH265RefPicListModification equal to 1 if the mvd_coding sytanx structure is not parsed specifies the method for determining the initialization table used in the initialization process for context variables. equal to 1 specifies that the collocated picture used for temporal motion vector prediction is derived from reference picture list 0. the reference index of the collocated picture used for temporal motion vector prediction. a #GstH265PredWeightTable specifies the maximum number of merging motion vector prediction (MVP) candidates supported in the slice. equal to 1 specifies that the resolution of motion vectors for inter prediction in the current slice is integer. (Since: 1.18) specifies the inital value of QPy to be used for the coding blocks in the slice. a difference to be added to the value of pps_cb_qp_offset. a difference to be added to the value of pps_cr_qp_offset. specify offsets to the quantization parameter values qP derived in clause 8.6.2 for luma components. (Since: 1.18) specify offsets to the quantization parameter values qP derived in clause 8.6.2 for Cb components. (Since: 1.18) specify offsets to the quantization parameter values qP derived in clause 8.6.2 for Cr components. (Since: 1.18) equal to 1 if the cu_chroma_qp_offset_flag may be present in the transform unit syntax. (Since: 1.18) equal to 1 if deblocking paramertes are present in the slice header. equal to 1 specifies that the operation of the deblocking filter is not applied for the current slice. deblocking parameter offset for beta divided by 2 for the current slice. deblocking parameter offset for tC divided by 2 for the current slice. equal to 1 specifies that in-loop filtering operation may be performed across the left and upper boundaries of the current slice. specifies the number of entry_point_offset_minus1 syntax elements in the slice header. specifies the length of the entry_point_minus1 syntax elements in bits. the entry point offset in bytes. calculated NumPocTotalCurr which is used for decoding process for reference picture set the calculated size of the slice_header\() in bits. number of emulation prevention bytes (EPB) in this slice_header\() the calculated size of short_term_ref_pic_set\() in bits. (Since: 1.18) the calculated size of the branch `if( long_term_ref_pics_present_flag )` `inside slice_segment_header()` syntax in bits. (Since: 1.22) Copies @src_slice into @dst_slice %TRUE if everything went fine, %FALSE otherwise The destination #GstH265SliceHdr to copy into The source #GstH265SliceHdr to copy from slice_hdr: The #GstH265SliceHdr to free Frees @slice_hdr fields. Type of Picture slice Defines the Sublayer HRD parameters together with bit_rate_scale, it specifies the maximum input bitrate when the CPB operates at the access unit level is used together with cpb_size_scale to specify the CPB size when the CPB operates at the access unit level is used together with cpb_size_du_scale to specify the CPB size when the CPB operates at sub-picture level together with bit_rate_scale, it specifies the maximum input bit rate when the CPB operates at the sub-picture level indicate whether HSS operates in intermittent bit rate mode or constant bit rate mode. The time code SEI message provides time code information similar to that defined by SMPTE ST 12-1 (2014) for field(s) or frame(s) of the current picture. D.2.27 The User data unregistered SEI message syntax. an uuid_iso_iec_11578. the data of user_data_payload_byte the size of @data in bytes Defines the VPS parameters vps id @base_layer_internal_flag and @base_layer_available_flag: specify availability of base layer should be zero, but can be other values in future specifies the maximum number of temporal sub-layers specifies whether inter prediction is additionally restricted ProfileTierLevel info indicates the presence of vps_max_dec_pic_buffering_minus1, vps_max_num_reorder_pics and vps_max_latency_increase_plus1 specifies the maximum required size of the decoded picture buffer indicates the maximum allowed number of pictures that can precede any picture in the CVS in decoding order is used to compute the value of VpsMaxLatencyPictures specifies the maximum allowed value of nuh_layer_id specifies the number of layer sets indicate the presence of num_units_in_tick, time_scale, poc_proportional_to_timing_flag and num_hrd_parameters number of time units in a tick number of time units that pass in one second indicate whether the picture order count is proportional to output timin specifies the number of clock ticks corresponding to a difference of picture order count values equal to 1 number of hrd_parameters present index to the list of layer hrd params. the GstH265HRDParams list The structure representing the VUI parameters. %TRUE indicate that VUI parameters have been parsed (Since: 1.22) %TRUE specifies that aspect_ratio_idc is present. %FALSE specifies that aspect_ratio_idc is not present @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 %TRUE overscan_appropriate_flag is present %FALSE otherwise %TRUE indicates that the cropped decoded pictures output are suitable for display using overscan. %FALSE the cropped decoded pictures output contain visually important information %TRUE specifies that video_format, video_full_range_flag and colour_description_present_flag are present. indicates the representation of the picture indicates the black level and range of the luma and chroma signals %TRUE specifies that colour_primaries, transfer_characteristics and matrix_coefficients are present indicates the chromaticity coordinates of the source primaries indicates the opto-electronic transfer characteristic describes the matrix coefficients used in deriving luma and chroma signals %TRUE specifies that chroma_sample_loc_type_top_field and chroma_sample_loc_type_bottom_field are present, %FALSE otherwise specify the location of chroma for top field @chroma_sample_loc_type_bottom_field specify the location of chroma for bottom field %TRUE indicate that the value of chroma samples is equla to 1<<(BitDepthchrom-1). %TRUE indicate field and %FALSE indicate frame %TRUE indicate picture timing SEI messages are present for every picture and include the pic_struct, source_scan_type, and duplicate_flag syntax elements. %TRUE indicate that the default display window parameters present def_disp_win_left_offset:left offset of display rect def_disp_win_right_offset: right offset of display rect def_disp_win_top_offset: top offset of display rect def_disp_win_bottom_offset: bottom offset of display rect %TRUE specifies that num_units_in_tick, time_scale and fixed_frame_rate_flag are present in the bitstream is the number of time units of a clock operating at the frequency time_scale Hz is the number of time units that pass in one second %TRUE indicates that the picture order count value for each picture in the CVS that is not the first picture in the CVS, in decoding order, is proportional to the output time of the picture relative to the output time of the first picture in the CVS. plus 1 specifies the number of clock ticks corresponding to a difference of picture order count values equal to 1 %TRUE if hrd parameters present in the bitstream %TRUE specifies that the following coded video sequence bitstream restriction parameters are present %TRUE indicates that each PPS that is active in the CVS has the same value of the syntax elements num_tile_columns_minus1, num_tile_rows_minus1, uniform_spacing_flag, column_width_minus1, row_height_minus1 and loop_filter_across_tiles_enabled_flag, when present %FALSE indicates that no sample outside the picture boundaries and no sample at a fractional sample position, %TRUE indicates that one or more samples outside picture boundaries may be used in inter prediction when not equal to 0, establishes a bound on the maximum possible size of distinct coded spatial segmentation regions in the pictures of the CVS indicates a number of bytes not exceeded by the sum of the sizes of the VCL NAL units associated with any coded picture in the coded video sequence. indicates an upper bound for the number of coded bits of coding_unit data for any coding block in any picture of the CVS indicate the maximum absolute value of a decoded horizontal motion vector component indicate the maximum absolute value of a decoded vertical motion vector component Check whether @nal_type is BLA or not a #GstH265NalUnitType Check whether @nal_type is CRA or not a #GstH265NalUnitType Check whether @nal_type is IDR or not a #GstH265NalUnitType Check whether @nal_type is IRAP or not a #GstH265NalUnitType Check whether @nal_type is RADL or not a #GstH265NalUnitType Check whether @nal_type is RASL or not a #GstH265NalUnitType Structure defining the H266 ALF parameters. specifies whether a luma filter set is signalled. specifies whether a chroma filter is signalled. specifies whether cross-component filters for the Cb colour component are signalled. specifies whether cross-component filters for the Cr colour component are signalled. specifies whether linear adaptive loop filtering is applied to the luma component. specifies the number of adpative loop filter classes for which luma coefficients can be signalled. specifies the indices of the signalled adaptive loop filter luma coefficient deltas for the filter class. specifies the absolute value of the j-th coefficient of the signalled luma filter. specifies the sign of the j-th luma coefficient of the filter. specifies the clipping index of the clipping value to use before multiplying by the j-th coefficient of the signalled luma filter. specifies whether linear adaptive loop filtering is applied to chroma components. specifies the number of alternative filters for chroma components. specifies the absolute value of the j-th chroma filter coefficient for the alternative chroma filter with index altIdx. specifies the sign of the j-th chroma filter coefficient for the alternative chroma filter with index altIdx. 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. specifies the number of cross-component filters for the Cb colour component. specifies the absolute value of the j-th mapped coefficient of the signalled k-th cross-component filter for the Cb colour component. specifies the sign of the j-th coefficient of the signalled k-th cross-component filter for the Cb colour component. specifies the number of cross-component filters for the Cr colour component. specifies the absolute value of the j-th mapped coefficient of the signalled k-th cross-component filter for the Cr colour component. specifies the sign of the j-th coefficient of the signalled k-th cross-component filter for the Cr colour component. Structure defining the H266 Adaptation Parameter Set. specifies the type of APS parameters carried in the APS as specified in Table 6. provides an identifier for the APS for reference by other syntax elements. specifies whether the APS NAL unit could include chroma related syntax elements. specifies whether aps_extension_data_flag syntax elements are present. could have any value and do not affect the decoding process now. whether this APS is valid. Indicates the types of Adaptation parameter set (APS) as Table 6 - APS parameters type codes and types of APS parameters. ALF parameters. LMCS parameters. Scaling list parameters. Structure defining the H266 AU delimiter. specifies whether the AU containing the AU delimiter is an IRAP or GDR AU. indicates sh_slice_type values that could be present in the AU. Structure defining the H266 buffering period. 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. 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. specifies the length, in bits, of the initial cpb removal syntax elements. specifies the length, in bits, of the cpb removal syntax elements. specifies the length, in bits, of the syntax dpb output syntax elements. specifies whether DU level HRD parameters are present and the HRD can be operated at the AU level or DU level. specifies the length, in bits, of the du cpb removal syntax elements. specifies the length, in bits, of the dpb output syntax element. specifies whether DU level CPB removal delay parameters are present in PT SEI messages. specifies whether DU level DPB output delay parameters are present in PT SEI messages. indicates whether the nominal CPB removal time of the current AU is determined relative to the nominal CPB removal time of the previous AU. 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. 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. specifies a CPB removal delay increment value relative to the nominal CPB removal time of the AU prevNonDiscardableAu. 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. specifies whether the BP SEI message contains CPB removal delay deltas. specifies the number of syntax elements bp_cpb_removal_delay_delta_val[i] in the BP SEI message. specifies the i-th CPB removal delay delta. 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. specifies that initial CPB removal delay related syntax elements are present for sublayer representation. 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. 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. 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. 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. 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. 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. 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. 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. specifies whether DPB output time offsets are present for sublayer representation. specifies the difference between the DPB output times for the i-th sublayer representation. specifies the presence of the syntax element bp_use_alt_cpb_params_flag. could be used to derive the value of UseAltCpbParamsFlag. Structure defining the H266 decoding capability information. specifies the number of profile_tier_level syntax structures in the DCI NAL unit. specifies whether dci_extension_data_flag syntax elements are present. could have any value. Structure defining the H266 DPB parameters. specifies the maximum required size of the DPB in units of picture storage buffers. 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. used to compute the value of MaxLatencyPictures, which specifies the maximum number of pictures in the OLS. Structure defining the H266 decoding unit info. specifies the index to the list of DUs in the current AU. specifies whether dui_du_cpb_removal_delay_increment[i] is present for the sublayer. specifies the duration between the nominal CPB times of the last DU in decoding order in the current AU. specifies the presence of the dui_dpb_output_du_delay syntax element in the DUI SEI message. is used to compute the DPB output time of the AU. Contains VVCDecoderConfigurationRecord data as defined in ISO/IEC 14496-15 indicates the length in bytes of nal unit length field. This value shall be one of 0, 1, or 3 corresponding to a length encoded with 1, 2, or 4 bytes, respectively true: profile, tier and level information is present Operating point layer set index Number of sublayers Indicates if the frame rate is constant Chroma format indicator Bit depth minus 8 Profile, tier and level information Maximum picture width Maximum picture height Average frame rate Array of #GstH266DecoderConfigRecordNalUnitArray Free @config data a #GstH266DecoderConfigRecord data Contains NAL Unit array data as defined in ISO/IEC 14496-15 1: all NAL units of the given type are in this array and none are in the stream. 0: additional NAL units of the indicated type may be in the stream Indicates the type of the NAL units in the following array. Shall be VPS, SPS, PPS, prefix APS or suffix APS Array of identified #GstH266NalUnit Structure defining the H266 frame field information. indicates whether the display model considers the current picture as a field. indicates whether the current picture is a bottom field. 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. indicates whether the current picture is considered paired with the next picture as the two fields of a frame. indicates whether the display model operates by sequentially displaying the individual fields of the frame with alternating parity. indicates that the first field of the frame that is displayed by the display model is the top field. 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. indicates whether the current picture is indicated to be a duplicate of a previous picture in output order. whether this frame field info is valid. Structure defining the H266 general constraints info. specifies whether additional syntax elements are present. specifies whether sh_slice_type for all slices in OlsInScope shall be equal to 2. specifies whether the vps_all_independent_layers_flag for all pictures in OlsInScope shall be equal to 1. specifies whether there is only one AU in OlsInScope. 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. 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. specifies whether the pps_mixed_nalu_types_in_pic_flag for all pictures in OlsInScope shall be equal to 0. specifies whether there shall be no NAL unit with nuh_unit_type equal to TRAIL_NUT present in OlsInScope. specifies whether there shall be no NAL unit with nuh_unit_type equal to STSA_NUT present in OlsInScope. specifies whether there shall be no NAL unit with nuh_unit_type equal to RASL_NUT present in OlsInScope. specifies whether there shall be no NAL unit with nuh_unit_type equal to RADL_NUT present in OlsInScope. specifies whether there shall be no NAL unit with nuh_unit_type equal to IDR_W_RADL or IDR_N_LP present in OlsInScope. specifies whether there shall be no NAL unit with nuh_unit_type equal to CRA_NUT present in OlsInScope. specifies whether sps_gdr_enabled_flag for all pictures in OlsInScope shall be equal to 0. specifies whether there shall be no NAL unit with nuh_unit_type equal to PREFIX_APS_NUT or SUFFIX_APS_NUT present in OlsInScope. specifies whether sps_idr_rpl_present_flag for all pictures in OlsInScope shall be equal to 0. specifies whether each picture in OlsInScope shall contain only one tile. 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. specifies whether each picture in OlsInScope shall contain only one slice. specifies whether pps_rect_slice_flag for all pictures in OlsInScope shall be equal to 0. specifies whether the value of pps_single_slice_per_subpic_flag for all pictures in OlsInScope shall be equal to 1. specifies whether sps_subpic_info_present_flag for all pictures in OlsInScope shall be equal to 0. 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. specifies whether sps_partition_constraints_override_enabled_flag for all pictures in OlsInScope shall be equal to 0. 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. specifies whether sps_qtbtt_dual_tree_intra_flag for all pictures in OlsInScope shall be equal to 0. specifies whether sps_palette_enabled_flag for all pictures in OlsInScope shall be equal to 0. specifies whether sps_ibc_enabled_flag for all pictures in OlsInScope shall be equal to 0. specifies whether sps_isp_enabled_flag for all pictures in OlsInScope shall be equal to 0. specifies whether sps_mrl_enabled_flag for all pictures in OlsInScope shall be equal to 0. specifies whether sps_mip_enabled_flag for all pictures in OlsInScope shall be equal to 0. specifies whether sps_cclm_enabled_flag for all pictures in OlsInScope shall be equal to 0. specifies whether sps_ref_pic_resampling_enabled_flag for all pictures in OlsInScope shall be equal to 0. specifies whether sps_res_change_in_clvs_allowed_flag for all pictures in OlsInScope shall be equal to 0. specifies whether sps_weighted_pred_flag and sps_weighted_bipred_flag for all pictures in OlsInScope shall both be equal to 0. specifies whether sps_ref_wraparound_enabled_flag for all pictures in OlsInScope shall be equal to 0. specifies whether sps_temporal_mvp_enabled_flag for all pictures in OlsInScope shall be equal to 0. specifies whether sps_sbtmvp_enabled_flag for all pictures in OlsInScope shall be equal to 0. specifies whether sps_amvr_enabled_flag for all pictures in OlsInScope shall be equal to 0. specifies whether sps_bdof_enabled_flag for all pictures in OlsInScope shall be equal to 0. specifies whether sps_smvd_enabled_flag for all pictures in OlsInScope shall be equal to 0. specifies whether sps_dmvr_enabled_flag for all pictures in OlsInScope shall be equal to 0. specifies whether sps_mmvd_enabled_flag for all pictures in OlsInScope shall be equal to 0. specifies whether sps_affine_enabled_flag for all pictures in OlsInScope shall be equal to 0. specifies whether sps_affine_prof_enabled_flag for all pictures in OlsInScope shall be equal to 0. specifies whether sps_bcw_enabled_flag for all pictures in OlsInScope shall be equal to 0. specifies whether sps_ciip_enabled_flag for all pictures in OlsInScope shall be equal to 0. specifies whether sps_gpm_enabled_flag for all pictures in OlsInScope shall be equal to 0. specifies whether sps_max_luma_transform_size_64_flag for all pictures in OlsInScope shall be equal to 0. specifies whether sps_transform_skip_enabled_flag for all pictures in OlsInScope shall be equal to 0. specifies whether sps_bdpcm_enabled_flag for all pictures in OlsInScope shall be equal to 0. specifies whether sps_mts_enabled_flag for all pictures in OlsInScope shall be equal to 0. specifies whether sps_lfnst_enabled_flag for all pictures in OlsInScope shall be equal to 0. specifies whether sps_joint_cbcr_enabled_flag for all pictures in OlsInScope shall be equal to 0. specifies whether sps_sbt_enabled_flag for all pictures in OlsInScope shall be equal to 0. specifies whether sps_act_enabled_flag for all pictures in OlsInScope shall be equal to 0. specifies whether sps_explicit_scaling_list_enabled_flag for all pictures in OlsInScope shall be equal to 0. specifies whether sps_dep_quant_enabled_flag for all pictures in OlsInScope shall be equal to 0. specifies whether sps_sign_data_hiding_enabled_flag for all pictures in OlsInScope shall be equal to 0. specifies whether pps_cu_qp_delta_enabled_flag for all pictures in OlsInScope shall be equal to 0. specifies whether pps_cu_chroma_qp_offset_list_enabled_flag for all pictures in OlsInScope shall be equal to 0. specifies whether sps_sao_enabled_flag for all pictures in OlsInScope shall be equal to 0. specifies whether sps_alf_enabled_flag for all pictures in OlsInScope shall be equal to 0. specifies whether sps_ccalf_enabled_flag for all pictures in OlsInScope shall be equal to 0. specifies whether sps_lmcs_enabled_flag for all pictures in OlsInScope shall be equal to 0. specifies whether sps_ladf_enabled_flag for all pictures in OlsInScope shall be equal to 0. specifies whether sps_virtual_boundaries_enabled_flag for all pictures in OlsInScope shall be equal to 0. specifies whether all pictures in OlsInScope are GDR pictures with ph_recovery_poc_cnt equal to 0 or IRAP pictures. specifies whether sps_extended_precision_flag for all pictures in OlsInScope shall be equal to 0. specifies whether sps_ts_residual_coding_rice_present_in_sh_flag for all pictures in OlsInScope should be equal to 0. specifies whether sps_rrc_rice_extension_flag for all pictures in OlsInScope shall be equal to 0. specifies whether sps_persistent_rice_adaptation_enabled_flag for all pictures in OlsInScope shall be equal to 0. specifies whether sps_reverse_last_sig_coeff_enabled_flag for all pictures in OlsInScope shall be equal to 0. the reserved bits. Structure defining the H266 HDR parameters. the number of time units of a clock operating at the frequency time_scale. number of time units that pass in one second. specifies whether NAL HRD parameters are present in the general_timing_hrd_parameters syntax structure. specifies whether VCL HRD parameters are present in the general_timing_hrd_parameters syntax structure. 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. specifies whether DU level HRD parameters are present and the HRD could operate at the AU level or DU level. specifies the clock sub-tick. specifies the maximum input bit rate of the CPB. specifies the CPB size of the CPB. specifies the CPB size of the CPB at du level. plus 1 specifies the number of alternative CPB delivery schedules. Structure defining the H266 LMCS parameters. minimum bin index used in the luma mapping with chroma scaling construction process. specifies the delta value between 15 and the maximum bin index LmcsMaxBinIdx used in the luma mapping with chroma scaling construction process. specifies the number of bits used for the representation of the syntax lmcs_delta_abs_cw[i]. specifies the absolute delta codeword value for the ith bin. specifies the sign of the variable lmcsDeltaCW[i]. specifies the absolute codeword value of the variable lmcsDeltaCrs. specifies the sign of the variable lmcsDeltaCrs. H.266 level. Structure defining the H266 Nal unit headers. A #GstH266NalUnitType. A nal unit layer id. A nal unit temporal identifier. The size of the nal unit starting from @offset. The offset of the actual start of the nal unit. The offset of the start code of the nal unit. If the nal unit is valid, which mean it has already been parsed. The data from which the Nalu has been parsed. The size of the NALU header in bytes. Indicates the types of H266 Nal Units as table 5 - NAL unit type codes and NAL unit type classes. Coded slice of a trailing picture or subpicture. Coded slice of an STSA picture or subpicture. Coded slice of a RADL picture or subpicture. Coded slice of a RASL picture or subpicture. Coded slice of an IDR picture or subpicture. Coded slice of an IDR picture or subpicture. Coded slice of a CRA picture or subpicture. Coded slice of a GDR picture or subpicture. Operating point information. Decoding capability information. Video parameter set(VPS). Sequence parameter set (SPS). Picture parameter set (PPS). Prefix Adaptation parameter set (APS). Suffix Adaptation parameter set (APS). Picture header (PH). AU delimiter. End of sequence (EOS). End of bitstream (EOB). Prefix Supplemental enhancement information. Suffix Suppliemental enhancement information. Filler data (FD). Structure defining the H266 OLS HDR parameters. 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]. 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]. specifies the temporal distance between the elemental units that specify the HRD output times of consecutive pictures in output order. specifies the HRD operational mode as specified in Annex C. sub layer nal #GstH266SubLayerHRDParameters. sub layer vcl #GstH266SubLayerHRDParameters. Structure defining the H266 operating point information. specifies whether opi_ols_idx is present in the OPI. specifies whether opi_htid_plus1 is present. 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. 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. specifies whether opi_extension_data_flag syntax elements are present. could have any value. Structure defining the H266 PPS. provides an identifier for the PPS for reference by other syntax elements. specifies the SPS referred to by this PPS. the #GstH266SPS this PPS refers to. 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. specifies the width of each decoded picture referring to the PPS in units of luma samples. specifies the height of each decoded picture referring to the PPS in units of luma samples. specifies whether the conformance cropping window offset parameters follow next in the PPS. specify left offset of the cropping window that is applied to pictures. specify right offset of the cropping window that is applied to pictures. specify top offset of the cropping window that is applied to pictures. specify bottom offset of the cropping window that is applied to pictures. specifies whether the scaling window offset parameters are present in the PPS. specify the left offsets that are applied to the picture size for scaling ratio calculation. specify the right offsets that are applied to the picture size for scaling ratio calculation. specify the top offsets that are applied to the picture size for scaling ratio calculation. specify the bottom offsets that are applied to the picture size for scaling ratio calculation. specifies whether the ph_pic_output_flag syntax element could be present in PH syntax structures referring to the PPS. specifies whether no picture partitioning is applied to each picture referring to the PPS. specifies whether the subpicture ID mapping is signalled in the PPS. shall be equal to sps_num_subpics_minus1. shall be equal to sps_subpic_id_len_minus1. specifies the subpicture ID of the i-th subpicture. specifies the luma coding tree block size of each CTU. specifies the number of explicitly provided tile column widths. specifies the number of explicitly provided tile row heights. specifies the width of the i-th tile column in units of CTBs. specifies the height of the i-th tile row in units of CTBs. specifies whether in-loop filtering operations across tile boundaries are enabled for pictures. specifies whether the raster-san slice mode is in use for each picture referring to the PPS. specifies whether each subpicture consists of one and only one rectangular slice. specifies the number of rectangular slices in each picture. specifies whether all pictures are partitioned into rectangular slice rows and rectangular slice columns in slice raster order. specifies the width of the i-th rectangular slice in units of tile columns. specifies the height of the i-th rectangular slice in units of tile rows. specifies the number of explicitly provided slice heights for the slices in the containing the i-th slice. specifies the height of the j-th rectangular slice in the tile containing the i-th slice. 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. specifies whether in-loop filtering operations across slice boundaries are enabled. specifies whether sh_cabac_init_flag is present in slice headers. specifies the inferred value of the variable NumRefIdxActive[0] for P or B slices. specifies whether rpl_sps_flag[1] and rpl_idx[1] are present in the PH. specifies whether weighted prediction is applied to P slices. specifies whether explicit weighted prediction is applied to B slices. specifies whether the horizontal wrap-around motion compensation is enabled. specifies the difference between the picture width and the offset used for computing the horizontal wrap-around position in units of MinCbSizeY luma samples. specifies the initial value of SliceQp Y for each slice. 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. specifies whether chroma tool offsets related syntax elements are present in the PPS. specify the offsets to the luma quantization parameter Qp'Y used for deriving Qp'Cb. specify the offsets to the luma quantization parameter Qp'Y used for deriving Qp'Cr. specifies whether pps_joint_cbcr_qp_offset_value and pps_joint_cbcr_qp_offset_list[i] are present in the PPS. specifies the offset to the luma quantization parameter Qp'Y used for deriving Qp'CbCr. specifies whether the sh_cb_qp_offset and sh_cr_qp_offset syntax elements are present in slice headers. 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. 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. specify offsets used in the derivation of Qp'Cb. specify offsets used in the derivation of Qp'Cr. specify offsets used in the derivation of Qp'CbCr. specifies whether presence of deblocking filter control syntax elements in the PPS. specifies whether the deblocking behaviour could be overridden in the picture level or slice level. specifies whether the deblocking filter is disabled unless overridden for a picture or slice by information. specifies whether deblocking filter information is present in the PH syntax structure and not present in slice headers. specify the default deblocking parameter offsets for beta that are applied to the luma component. specify the default deblocking parameter offsets for tC (divided by 2) that are applied to the luma component. specify the default deblocking parameter offsets for beta and that are applied to the Cb component. specify the default deblocking parameter offsets for tC (divided by 2) that are applied to the Cb component. specify the default deblocking parameter offsets for beta that are applied to the Cr component. specify the default deblocking parameter offsets for tC (divided by 2) that are applied to the Cr component. specifies whether RPL information is present in the PH syntax structure and not present in slice headers. specifies whether SAO filter information could be present in the PH syntax structure and not present in slice headers. specifies whether ALF information could be present in the PH syntax structure and not present in slice headers. specifies whether weighted prediction information could be present in the PH syntax structure and not present in slice headers. specifies whether QP delta information is present in the PH syntax structure and not present in slice headers. specifies whether PH extension syntax elements are present in PH syntax structures. specifies whether slice header extension syntax elements are present in the slice headers. specifies whether pps_extension_data_flag syntax elements are present. could have any value. the calculated width of the picture. the calculated height of the picture. the cropped width of the picture. the cropped height of the picture. the x offset of the cropped window. the y offset of the cropped window. PicWidthInCtbsY specify picture width count in CTBs. PicHeightInCtbsY specify picture height count in CTBs. picture size count in CTBs. total tile number in columns. total tile number in rows. total tile number of the picture. TileColBdVal specifying the location of the i-th tile column boundary in units of CTBs TileRowBdVal specifying the location of the j-th tile row boundary in units of CTBs. SliceTopLeftTileIdx specifying the tile index of the tile containing the first CTU in the slice. specifying the top left CTU index in X direction. specifying the top left CTU index in Y direction. slice height count in CTUs. slice number in subpicture. whether this PPS is valid. Contains VvcPTLRecord data as defined in ISO/IEC 14496-15 Number of bytes for constraint information. General profile id. General tier flag. General level id. Frame-only constraint flag. Multilayer enabled flag. Array containing general constraint information. Array indicating presence of sublayer level. Array containing sublayer level ids. Number of sub-profiles. Array containing general sub-profile ids. 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() * #GST_H266_NAL_VPS: gst_h266_parser_parse_vps() * #GST_H266_NAL_SPS: gst_h266_parser_parse_sps() * #GST_H266_NAL_PPS: #gst_h266_parser_parse_pps() * 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 Frees the @parser the #GstH266Parser to free Parses @data for packetized (e.g., vvc1/vvi1) bitstream and sets @nalus. In addition to nal identifying process, this method scans start-code prefix to split malformed packet into actual nal chunks. a #GstH266ParserResult a #GstH266Parser The data to parse, must be the beging of the Nal unit the offset from which to parse @data the size of @data the size in bytes of the VVC nal length prefix. a caller allocated #GArray of #GstH266NalUnit where to store parsed nal headers the size of consumed bytes Parses @data and fills @nalu from the next nalu data from @data a #GstH266ParserResult a #GstH266Parser The data to parse the offset from which to parse @data the size of @data The #GstH266NalUnit where to store parsed nal headers 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. a #GstH266ParserResult a #GstH266Parser The data to parse the offset from which to parse @data the size of @data The #GstH266NalUnit where to store parsed nal headers Parses @data and sets @nalu. a #GstH266ParserResult a #GstH266Parser The data to parse, must be the beging of the Nal unit the offset from which to parse @data the size of @data the size in bytes of the VVC nal length prefix. The #GstH266NalUnit where to store parsed nal headers Parses @data, and fills the @aps structure. a #GstH266ParserResult a #GstH266Parser The APS #GstH266NalUnit to parse The #GstH266APS to fill. Parses @data, and fills the @aud structure. a #GstH266ParserResult a #GstH266Parser The AUD #GstH266NalUnit to parse The #GstH266AUD to fill. Parses @data, and fills the @dci structure. a #GstH266ParserResult a #GstH266Parser The DCI #GstH266NalUnit to parse The #GstH266DCI to fill. Parses VVCDecoderConfigurationRecord data and fill into @config. The caller must free @config via gst_h266_decoder_config_record_free() This method does not parse APS, VPS, SPS and PPS and therefore the caller needs to parse each NAL unit via appropriate parsing method. a #GstH266ParserResult a #GstH266Parser the data to parse the size of @data parsed #GstH266DecoderConfigRecord data 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. a #GstH266ParserResult a #GstH266Parser The #GstH266NalUnit to parse Parses @data, and fills the @opi structure. a #GstH266ParserResult a #GstH266Parser The OPI #GstH266NalUnit to parse The #GstH266OPI to fill. Parses @data, and fills the @ph structure. a #GstH266ParserResult a #GstH266Parser The picture header #GstH266NalUnit to parse The #GstH266PicHdr to fill. Parses @data, and fills the @pps structure. a #GstH266ParserResult a #GstH266Parser The #GST_H266_NAL_PPS #GstH266NalUnit to parse The #GstH266PPS to fill. Parses @data, create and fills the @messages array. a #GstH266ParserResult a #GstH266Parser The `GST_H266_NAL_*_SEI` #GstH266NalUnit to parse The GArray of #GstH266SEIMessage to fill. The caller must free it when done. Parses @data, and fills the @sh structure. a #GstH266ParserResult a #GstH266Parser The slice #GstH266NalUnit to parse The #GstH266SliceHdr to fill. Parses @data, and fills the @sps structure. a #GstH266ParserResult a #GstH266Parser The #GST_H266_NAL_SPS #GstH266NalUnit to parse The #GstH266SPS to fill. Parses @data, and fills the @vps structure. a #GstH266ParserResult a #GstH266Parser The #GST_H266_NAL_VPS #GstH266NalUnit to parse The #GstH266VPS to fill. Creates a new #GstH266Parser. It should be freed with gst_h266_parser_free after use. a new #GstH266Parser The result of parsing H266 data. The parsing succeeded. The data to parse is broken. The link to structure needed for the parsing couldn't be found. An error accured when parsing. No nal found during the parsing. Start of the nal found, but not the end. Structure defining the H266 picture header. specifies whethers the current picture is a GDR or IRAP picture. specifies whether the current picture is never used as a reference picture. specifies whether the current picture is a GDR picture. specifies whether all coded slices of the picture have sh_slice_type equal to 2. specifies whether all coded slices of the picture have sh_slice_type equal to 0 or 1. specifies the value of pps_pic_parameter_set_id for the PPS in use. specifies the picture order count modulo MaxPicOrderCntLsb for the current picture. specifies the recovery point of decoded pictures in output order. @extra_bit[16]: could have any value. specifies that the syntax element ph_poc_msb_cycle_val is present in the PH. specifies the value of the POC MSB cycle of the current picture. specifies whether the adaptive loop filter is enabled for the current picture. specifies the number of ALF APSs that the slices in the current picture refers to. specifies the aps_adaptation_parameter_set_id of the i-th ALF APS. specifies whether the adaptive loop filter is enabled for the Cb colour component of the current picture. 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. specifies whether the cross-component adaptive loop filter for the Cb colour component is enabled for the current picture 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. specifies that the cross-compoent adaptive loop filter for the Cr colour component is enabled for the current picture. 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. specifies whether LMCS is enabled for the current picture. specifies the aps_adaptation_parameter_set_id of the LMCS APS. specifies whether chroma residual scaling is enabled and could be used for the current picture. specifies that the explicit scaling list is enabled for the current picture. specifies the aps_adaptation_parameter_set_id of the scaling list APS. specifies whether information of virtual boundaries is signalled in the PH syntax structure. specifies the number of ph_virtual_boundary_pos_x_minus1[i] syntax elements. specifies the location of the i-th vertical virtual boundary in units of luma samples divided by 8. specifies the number of ph_virtual_boundary_pos_y_minus1[i]. specifies the location of the i-th horizontal virtual boundary in units of luma samples divided by 8. affects the decoded picture output and removal processes as specified in Annex C. reference lists of #GstH266RefPicLists. specifies that partition constraint parameters are present. 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. specifies the maximum hierarchy depth for coding units resulting from multi-type tree splitting of a quadtree leaf. 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. 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. 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. 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. 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. 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. specifies the maximum cbSubdiv value of coding units in intra slice that convey cu_qp_delta_abs and cu_qp_delta_sign_flag. specifies the maximum cbSubdiv value of coding units in intra slice that convey cu_chroma_qp_offset_flag. 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. specifies the maximum hierarchy depth for coding units resulting from multi-type tree splitting of a quadtree leaf. 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. 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. specifies the maximum cbSubdiv value of coding units that in inter slice convey cu_qp_delta_abs and cu_qp_delta_sign_flag. specifies the maximum cbSubdiv value of coding units in inter slice that convey cu_chroma_qp_offset_flag. specifies whether temporal motion vector predictor is enabled for the current picture. specifies whether the collocated picture used for temporal motion vector prediction is derived from RPL 0. specifies the reference index of the collocated picture used for temporal motion vector prediction. specifies whether the merge mode with motion vector difference uses only integer sample precision for the current picture. specifies whether the mvd_coding syntax structure is parsed. specifies that the bi-directional optical flow inter prediction based inter bi-prediction is disabled for the current picture. specifies whether the decoder motion vector refinement based inter bi-prediction is disabled for the current picture. specifies whether prediction refinement with optical flow is disabled for the current picture. prediction weight table of #GstH266PredWeightTable. specifies the initial value of QpY to be used for the coding blocks in the picture. specifies whether the collocated residual samples of both chroma components have inverted signs. specifies whether SAO is enabled for the luma component of the current picture. specifies whether SAO is enabled for the chroma component of the current picture. specifies whether the deblocking parameters could be present in the PH syntax structure. specifies whether the deblocking filter is disabled for the current picture. specify the deblocking parameter offsets for beta that are applied to the luma component for the slices in the current picture. specify the deblocking parameter offsets for tC that are applied to the luma component for the slices in the current picture. specify the deblocking parameter offsets for beta that are applied to the Cb component for the slices in the current picture. specify the deblocking parameter offsets for tC that are applied to the Cb component for the slices in the current picture. specify the deblocking parameter offsets for beta that are applied to the Cr component for the slices in the current picture. specify the deblocking parameter offsets for tC that are applied to the Cr component for the slices in the current picture. specifies the length of the PH extension data in bytes. could have any value. whether this picture header is valid. Structure defining the H266 picture timing. calculate the number of clock ticks between the nominal CPB removal times of the AU associated with the PT SEI message. specifies whether cpb removal values are present for the sublayer with TemporalId equal to i. specifies whether pt_cpb_removal_delay_delta_idx[i] is present in the PT SEI message. specifies the index of the CPB removal delta. is used to calculate the number of clock ticks between the nominal CPB removal times of the AU. is used to compute the DPB output time of the AU. specifies whether the cpb alt syntax elements could be present in the PT SEI message. 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. 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. specifies an offset to be used in the derivation of the nominal CPB removal times of the AU. specifies an offset to be used in the derivation of the DPB output times of the IRAP AU. 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. 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. specifies an offset to be used in the derivation of the nominal CPB removal times of the AU. specifies an offset to be used in the derivation of the DPB output times of the IRAP AU. is used to compute the DPB output time of the AU when DecodingUnitHrdFlag is equal to 1. specifies the number of DUs in the AU the PT SEI message is associated with. specifies whether the syntax elements pt_du_common_cpb_removal_delay_increment_minus1[i] are present. specifies the duration between the nominal CPB removal times of any two consecutive DUs in decoding order in the AU. specifies the number of NAL units in the i-th DU of the AU the PT SEI message is associated with. specifies the duration between the nominal CPB removal times of the (i + 1)-th DU and the i-th DU. specifies that the difference between the final arrival time and the CPB removal time of the AU is present. indicates the number of elemental picture period intervals. Structure defining the H266 weight table parameters. the base 2 logarithm of the denominator for all luma weighting factors. the difference of the base 2 logarithm of the denominator for all chroma weighting factors. specifies the number of weights signalled for entries in RPL 0 when pps_wp_info_in_ph_flag is equal to 1. specifies whether weighting factors for the luma component of list 0 prediction using RefPicList[0][i] are present. specifies whether weighting factors for the chroma prediction values of list 0 prediction using RefPicList[0][i] are present. the difference of the weighting factor applied to the luma prediction value for list 0 prediction using RefPicList[0][i]. the additive offset applied to the luma prediction value for list 0 prediction using RefPicList[0][i]. the difference of the weighting factor applied to the chroma prediction values for list 0 prediction. the difference of the additive offset applied to the chroma prediction values for list 0 prediction. specifies the number of weights signalled for entries in RPL 1. specifies whether weighting factors for the luma component of list 1 prediction using RefPicList[1][i] are present. specifies whether weighting factors for the chroma prediction values of list 1 prediction using RefPicList[1][i] are present. the difference of the weighting factor applied to the luma prediction value for list 1 prediction using RefPicList[1][i]. the additive offset applied to the luma prediction value for list 1 prediction using RefPicList[1][i]. the difference of the weighting factor applied to the chroma prediction values for list 1 prediction. the difference of the additive offset applied to the chroma prediction values for list 1 prediction. H.266 Profiles. Main 10 profile (A.3.1). Main 10 Still Picture profile (A.3.1). MultiLayer Main 10 profile (A.3.3). MultiLayer Main 10 Still Picture profile (A.3.3). Main 10 4:4:4 profile (A.3.2). Main 10 4:4:4 Still Picture profile (A.3.2). MultiLayer Main 10 4:4:4 profile (A.3.4). MultiLayer Main 10 4:4:4 Still Picture profile (A.3.4). Main 12 profile (A.3.5). Main 12 4:4:4 profile (A.3.5). Main 16 4:4:4 profile (A.3.5). Main 12 Intra profile (A.3.5). Main 12 4:4:4 Intra profile (A.3.5). Main 16 4:4:4 Intra profile (A.3.5). Main 12 Still Picture profile (A.3.5). Main 12 4:4:4 Still Picture profile (A.3.5). Main 16 4:4:4 Still Picture profile (A.3.5). Structure defining the H266 profile, tier and level. the profile id. specifies the main tier or high tier. indicates a level to which OlsInScope conforms as specified in Annex A. specifies whether sps_field_seq_flag for all pictures in OlsInScope shall be equal to 0. specifies whether the CVSs of OlsInScope might contain more than one layer. the #GstH266GeneralConstraintsInfo contains the general constraints info. specifies whether level information is present in the profile_tier_level syntax structure for the sublayer representation. the sublayer level idc. specifies the number of the general_sub_profile_idc[i] syntax elements. specifies the i-th interoperability indicator registered as specified by Rec. ITU-T T.35 Structure defining the H266 reference picture list. specifies the number of entries in the ref_pic_list_struct(listIdx, rplsIdx) syntax structure. 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. specifies whether the i-th entry in the ref_pic_list_struct(listIdx, rplsIdx) syntax structure is an ILRP entry. specifies whether the i-th entry in the ref_pic_list_struct(listIdx, rplsIdx) syntax structure is an STRP entry. specifies the value of the variable AbsDeltaPocSt[listIdx][rplsIdx][i]. specifies whether DeltaPocValSt[listIdx][rplsIdx] is greater than or equal to 0. specifies the value of the picture order count modulo MaxPicOrderCntLsb of the picture referred to. specifies the index of the ILRP entry of the i-th entry in the ref_pic_list_struct. the number of short term reference picture. the number long term reference picture. the number of inter layer reference picture. the calculated DeltaPocValSt value. Structure defining the H266 reference picture lists. 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. specifies the index into the list of the ref_pic_list_struct(listIdx, rplsIdx) syntax structures. reference list of #GstH266RefPicListStruct. specifies the value of the picture order count modulo MaxPicOrderCntLsb. specifies whether delta_poc_msb_cycle_lt[i][j] is present. specifies the value of the variable FullPocLt[i][j]. The User data registered by Rec. ITU-T T.35 SEI message. an itu_t_t35_country_code. an itu_t_t35_country_code_extension_byte. Should be ignored when @country_code is not 0xff the size of @data in bytes the data of itu_t_t35_payload_byte excluding @country_code and @country_code_extension Structure defining the H266 sei message. the payload type of #GstH266SEIPayloadType. The type of SEI message. More other SEIs are specified in Rec.ITU-T H.274 | ISO/IEC 23002-7. Buffering Period SEI Message. Picture Timing SEI Message. Registered user data. User data Unregistered. DU Information SEI Message. Frame Field Info SEI Message. Subpicture Level Information SEI. Structure defining the H266 SPS. 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. provides an identifier for the SPS for reference by other syntax elements. specifies the VPS referred to by this SPS. the #GstH266VPS this SPS refers to. specifies the maximum number of temporal sublayers that could be present in each CLVS referring to the SPS. specifies the chroma sampling relative to the luma sampling. specifies the luma coding tree block size of each CTU. the calculated ctu size. specifies whether a profile_tier_level syntax structure and a dpb_parameters syntax structure are present in the SPS. DPB parameters of #GstH266DPBParameters. the profile tier and level in #GstH266ProfileTierLevel. HRD parameters of #GstH266GeneralHRDParameters. OLS HRD parameters of #GstH266OLSHRDParameters. specifies whether GDR pictures are enabled and could be present in the CLVS. specifies whether the picture spatial resolution might change within a CLVS. specifies whether reference picture resampling is enabled. specifies the maximum width, in units of luma samples, of each decoded picture. specifies the maximum height, in units of luma samples, of each decoded picture. indicates whether the conformance cropping window offset parameters follow next in the SPS. specify left offset of the cropping window that is applied to pictures. specify right offset of the cropping window that is applied to pictures. specify top offset of the cropping window that is applied to pictures. specify bottom offset of the cropping window that is applied to pictures. 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. specifies the number of subpictures in each picture in the CLVS. specifies whether all subpicture boundaries in the CLVS are treated as picture boundaries and there is no loop filtering across the subpicture boundaries. specifies whether all subpictures in the CLVS have the same width and height. specifies horizontal position of top-left CTU of i-th subpicture in unit of CtbSizeY. specifies vertical position of top-left CTU of i-th subpicture in unit of CtbSizeY. specifies the width of the i-th subpicture in units of CtbSizeY. specifies the height of the i-th subpicture in units of CtbSizeY. specifies whether the i-th subpicture of each coded picture in the CLVS is treated as a picture. specifies whether in-loop filtering operations across subpicture boundaries is enabled and might be performed across the boundaries of the i-th subpicture. specifies the subpicture ID of the i-th subpicture. specifies the number of bits used to represent the syntax element sps_subpic_id[i]. specifies whether the subpicture ID mapping is explicitly signalled. specifies whether the subpicture ID mapping is signalled in the SPS. specifies the bit depth of the samples of the luma and chroma arrays. specifies whether a specific synchronization process for context variables is invoked before decoding the CTU. specifies whether signalling for entry point offsets for tiles or tile-specific CTU rows could be present in the slice headers of pictures. specifies the value of the variable MaxPicOrderCntLsb. specifies whether the ph_poc_msb_cycle_present_flag syntax element is present in PH syntax structures. specifies the length, in bits, of the ph_poc_msb_cycle_val syntax elements. specifies the number of bytes of extra bits in the PH syntax structure for coded pictures. specifies whether the i-th extra bit is present in PH syntax structures. specifies the number of bytes of extra bits in the slice headers for coded pictures. specifies whether the i-th extra bit is present in the slice headers of pictures. 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. specifies the minimum luma coding block size. specifies the presence of ph_partition_constraints_override_flag in PH syntax structures. 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. 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). 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. 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. 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. 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). 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). 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). 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). 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). 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). 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). 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). specifies whether the maximum transform size in luma samples is equal to 64. specifies whether transform_skip_flag could be present in the transform unit syntax. specifies the maximum block size used for transform skip. specifies whether intra_bdpcm_luma_flag and intra_bdpcm_chroma_flag could be present in the coding unit syntax for intra coding units. specifies whether sps_explicit_mts_intra_enabled_flag and sps_explicit_mts_inter_enabled_flag are present in the SPS. specifies whether mts_idx could be present in the intra coding unit syntax of the CLVS. specifies whether mts_idx could be present in the inter coding unit syntax of the CLVS. specifies whether lfnst_idx could be present in intra coding unit syntax. specifies whether the joint coding of chroma residuals is enabled for the CLVS. 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. specifies the starting luma and chroma QP used to describe the i-th chroma QP mapping table. specifies the number of points used to describe the i-th chroma QP mapping table. specifies a delta value used to derive the input coordinate of the j-th pivot point of the i-th chroma QP mapping table. specifies a delta value used to derive the output coordinate of the j-th pivot point of the i-th chroma QP mapping table. specifies whether SAO is enabled for the CLVS. specifies whether ALF is enabled for the CLVS. specifies whether CCALF is enabled for the CLVS. specifies whether LMCS is enabled for the CLVS. specifies whether weighted prediction might be applied to P slices referring to the SPS. 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. 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. 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. specifies whether the syntax element sps_num_ref_pic_lists[1] and the syntax structure ref_pic_list_struct(1, rplsIdx) are present. specifies the number of the ref_pic_list_struct(listIdx, rplsIdx) syntax structures with listIdx equal to i included in the SPS. the reference list of #GstH266RefPicListStruct. specifies whether horizontal wrap-around motion compensation is enabled for the CLVS. specifies whether temporal motion vector predictors are enabled for the CLVS. 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. specifies whether adaptive motion vector difference resolution is enabled for the CVLS. specifies whether the bi-directional optical flow inter prediction is enabled for the CLVS. specifies whether ph_bdof_disabled_flag could be present in PH syntax structures referring to the SPS. specifies whether symmetric motion vector difference is enabled for the CLVS. specifies whether decoder motion vector refinement based inter bi-prediction is enabled for the CLVS. specifies whether ph_dmvr_disabled_flag could be present in PH syntax structures referring to the SPS. specifies whether merge mode with motion vector difference is enabled for the CLVS. specifies whether the merge mode with motion vector difference using only integer sample precision is enabled for the CLVS. specifies the maximum number of merging motion vector prediction (MVP) candidates supported in the SPS. specifies whether subblock transform for inter-predicted CUs is enabled for the CLVS. specifies whether the affine model based motion compensation is enabled for the CLVS. specifies the maximum number of subblock-based merging motion vector prediction candidates supported. specifies whether the 6-parameter affine model based motion compensation is enabled for the CLVS. specifies whether adaptive motion vector difference resolution is enabled for the CLVS. specifies whether the affine motion compensation refined with optical flow is enabled for the CLVS. 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. specifies whether ciip_flag could be present in the coding unit syntax for inter coding units. specifies whether the geometric partition based motion compensation is enabled for the CLVS. specifies the maximum number of geometric partitioning merge mode candidates supported in the SPS. specifies the value of the variable Log2ParMrgLevel. specifies whether intra prediction with subpartitions is enabled for the CLVS. specifies whether intra prediction with multiple reference lines is enabled for the CLVS. specifies whether the matrix-based intra prediction is enabled for the CLVS. specifies whether the cross-component linear model intra prediction from luma component to chroma component is enabled for the CLVS. specifies whether prediction processes operate in a manner designed for chroma sample positions that are not horizontally shifted relative to corresponding luma sample positions. specifies whether prediction processes operate in a manner designed for chroma sample positions that are not vertically shifted relative to corresponding luma sample positions. specifies whether the palette prediction mode is enabled for the CLVS. specifies whether the adaptive colour transform is enabled for the CLVS. specifies whether minimum allowed quantization parameter for transform skip mode. specifies whether the IBC prediction mode is enabled for the CLVS. specifies the maximum number of IBC merging block vector prediction (BVP) candidates. 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. specifies the number of sps_ladf_delta_threshold_minus1[i] and sps_ladf_qp_offset[i] syntax elements that are present in the SPS. specifies the offset used to derive the variable qP. specifies the offset array used to derive the variable qP. is used to compute the values of SpsLadfIntervalLowerBound[i]. specifies whether the use of an explicit scaling list is enabled for the CLVS. specifies whether scaling matrices are disabled for blocks coded with LFNST for the CLVS. specifies whether scaling matrices are disabled and not applied to blocks of a coding unit. 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. specifies whether dependent quantization is enabled for the CLVS. specifies whether sign bit hiding is enabled for the CLVS. specifies whether disabling in-loop filtering across virtual boundaries is enabled for the CLVS. specifies whether information of virtual boundaries is signalled in the SPS. specifies the number of sps_virtual_boundary_pos_x_minus1[i] syntax elements. specifies the location of the i-th vertical virtual boundary in units of luma samples divided by 8. specifies the number of sps_virtual_boundary_pos_y_minus1[i] syntax elements. specifies the location of the i-th horizontal virtual boundary in units of luma samples divided by 8. specifies whether the SPS contains a general_timing_hrd_parameters syntax structure and an ols_timing_hrd_parameters syntax structure. specifies whether the ols_timing_hrd_parameters syntax structure in the SPS includes HRD parameters for sublayer representations. indicates whether the CLVS conveys pictures that represent fields. specifies whether the syntax structure vui_payload is present in the SPS RBSP syntax structure. specifies the number of RBSP bytes in the vui_payload syntax structure. VUI parameters of #GstH266VUIParams. specifies whether the syntax elements sps_range_extension_flag and sps_extension_7bits are present. specifies whether the sps_range_extension syntax structure is present. specifies whether no sps_extension_data_flag syntax elements are present. range parameters of #GstH266SPSRangeExtensionParams. the calculated max width of the picture. the calculated max height of the picture. the cropped width of the picture. the cropped height of the picture. the x offset of the cropped window. the y offset of the cropped window. the calculated FPS numerator. the calculated FPS denominator. whether the SPS is valid. Structure defining the H266 SPS range extension parameters. specifies whether an extended dynamic range is used for transform coefficients. specifies whether sh_ts_residual_coding_rice_idx_minus1 may be present in slice_header syntax structures referring to the SPS. specifies whether an alternative Rice parameter derivation is used. specifies whether Rice parameter derivation is initialized at the start of each TU using statistics accumulated from previous TUs. specifies whether sh_reverse_last_sig_coeff_flag is present in slice_header syntax structures referring to the SPS. Structure defining the H266 scalable nesting. specifies whether the scalable-nested SEI messages apply to specific OLSs. 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. specifies the number of OLSs to which the scalable-nested SEI messages apply. is used to derive the variable NestingOlsIdx[i]. 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. specifies the number of layers to which the scalable-nested SEI messages apply. specifies the nuh_layer_id value of the i-th layer to which the scalable-nested SEI messages apply. specifies the number of subpictures in each picture in the multiSubpicLayers. specifies the number of bits used to represent the syntax element sn_subpic_id[i]. indicates the subpicture ID of the i-th subpicture in each picture in the multiSubpicLayers. specifies the number of scalable-nested SEI messages. Structure defining the H266 scaling list parameters. specifies whether the values of the scaling list are the same as the values of a reference scaling list. specifies whether the values of the scaling list can be predicted from a reference scaling list. specifies the reference scaling list used to derive the predicted scaling matrix scalingMatrixPred. used to derive the value of the variable ScalingMatrixDcRec. specifies the difference between the current matrix coefficient ScalingList. the scaling list DC coef. the calculated scaling list coefs. Structure defining the H266 slice header. the picture header of #GstH266PicHdr. specifies the subpicture ID of the subpicture. specifies the slice address of the slice. could have any value. specifies the number of tiles in the slice. specifies the coding type of the slice. affects the output of previously-decoded pictures in the DPB. specifies whether ALF is enabled for the Y, Cb, or Cr colour component of the current slice. specifies the number of ALF APSs. specifies the aps_adaptation_parameter_set_id of the i-th ALF APS that the luma component of the slice refers to. specifies whether ALF is enabled for the Cb colour component of the current slice. specifies whether ALF is enabled for the Cr colour component of the current slice. specifies the aps_adaptation_parameter_set_id of the ALF APS that the chroma component of the slice refers to. specifies whether CCALF is enabled for the Cb colour component. specifies the aps_adaptation_parameter_set_id that the Cb colour component of the slice refers to. specifies whether CCALF is enabled for the Cr colour component of the current slice. specifies the aps_adaptation_parameter_set_id that the Cr colour component of the slice refers to. specifies that luma mapping is used for the current slice and chroma scaling could be used for the current slice. specifies that the explicit scaling list is used in the scaling process for transform coefficients. reference pictures lists of #GstH266RefPicLists. specifies whether the syntax element sh_num_ref_idx_active_minus1[0] is present for P and B slices. is used for the derivation of the variable NumRefIdxActive[i]. the calculated NumRefIdxActive value. specifies the method for determining the initialization table used in the initialization process for context variables. specifies whether the collocated picture used for temporal motion vector prediction is derived from RPL 0. specifies the reference index of the collocated picture used for temporal motion vector prediction. prediction weight table of #GstH266PredWeightTable. specifies the initial value of QpY to be used for the coding blocks in the slice. specifies a difference to be added to the value of pps_cb_qp_offset when determining the value of the Qp'Cb quantization. specifies a difference to be added to the value of pps_cr_qp_offset when determining the value of the Qp' Cr quantization. specifies a difference to be added to the value of pps_joint_cbcr_qp_offset_value when determining the value of the Qp'CbCr. specifies whether the cu_chroma_qp_offset_flag could be present in the transform unit and palette coding syntax of the current slice. specifies whether SAO is used for the luma component in the current slice. specifies whether SAO is used for the chroma component in the current slice. specifies whether the deblocking parameters could be present in the slice header. specifies whether the deblocking filter is disabled for the current slice. specify the deblocking parameter offsets for beta that are applied to the luma component for the current slice. specify the deblocking parameter offsets for tC that are applied to the luma component for the current slice. specify the deblocking parameter offsets for beta that are applied to the Cb component for the current slice. specify the deblocking parameter offsets for tC that are applied to the Cb component for the current slice. specify the deblocking parameter offsets for beta that are applied to the Cr component for the current slice. specify the deblocking parameter offsets for tC that are applied to the Cr component for the current slice. specifies whether dependent quantization is used. specifies whether sign bit hiding is not used for the current slice. specifies whether the residual_coding syntax structure is used to parse the residual samples of a transform skip block for the current slice. specifies whether Rice parameter used for the residual_ts_coding syntax structure in the current slice. specifies whether the coordinates of the last significant coefficient are coded relative to ( 0, 0 ) for each transform block of the current slice. specifies the length of the slice header extension data in bytes. could have any value. NumEntryPoints specifies the number of entry points in the current slice. specifies the length, in bits, of the sh_entry_point_offset_minus1[i] syntax elements. specifies the i-th entry point offset in bytes. size of the slice_header in bits. number of emulation prevention bytes (EPB) in this slice_header. Types of Picture slice. B slice type. P slice type. I slice type. Structure defining the H266 sub layer HDR parameters. specifies the maximum input bit rate for the CPB. together with cpb_size_scale to specify the CPB size. together with cpb_size_du_scale to specify the CPB size. specifies the maximum input bit rate for the CPB. specifies whether to decode this bitstream by the HRD using the CPB specification. the calculated bit rate. the calculated cpb size. Structure defining the H266 subpicture level information. specifies the number of reference levels signalled for each subpicture sequences. specifies whether to decode the sub-bitstreams resulting from extraction of any subpicture sequence. specifies whether the syntax elements sli_ref_level_fraction_minus1[ i ] are present. specifies the number of subpictures in the pictures in the multiSubpicLayers in targetCvss. specifies the maximum number of temporal sublayers in the subpicture sequences. specifies whether the level information for subpicture sequences is present for sublayer representation. indicates the i-th fraction of the bitstream level limits associated with layers in targetCvss. indicates the i-th level to which each subpicture sequence conforms as specified in Annex A. specifies the i-th fraction of the level limits for the subpictures. Structure defining the H266 VPS. provides an identifier for the VPS for reference by other syntax elements. specifies the number of layers specified by the VPS. specifies the maximum number of temporal sublayers that may be present in a layer specified by the VPS. specifies whether the syntax elements vps_ptl_max_tid, vps_dpb_max_tid, and vps_hrd_max_tid are present. specifies whether all layers specified by the VPS are independently coded without using inter-layer prediction. specifies the nuh_layer_id value of the i-th layer. specifies whether the layer with index i does not use inter-layer prediction. specifies whether the syntax element vps_max_tid_il_ref_pics_plus1 could be present. specifies whether the layer with index j is not a direct reference layer for the layer with index i. 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. 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. specifies whether the total number of OLSs specified by the VPS is equal to vps_max_layers_minus1 + 1. specifies the total number of OLSs specified by the VPS. specifies the number of multi-layer OLSs (i.e., OLSs that contain more than one layer). specifies the index to the list of multi-layer OLSs for the i-th OLS. specifies the number of layers in the i-th OLS. specifies the nuh_layer_id value of the j-th layer in the i-th OLS. specifies the total number of OLSs specified by the VPS when vps_ols_mode_idc is equal to 2. 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. specifies the number of output layers in the i-th OLS. specifies the nuh_layer_id value of the j-th output layer in the i-th OLS. specifies the number of sublayers in the j-th layer in the i-th OLS. specifies the number of profile_tier_level syntax structures in the VPS. specifies whether profile, tier, and general constraints information are present in the i-th profile_tier_level syntax structure in the VPS. specifies the TemporalId of the highest sublayer representation. specifies the profile, tier and level using #GstH266ProfileTierLevel. specifies the index of the profile_tier_level syntax structure that applies to the i-th OLS. specifies the number of dpb_parameters syntax strutcures in the VPS. 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. 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. the DPB parameters using #GstH266DPBParameters. specifies the width of each picture storage buffer for the i-th multi-layer OLS. specifies the height of each picture storage buffer for the i-th multi-layer OLS. specifies the greatest allowed value of sps_chroma_format_idc for all SPSs. specifies the greatest allowed value of sps_bitdepth_minus8 for all SPSs. specifies the index of the dpb_parameters syntax structure that applies to the i-th multi-layer OLS. specifies whether the VPS contains a general_timing_hrd_parameters syntax structure and other HRD parameters. HRD parameters in #GstH266GeneralHRDParameters. specifies that the i-th ols_timing_hrd_parameters syntax structure in the VPS contains HRD parameters for the sublayer representations. specifies the number of ols_timing_hrd_parameters syntax structures present in the VPS. 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 parameters using #GstH266OLSHRDParameters. specifies the index of the ols_timing_hrd_parameters syntax structure that applies to the i-th multi-layer OLS. specifies whether no vps_extension_data_flag syntax elements are present in the VPS RBSP syntax structure. could have any value, it is not defined in this version of this Specification. whether this VPS is valid. Structure defining the H266 VUI parameters. flag to indicate the progressive type of stream. flag to indicate the interlaced type of stream. indicate the presence of frame packing arrangement sei message flag to indicate the projected support. specifies whether aspect_ratio_idc is present. specifies whether the ratio is constant. specifies the value of the sample aspect ratio of the luma samples. indicates the horizontal size of the sample aspect ratio. indicates the vertical size of the sample aspect ratio. specify whether the overscan_appropriate_flag is present. indicates whether the cropped decoded pictures output are suitable for display using overscan. specifies whether colour_primaries, transfer_characteristics and matrix_coefficients are present. indicates the chromaticity coordinates of the source primaries. indicates the opto-electronic transfer characteristic. describes the matrix coefficients used in deriving luma and chroma signals. indicates the full range of the color. specifies whether chroma_sample_loc_type_frame, chroma_sample_loc_type_top_field and chroma_sample_loc_type_bottom_field are present. specify the location of chroma for the frame. specify the location of chroma for the top field. specify the location of chroma for the bottom field. calculated aspect ratio numerator value. calculated aspect ratio denominator value. Check whether @nal_type is CRA or not. a #GstH266NalUnitType Check whether @nal_type is coded video sequence start or not. a #GstH266NalUnitType Check whether @nal_type is GDR or not. a #GstH266NalUnitType Check whether @nal_type is IDR or not. a #GstH266NalUnitType Check whether @nal_type is IRAP or not. a #GstH266NalUnitType Check whether @nal_type is RADL or not. a #GstH266NalUnitType Check whether @nal_type is RASL or not. a #GstH266NalUnitType no color space standard RGB color space standard YUV color space monochrome color space Sampling values from RF 5371 for JPEG 2000 over RTP : https://datatracker.ietf.org/doc/rfc5371/C Note: sampling extensions that are not listed in the RFC are signified by an _EXT at the end of the enum no sampling standard Red, Green, Blue color space. standard Blue, Green, Red color space. standard Red, Green, Blue, Alpha color space. standard Blue, Green, Red, Alpha color space. standard YCbCr color space; no subsampling. standard YCbCr color space; Cb and Cr are subsampled horizontally by 1/2. standard YCbCr color space; Cb and Cr are subsampled horizontally and vertically by 1/2. standard YCbCr color space; Cb and Cr are subsampled vertically by 1/4 alternating the Cb and Cr component. basically, a single component image of just multilevels of grey. standard YCbCr color space, alpha channel, no subsampling, standard YCbCr color space; Cb and Cr are subsampled vertically by 1/4 Maximum number of image components in a frame (Nf). Number of elements in the quantization table. Maximum number of image components in a scan (Ns). The result of writing JPEG data into bit stream. The writing succeeded The input data to write is invalid The output does not have enough size An general error occurred when writing JPEG entropy coding mode. Huffman coding arithmetic coding Component-specification parameters. Component identifier (Ci) Horizontal sampling factor (Hi) Vertical sampling factor (Vi) Quantization table destination selector (Tqi) Frame header. Sample precision (P) Number of samples per line (X) Number of lines (Y) Number of image components in frame (Nf) Image components Huffman table. Number of Huffman codes of length i + 1 (Li) If the Huffman table is valid, which means it has already been parsed Helper data structure that holds all AC/DC Huffman tables used to decode an image. DC Huffman tables AC Huffman tables Indicates the type of JPEG segment. Start of frame marker code (Baseline) Start of frame marker code (Extended Sequential, Huffman) Start of frame marker code (Progressive, Huffman) Start of frame marker code (Lossless, Huffman) Start of frame marker code (Differential Sequential, Huffman) Start of frame marker code (Differential Progressive, Huffman) Start of frame marker code (Differential Lossless, Huffman) Start of frame marker code (Extended Sequential, Arithmetic) Start of frame marker code (Progressive, Arithmetic) Start of frame marker code (Lossless, Arithmetic) Start of frame marker code (Differential Sequential, Arithmetic) Start of frame marker code (Differential Progressive, Arithmetic) Start of frame marker code (Differential Lossless, Arithmetic) Huffman table marker code Arithmetic coding marker code Start of image marker code End of image marker code Start of scan marker code Define quantization table marker code Define number of lines marker code Define restart interval marker code Application segment 0 marker code Application segment 1 marker code Application segment 2 marker code Application segment 3 marker code Application segment 4 marker code Application segment 5 marker code Application segment 6 marker code Application segment 7 marker code Application segment 8 marker code Application segment 9 marker code Application segment 10 marker code Application segment 11 marker code Application segment 12 marker code Application segment 13 marker code Application segment 14 marker code Application segment 15 marker code Comment marker code JPEG encoding processes. Baseline DCT Extended sequential DCT Progressive DCT Lossless (sequential) Quantization table. Quantization table element precision (Pq) Quantization table elements (Qk) If the quantization table is valid, which means it has already been parsed Helper data structure that holds all quantization tables used to decode an image. All quantization tables Component-specification parameters. Scan component selector (Csj) DC entropy coding table destination selector (Tdj) AC entropy coding table destination selector (Taj) Scan header. Number of image components in scan (Ns) Image components A structure that contains the type of a segment, its offset and its size. The type of the segment that starts at @offset the data containing the jpeg segment starting at @offset The offset to the segment start in bytes. This is the exact start of the segment, no marker code included The size of the segment in bytes, or -1 if the end was not found. It is the exact size of the segment, without the sync byte and marker code but including any length bytes. Parses the @frame_hdr JPEG frame header structure members from @segment. The caller must make sure there is enough data for the whole segment available. TRUE if the frame header was correctly parsed. the JPEG segment The #GstJpegFrameHdr structure to fill in Parses the JPEG Huffman table structure members from @segment. The caller must make sure there is enough data for the whole segment available. Note: @huf_tables represents the complete set of possible Huffman tables. However, the parser will only write to the Huffman table specified by the table destination identifier (Th). While doing so, the @valid flag of the specified Huffman table will also be set to %TRUE; TRUE if the Huffman table was correctly parsed. the JPEG segment The #GstJpegHuffmanTables structure to fill in Parses the JPEG quantization table structure members from @segment. The caller must make sure there is enough data for the whole segment available. Note: @quant_tables represents the complete set of possible quantization tables. However, the parser will only write to the quantization table specified by the table destination identifier (Tq). While doing so, the @valid flag of the specified quantization table will also be set to %TRUE. TRUE if the quantization table was correctly parsed. the JPEG segment The #GstJpegQuantTables structure to fill in The caller must make sure there is enough data for the whole segment available. TRUE if the restart interval value was correctly parsed. the JPEG segment The parsed restart interval value Parses the @scan_hdr JPEG scan header structure members from @segment. The caller must make sure there is enough data for the whole segment available. TRUE if the scan header was correctly parsed the JPEG segment The #GstJpegScanHdr structure to fill in LCEVC data for LCEVC codecs parent #GstMeta the id of the LCEVC meta the parsed LCEVC enhancement data Gets the #GstMetaInfo of the LCEVC meta. the #GstLcevcMeta of the LCEVC meta. Checks whether a packet type code is a slice. The MPEG video packet type code Defines the different pixel aspect ratios as defined in: Table 6-12 -- Meaning of pixel aspect ratio 1:1 square 12:11 (625-type for 4:3 picture) 10:11 (525-type for 4:3 picture) 16:11 (625-type stretched for 16:9 picture) 40:33 (525-type stretched for 16:9 picture) Extended par The chroma format in use as defined in: Table 6-13 -- Meaning of chroma_format The group of video object plane structure as defined in: 6.2.4 Group of Video Object Plane Different levels as defined in: 9- Profiles and levels It is computed using: Table G.1 — FLC table for profile_and_level_indication A structure that contains the type of a packet, its offset and its size the data containing packet starting at @offset offset of the start of the packet (without the 3 bytes startcode), but including the #GstMpeg4StartCode byte. The size in bytes of the packet or %G_MAXUINT if the end wasn't found. The size in bit of the resync marker. the type of the packet that start at @offset Result type of any parsing function. The parsing went well The bitstream was broken There was no packet in the buffer There was no packet end in the buffer Different defined profiles as defined in: 9- Profiles and levels It is computed using: Table G.1 — FLC table for profile_and_level_indication Indicates the usage of static sprite coding or global motion compensation (GMC) as defined in: Table V2 - 2 -- Meaning of sprite_enable codewords The sprite trajectory structure as defined in: 7.8.4 Sprite reference point decoding and 6.2.5.4 Sprite coding Defines the different startcodes present in the bitstream as defined in: Table 6-3 — Start code values The vop coding types as defined in: Table 6-20 -- Meaning of vop_coding_type intra-coded (I) predictive-coded (P) bidirectionally-predictive-coded (B) sprite (S) The video object layer structure as defined in: 6.2.3 Video Object Layer The different video object layer shapes as defined in: Table 6-16 — Video Object Layer shape type The Video object plane structure as defined in: 6.2.5 Video Object Plane and Video Plane with Short Header The video packet header structure as defined in: 6.2.5.2 Video Plane with Short Header Size of the header in bit. The video plane short header structure as defined in: 6.2.5.2 Video Plane with Short Header The video signal type structure as defined in: 6.2.2 Visual Object Sequence and Visual Object. The visual object structure as defined in: 6.2.2 Visual Object Sequence and Visual Object The visual object sequence structure as defined in: 6.2.2 Visual Object Sequence and Visual Object Defines the different visual object types as defined in: Table 6-5 -- Meaning of visual object type Chroma subsampling type. Invalid (reserved for future use) 4:2:0 subsampling 4:2:2 subsampling 4:4:4 (non-subsampled) The Mpeg Video Group of Picture structure. Drop Frame Flag Hour (0-23) Minute (O-59) Second (0-59) Frame (0-59) Closed Gop Broken link Mpeg-2 Levels. High-P level (HL Progressive) High level (HL) High 1440 level (H-14) Main level (ML) Low level (LL) Extra buffer metadata describing the contents of a MPEG1/2 Video frame Can be used by elements (mainly decoders) to avoid having to parse Mpeg video 1/2 packets if it can be done upstream. The various fields are only valid during the lifetime of the #GstMpegVideoMeta. If elements wish to use those for longer, they are required to make a copy. parent #GstMeta the #GstMpegVideoSequenceHdr if present in the buffer the #GstMpegVideoSequenceExt if present in the buffer the #GstMpegVideoSequenceDisplayExt if present in the buffer. the #GstMpegVideoPictureHdr if present in the buffer. the #GstMpegVideoPictureExt if present in the buffer. the #GstMpegVideoQuantMatrixExt if present in the buffer A structure that contains the type of a packet, its offset and its size the data containing the packet starting at @offset the type of the packet that start at @offset, as a #GstMpegVideoPacketTypeCode the offset of the packet start in bytes from @data. This is the start of the packet itself without the sync code The size in bytes of the packet or -1 if the end wasn't found. This is the size of the packet itself without the sync code Parses the @gop MPEG Video Group of Picture structure members from video @packet %TRUE if the gop could be parsed correctly, %FALSE otherwise. The #GstMpegVideoPacket that carries the data The #GstMpegVideoGop structure to fill Parse the @ext MPEG Video Picture Extension structure members from video @packet %TRUE if the picture extension could be parsed correctly, %FALSE otherwise. The #GstMpegVideoPacket that carries the data The #GstMpegVideoPictureExt structure to fill Parsers the @pichdr MPEG Video Picture Header structure members from video @packet %TRUE if the picture sequence could be parsed correctly, %FALSE otherwise. The #GstMpegVideoPacket that carries the data The #GstMpegVideoPictureHdr structure to fill Parses the @quant MPEG Video Quantization Matrix Extension structure members from video @packet %TRUE if the quant matrix extension could be parsed correctly, %FALSE otherwise. The #GstMpegVideoPacket that carries the data The #GstMpegVideoQuantMatrixExt structure to fill Parses the @seqext MPEG Video Sequence Display Extension structure members from video @packet %TRUE if the seqext could be parsed correctly, %FALSE otherwise. The #GstMpegVideoPacket that carries the data The #GstMpegVideoSequenceDisplayExt structure to fill Parses the @seqext MPEG Video Sequence Extension structure members from video @packet %TRUE if the seqext could be parsed correctly, %FALSE otherwise. The #GstMpegVideoPacket that carries the data The #GstMpegVideoSequenceExt structure to fill Parses the @seqhdr MPEG Video Sequence Header structure members from video @packet %TRUE if the seqhdr could be parsed correctly, %FALSE otherwise. The #GstMpegVideoPacket that carries the data The #GstMpegVideoSequenceHdr structure to fill Parses the @seqscaleext MPEG Video Sequence Scalable Extension structure members from video @packet %TRUE if the seqext could be parsed correctly, %FALSE otherwise. The #GstMpegVideoPacket that carries the data The #GstMpegVideoSequenceScalableExt structure to fill Parses the @GstMpegVideoSliceHdr structure members from @data %TRUE if the slice could be parsed correctly, %FALSE otherwise. The #GstMpegVideoPacket that carries the data The #GstMpegVideoSliceHdr structure to fill The #GstMpegVideoSequenceHdr header The #GstMpegVideoSequenceScalableExt header Indicates what type of packets are in this block, some are mutually exclusive though - ie, sequence packs are accumulated separately. GOP & Picture may occur together or separately. Sequence extension code Sequence Display extension code Quantization Matrix extension code Sequence Scalable extension code Picture coding extension Indicates the type of MPEG packet Picture packet starting code Slice min packet starting code Slice max packet starting code User data packet starting code Sequence packet starting code Extension packet starting code Sequence end packet code Group of Picture packet starting code None packet code The Mpeg2 Video Picture Extension structure. Intra DC precision Structure of the picture Top field first Frame Concealment Motion Vectors Q Scale Type Intra Vlc Format Alternate Scan Repeat First Field Chroma 420 Type %TRUE if the frame is progressive %FALSE otherwise The Mpeg2 Video Picture Header structure. Temporal Sequence Number Type of the frame the full pel forward flag of the frame: 0 or 1. the full pel backward flag of the frame: 0 or 1. F code Picture structure type. Top field Bottom field Frame picture Picture type. Intra-coded (I) frame Predictive-codec (P) frame Bidirectionally predictive-coded (B) frame D frame Mpeg-2 Profiles. 4:2:2 profile (422) High profile (HP) Spatially Scalable profile (Spatial) SNR Scalable profile (SNR) Main profile (MP) Simple profile (SP) The Quant Matrix Extension structure that exposes quantization matrices in zigzag scan order. i.e. the original encoded scan order. 3-bit video_format field indicating PAL/NTSC etc. %TRUE if colour information was provided Valid if colour_description_flag is set Valid if colour_description_flag is set Valid if colour_description_flag is set width of decoded frame sub-region to display height of decoded frame sub-region to display The Mpeg2 Video Sequence Extension structure. mpeg2 decoder profile mpeg2 decoder level %TRUE if the frames are progressive %FALSE otherwise indicates the chrominance format Horizontal size Vertical size The bitrate VBV buffer size %TRUE if the sequence doesn't contain any B-pictures, %FALSE otherwise Framerate nominator code Framerate denominator code Escape bit. If set, the meaning of the @profile and @level fields is different. The Mpeg2 Video Sequence Header structure. Width of each frame Height of each frame Value of the bitrate as is in the stream (400bps unit) %TRUE if this stream uses constrained parameters. %TRUE indicates the presence of intra_quantiser_matrix intra-quantization table, in zigzag scan order %TRUE indicates the presence of non_intra_quantiser_matrix non-intra quantization table, in zigzag scan order Calculated Pixel Aspect Ratio width Calculated Pixel Aspect Ratio height Calculated Framrate nominator Calculated Framerate denominator the real bitrate of the Mpeg video stream in bits per second, 0 if VBR stream The Sequence Scalable Extension structure. Data partitioning Spatial Scalability SNR Scalability Temporal Scalability The Mpeg2 Video Slice Header structure. slice vertical position Point where the bitstream shall be partitioned Quantiser value (range: 1-31) Slice Extension flag Equal to one if all the macroblocks are intra macro blocks. controls the semantics of slice_picture_id Intended to aid recovery on severe bursts of errors for certain types of applications Structure for the advanced profile sequence headers specific parameters. Structure that represents a Bitstream Data Unit. Structure for entrypoint header, this will be used only in advanced profiles Structure that represent picture in any profile or mode. You should look at @ptype and @profile to know what is currently in use. Structure for sequence headers in any profile. Structure that represents slice layer in advanced profile. The @bfraction variable should be divided by this constant to have the actual value. Frame header. indicates whether the frame is a key frame (1), or an inter frame (0) version number indicates whether the frame is meant to be displayed (1), or not (0) the size in bytes of the Uncompressed Data Chunk the size in bytes of the first partition (control partition), excluding the uncompressed data chunk the frame width in pixels the frame height in pixels horizontal scale code value vertical scale code value defines the YUV color space of the sequence specifies if the decoder is required to clamp the reconstructed pixel values determines whether the normal or the simple loop filter is used controls the deblocking filter controls the deblocking filter determines the number of separate partitions containing the DCT coefficients of the macroblocks determines the size of each separate partition containing the DCT coefficients of the macroblocks, including the very last one (calculated size) dequantization indices (see #GstVp8QuantIndices) token probabilities (see #GstVp8TokenProbs) probabilities used for motion vector decoding (see #GstVp8MvProbs) probabilities used for intra-prediction mode decoding tree (see #GstVp8ModeProbs) determines whether updated token probabilities are used only for this frame or until further update determines if the current decoded frame refreshes the last frame reference buffer determines if the current decoded frame refreshes the golden frame determines if the current decoded frame refreshes the alternate reference frame determines if the golden reference is replaced by another reference determines if the alternate reference is replaced by another reference controls the sign of motion vectors when the golden frame is referenced controls the sign of motion vectors when the alternate frame is referenced enables (0) or disables (1) the skipping of macroblocks containing no non-zero coefficients indicates the probability that the macroblock is not skipped indicates the probability of an intra macroblock indicates the probability that the last reference frame is used for inter-prediction indicates the probability that the golden reference frame is used for inter-prediction last range decoder value for "Range" last range decoder value for "Value" number of bits left in range decoder "Value" (@rd_value) the size in bits of the Frame Header, thus excluding any Uncompressed Data Chunk bytes VP8 frame types Key frame, only have intra blocks Inter frame, both intra and inter blocks MB-level loop filter adjustments. indicates if the MB-level loop filter adjustment is on for the current frame indicates if the delta values used in an adjustment are updated in the current frame indicates the adjustment delta value corresponding to a certain used reference frame indicates the adjustment delta value corresponding to a certain MB prediction mode Probabilities used for intra-prediction mode decoding tree. Each probability value in thie structure is live across frames, until they are reset to their default values on key frame. indicates the branch probabilities of the luma intra-prediction mode decoding tree indicates the branch probabilities of the chroma intra-prediction mode decoding tree Probabilities used for motion vector decoding, with cumulative updates applied. Each probability value in this matrix is live across frames, until they are reset to their default values on key frame. MV probability For more details about the structures, you can refer to the specifications: VP8-rfc6386.pdf segmentation feature data MB-level loop filter adjustments token probabilities probabilities used for motion vector decoding probabilities used for intra-prediction mode decoding tree. Initializes the supplied @parser structure with its default values. The #GstVp8Parser to initialize Parses the VP8 bitstream contained in @data, and fills in @frame_hdr with the information. The supplied @data shall point to a complete frame since there is no sync code specified for VP8 bitstreams. Thus, the @size argument shall represent the whole frame size. a #GstVp8ParserResult The #GstVp8Parser The #GstVp8FrameHdr to fill The data to parse The size of the @data to parse The result of parsing VP8 data. The parsing succeeded The data to parse is broken An error accured when parsing Range decoder. the original bitstream buffer start the original bitstream buffer size Range decoder state. current "Range" value current "Value" value number of bits left in "Value" for decoding Reference Frame types Intra reference frame Last Reference frame Golden Reference frame Alternate Reference frame Segmentation feature data. enables the segmentation feature for the current frame determines if the MB segmentation map is updated in the current frame indicates if the segment feature data is updated in the current frame indicates the feature data update mode (0: delta, 1: absolute value) indicates the update value for the segment quantizer indicates the update value for the loop filter level indicates the branch probabilities of the segment_id decoding tree Token probabilities, with cumulative updates applied. Each probability value in this matrix is live across frames, until they are reset to their default values on key frame. token probability Bit depths of encoded frames Bit depth is 8 @GST_VP9_BIT_DEPTH_10 Bit depth is 10 Bit depth is 12 Possible color value ranges Y range is [16-235], UV range is [16-240] Full range for Y,U and V [0-255] Supported ColorSpace standards Unknown color space BT.601 BT.709 SMPTE.170 SMPTE.240 BT.2020 sRGB Frame header encoded profile display already decoded frame instead of doing the decoding which frame to show if show_existing_frame is true frame type indicate whether it is a displayable frame or not error resilent mode frame width frame height display size enabled (cropping) display width display height frame context index intra only frame reset frame context refresh reference frame flags reference frame index sign bias for selecting altref,last and golden frames allow hight precision motion vector interpolation filter type refresh frame context indicator enable or disable parallel decoding support. loopfilter values quantization indices segmentation info tile row indicator tile column indicator first partition size (after the uncompressed header) lossless mode decode length of uncompressed header VP9 frame types Key frame, only have intra blocks Inter frame, both intra and inter blocks Interpolation Filters Types EightTap interpolation filter Smooth interpolation filter Shart interpolation filter Bilinear interpolation filter Selectable interpolation filter Loop filter values indicates loop filter level for the current frame indicates sharpness level for thecurrent frame indicate if filter adjust is on indicates if the delta values used in an adjustment are updated in the current frame indicate which ref deltas are updated Loop filter strength adjustments based on frame type (intra, inter) indicate with mode deltas are updated Loop filter strength adjustments based on mode (zero, new mv) For more details about the structures, you can refer to the specifications: GstVp9ParserPrivate struct to keep track of state variables horizontal subsampling vertical subsampling bit depth of the stream color space standard color range standard decoding tree probabilities segment prediction probabiilties Segmentation info Frees @parser. the #GstVp9Parser to free Parses the VP9 bitstream contained in @data, and fills in @frame_hdr with the information. The @size argument represent the whole frame size. a #GstVp9ParserResult The #GstVp9Parser The #GstVp9FrameHdr to fill The data to parse The size of the @data to parse Parses the VP9 bitstream contained in @data, and fills in @superframe_info with the information. The @size argument represent the whole superframe size. If @data is not superframe but normal frame, the parser returns GST_VP9_PARSER_OK, frame_size[0] is set to @size and frames_in_superframe is set to 1. Also this method does not validate vp9frame header and verifying the frame header is caller's responsibility. a #GstVp9ParserResult The #GstVp9Parser The #GstVp9SuperframeInfo to fill The data to parse The size of the @data to parse Creates a new #GstVp9Parser. It should be freed with gst_vp9_parser_free() after use. a new #GstVp9Parser Dequantization indices. indicates the dequantization table index used for the luma AC coefficients indicates the delta value that is added to the baseline index to obtain the luma DC coefficient dequantization index indicates the delta value that is added to the baseline index to obtain the chroma DC coefficient dequantization index indicates the delta value that is added to the baseline index to obtain the chroma AC coefficient dequantization index Reference Frame types Intra reference frame Last Reference frame Golden Reference frame Alternate Reference frame Segmentation info kept across multiple frames loop filter level AC quant scale for luma(Y) component DC quant scale for luma(Y) component @chroma_ac_quant_scale AC quant scale for chroma(U/V) component DC quant scale for chroma (U/V) component alternate reference frame enablement alternate reference frame a block skip mode that implies both the use of a (0,0) motion vector and that no residual will be coded Segmentation info enables the segmentation feature for the current frame determines if segmentation is updated in the current frame determines if tree probabilities updated or not segment tree probabilities determines if prediction probabilities updated or not prediction probabilities interpretation of segment data values type of map update indicates if the segment feature data is updated in the current frame segment feature data Segmentation info for each segment indicate alternate quantizer enabled at segment level alternate quantizer value indicate alternate loop filter enabled at segment level alternate loop filter indicate alternate reference frame at segment level alternate reference frame a block skip mode that implies both the use of a (0,0) motion vector and that no residual will be coded. Superframe info indicates the number of bytes needed to code each frame size indicates the number of frames within this superframe specifies the size in bytes of frame number i (zero indexed) within this superframe indicates the total size of the superframe_index Generating the according AV1 bit stream OBU by providing the frame header. a #GstAV1BitWriterResult the frame header of #GstAV1FrameHeaderOBU to write the sequence header of #GstAV1SequenceHeaderOBU to refer specifies the temporal level of the data contained in the OBU. specifies the spatial level of the data contained in the OBU. whether the OBU header contains the OBU size. the bit stream generated by the frame header the size in bytes of the input and output While Generating the according AV1 bit stream OBU by providing the frame header, this function also return bit offsets of qindex, segmentation and cdef, etc. These offsets can help to change the content of these fields later. This function is useful if the encoder may change the content of the frame header after generating it. For example, some HW needs user to provide a frame header before the real encoding job, and it will change the according fields in the frame header during the real encoding job. a #GstAV1BitWriterResult the frame header of #GstAV1FrameHeaderOBU to write the sequence header of #GstAV1SequenceHeaderOBU to refer specifies the temporal level of the data contained in the OBU. specifies the spatial level of the data contained in the OBU. whether the OBU header contains the OBU size. >0 means a fixed OBU header size field. return the qindex fields offset in bits. return the segmentation fields offset in bits. return the loopfilter fields offset in bits. return the cdef fields offset in bits. return the cdef fields size in bits. the bit stream generated by the frame header the size in bytes of the input and output Generating the according AV1 bit stream OBU by providing the meta data. a #GstAV1BitWriterResult the meta data of #GstAV1MetadataOBU to write specifies the temporal level of the data contained in the OBU. specifies the spatial level of the data contained in the OBU. whether the header contain size feild the bit stream generated by the meta data the size in bytes of the input and output Generating the according AV1 bit stream OBU by providing the sequence header. a #GstAV1BitWriterResult the sequence header of #GstAV1SequenceHeaderOBU to write whether the header contain size feild the bit stream generated by the sequence header the size in bytes of the input and output Generating the according temporal delimiter AV1 bit stream OBU. a #GstAV1BitWriterResult whether the header contain size feild the bit stream generated the size in bytes of the input and output Allocates a new #GstAV1Parser, a newly-allocated #GstAV1Parser Attaches GstLcevcMeta metadata to @buffer. the #GstLcevcMeta on @buffer. a #GstBuffer the parsed LCEVC enhancement data Creates and adds a #GstMpegVideoMeta to a @buffer. Provided structures must either be %NULL or GSlice-allocated. a newly created #GstMpegVideoMeta a #GstBuffer a #GstMpegVideoSequenceHdr a #GstMpegVideoSequenceExt a #GstMpegVideoSequenceDisplayExt a #GstMpegVideoPictureHdr a #GstMpegVideoPictureExt a #GstMpegVideoQuantMatrixExt Find the #GstLcevcMeta on @buffer with the lowest @id. Buffers can contain multiple #GstLcevcMeta metadata items when dealing with multiview buffers. the #GstLcevcMeta with lowest id (usually 0) or %NULL when there is no such metadata on @buffer. a #GstBuffer Find the #GstLcevcMeta on @buffer with the given @id. Buffers can contain multiple #GstLcevcMeta metadata items when dealing with multiview buffers. the #GstLcevcMeta with @id or %NULL when there is no such metadata on @buffer. a #GstBuffer a metadata id It offers bitstream parsing in both AVC (length-prefixed) and Annex B (0x000001 start code prefix) format. To identify a NAL unit in a bitstream and parse its headers, first call: * #gst_h264_parser_identify_nalu to identify a NAL unit in an Annex B type bitstream * #gst_h264_parser_identify_nalu_avc to identify a NAL unit in an AVC type bitstream The following functions are then available for parsing the structure of the #GstH264NalUnit, depending on the #GstH264NalUnitType: * From %GST_H264_NAL_SLICE to %GST_H264_NAL_SLICE_IDR: #gst_h264_parser_parse_slice_hdr * %GST_H264_NAL_SEI: #gst_h264_parser_parse_sei * %GST_H264_NAL_SPS: #gst_h264_parser_parse_sps * %GST_H264_NAL_PPS: #gst_h264_parser_parse_pps * Any other: #gst_h264_parser_parse_nal One of these functions *must* be called on every NAL unit in the bitstream, in order to keep the internal structures of the #GstH264NalParser up to date. It is legal to call #gst_h264_parser_parse_nal on NAL units of any type, if no special parsing of the current NAL unit is required by the application. For more details about the structures, look at the ITU-T H.264 and ISO/IEC 14496-10 – MPEG-4 Part 10 specifications, available at: * ITU-T H.264: http://www.itu.int/rec/T-REC-H.264 * ISO/IEC 14496-10: http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=56538 Provides useful functions for parsing JPEG images For more details about the structures, you can refer to the specifications: ISO-IEC-14496-2_2004_MPEG4_VISUAL.pdf Provides useful functions for mpeg videos bitstream parsing. For more details about the structures, look at the smpte specifications (S421m-2006.pdf). Parses @data and fills @packet with the information of the next packet found. Note that the type of the packet is meaningless in this case. a #GstMpeg4ParseResult The #GstMpeg4Packet to fill The data to parse offset from which to start the parsing The size of the @data to parse Generating the according h264 bit stream of an aud. a #GstH264BitWriterResult indicate the possible slice types list just as the H264 spec defines whether adding the nal start code the bit stream generated by the aud the size in bytes of the input and output Converting a bit stream into a real nal packet. If the bit stream already has a start code, it will be replaced by the new one specified by the @nal_prefix_size and @packetized. It is assured that the output aligns to the byte and the all the emulations are inserted. a #GstH264BitWriterResult the size in bytes for the prefix of a nal, may be 2, 3 or 4 whether to write the bit stream in packetized format, which does not have the start code but has a @nal_prefix_size bytes' size prepending to the real nal data whether the input already has a start code whether to add rbsp trailing bits to make the output aligned to byte the input bit stream the size in bits of the input bit stream the output bit stream converted to a real nal the size in bytes of the output Generates the according h264 bit stream nal bitstream of a filler with @size. a #GstH264BitWriterResult whether adding the nal start code number of filler codes to add bit stream storage size in bytes of the input and output Generating the according h264 bit stream by providing the pps. a #GstH264BitWriterResult the pps of #GstH264PPS to write whether adding the nal start code the bit stream generated by the pps the size in bytes of the input and output Generating the according h264 bit stream by providing sei messages. a #GstH264BitWriterResult An array of #GstH264SEIMessage to write whether adding the nal start code the bit stream generated by the sei messages the size in bytes of the input and output Generating the according h264 bit stream by providing the slice header. a #GstH264BitWriterResult the slice header of #GstH264SliceHdr to write whether adding the nal start code the slice's nal type of #GstH264NalUnitType whether the slice is a reference the bit stream generated by the slice header the size in bytes of the input and output the trail bits number which is not byte aligned. Generating the according h264 bit stream by providing the sps. a #GstH264BitWriterResult the sps of #GstH264SPS to write whether adding the nal start code the bit stream generated by the sps the size in bytes of the input and output Creates raw byte-stream format (a.k.a Annex B type) SEI nal unit data from @messages a #GstMemory containing a SEI nal unit a length of start code prefix, must be 3 or 4 a GArray of #GstH264SEIMessage Creates raw packetized format SEI nal unit data from @messages a #GstMemory containing a SEI nal unit a size of nal length field, allowed range is [1, 4] a GArray of #GstH264SEIMessage Creates a new #GstH264NalParser. It should be freed with gst_h264_nal_parser_free after use. a new #GstH264NalParser Parses @data, and fills the @pps structure. The resulting @pps data structure shall be deallocated with the gst_h264_pps_clear() function when it is no longer needed, or prior to parsing a new PPS NAL unit. a #GstH264ParserResult a #GstH264NalParser The %GST_H264_NAL_PPS #GstH264NalUnit to parse The #GstH264PPS to fill. Parses @data, and fills the @sps structure. a #GstH264ParserResult The #GST_H264_NAL_SPS #GstH264NalUnit to parse The #GstH264SPS to fill. Parses @data, and fills in the @sps structure. This function fully parses @data and allocates all the necessary data structures needed for MVC extensions. The resulting @sps structure shall be deallocated with gst_h264_sps_clear() when it is no longer needed. Note: if the caller doesn't need any of the MVC-specific data, then gst_h264_parser_parse_sps() is more efficient because those extra syntax elements are not parsed and no extra memory is allocated. a #GstH264ParserResult The #GST_H264_NAL_SUBSET_SPS #GstH264NalUnit to parse The #GstH264SPS to fill. Parses @data for packetized (e.g., avc/avc3) bitstream and sets @nalus. In addition to nal identifying process, this method scans start-code prefix to split malformed packet into actual nal chunks. a #GstH264ParserResult a #GstH264NalParser The data to parse, containing an AVC coded NAL unit the offset in @data from which to parse the NAL unit the size of @data the size in bytes of the AVC nal length prefix. a caller allocated GArray of #GstH264NalUnit where to store parsed nal headers the size of consumed bytes Parses the headers of an Annex B coded NAL unit from @data and puts the result into @nalu. a #GstH264ParserResult a #GstH264NalParser The data to parse, containing an Annex B coded NAL unit the offset in @data from which to parse the NAL unit the size of @data The #GstH264NalUnit to store the identified NAL unit in Parses the headers of an AVC coded NAL unit from @data and puts the result into @nalu. a #GstH264ParserResult a #GstH264NalParser The data to parse, containing an AVC coded NAL unit the offset in @data from which to parse the NAL unit the size of @data the size in bytes of the AVC nal length prefix. The #GstH264NalUnit to store the identified NAL unit in Parses @data and fills @nalu from the next nalu data from @data. This differs from @gst_h264_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_h264_parser_identify_nalu. a #GstH264ParserResult a #GstH264NalParser The data to parse the offset from which to parse @data the size of @data The #GstH264NalUnit where to store parsed nal headers Copy @au into new #GstBuffer and insert @sei into the #GstBuffer. The validation for completeness of @au and @sei is caller's responsibility. Both @au and @sei must be byte-stream formatted a SEI inserted #GstBuffer or %NULL if cannot figure out proper position to insert a @sei a #GstH264NalParser a #GstBuffer containing AU data a #GstMemory containing a SEI nal Copy @au into new #GstBuffer and insert @sei into the #GstBuffer. The validation for completeness of @au and @sei is caller's responsibility. Nal prefix type of both @au and @sei must be packetized, and also the size of nal length field must be identical to @nal_length_size a SEI inserted #GstBuffer or %NULL if cannot figure out proper position to insert a @sei a #GstH264NalParser a size of nal length field, allowed range is [1, 4] a #GstBuffer containing AU data a #GstMemory containing a SEI nal Parses AVCDecoderConfigurationRecord data and fill into @config. The caller must free @config via gst_h264_decoder_config_record_free() This method does not parse SPS and PPS and therefore the caller needs to parse each NAL unit via appropriate parsing method. a #GstH264ParserResult a #GstH264NalParser the data to parse the size of @data parsed #GstH264DecoderConfigRecord data 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 @nalparser is up to date. a #GstH264ParserResult a #GstH264NalParser The #GstH264NalUnit to parse Parses @nalu containing a Picture Parameter Set, and fills @pps. The resulting @pps data structure must be deallocated by the caller using gst_h264_pps_clear(). a #GstH264ParserResult a #GstH264NalParser The %GST_H264_NAL_PPS #GstH264NalUnit to parse The #GstH264PPS to fill. Parses @nalu containing one or more Supplementary Enhancement Information messages, and allocates and fills the @messages array. a #GstH264ParserResult a #GstH264NalParser The %GST_H264_NAL_SEI #GstH264NalUnit to parse The GArray of #GstH264SEIMessage to fill. The caller must free it when done. Parses @nalu containing a coded slice, and fills @slice. a #GstH264ParserResult a #GstH264NalParser The %GST_H264_NAL_SLICE to %GST_H264_NAL_SLICE_IDR #GstH264NalUnit to parse The #GstH264SliceHdr to fill. Whether to parse the pred_weight_table or not Whether to parse the dec_ref_pic_marking or not Parses @nalu containing a Sequence Parameter Set, and fills @sps. a #GstH264ParserResult a #GstH264NalParser The #GST_H264_NAL_SPS #GstH264NalUnit to parse The #GstH264SPS to fill. Parses @data, and fills in the @sps structure. This function fully parses @data and allocates all the necessary data structures needed for MVC extensions. The resulting @sps structure shall be deallocated with gst_h264_sps_clear() when it is no longer needed. Note: if the caller doesn't need any of the MVC-specific data, then gst_h264_parser_parse_sps() is more efficient because those extra syntax elements are not parsed and no extra memory is allocated. a #GstH264ParserResult a #GstH264NalParser The #GST_H264_NAL_SUBSET_SPS #GstH264NalUnit to parse The #GstH264SPS to fill. Replace internal Picture Parameter Set struct corresponding to id of @pps with @pps. @nalparser will mark @pps as last parsed pps. a #GstH264ParserResult a #GstH264NalParser a #GstH264PPS. Replace internal Sequence Parameter Set struct corresponding to id of @sps with @sps. @nalparser will mark @sps as last parsed sps. a #GstH264ParserResult a #GstH264NalParser a #GstH264SPS. Returns a #GstH264Profile for the @string. the #GstH264Profile of @string or %GST_H265_PROFILE_INVALID on error the descriptive name for #GstH264Profile Converts quantization matrix @quant from zigzag scan order to raster scan order and store the resulting factors into @out_quant. Note: it is an error to pass the same table in both @quant and @out_quant arguments. The resulting quantization matrix The source quantization matrix Converts quantization matrix @quant from raster scan order to zigzag scan order and store the resulting factors into @out_quant. Note: it is an error to pass the same table in both @quant and @out_quant arguments. The resulting quantization matrix The source quantization matrix Converts quantization matrix @quant from zigzag scan order to raster scan order and store the resulting factors into @out_quant. Note: it is an error to pass the same table in both @quant and @out_quant arguments. The resulting quantization matrix The source quantization matrix Converts quantization matrix @quant from raster scan order to zigzag scan order and store the resulting factors into @out_quant. Note: it is an error to pass the same table in both @quant and @out_quant arguments. The resulting quantization matrix The source quantization matrix sei: The #GstH264SEIMessage to clear Frees allocated data in @sei if any. Returns the descriptive name for the #GstH264SliceType. the name for @slice_type or %NULL on error a #GstH264SliceType Calculate framerate of a video sequence using @sps VUI information, @field_pic_flag from a slice header and @pic_struct from #GstH264PicTiming SEI message. If framerate is variable or can't be determined, @fps_num will be set to 0 and @fps_den to 1. Current Sequence Parameter Set Current @field_pic_flag, obtained from latest slice header @pic_struct value if available, 0 otherwise The resulting fps numerator The resulting fps denominator Creates raw byte-stream format (a.k.a Annex B type) SEI nal unit data from @messages a #GstMemory containing a PREFIX SEI nal unit a nal unit layer id a nal unit temporal identifier a length of start code prefix, must be 3 or 4 a GArray of #GstH265SEIMessage Creates raw packetized format SEI nal unit data from @messages a #GstMemory containing a PREFIX SEI nal unit a nal unit layer id a nal unit temporal identifier a size of nal length field, allowed range is [1, 4] a GArray of #GstH265SEIMessage Return the H265 profile from @sps. a #GstH265Profile a #GstH265SPS Parses @data, and fills the @pps structure. a #GstH265ParserResult a #GstH265Parser The %GST_H265_NAL_PPS #GstH265NalUnit to parse The #GstH265PPS to fill. parser: The #GstH265Parser Parses @data, and fills the @sps structure. a #GstH265ParserResult The %GST_H265_NAL_SPS #GstH265NalUnit to parse The #GstH265SPS to fill. Whether to parse the vui_params or not parser: The #GstH265Parser Parses @data, and fills the @sps structure. a #GstH265ParserResult The %GST_H265_NAL_SPS #GstH265NalUnit to parse The #GstH265SPS to fill. The #GstH265SPSEXT matching the #GstH265SPS to fill. Whether to parse the vui_params or not Parses @data, and fills the @vps structure. a #GstH265ParserResult The %GST_H265_NAL_VPS #GstH265NalUnit to parse The #GstH265VPS to fill. Creates a new #GstH265Parser. It should be freed with gst_h265_parser_free after use. a new #GstH265Parser Returns a #GstH265Profile for the @string. the #GstH265Profile of @string or %GST_H265_PROFILE_INVALID on error the descriptive name for #GstH265Profile Returns the descriptive name for the #GstH265Profile. the name for @profile or %NULL on error a #GstH265Profile Converts quantization matrix @quant from uprightdiagonal scan order to raster scan order and store the resulting factors into @out_quant. Note: it is an error to pass the same table in both @quant and @out_quant arguments. The resulting quantization matrix The source quantization matrix Converts quantization matrix @quant from zigzag scan order to raster scan order and store the resulting factors into @out_quant. Note: it is an error to pass the same table in both @quant and @out_quant arguments. The resulting quantization matrix The source quantization matrix Converts quantization matrix @quant from raster scan order to uprightdiagonal scan order and store the resulting factors into @out_quant. Note: it is an error to pass the same table in both @quant and @out_quant arguments. The resulting quantization matrix The source quantization matrix Converts quantization matrix @quant from raster scan order to zigzag scan order and store the resulting factors into @out_quant. Note: it is an error to pass the same table in both @quant and @out_quant arguments. The resulting quantization matrix The source quantization matrix Converts quantization matrix @quant from uprightdiagonal scan order to raster scan order and store the resulting factors into @out_quant. Note: it is an error to pass the same table in both @quant and @out_quant arguments. The resulting quantization matrix The source quantization matrix Converts quantization matrix @quant from zigzag scan order to raster scan order and store the resulting factors into @out_quant. Note: it is an error to pass the same table in both @quant and @out_quant arguments. The resulting quantization matrix The source quantization matrix Converts quantization matrix @quant from raster scan order to uprightdiagonal scan order and store the resulting factors into @out_quant. Note: it is an error to pass the same table in both @quant and @out_quant arguments. The resulting quantization matrix The source quantization matrix Converts quantization matrix @quant from raster scan order to zigzag scan order and store the resulting factors into @out_quant. Note: it is an error to pass the same table in both @quant and @out_quant arguments. The resulting quantization matrix The source quantization matrix Copies @src_sei into @dst_sei %TRUE if everything went fine, %FALSE otherwise The destination #GstH265SEIMessage to copy into The source #GstH265SEIMessage to copy from sei: The #GstH265SEIMessage to free Frees @sei fields. Returns the descriptive name for the #GstH265SliceType. the name for @slice_type or %NULL on error a #GstH265SliceType Parses @data, and fills the @aps structure. a #GstH266ParserResult a #GstH266Parser The APS #GstH266NalUnit to parse The #GstH266APS to fill. Parses @data, and fills the @pps structure. a #GstH266ParserResult a #GstH266Parser The #GST_H266_NAL_PPS #GstH266NalUnit to parse The #GstH266PPS to fill. Parses @data, and fills the @sps structure. a #GstH266ParserResult The #GstH266Parser The #GST_H266_NAL_SPS #GstH266NalUnit to parse The #GstH266SPS to fill. Parses @data, and fills the @vps structure. a #GstH266ParserResult The #GST_H266_NAL_VPS #GstH266NalUnit to parse The #GstH266VPS to fill. Creates a new #GstH266Parser. It should be freed with gst_h266_parser_free after use. a new #GstH266Parser Returns a #GstH266Profile for the @string. the #GstH266Profile of @string or %GST_H266_PROFILE_INVALID on error the descriptive name for #GstH266Profile Returns the descriptive name for the #GstH266Profile. the name for @profile or %NULL on error a #GstH266Profile Generating the according JPEG bit stream by providing the frame header. a #GstJpegBitWriterResult the frame header of #GstJpegFrameHdr to write the #GstJpegMarker id for this segment the bit stream generated by this frame header the size in bytes of the input and output Generating the according JPEG bit stream by providing the huffman tables. a #GstJpegBitWriterResult the huffman tables of #GstJpegHuffmanTables to write the bit stream generated by the huffman tables the size in bytes of the input and output Generating the according JPEG bit stream by providing the quantization tables. a #GstJpegBitWriterResult the quantization tables of #GstJpegQuantTables to write the bit stream generated by the quantization tables the size in bytes of the input and output Generating the according JPEG bit stream by providing the interval value. a #GstJpegBitWriterResult the interval value for restart the bit stream generated by the interval value the size in bytes of the input and output Generating the according JPEG bit stream by providing the scan header. a #GstJpegBitWriterResult the scan header of #GstJpegScanHdr to write the bit stream generated by this scan header the size in bytes of the input and output Generating the bit stream for a JPEG segment. a #GstJpegBitWriterResult the #GstJpegMarker id for this segment the user provided bit stream data the size of the segment data the generated bit stream of this segment the size in bytes of the input and output Fills in @huf_tables with the default AC/DC Huffman tables, as specified by the JPEG standard. The default DC/AC Huffman tables to fill in Parses the JPEG bitstream contained in @data, and returns the detected segment as a #GstJpegSegment. Note that a valid segment may be returned with a length that exceeds the available data. It is up to the caller to make sure there's enough data available when parsing the segment. TRUE if a packet start code was found. pointer to a #GstJpegSegment structure to fill in The data to parse The size of @data The offset from which to start parsing Gets the #GType of the LCEVC meta API. the #GType of the LCEVC meta API. Gets the #GstMetaInfo of the LCEVC meta. the #GstLcevcMeta of the LCEVC meta. Parses @data and fills @packet with the information of the next packet found. a #GstMpeg4ParseResult The #GstMpeg4Packet to fill %TRUE to skip user data packet %FALSE otherwise The last parsed #GstMpeg4VideoObjectPlane or %NULL if you do not need to detect the resync codes. The data to parse offset from which to start the parsing The size of the @data to parse Parses @data containing the group of video object plane packet, and fills the @gov structure. a #GstMpeg4ParseResult The #GstMpeg4GroupOfVOP structure to fill The data to parse The size of the @data to parse Parses @data containing the video object layer packet, and fills the @vol structure. a #GstMpeg4ParseResult The #GstMpeg4VideoObjectLayer structure to fill The #GstMpeg4VisualObject currently being parsed or %NULL The data to parse The size of the @data to parse Parses @data containing the video object plane packet, and fills the @vol structure. a #GstMpeg4ParseResult The #GstMpeg4VideoObjectPlane currently being parsed A #GstMpeg4SpriteTrajectory to fill or %NULL The #GstMpeg4VideoObjectLayer structure to fill The data to parse The size of the @data to parse Parsers @data containing the video packet header and fills the @videopackethdr structure The #GstMpeg4VideoPacketHdr structure to fill The last parsed #GstMpeg4VideoObjectLayer, will be updated with the information found during the parsing The last parsed #GstMpeg4VideoObjectPlane, will be updated with the information found during the parsing A #GstMpeg4SpriteTrajectory to fill or %NULL with the information found during the parsing The data to parse, should be set after the resync marker. The size of the data to parse Parses @data containing the visual object packet, and fills the @vo structure. a #GstMpeg4ParseResult The #GstMpeg4VisualObject structure to fill The #GstMpeg4VideoSignalType to fill or %NULL The data to parse, should contain the vo_start_code but not the start code prefix The size of the @data to parse Parses @data containing the visual object sequence packet, and fills the @vos structure. a #GstMpeg4ParseResult The #GstMpeg4VisualObjectSequence structure to fill The data to parse, should contain the visual_object_sequence_start_code but not the start code prefix The size of the @data to parse Parses the MPEG 1/2 video bitstream contained in @data, and returns the offset, and if known also the size, in @packet. This function will scan the data to find the next packet if needed. TRUE if a packet start code was found, otherwise FALSE. a #GstMpegVideoPacket to fill with the data and offset of the next packet found The data to parse The size of @data The offset from which to start parsing Converts quantization matrix @quant from zigzag scan order to raster scan order and store the resulting factors into @out_quant. Note: it is an error to pass the same table in both @quant and @out_quant arguments. The resulting quantization matrix The source quantization matrix Converts quantization matrix @quant from raster scan order to zigzag scan order and store the resulting factors into @out_quant. Note: it is an error to pass the same table in both @quant and @out_quant arguments. The resulting quantization matrix The source quantization matrix Fills the @bitplanes structure from @seqhdr, this function should be called after #gst_vc1_parse_sequence_header if in simple or main mode, or after #gst_vc1_parse_entry_point_header if in advanced mode. %TRUE if everything went fine, %FALSE otherwise The #GstVC1BitPlanes to reset The #GstVC1SeqHdr from which to set @bitplanes Creates a new #GstVC1BitPlanes. It should be freed with gst_vc1_bitplanes_free() after use. a new #GstVC1BitPlanes Parses @data and fills @bdu fields a #GstVC1ParserResult The data to parse the size of @data The #GstVC1BDU where to store parsed bdu headers Parses @data, and sets @entrypoint fields. a #GstVC1EntryPointHdr The data to parse the size of @data The #GstVC1EntryPointHdr to set. The #GstVC1SeqHdr currently being parsed Parses @data, and fills @fieldhdr fields. a #GstVC1ParserResult The data to parse the size of @data The #GstVC1FrameHdr to fill. The #GstVC1SeqHdr currently being parsed The #GstVC1BitPlanes to store bitplanes in or %NULL Parses @data, and fills @entrypoint fields. a #GstVC1ParserResult The data to parse the size of @data The #GstVC1FrameHdr to fill. The #GstVC1SeqHdr currently being parsed The #GstVC1BitPlanes to store bitplanes in or %NULL Parses @data, and fills @framelayer fields. a #GstVC1ParserResult The data to parse the size of @data The #GstVC1FrameLayer to fill. Parses @data, and fills @seqhdr fields. a #GstVC1ParserResult The data to parse the size of @data The #GstVC1SeqHdr to set. Parses @data, and fills @structa fields. a #GstVC1ParserResult The data to parse the size of @data The #GstVC1SeqStructA to set. Parses @data, and fills @structb fields. a #GstVC1ParserResult The data to parse the size of @data The #GstVC1SeqStructB to set. Parses @data, and fills @structc fields. a #GstVC1ParserResult The data to parse the size of @data The #GstVC1SeqStructC to set. Parses @data, and fills @seqlayer fields. a #GstVC1ParserResult The data to parse the size of @data The #GstVC1SeqLayer to set. Parses @data, and fills @slicehdr fields. a #GstVC1ParserResult The data to parse The size of @data The #GstVC1SliceHdr to fill The #GstVC1SeqHdr that was previously parsed Creates a new #GstVp9Parser. It should be freed with gst_vp9_parser_free() after use. a new #GstVp9Parser