FFmpeg
cbs_av1.h
Go to the documentation of this file.
1 /*
2  * This file is part of FFmpeg.
3  *
4  * FFmpeg is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * FFmpeg is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with FFmpeg; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17  */
18 
19 #ifndef AVCODEC_CBS_AV1_H
20 #define AVCODEC_CBS_AV1_H
21 
22 #include <stddef.h>
23 #include <stdint.h>
24 
25 #include "av1.h"
26 #include "cbs.h"
27 
28 
29 typedef struct AV1RawOBUHeader {
31  uint8_t obu_type;
35 
36  uint8_t temporal_id;
37  uint8_t spatial_id;
40 
41 typedef struct AV1RawColorConfig {
42  uint8_t high_bitdepth;
43  uint8_t twelve_bit;
44  uint8_t mono_chrome;
45 
47  uint8_t color_primaries;
50 
51  uint8_t color_range;
52  uint8_t subsampling_x;
53  uint8_t subsampling_y;
57 
58 typedef struct AV1RawTimingInfo {
60  uint32_t time_scale;
61 
65 
66 typedef struct AV1RawDecoderModelInfo {
72 
73 typedef struct AV1RawSequenceHeader {
74  uint8_t seq_profile;
75  uint8_t still_picture;
77 
82 
85 
95 
100 
104 
112 
116 
121 
123 
125  uint8_t enable_cdef;
127 
129 
132 
133 typedef struct AV1RawFilmGrainParams {
134  uint8_t apply_grain;
135  uint16_t grain_seed;
136  uint8_t update_grain;
138  uint8_t num_y_points;
139  uint8_t point_y_value[14];
140  uint8_t point_y_scaling[14];
142  uint8_t num_cb_points;
143  uint8_t point_cb_value[10];
144  uint8_t point_cb_scaling[10];
145  uint8_t num_cr_points;
146  uint8_t point_cr_value[10];
147  uint8_t point_cr_scaling[10];
149  uint8_t ar_coeff_lag;
150  uint8_t ar_coeffs_y_plus_128[24];
155  uint8_t cb_mult;
156  uint8_t cb_luma_mult;
157  uint16_t cb_offset;
158  uint8_t cr_mult;
159  uint8_t cr_luma_mult;
160  uint16_t cr_offset;
161  uint8_t overlap_flag;
164 
165 typedef struct AV1RawFrameHeader {
170 
171  uint8_t frame_type;
172  uint8_t show_frame;
173  uint8_t showable_frame;
174 
179 
182  uint8_t order_hint;
183 
186 
190  uint8_t use_superres;
191  uint8_t coded_denom;
195 
197 
199  uint8_t allow_intrabc;
202  uint8_t last_frame_idx;
206 
212 
214 
216  uint8_t tile_cols_log2;
217  uint8_t tile_rows_log2;
222 
223  // These are derived values, but it's very unhelpful to have to
224  // recalculate them all the time so we store them here.
225  uint16_t tile_cols;
226  uint16_t tile_rows;
227 
228  uint8_t base_q_idx;
229  int8_t delta_q_y_dc;
230  uint8_t diff_uv_delta;
231  int8_t delta_q_u_dc;
232  int8_t delta_q_u_ac;
233  int8_t delta_q_v_dc;
234  int8_t delta_q_v_ac;
235  uint8_t using_qmatrix;
236  uint8_t qm_y;
237  uint8_t qm_u;
238  uint8_t qm_v;
239 
246 
248  uint8_t delta_q_res;
250  uint8_t delta_lf_res;
251  uint8_t delta_lf_multi;
252 
253  uint8_t loop_filter_level[4];
259  uint8_t update_mode_delta[2];
261 
263  uint8_t cdef_bits;
268 
269  uint8_t lr_type[3];
270  uint8_t lr_unit_shift;
271  uint8_t lr_uv_shift;
272 
273  uint8_t tx_mode;
276 
278  uint8_t reduced_tx_set;
279 
283  //AV1RawSubexp gm_params[AV1_TOTAL_REFS_PER_FRAME][6];
285 
288 
289 typedef struct AV1RawTileData {
290  uint8_t *data;
292  size_t data_size;
294 
295 typedef struct AV1RawTileGroup {
297  uint16_t tg_start;
298  uint16_t tg_end;
299 
302 
303 typedef struct AV1RawFrame {
306 } AV1RawFrame;
307 
308 typedef struct AV1RawTileList {
312 
315 
316 typedef struct AV1RawMetadataHDRCLL {
317  uint16_t max_cll;
318  uint16_t max_fall;
320 
321 typedef struct AV1RawMetadataHDRMDCV {
326  uint32_t luminance_max;
327  uint32_t luminance_min;
329 
347 
348 typedef struct AV1RawMetadataITUTT35 {
351 
352  uint8_t *payload;
354  size_t payload_size;
356 
357 typedef struct AV1RawMetadataTimecode {
358  uint8_t counting_type;
362  uint16_t n_frames;
363  uint8_t seconds_value;
364  uint8_t minutes_value;
365  uint8_t hours_value;
366  uint8_t seconds_flag;
367  uint8_t minutes_flag;
368  uint8_t hours_flag;
372 
373 typedef struct AV1RawMetadata {
374  uint64_t metadata_type;
375  union {
381  } metadata;
383 
384 typedef struct AV1RawPadding {
385  uint8_t *payload;
387  size_t payload_size;
388 } AV1RawPadding;
389 
390 
391 typedef struct AV1RawOBU {
393 
394  size_t obu_size;
395 
396  union {
404  } obu;
405 } AV1RawOBU;
406 
407 typedef struct AV1ReferenceFrameState {
408  int valid; // RefValid
409  int frame_id; // RefFrameId
410  int upscaled_width; // RefUpscaledWidth
411  int frame_width; // RefFrameWidth
412  int frame_height; // RefFrameHeight
413  int render_width; // RefRenderWidth
414  int render_height; // RefRenderHeight
415  int frame_type; // RefFrameType
416  int subsampling_x; // RefSubsamplingX
417  int subsampling_y; // RefSubsamplingY
418  int bit_depth; // RefBitDepth
419  int order_hint; // RefOrderHint
420 
426 
427 typedef struct CodedBitstreamAV1Context {
428  const AVClass *class;
429 
432 
435  uint8_t *frame_header;
437 
441 
449 
455  int tile_num;
456 
458 
459  // AVOptions
462 
463 
464 #endif /* AVCODEC_CBS_AV1_H */
AV1RawTimingInfo::num_units_in_display_tick
uint32_t num_units_in_display_tick
Definition: cbs_av1.h:59
AV1RawTimingInfo::time_scale
uint32_t time_scale
Definition: cbs_av1.h:60
AV1RawSequenceHeader::seq_force_integer_mv
uint8_t seq_force_integer_mv
Definition: cbs_av1.h:120
AV1ReferenceFrameState::loop_filter_ref_deltas
int8_t loop_filter_ref_deltas[AV1_TOTAL_REFS_PER_FRAME]
Definition: cbs_av1.h:421
AV1_REFS_PER_FRAME
@ AV1_REFS_PER_FRAME
Definition: av1.h:84
AV1RawMetadataScalability::spatial_layer_dimensions_present_flag
uint8_t spatial_layer_dimensions_present_flag
Definition: cbs_av1.h:333
AV1RawFrameHeader::primary_ref_frame
uint8_t primary_ref_frame
Definition: cbs_av1.h:187
AV1RawColorConfig::color_primaries
uint8_t color_primaries
Definition: cbs_av1.h:47
AV1RawFrameHeader::is_motion_mode_switchable
uint8_t is_motion_mode_switchable
Definition: cbs_av1.h:210
CodedBitstreamAV1Context::operating_point
int operating_point
Definition: cbs_av1.h:460
AV1RawSequenceHeader::encoder_buffer_delay
uint32_t encoder_buffer_delay[AV1_MAX_OPERATING_POINTS]
Definition: cbs_av1.h:91
AV1RawMetadataScalability::temporal_group_size
uint8_t temporal_group_size
Definition: cbs_av1.h:340
AV1RawSequenceHeader::seq_level_idx
uint8_t seq_level_idx[AV1_MAX_OPERATING_POINTS]
Definition: cbs_av1.h:87
AV1RawMetadata::timecode
AV1RawMetadataTimecode timecode
Definition: cbs_av1.h:380
AV1RawFilmGrainParams::clip_to_restricted_range
uint8_t clip_to_restricted_range
Definition: cbs_av1.h:162
AV1RawFrameHeader::use_superres
uint8_t use_superres
Definition: cbs_av1.h:190
CodedBitstreamAV1Context::seen_frame_header
int seen_frame_header
Definition: cbs_av1.h:433
AV1RawFilmGrainParams::grain_seed
uint16_t grain_seed
Definition: cbs_av1.h:135
CodedBitstreamAV1Context::tile_cols
int tile_cols
Definition: cbs_av1.h:453
AV1RawSequenceHeader::timing_info_present_flag
uint8_t timing_info_present_flag
Definition: cbs_av1.h:78
AV1RawSequenceHeader
Definition: cbs_av1.h:73
AV1RawFrameHeader::show_frame
uint8_t show_frame
Definition: cbs_av1.h:172
AV1RawFrameHeader::delta_lf_res
uint8_t delta_lf_res
Definition: cbs_av1.h:250
AV1RawColorConfig::color_range
uint8_t color_range
Definition: cbs_av1.h:51
AV1RawPadding::payload_size
size_t payload_size
Definition: cbs_av1.h:387
AV1RawMetadataHDRMDCV::primary_chromaticity_x
uint16_t primary_chromaticity_x[3]
Definition: cbs_av1.h:322
AV1RawMetadataTimecode::discontinuity_flag
uint8_t discontinuity_flag
Definition: cbs_av1.h:360
AV1RawFrameHeader::coded_denom
uint8_t coded_denom
Definition: cbs_av1.h:191
AV1RawSequenceHeader::initial_display_delay_present_for_this_op
uint8_t initial_display_delay_present_for_this_op[AV1_MAX_OPERATING_POINTS]
Definition: cbs_av1.h:93
AV1RawMetadataScalability::temporal_group_temporal_id
uint8_t temporal_group_temporal_id[255]
Definition: cbs_av1.h:341
AV1RawSequenceHeader::operating_point_idc
uint16_t operating_point_idc[AV1_MAX_OPERATING_POINTS]
Definition: cbs_av1.h:86
AV1RawFilmGrainParams::point_cb_value
uint8_t point_cb_value[10]
Definition: cbs_av1.h:143
AV1RawFrameHeader::cdef_uv_pri_strength
uint8_t cdef_uv_pri_strength[8]
Definition: cbs_av1.h:266
AV1RawFilmGrainParams::apply_grain
uint8_t apply_grain
Definition: cbs_av1.h:134
AV1RawPadding
Definition: cbs_av1.h:384
AV1RawMetadataTimecode::full_timestamp_flag
uint8_t full_timestamp_flag
Definition: cbs_av1.h:359
AV1RawFrameHeader::is_global
uint8_t is_global[AV1_TOTAL_REFS_PER_FRAME]
Definition: cbs_av1.h:280
CodedBitstreamAV1Context::tile_num
int tile_num
Definition: cbs_av1.h:455
AV1ReferenceFrameState::subsampling_x
int subsampling_x
Definition: cbs_av1.h:416
AV1RawFrameHeader::lr_type
uint8_t lr_type[3]
Definition: cbs_av1.h:269
AV1RawFilmGrainParams::point_y_value
uint8_t point_y_value[14]
Definition: cbs_av1.h:139
AV1_MAX_TILE_ROWS
@ AV1_MAX_TILE_ROWS
Definition: av1.h:80
CodedBitstreamAV1Context::frame_header_ref
AVBufferRef * frame_header_ref
Definition: cbs_av1.h:434
AV1RawFrameHeader::uniform_tile_spacing_flag
uint8_t uniform_tile_spacing_flag
Definition: cbs_av1.h:215
AV1RawFrameHeader::disable_frame_end_update_cdf
uint8_t disable_frame_end_update_cdf
Definition: cbs_av1.h:213
AV1RawSequenceHeader::timing_info
AV1RawTimingInfo timing_info
Definition: cbs_av1.h:83
AV1RawTileGroup::tg_end
uint16_t tg_end
Definition: cbs_av1.h:298
AV1RawSequenceHeader::frame_id_numbers_present_flag
uint8_t frame_id_numbers_present_flag
Definition: cbs_av1.h:101
CodedBitstreamAV1Context::frame_header_size
size_t frame_header_size
Definition: cbs_av1.h:436
cbs.h
AV1RawTileList::output_frame_width_in_tiles_minus_1
uint8_t output_frame_width_in_tiles_minus_1
Definition: cbs_av1.h:309
AV1RawMetadataHDRCLL::max_fall
uint16_t max_fall
Definition: cbs_av1.h:318
AV1RawSequenceHeader::decoder_model_info
AV1RawDecoderModelInfo decoder_model_info
Definition: cbs_av1.h:84
AV1RawFrameHeader::delta_frame_id_minus1
uint32_t delta_frame_id_minus1[AV1_REFS_PER_FRAME]
Definition: cbs_av1.h:205
AV1RawTileData::data
uint8_t * data
Definition: cbs_av1.h:290
AV1RawOBU::header
AV1RawOBUHeader header
Definition: cbs_av1.h:392
AV1RawFrameHeader::loop_filter_level
uint8_t loop_filter_level[4]
Definition: cbs_av1.h:253
AV1ReferenceFrameState::order_hint
int order_hint
Definition: cbs_av1.h:419
AV1RawMetadataScalability::scalability_mode_idc
uint8_t scalability_mode_idc
Definition: cbs_av1.h:331
AV1_MAX_OPERATING_POINTS
@ AV1_MAX_OPERATING_POINTS
Definition: av1.h:73
AV1RawFrameHeader::cdef_y_sec_strength
uint8_t cdef_y_sec_strength[8]
Definition: cbs_av1.h:265
AV1RawSequenceHeader::seq_profile
uint8_t seq_profile
Definition: cbs_av1.h:74
AV1RawMetadata::itut_t35
AV1RawMetadataITUTT35 itut_t35
Definition: cbs_av1.h:379
AV1RawFrameHeader::cdef_damping_minus_3
uint8_t cdef_damping_minus_3
Definition: cbs_av1.h:262
AV1RawColorConfig::subsampling_y
uint8_t subsampling_y
Definition: cbs_av1.h:53
AV1RawColorConfig::separate_uv_delta_q
uint8_t separate_uv_delta_q
Definition: cbs_av1.h:55
AV1RawFrame::header
AV1RawFrameHeader header
Definition: cbs_av1.h:304
AV1RawFilmGrainParams::cr_mult
uint8_t cr_mult
Definition: cbs_av1.h:158
AV1RawTileData
Definition: cbs_av1.h:289
AV1RawMetadataTimecode::cnt_dropped_flag
uint8_t cnt_dropped_flag
Definition: cbs_av1.h:361
AV1RawFrameHeader::buffer_removal_time
uint32_t buffer_removal_time[AV1_MAX_OPERATING_POINTS]
Definition: cbs_av1.h:185
AV1RawFilmGrainParams::chroma_scaling_from_luma
uint8_t chroma_scaling_from_luma
Definition: cbs_av1.h:141
AV1RawColorConfig
Definition: cbs_av1.h:41
AV1RawFilmGrainParams::ar_coeffs_cr_plus_128
uint8_t ar_coeffs_cr_plus_128[25]
Definition: cbs_av1.h:152
AV1RawFrame
Definition: cbs_av1.h:303
AV1RawSequenceHeader::film_grain_params_present
uint8_t film_grain_params_present
Definition: cbs_av1.h:130
AV1RawFrameHeader::loop_filter_ref_deltas
int8_t loop_filter_ref_deltas[AV1_TOTAL_REFS_PER_FRAME]
Definition: cbs_av1.h:258
AV1RawFrameHeader::delta_q_u_dc
int8_t delta_q_u_dc
Definition: cbs_av1.h:231
AV1RawFrameHeader::lr_unit_shift
uint8_t lr_unit_shift
Definition: cbs_av1.h:270
AV1RawSequenceHeader::enable_ref_frame_mvs
uint8_t enable_ref_frame_mvs
Definition: cbs_av1.h:115
AV1RawSequenceHeader::enable_filter_intra
uint8_t enable_filter_intra
Definition: cbs_av1.h:106
AV1ReferenceFrameState::subsampling_y
int subsampling_y
Definition: cbs_av1.h:417
AV1RawMetadataTimecode::n_frames
uint16_t n_frames
Definition: cbs_av1.h:362
AV1RawFilmGrainParams::point_cr_scaling
uint8_t point_cr_scaling[10]
Definition: cbs_av1.h:147
AV1RawMetadataScalability::spatial_layer_max_width
uint16_t spatial_layer_max_width[4]
Definition: cbs_av1.h:337
CodedBitstreamAV1Context::ref
AV1ReferenceFrameState ref[AV1_NUM_REF_FRAMES]
Definition: cbs_av1.h:457
AV1RawSequenceHeader::decoder_model_present_for_this_op
uint8_t decoder_model_present_for_this_op[AV1_MAX_OPERATING_POINTS]
Definition: cbs_av1.h:89
AV1RawTileList
Definition: cbs_av1.h:308
AV1RawMetadataITUTT35::payload_size
size_t payload_size
Definition: cbs_av1.h:354
AV1ReferenceFrameState::frame_id
int frame_id
Definition: cbs_av1.h:409
AV1RawMetadataScalability::temporal_group_ref_pic_diff
uint8_t temporal_group_ref_pic_diff[255][7]
Definition: cbs_av1.h:345
AV1RawSequenceHeader::delta_frame_id_length_minus_2
uint8_t delta_frame_id_length_minus_2
Definition: cbs_av1.h:102
AV1RawFilmGrainParams::ar_coeff_shift_minus_6
uint8_t ar_coeff_shift_minus_6
Definition: cbs_av1.h:153
AV1RawMetadataHDRMDCV
Definition: cbs_av1.h:321
AV1RawFilmGrainParams::num_y_points
uint8_t num_y_points
Definition: cbs_av1.h:138
AV1RawFrameHeader::lr_uv_shift
uint8_t lr_uv_shift
Definition: cbs_av1.h:271
AV1RawMetadataScalability::spatial_layers_cnt_minus_1
uint8_t spatial_layers_cnt_minus_1
Definition: cbs_av1.h:332
AV1ReferenceFrameState::valid
int valid
Definition: cbs_av1.h:408
AV1RawFilmGrainParams::num_cb_points
uint8_t num_cb_points
Definition: cbs_av1.h:142
AV1RawFrameHeader::tx_mode
uint8_t tx_mode
Definition: cbs_av1.h:273
AV1RawFilmGrainParams::cb_luma_mult
uint8_t cb_luma_mult
Definition: cbs_av1.h:156
AV1RawDecoderModelInfo::frame_presentation_time_length_minus_1
uint8_t frame_presentation_time_length_minus_1
Definition: cbs_av1.h:70
AV1RawFrameHeader::base_q_idx
uint8_t base_q_idx
Definition: cbs_av1.h:228
AV1RawFrameHeader::film_grain
AV1RawFilmGrainParams film_grain
Definition: cbs_av1.h:286
AV1RawFilmGrainParams::overlap_flag
uint8_t overlap_flag
Definition: cbs_av1.h:161
AV1RawOBUHeader::obu_extension_flag
uint8_t obu_extension_flag
Definition: cbs_av1.h:32
AV1RawSequenceHeader::enable_masked_compound
uint8_t enable_masked_compound
Definition: cbs_av1.h:109
AV1RawSequenceHeader::initial_display_delay_minus_1
uint8_t initial_display_delay_minus_1[AV1_MAX_OPERATING_POINTS]
Definition: cbs_av1.h:94
AV1RawFrameHeader::golden_frame_idx
uint8_t golden_frame_idx
Definition: cbs_av1.h:203
AV1RawFrameHeader::render_and_frame_size_different
uint8_t render_and_frame_size_different
Definition: cbs_av1.h:192
AV1RawMetadataScalability::temporal_group_description_present_flag
uint8_t temporal_group_description_present_flag
Definition: cbs_av1.h:335
AV1RawOBU::tile_list
AV1RawTileList tile_list
Definition: cbs_av1.h:401
AV1RawFilmGrainParams::grain_scaling_minus_8
uint8_t grain_scaling_minus_8
Definition: cbs_av1.h:148
AV1RawFrameHeader::cdef_uv_sec_strength
uint8_t cdef_uv_sec_strength[8]
Definition: cbs_av1.h:267
AV1RawFrameHeader::feature_enabled
uint8_t feature_enabled[AV1_MAX_SEGMENTS][AV1_SEG_LVL_MAX]
Definition: cbs_av1.h:244
AV1RawFrameHeader::qm_y
uint8_t qm_y
Definition: cbs_av1.h:236
AV1RawMetadataTimecode::hours_flag
uint8_t hours_flag
Definition: cbs_av1.h:368
AV1RawFrameHeader::render_width_minus_1
uint16_t render_width_minus_1
Definition: cbs_av1.h:193
AV1RawFrameHeader::update_mode_delta
uint8_t update_mode_delta[2]
Definition: cbs_av1.h:259
AV1RawDecoderModelInfo::buffer_delay_length_minus_1
uint8_t buffer_delay_length_minus_1
Definition: cbs_av1.h:67
CodedBitstreamAV1Context::frame_height
int frame_height
Definition: cbs_av1.h:445
CodedBitstreamAV1Context::upscaled_width
int upscaled_width
Definition: cbs_av1.h:446
AV1ReferenceFrameState::feature_enabled
uint8_t feature_enabled[AV1_MAX_SEGMENTS][AV1_SEG_LVL_MAX]
Definition: cbs_av1.h:423
AV1RawFrameHeader::delta_lf_present
uint8_t delta_lf_present
Definition: cbs_av1.h:249
AV1RawMetadata::scalability
AV1RawMetadataScalability scalability
Definition: cbs_av1.h:378
AV1RawDecoderModelInfo
Definition: cbs_av1.h:66
AV1RawMetadata::hdr_cll
AV1RawMetadataHDRCLL hdr_cll
Definition: cbs_av1.h:376
AV1RawFrameHeader::frame_refs_short_signaling
uint8_t frame_refs_short_signaling
Definition: cbs_av1.h:201
AV1RawFrameHeader::allow_warped_motion
uint8_t allow_warped_motion
Definition: cbs_av1.h:277
AV1RawFrameHeader::frame_width_minus_1
uint16_t frame_width_minus_1
Definition: cbs_av1.h:188
CodedBitstreamAV1Context::operating_point_idc
int operating_point_idc
Definition: cbs_av1.h:440
AV1RawColorConfig::transfer_characteristics
uint8_t transfer_characteristics
Definition: cbs_av1.h:48
AV1RawFrameHeader::segmentation_enabled
uint8_t segmentation_enabled
Definition: cbs_av1.h:240
AV1RawOBUHeader::extension_header_reserved_3bits
uint8_t extension_header_reserved_3bits
Definition: cbs_av1.h:38
AV1RawSequenceHeader::seq_tier
uint8_t seq_tier[AV1_MAX_OPERATING_POINTS]
Definition: cbs_av1.h:88
AV1RawFrameHeader::loop_filter_mode_deltas
int8_t loop_filter_mode_deltas[2]
Definition: cbs_av1.h:260
AV1RawOBU::obu_size
size_t obu_size
Definition: cbs_av1.h:394
AV1RawSequenceHeader::decoder_buffer_delay
uint32_t decoder_buffer_delay[AV1_MAX_OPERATING_POINTS]
Definition: cbs_av1.h:90
AV1RawMetadataTimecode::time_offset_value
uint32_t time_offset_value
Definition: cbs_av1.h:370
AV1RawMetadataHDRCLL
Definition: cbs_av1.h:316
AV1_MAX_SEGMENTS
@ AV1_MAX_SEGMENTS
Definition: av1.h:88
AV1RawMetadataScalability::spatial_layer_ref_id
uint8_t spatial_layer_ref_id[4]
Definition: cbs_av1.h:339
AV1RawOBU::obu
union AV1RawOBU::@25 obu
AV1RawMetadataScalability::temporal_group_spatial_switching_up_point_flag
uint8_t temporal_group_spatial_switching_up_point_flag[255]
Definition: cbs_av1.h:343
AV1RawMetadata
Definition: cbs_av1.h:373
AV1RawOBU
Definition: cbs_av1.h:391
AVClass
Describe the class of an AVClass context structure.
Definition: log.h:67
AV1RawFrameHeader::qm_v
uint8_t qm_v
Definition: cbs_av1.h:238
AV1RawFrameHeader::tile_size_bytes_minus1
uint8_t tile_size_bytes_minus1
Definition: cbs_av1.h:221
AV1RawFrameHeader::is_filter_switchable
uint8_t is_filter_switchable
Definition: cbs_av1.h:208
AV1RawFrameHeader::allow_intrabc
uint8_t allow_intrabc
Definition: cbs_av1.h:199
AV1RawTimingInfo
Definition: cbs_av1.h:58
AV1RawFilmGrainParams::cb_mult
uint8_t cb_mult
Definition: cbs_av1.h:155
AV1RawMetadataScalability
Definition: cbs_av1.h:330
AV1RawOBUHeader::temporal_id
uint8_t temporal_id
Definition: cbs_av1.h:36
AV1RawFrameHeader
Definition: cbs_av1.h:165
AV1RawMetadataITUTT35::itu_t_t35_country_code_extension_byte
uint8_t itu_t_t35_country_code_extension_byte
Definition: cbs_av1.h:350
AV1RawFrameHeader::width_in_sbs_minus_1
uint8_t width_in_sbs_minus_1[AV1_MAX_TILE_COLS]
Definition: cbs_av1.h:218
AV1RawMetadataTimecode::counting_type
uint8_t counting_type
Definition: cbs_av1.h:358
AV1RawTileData::data_size
size_t data_size
Definition: cbs_av1.h:292
AV1RawColorConfig::chroma_sample_position
uint8_t chroma_sample_position
Definition: cbs_av1.h:54
CodedBitstreamAV1Context::render_width
int render_width
Definition: cbs_av1.h:447
AV1RawTileList::output_frame_height_in_tiles_minus_1
uint8_t output_frame_height_in_tiles_minus_1
Definition: cbs_av1.h:310
AV1RawSequenceHeader::enable_jnt_comp
uint8_t enable_jnt_comp
Definition: cbs_av1.h:114
AV1_MAX_TILE_COLS
@ AV1_MAX_TILE_COLS
Definition: av1.h:81
AV1RawMetadataTimecode::minutes_flag
uint8_t minutes_flag
Definition: cbs_av1.h:367
AV1RawSequenceHeader::seq_force_screen_content_tools
uint8_t seq_force_screen_content_tools
Definition: cbs_av1.h:118
AV1RawFrameHeader::current_frame_id
uint32_t current_frame_id
Definition: cbs_av1.h:180
AV1RawFrameHeader::delta_q_res
uint8_t delta_q_res
Definition: cbs_av1.h:248
AV1RawSequenceHeader::max_frame_height_minus_1
uint16_t max_frame_height_minus_1
Definition: cbs_av1.h:99
AV1RawFrameHeader::interpolation_filter
uint8_t interpolation_filter
Definition: cbs_av1.h:209
AV1RawFrameHeader::ref_frame_idx
int8_t ref_frame_idx[AV1_REFS_PER_FRAME]
Definition: cbs_av1.h:204
AV1RawFilmGrainParams::point_cr_value
uint8_t point_cr_value[10]
Definition: cbs_av1.h:146
AV1RawMetadataHDRMDCV::luminance_max
uint32_t luminance_max
Definition: cbs_av1.h:326
AV1RawTileList::tile_data
AV1RawTileData tile_data
Definition: cbs_av1.h:313
AV1RawFilmGrainParams::cb_offset
uint16_t cb_offset
Definition: cbs_av1.h:157
AV1RawFrameHeader::refresh_frame_flags
uint8_t refresh_frame_flags
Definition: cbs_av1.h:198
AV1RawFrameHeader::cdef_bits
uint8_t cdef_bits
Definition: cbs_av1.h:263
AV1RawFrameHeader::reduced_tx_set
uint8_t reduced_tx_set
Definition: cbs_av1.h:278
AV1RawTimingInfo::num_ticks_per_picture_minus_1
uint32_t num_ticks_per_picture_minus_1
Definition: cbs_av1.h:63
AV1RawMetadataHDRMDCV::white_point_chromaticity_x
uint16_t white_point_chromaticity_x
Definition: cbs_av1.h:324
AV1RawFrameHeader::tile_cols_log2
uint8_t tile_cols_log2
Definition: cbs_av1.h:216
AV1RawFrameHeader::gm_params
uint32_t gm_params[AV1_TOTAL_REFS_PER_FRAME][6]
Definition: cbs_av1.h:284
AV1_TOTAL_REFS_PER_FRAME
@ AV1_TOTAL_REFS_PER_FRAME
Definition: av1.h:85
AV1RawOBUHeader::spatial_id
uint8_t spatial_id
Definition: cbs_av1.h:37
AV1RawOBU::sequence_header
AV1RawSequenceHeader sequence_header
Definition: cbs_av1.h:397
AV1RawSequenceHeader::use_128x128_superblock
uint8_t use_128x128_superblock
Definition: cbs_av1.h:105
CodedBitstreamAV1Context::tile_rows
int tile_rows
Definition: cbs_av1.h:454
AV1RawSequenceHeader::frame_height_bits_minus_1
uint8_t frame_height_bits_minus_1
Definition: cbs_av1.h:97
CodedBitstreamAV1Context::frame_header
uint8_t * frame_header
Definition: cbs_av1.h:435
AV1RawFrameHeader::is_translation
uint8_t is_translation[AV1_TOTAL_REFS_PER_FRAME]
Definition: cbs_av1.h:282
AV1RawFrameHeader::loop_filter_delta_update
uint8_t loop_filter_delta_update
Definition: cbs_av1.h:256
AV1RawFrameHeader::allow_screen_content_tools
uint8_t allow_screen_content_tools
Definition: cbs_av1.h:177
av1.h
AV1RawColorConfig::color_description_present_flag
uint8_t color_description_present_flag
Definition: cbs_av1.h:46
AV1ReferenceFrameState
Definition: cbs_av1.h:407
AV1RawSequenceHeader::seq_choose_integer_mv
uint8_t seq_choose_integer_mv
Definition: cbs_av1.h:119
AV1RawFrameHeader::skip_mode_present
uint8_t skip_mode_present
Definition: cbs_av1.h:275
AV1RawSequenceHeader::still_picture
uint8_t still_picture
Definition: cbs_av1.h:75
CodedBitstreamAV1Context::sequence_header_ref
AVBufferRef * sequence_header_ref
Definition: cbs_av1.h:431
AV1RawMetadata::metadata
union AV1RawMetadata::@24 metadata
AV1RawSequenceHeader::initial_display_delay_present_flag
uint8_t initial_display_delay_present_flag
Definition: cbs_av1.h:80
AV1RawFilmGrainParams::grain_scale_shift
uint8_t grain_scale_shift
Definition: cbs_av1.h:154
AV1RawSequenceHeader::enable_interintra_compound
uint8_t enable_interintra_compound
Definition: cbs_av1.h:108
AV1RawFrameHeader::order_hint
uint8_t order_hint
Definition: cbs_av1.h:182
AV1RawFrameHeader::buffer_removal_time_present_flag
uint8_t buffer_removal_time_present_flag
Definition: cbs_av1.h:184
AV1ReferenceFrameState::frame_width
int frame_width
Definition: cbs_av1.h:411
AV1RawOBU::frame_header
AV1RawFrameHeader frame_header
Definition: cbs_av1.h:398
AV1RawFrameHeader::display_frame_id
uint32_t display_frame_id
Definition: cbs_av1.h:169
AV1RawFrameHeader::delta_q_v_dc
int8_t delta_q_v_dc
Definition: cbs_av1.h:233
AV1RawFrameHeader::found_ref
uint8_t found_ref[AV1_REFS_PER_FRAME]
Definition: cbs_av1.h:196
CodedBitstreamAV1Context::frame_width
int frame_width
Definition: cbs_av1.h:444
CodedBitstreamAV1Context::order_hint
int order_hint
Definition: cbs_av1.h:443
AV1ReferenceFrameState::loop_filter_mode_deltas
int8_t loop_filter_mode_deltas[2]
Definition: cbs_av1.h:422
AV1RawMetadataHDRMDCV::luminance_min
uint32_t luminance_min
Definition: cbs_av1.h:327
AV1_NUM_REF_FRAMES
@ AV1_NUM_REF_FRAMES
Definition: av1.h:83
AV1RawOBU::metadata
AV1RawMetadata metadata
Definition: cbs_av1.h:402
AV1RawMetadata::metadata_type
uint64_t metadata_type
Definition: cbs_av1.h:374
CodedBitstreamAV1Context::spatial_id
int spatial_id
Definition: cbs_av1.h:439
AV1RawFrameHeader::frame_to_show_map_idx
uint8_t frame_to_show_map_idx
Definition: cbs_av1.h:167
CodedBitstreamAV1Context::coded_lossless
int coded_lossless
Definition: cbs_av1.h:451
AV1RawMetadataTimecode::time_offset_length
uint8_t time_offset_length
Definition: cbs_av1.h:369
AV1RawSequenceHeader::enable_dual_filter
uint8_t enable_dual_filter
Definition: cbs_av1.h:111
AV1RawSequenceHeader::enable_superres
uint8_t enable_superres
Definition: cbs_av1.h:124
AV1RawMetadataScalability::scalability_structure_reserved_3bits
uint8_t scalability_structure_reserved_3bits
Definition: cbs_av1.h:336
AV1RawMetadata::hdr_mdcv
AV1RawMetadataHDRMDCV hdr_mdcv
Definition: cbs_av1.h:377
AV1RawFrameHeader::frame_presentation_time
uint32_t frame_presentation_time
Definition: cbs_av1.h:168
CodedBitstreamAV1Context::bit_depth
int bit_depth
Definition: cbs_av1.h:442
AV1RawMetadataTimecode::seconds_value
uint8_t seconds_value
Definition: cbs_av1.h:363
AV1RawTimingInfo::equal_picture_interval
uint8_t equal_picture_interval
Definition: cbs_av1.h:62
AV1RawFrameHeader::tile_rows
uint16_t tile_rows
Definition: cbs_av1.h:226
AV1RawSequenceHeader::enable_intra_edge_filter
uint8_t enable_intra_edge_filter
Definition: cbs_av1.h:107
AV1RawMetadataScalability::temporal_group_temporal_switching_up_point_flag
uint8_t temporal_group_temporal_switching_up_point_flag[255]
Definition: cbs_av1.h:342
AV1RawSequenceHeader::max_frame_width_minus_1
uint16_t max_frame_width_minus_1
Definition: cbs_av1.h:98
AV1RawSequenceHeader::color_config
AV1RawColorConfig color_config
Definition: cbs_av1.h:128
AV1RawMetadataITUTT35::payload
uint8_t * payload
Definition: cbs_av1.h:352
AV1_SEG_LVL_MAX
@ AV1_SEG_LVL_MAX
Definition: av1.h:89
AV1RawTileGroup::tg_start
uint16_t tg_start
Definition: cbs_av1.h:297
AV1ReferenceFrameState::frame_type
int frame_type
Definition: cbs_av1.h:415
AV1RawSequenceHeader::enable_order_hint
uint8_t enable_order_hint
Definition: cbs_av1.h:113
AV1RawFrameHeader::loop_filter_delta_enabled
uint8_t loop_filter_delta_enabled
Definition: cbs_av1.h:255
AV1RawMetadataITUTT35::payload_ref
AVBufferRef * payload_ref
Definition: cbs_av1.h:353
AV1RawOBU::tile_group
AV1RawTileGroup tile_group
Definition: cbs_av1.h:400
AV1RawFilmGrainParams::update_grain
uint8_t update_grain
Definition: cbs_av1.h:136
AV1RawTileGroup::tile_data
AV1RawTileData tile_data
Definition: cbs_av1.h:300
AV1RawFrameHeader::ref_order_hint
uint8_t ref_order_hint[AV1_NUM_REF_FRAMES]
Definition: cbs_av1.h:200
AV1RawFrameHeader::height_in_sbs_minus_1
uint8_t height_in_sbs_minus_1[AV1_MAX_TILE_ROWS]
Definition: cbs_av1.h:219
AV1RawFrameHeader::segmentation_update_data
uint8_t segmentation_update_data
Definition: cbs_av1.h:243
AV1RawColorConfig::subsampling_x
uint8_t subsampling_x
Definition: cbs_av1.h:52
AV1RawTileList::tile_count_minus_1
uint16_t tile_count_minus_1
Definition: cbs_av1.h:311
AV1RawFrameHeader::delta_lf_multi
uint8_t delta_lf_multi
Definition: cbs_av1.h:251
AV1RawDecoderModelInfo::buffer_removal_time_length_minus_1
uint8_t buffer_removal_time_length_minus_1
Definition: cbs_av1.h:69
AV1RawColorConfig::high_bitdepth
uint8_t high_bitdepth
Definition: cbs_av1.h:42
AV1RawFilmGrainParams::cr_luma_mult
uint8_t cr_luma_mult
Definition: cbs_av1.h:159
AV1RawFilmGrainParams::film_grain_params_ref_idx
uint8_t film_grain_params_ref_idx
Definition: cbs_av1.h:137
AV1RawOBUHeader::obu_reserved_1bit
uint8_t obu_reserved_1bit
Definition: cbs_av1.h:34
AV1RawFrameHeader::reference_select
uint8_t reference_select
Definition: cbs_av1.h:274
AV1RawFrameHeader::update_ref_delta
uint8_t update_ref_delta[AV1_TOTAL_REFS_PER_FRAME]
Definition: cbs_av1.h:257
CodedBitstreamAV1Context::all_lossless
int all_lossless
Definition: cbs_av1.h:452
AV1RawFrameHeader::using_qmatrix
uint8_t using_qmatrix
Definition: cbs_av1.h:235
AV1RawMetadataITUTT35
Definition: cbs_av1.h:348
AV1RawSequenceHeader::frame_width_bits_minus_1
uint8_t frame_width_bits_minus_1
Definition: cbs_av1.h:96
AV1RawSequenceHeader::enable_warped_motion
uint8_t enable_warped_motion
Definition: cbs_av1.h:110
AV1RawFrameHeader::use_ref_frame_mvs
uint8_t use_ref_frame_mvs
Definition: cbs_av1.h:211
CodedBitstreamAV1Context::sequence_header
AV1RawSequenceHeader * sequence_header
Definition: cbs_av1.h:430
AV1RawTileGroup::tile_start_and_end_present_flag
uint8_t tile_start_and_end_present_flag
Definition: cbs_av1.h:296
CodedBitstreamAV1Context::render_height
int render_height
Definition: cbs_av1.h:448
AV1ReferenceFrameState::upscaled_width
int upscaled_width
Definition: cbs_av1.h:410
AV1RawFrameHeader::allow_high_precision_mv
uint8_t allow_high_precision_mv
Definition: cbs_av1.h:207
AV1ReferenceFrameState::feature_value
int16_t feature_value[AV1_MAX_SEGMENTS][AV1_SEG_LVL_MAX]
Definition: cbs_av1.h:424
AV1RawFilmGrainParams::ar_coeff_lag
uint8_t ar_coeff_lag
Definition: cbs_av1.h:149
AV1RawColorConfig::mono_chrome
uint8_t mono_chrome
Definition: cbs_av1.h:44
AV1RawPadding::payload_ref
AVBufferRef * payload_ref
Definition: cbs_av1.h:386
AV1RawOBUHeader::obu_forbidden_bit
uint8_t obu_forbidden_bit
Definition: cbs_av1.h:30
AV1RawFrameHeader::segmentation_temporal_update
uint8_t segmentation_temporal_update
Definition: cbs_av1.h:242
AV1RawFrameHeader::frame_height_minus_1
uint16_t frame_height_minus_1
Definition: cbs_av1.h:189
AV1ReferenceFrameState::frame_height
int frame_height
Definition: cbs_av1.h:412
AV1RawSequenceHeader::seq_choose_screen_content_tools
uint8_t seq_choose_screen_content_tools
Definition: cbs_av1.h:117
AV1RawFrameHeader::context_update_tile_id
uint16_t context_update_tile_id
Definition: cbs_av1.h:220
AV1RawFilmGrainParams::ar_coeffs_cb_plus_128
uint8_t ar_coeffs_cb_plus_128[25]
Definition: cbs_av1.h:151
AV1RawFilmGrainParams::ar_coeffs_y_plus_128
uint8_t ar_coeffs_y_plus_128[24]
Definition: cbs_av1.h:150
CodedBitstreamAV1Context::num_planes
int num_planes
Definition: cbs_av1.h:450
AV1RawSequenceHeader::order_hint_bits_minus_1
uint8_t order_hint_bits_minus_1
Definition: cbs_av1.h:122
AV1RawMetadataTimecode
Definition: cbs_av1.h:357
AV1RawColorConfig::matrix_coefficients
uint8_t matrix_coefficients
Definition: cbs_av1.h:49
AV1RawTileGroup
Definition: cbs_av1.h:295
AV1RawMetadataHDRMDCV::white_point_chromaticity_y
uint16_t white_point_chromaticity_y
Definition: cbs_av1.h:325
AV1RawFrameHeader::loop_filter_sharpness
uint8_t loop_filter_sharpness
Definition: cbs_av1.h:254
AV1RawFilmGrainParams::cr_offset
uint16_t cr_offset
Definition: cbs_av1.h:160
AV1RawFilmGrainParams::point_y_scaling
uint8_t point_y_scaling[14]
Definition: cbs_av1.h:140
AV1RawFrameHeader::last_frame_idx
uint8_t last_frame_idx
Definition: cbs_av1.h:202
AV1RawFrameHeader::delta_q_v_ac
int8_t delta_q_v_ac
Definition: cbs_av1.h:234
AV1RawFrameHeader::show_existing_frame
uint8_t show_existing_frame
Definition: cbs_av1.h:166
AV1RawOBU::frame
AV1RawFrame frame
Definition: cbs_av1.h:399
AVBufferRef
A reference to a data buffer.
Definition: buffer.h:84
AV1RawMetadataScalability::temporal_group_ref_cnt
uint8_t temporal_group_ref_cnt[255]
Definition: cbs_av1.h:344
AV1RawFilmGrainParams::point_cb_scaling
uint8_t point_cb_scaling[10]
Definition: cbs_av1.h:144
AV1RawMetadataITUTT35::itu_t_t35_country_code
uint8_t itu_t_t35_country_code
Definition: cbs_av1.h:349
AV1RawFrame::tile_group
AV1RawTileGroup tile_group
Definition: cbs_av1.h:305
AV1ReferenceFrameState::render_width
int render_width
Definition: cbs_av1.h:413
AV1RawFrameHeader::force_integer_mv
uint8_t force_integer_mv
Definition: cbs_av1.h:178
AV1RawMetadataHDRMDCV::primary_chromaticity_y
uint16_t primary_chromaticity_y[3]
Definition: cbs_av1.h:323
AV1RawMetadataScalability::spatial_layer_max_height
uint16_t spatial_layer_max_height[4]
Definition: cbs_av1.h:338
AV1RawSequenceHeader::enable_restoration
uint8_t enable_restoration
Definition: cbs_av1.h:126
AV1RawFrameHeader::error_resilient_mode
uint8_t error_resilient_mode
Definition: cbs_av1.h:175
AV1RawFrameHeader::delta_q_u_ac
int8_t delta_q_u_ac
Definition: cbs_av1.h:232
AV1RawFrameHeader::tile_rows_log2
uint8_t tile_rows_log2
Definition: cbs_av1.h:217
AV1RawColorConfig::twelve_bit
uint8_t twelve_bit
Definition: cbs_av1.h:43
AV1RawFrameHeader::feature_value
int16_t feature_value[AV1_MAX_SEGMENTS][AV1_SEG_LVL_MAX]
Definition: cbs_av1.h:245
AV1RawSequenceHeader::operating_points_cnt_minus_1
uint8_t operating_points_cnt_minus_1
Definition: cbs_av1.h:81
AV1RawTileData::data_ref
AVBufferRef * data_ref
Definition: cbs_av1.h:291
AV1RawMetadataScalability::spatial_layer_description_present_flag
uint8_t spatial_layer_description_present_flag
Definition: cbs_av1.h:334
AV1RawFrameHeader::delta_q_present
uint8_t delta_q_present
Definition: cbs_av1.h:247
AV1RawSequenceHeader::additional_frame_id_length_minus_1
uint8_t additional_frame_id_length_minus_1
Definition: cbs_av1.h:103
AV1RawSequenceHeader::enable_cdef
uint8_t enable_cdef
Definition: cbs_av1.h:125
AV1RawSequenceHeader::reduced_still_picture_header
uint8_t reduced_still_picture_header
Definition: cbs_av1.h:76
AV1RawFrameHeader::frame_size_override_flag
uint8_t frame_size_override_flag
Definition: cbs_av1.h:181
AV1RawMetadataTimecode::minutes_value
uint8_t minutes_value
Definition: cbs_av1.h:364
AV1RawFrameHeader::diff_uv_delta
uint8_t diff_uv_delta
Definition: cbs_av1.h:230
AV1RawFilmGrainParams
Definition: cbs_av1.h:133
AV1RawPadding::payload
uint8_t * payload
Definition: cbs_av1.h:385
AV1RawFrameHeader::disable_cdf_update
uint8_t disable_cdf_update
Definition: cbs_av1.h:176
AV1RawSequenceHeader::low_delay_mode_flag
uint8_t low_delay_mode_flag[AV1_MAX_OPERATING_POINTS]
Definition: cbs_av1.h:92
AV1RawMetadataTimecode::seconds_flag
uint8_t seconds_flag
Definition: cbs_av1.h:366
AV1RawFrameHeader::qm_u
uint8_t qm_u
Definition: cbs_av1.h:237
AV1RawFrameHeader::cdef_y_pri_strength
uint8_t cdef_y_pri_strength[8]
Definition: cbs_av1.h:264
AV1RawFrameHeader::delta_q_y_dc
int8_t delta_q_y_dc
Definition: cbs_av1.h:229
AV1RawFrameHeader::showable_frame
uint8_t showable_frame
Definition: cbs_av1.h:173
AV1RawOBUHeader
Definition: cbs_av1.h:29
AV1RawOBUHeader::obu_has_size_field
uint8_t obu_has_size_field
Definition: cbs_av1.h:33
AV1RawOBU::padding
AV1RawPadding padding
Definition: cbs_av1.h:403
AV1ReferenceFrameState::render_height
int render_height
Definition: cbs_av1.h:414
AV1RawFilmGrainParams::num_cr_points
uint8_t num_cr_points
Definition: cbs_av1.h:145
AV1RawFrameHeader::tile_cols
uint16_t tile_cols
Definition: cbs_av1.h:225
AV1ReferenceFrameState::bit_depth
int bit_depth
Definition: cbs_av1.h:418
AV1RawFrameHeader::render_height_minus_1
uint16_t render_height_minus_1
Definition: cbs_av1.h:194
AV1RawFrameHeader::segmentation_update_map
uint8_t segmentation_update_map
Definition: cbs_av1.h:241
AV1RawSequenceHeader::decoder_model_info_present_flag
uint8_t decoder_model_info_present_flag
Definition: cbs_av1.h:79
AV1RawDecoderModelInfo::num_units_in_decoding_tick
uint32_t num_units_in_decoding_tick
Definition: cbs_av1.h:68
CodedBitstreamAV1Context::temporal_id
int temporal_id
Definition: cbs_av1.h:438
AV1RawFrameHeader::is_rot_zoom
uint8_t is_rot_zoom[AV1_TOTAL_REFS_PER_FRAME]
Definition: cbs_av1.h:281
AV1RawMetadataTimecode::hours_value
uint8_t hours_value
Definition: cbs_av1.h:365
AV1RawFrameHeader::frame_type
uint8_t frame_type
Definition: cbs_av1.h:171
AV1RawMetadataHDRCLL::max_cll
uint16_t max_cll
Definition: cbs_av1.h:317
CodedBitstreamAV1Context
Definition: cbs_av1.h:427
AV1RawOBUHeader::obu_type
uint8_t obu_type
Definition: cbs_av1.h:31