59 typedef union _VAConfigAttribValEncAV1 {
66 uint32_t support_128x128_superblock : 2;
71 uint32_t support_filter_intra : 2;
76 uint32_t support_intra_edge_filter : 2;
81 uint32_t support_interintra_compound : 2;
86 uint32_t support_masked_compound : 2;
91 uint32_t support_warped_motion : 2;
96 uint32_t support_palette_mode : 2;
101 uint32_t support_dual_filter : 2;
106 uint32_t support_jnt_comp : 2;
111 uint32_t support_ref_frame_mvs : 2;
116 uint32_t support_superres : 2;
121 uint32_t support_restoration : 2;
126 uint32_t support_allow_intrabc : 2;
131 uint32_t support_cdef_channel_strength : 2;
133 uint32_t reserved : 4;
139 typedef union _VAConfigAttribValEncAV1Ext1 {
149 uint32_t interpolation_filter : 5;
154 uint32_t min_segid_block_size_accepted : 8;
166 uint32_t segment_feature_support : 8;
168 uint32_t reserved : 11;
174 typedef union _VAConfigAttribValEncAV1Ext2 {
181 uint32_t tile_size_bytes_minus1 : 2;
186 uint32_t obu_size_bytes_minus1 : 2;
193 uint32_t tx_mode_support : 3;
198 uint32_t max_tile_num_minus1 : 13;
200 uint32_t reserved : 12;
236 typedef struct _VAEncSequenceParameterBufferAV1 {
284 uint32_t still_picture : 1;
286 uint32_t use_128x128_superblock : 1;
288 uint32_t enable_filter_intra : 1;
290 uint32_t enable_intra_edge_filter : 1;
292 uint32_t enable_interintra_compound : 1;
294 uint32_t enable_masked_compound : 1;
296 uint32_t enable_warped_motion : 1;
298 uint32_t enable_dual_filter : 1;
300 uint32_t enable_order_hint : 1;
302 uint32_t enable_jnt_comp : 1;
304 uint32_t enable_ref_frame_mvs : 1;
306 uint32_t enable_superres : 1;
308 uint32_t enable_cdef : 1;
310 uint32_t enable_restoration : 1;
312 uint32_t bit_depth_minus8 : 3;
314 uint32_t subsampling_x : 1;
316 uint32_t subsampling_y : 1;
318 uint32_t mono_chrome : 1;
320 uint32_t reserved_bits : 12;
331 uint32_t va_reserved[VA_PADDING_HIGH];
334 #define VA_AV1_MAX_SEGMENTS 8
335 #define VA_AV1_SEG_LVL_MAX 8
340 typedef struct _VAEncSegParamAV1 {
347 uint8_t segmentation_enabled : 1;
359 uint8_t segmentation_update_map : 1;
367 uint8_t segmentation_temporal_update : 1;
369 uint8_t reserved : 5;
404 int16_t feature_data[VA_AV1_MAX_SEGMENTS][VA_AV1_SEG_LVL_MAX];
409 uint8_t feature_mask[VA_AV1_MAX_SEGMENTS];
429 typedef struct _VAEncSegMapBufferAV1 {
456 typedef struct _VAEncWarpedMotionParamsAV1 {
474 } VAEncWarpedMotionParamsAV1;
493 uint32_t search_idx0 : 3;
499 uint32_t search_idx1 : 3;
505 uint32_t search_idx2 : 3;
511 uint32_t search_idx3 : 3;
517 uint32_t search_idx4 : 3;
523 uint32_t search_idx5 : 3;
529 uint32_t search_idx6 : 3;
532 uint32_t Reserved : 11;
543 typedef struct _VAEncPictureParameterBufferAV1 {
570 VASurfaceID reference_frames[8];
585 uint8_t ref_frame_idx[7];
625 uint32_t frame_type : 2;
627 uint32_t error_resilient_mode : 1;
629 uint32_t disable_cdf_update : 1;
631 uint32_t use_superres : 1;
633 uint32_t allow_high_precision_mv : 1;
635 uint32_t use_ref_frame_mvs : 1;
637 uint32_t disable_frame_end_update_cdf : 1;
639 uint32_t reduced_tx_set : 1;
645 uint32_t enable_frame_obu : 1;
648 uint32_t long_term_reference : 1;
652 uint32_t disable_frame_recon : 1;
654 uint32_t allow_intrabc : 1;
658 uint32_t palette_mode_enable : 1;
660 uint32_t allow_screen_content_tools : 1;
662 uint32_t force_integer_mv : 1;
664 uint32_t reserved : 16;
688 uint8_t filter_level[2];
689 uint8_t filter_level_u;
690 uint8_t filter_level_v;
697 uint8_t sharpness_level : 3;
698 uint8_t mode_ref_delta_enabled : 1;
699 uint8_t mode_ref_delta_update : 1;
701 uint8_t reserved : 3;
716 int8_t ref_deltas[8];
721 int8_t mode_deltas[2];
745 uint16_t using_qmatrix : 1;
753 uint16_t reserved : 3;
765 uint32_t delta_q_present : 1;
768 uint32_t delta_q_res : 2;
772 uint32_t delta_lf_present : 1;
775 uint32_t delta_lf_res : 2;
778 uint32_t delta_lf_multi : 1;
786 uint32_t tx_mode : 2;
796 uint32_t reference_mode : 2;
800 uint32_t skip_mode_present : 1;
802 uint32_t reserved : 20;
805 } mode_control_flags;
819 uint16_t width_in_sbs_minus_1[63];
820 uint16_t height_in_sbs_minus_1[63];
836 uint8_t cdef_y_strengths[8];
839 uint8_t cdef_uv_strengths[8];
846 uint16_t yframe_restoration_type : 2;
850 uint16_t cbframe_restoration_type : 2;
854 uint16_t crframe_restoration_type : 2;
858 uint16_t lr_unit_shift : 2;
862 uint16_t lr_uv_shift : 1;
864 uint16_t reserved : 7;
867 } loop_restoration_flags;
870 VAEncWarpedMotionParamsAV1 wm[7];
943 uint8_t obu_extension_flag : 1;
947 uint8_t obu_has_size_field : 1;
951 uint8_t temporal_id : 3;
955 uint8_t spatial_id : 2;
957 uint8_t reserved : 1;
960 } tile_group_obu_hdr_info;
981 uint32_t va_reserved[VA_PADDING_HIGH];
987 typedef struct _VAEncTileGroupBufferAV1 {
Segment map data buffer.
Definition: va_enc_av1.h:429
uint8_t order_hint_bits_minus_1
Corresponds to AV1 syntax element of the same name. value range [0..7].
Definition: va_enc_av1.h:328
AV1 Encoding Sequence Parameter Buffer Structure.
Definition: va_enc_av1.h:236
uint8_t num_tile_groups_minus1
Number of tile groups minus 1. value range [0..255].
Definition: va_enc_av1.h:680
int32_t skip_frames_reduced_size
Indicates the application forced frame size change in bytes. When the value is positive, the frame size is reduced. Otherwise, the frame size increases. The parameter can be used when application skips frames with setting of NumSkipFrames. And application can also use it for other scenarios such as inserting "show_existing_frame" at very end of the sequence.
Definition: va_enc_av1.h:978
uint8_t temporal_id
Temporal id of the frame.
Definition: va_enc_av1.h:683
uint32_t size_in_bits_frame_hdr_obu
Definition: va_enc_av1.h:935
uint8_t tile_cols
Number of tile columns.
Definition: va_enc_av1.h:811
uint32_t intra_period
Period between intra_only frames.
Definition: va_enc_av1.h:258
Affine, 6-parameter.
Definition: va_enc_av1.h:451
uint8_t seq_tier
Tier Setting of current operation point. value range [0..1].
Definition: va_enc_av1.h:250
Segment parameters.
Definition: va_enc_av1.h:340
uint32_t size_in_bits_cdef_params
Definition: va_enc_av1.h:909
uint16_t reserved16bits3
Reserved bytes for future use, must be zero.
Definition: va_enc_av1.h:970
Attribute value for VAConfigAttribEncAV1Ext2.
Definition: va_enc_av1.h:174
uint32_t bits_per_second
Initial bitrate set for this sequence in CBR or VBR modes.
Definition: va_enc_av1.h:279
uint16_t context_update_tile_id
specify which tile to use for the CDF update. value range [0..127]
Definition: va_enc_av1.h:824
uint8_t hierarchical_level_plus1
When hierarchical_level_plus1 > 0, hierarchical_level_plus1-1 indicates the current frame's level...
Definition: va_enc_av1.h:591
Packed Sequence Parameter Set (SPS).
Definition: va_enc_av1.h:219
uint32_t segmentMapDataSize
Segment map data size.
Definition: va_enc_av1.h:431
uint8_t cdef_bits
Corresponds to AV1 syntax element of the same name. value range [0..3].
Definition: va_enc_av1.h:833
uint32_t bit_offset_loopfilter_params
Definition: va_enc_av1.h:894
uint32_t ip_period
Period between I/P frames. For hierarchical structure, this is the anchor frame distance.
Definition: va_enc_av1.h:263
VAEncPackedHeaderTypeAV1
Packed header types specific to AV1 encoding.
Definition: va_enc_av1.h:211
uint8_t min_base_qindex
Min value for base q index for BRC. value range [1..255].
Definition: va_enc_av1.h:734
uint8_t hierarchical_flag
Indicates whether or not the encoding is in dyadic hierarchical GOP structure. value range [0...
Definition: va_enc_av1.h:255
uint8_t tg_end
Tile group end location. The position of the last tile in current tile group in raster scan order acr...
Definition: va_enc_av1.h:999
uint8_t interpolation_filter
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:711
Simplified affine with rotation + zoom only, 4-parameter.
Definition: va_enc_av1.h:449
Reference frame control.
Definition: va_enc_av1.h:486
VAEncSegParamAV1 segments
Segmentation parameters.
Definition: va_enc_av1.h:808
uint8_t max_base_qindex
Max value for base q index for BRC. value range [1..255].
Definition: va_enc_av1.h:739
Packed picture header.
Definition: va.h:2366
VAGenericID VABufferID
Definition: va.h:2016
uint8_t number_skip_frames
The number of frames skipped prior to the current frame. It includes only the skipped frames that wer...
Definition: va_enc_av1.h:967
uint32_t bit_offset_qindex
Definition: va_enc_av1.h:879
Packed Picture Parameter Set (PPS).
Definition: va_enc_av1.h:227
uint8_t superres_scale_denominator
Super resolution scale denominator. value range [9..16].
Definition: va_enc_av1.h:709
VABufferID coded_buf
Buffer to store coded data.
Definition: va_enc_av1.h:557
uint8_t segment_number
Definition: va_enc_av1.h:394
Transformation count.
Definition: va_enc_av1.h:453
uint8_t seq_profile
AV1 profile setting. value range [0..2].
Definition: va_enc_av1.h:240
uint8_t reserved8bits1
Reserved bytes for future use, must be zero.
Definition: va_enc_av1.h:608
VASurfaceID reconstructed_frame
Surface to store reconstructed frame, not used for enc only case.
Definition: va_enc_av1.h:554
VARefFrameCtrlAV1 ref_frame_ctrl_l0
Suggest which frames to be used as references. see struct #VARefFrameCtrl for details.
Definition: va_enc_av1.h:613
uint8_t order_hint
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:602
Packed sequence header.
Definition: va.h:2364
uint32_t byte_offset_frame_hdr_obu_size
Definition: va_enc_av1.h:922
Translational motion, 2-parameter.
Definition: va_enc_av1.h:447
uint8_t seq_level_idx
Level Setting of current operation point. value range [0..23].
Definition: va_enc_av1.h:245
uint8_t primary_ref_frame
primary reference frame. Index into reference_frames[] segment id map, context table, etc. come from the reference frame pointed by this index. value range [0..7].
Definition: va_enc_av1.h:599
#define VA_PADDING_LOW
Definition: va.h:359
uint8_t tg_start
Tile group start location. The position of the first tile in current tile group in raster scan order ...
Definition: va_enc_av1.h:993
Attribute value for VAConfigAttribEncAV1.
Definition: va_enc_av1.h:59
uint16_t reserved16bits1
Reserved bytes for future use, must be zero.
Definition: va_enc_av1.h:759
Identity transformation, 0-parameter.
Definition: va_enc_av1.h:445
uint8_t cdef_damping_minus_3
Corresponds to AV1 syntax element of the same name. value range [0..3].
Definition: va_enc_av1.h:829
uint8_t refresh_frame_flags
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:605
uint16_t frame_width_minus_1
AV1 encoder may support SupRes and dynamic scaling function. For SupRes, underline encoder is respons...
Definition: va_enc_av1.h:549
uint8_t tile_rows
Number of tile rows.
Definition: va_enc_av1.h:813
uint8_t base_qindex
Quantization params.
Definition: va_enc_av1.h:724
VAEncTransformationTypeAV1
Definition: va_enc_av1.h:443
uint16_t frame_height_minus_1
Raw source frame height in pixels.
Definition: va_enc_av1.h:551
uint16_t reserved16bits2
Reserved bytes for future use, must be zero.
Definition: va_enc_av1.h:816
uint32_t bit_offset_cdef_params
Definition: va_enc_av1.h:903
uint8_t seg_id_block_size
Block size for each Segment ID in Segment Map. 0: 16x16 block size, default value; 1: 32x32 block siz...
Definition: va_enc_av1.h:675
AV1 Encoding Picture Parameter Buffer Structure.
Definition: va_enc_av1.h:543
Attribute value for VAConfigAttribEncAV1Ext1.
Definition: va_enc_av1.h:139
Tile Group Buffer.
Definition: va_enc_av1.h:987
uint8_t * pSegmentMap
Segment map. Size of this map is indicated by segmentMapDataSize and each element in this map contain...
Definition: va_enc_av1.h:440
uint32_t bit_offset_segmentation
Definition: va_enc_av1.h:886