59 typedef union _VAConfigAttribValEncAV1 {
139 typedef union _VAConfigAttribValEncAV1Ext1 {
174 typedef union _VAConfigAttribValEncAV1Ext2 {
236 typedef struct _VAEncSequenceParameterBufferAV1 {
329 uint32_t va_reserved[VA_PADDING_HIGH];
332 #define VA_AV1_MAX_SEGMENTS 8
333 #define VA_AV1_SEG_LVL_MAX 8
338 typedef struct _VAEncSegParamAV1 {
402 int16_t feature_data[VA_AV1_MAX_SEGMENTS][VA_AV1_SEG_LVL_MAX];
407 uint8_t feature_mask[VA_AV1_MAX_SEGMENTS];
427 typedef struct _VAEncSegMapBufferAV1 {
454 typedef struct _VAEncWarpedMotionParamsAV1 {
472 } VAEncWarpedMotionParamsAV1;
541 typedef struct _VAEncPictureParameterBufferAV1 {
568 VASurfaceID reference_frames[8];
583 uint8_t ref_frame_idx[7];
682 uint8_t filter_level[2];
683 uint8_t filter_level_u;
684 uint8_t filter_level_v;
692 uint8_t mode_ref_delta_enabled : 1;
693 uint8_t mode_ref_delta_update : 1;
710 int8_t ref_deltas[8];
715 int8_t mode_deltas[2];
796 uint32_t reserved : 20;
799 } mode_control_flags;
813 uint16_t width_in_sbs_minus_1[63];
814 uint16_t height_in_sbs_minus_1[63];
830 uint8_t cdef_y_strengths[8];
833 uint8_t cdef_uv_strengths[8];
858 uint16_t reserved : 7;
861 } loop_restoration_flags;
864 VAEncWarpedMotionParamsAV1 wm[7];
944 uint8_t temporal_id : 3;
950 uint8_t reserved : 1;
953 } tile_group_obu_hdr_info;
974 uint32_t va_reserved[VA_PADDING_HIGH];
980 typedef struct _VAEncTileGroupBufferAV1 {
#define VA_PADDING_LOW
Definition: va.h:359
VAGenericID VABufferID
Definition: va.h:1969
@ VAEncPackedHeaderPicture
Packed picture header.
Definition: va.h:2319
@ VAEncPackedHeaderSequence
Packed sequence header.
Definition: va.h:2317
VAEncTransformationTypeAV1
Definition: va_enc_av1.h:441
VAEncPackedHeaderTypeAV1
Packed header types specific to AV1 encoding.
Definition: va_enc_av1.h:211
@ VAAV1EncTransformationRotzoom
Simplified affine with rotation + zoom only, 4-parameter.
Definition: va_enc_av1.h:447
@ VAAV1EncTransformationCount
Transformation count.
Definition: va_enc_av1.h:451
@ VAAV1EncTransformationTranslation
Translational motion, 2-parameter.
Definition: va_enc_av1.h:445
@ VAAV1EncTransformationAffine
Affine, 6-parameter.
Definition: va_enc_av1.h:449
@ VAAV1EncTransformationIdentity
Identity transformation, 0-parameter.
Definition: va_enc_av1.h:443
@ VAEncPackedHeaderAV1_SPS
Packed Sequence Parameter Set (SPS).
Definition: va_enc_av1.h:219
@ VAEncPackedHeaderAV1_PPS
Packed Picture Parameter Set (PPS).
Definition: va_enc_av1.h:227
AV1 Encoding Picture Parameter Buffer Structure.
Definition: va_enc_av1.h:541
VABufferID coded_buf
Buffer to store coded data.
Definition: va_enc_av1.h:555
uint32_t reference_mode
Indicates whether to use single or compound reference prediction. 0: SINGLE_REFERENCE; 1: COMPOUND_RE...
Definition: va_enc_av1.h:790
uint16_t qm_y
Following parameters only valid when using_qmatrix == 1.
Definition: va_enc_av1.h:741
uint16_t reserved
Reserved bytes for future use, must be zero.
Definition: va_enc_av1.h:747
VASurfaceID reconstructed_frame
Surface to store reconstructed frame, not used for enc only case.
Definition: va_enc_av1.h:552
uint8_t spatial_id
Corresponds to AV1 syntax element of the same name. value range [0..2].
Definition: va_enc_av1.h:948
uint8_t interpolation_filter
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:705
uint8_t reserved
Reserved bytes for future use, must be zero.
Definition: va_enc_av1.h:695
uint8_t base_qindex
Quantization params.
Definition: va_enc_av1.h:718
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:669
uint8_t primary_ref_frame
primary reference frame. Index into reference_frames[] segment id map, context table,...
Definition: va_enc_av1.h:597
uint8_t obu_extension_flag
Corresponds to AV1 syntax element of the same name. value range [0..1].
Definition: va_enc_av1.h:936
uint16_t crframe_restoration_type
Restoration type for Cr frame. value range [0..3].
Definition: va_enc_av1.h:848
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:547
uint32_t enable_frame_obu
For single tile group, app may choose to use one frame obu to replace one frame header obu + one tile...
Definition: va_enc_av1.h:643
uint16_t context_update_tile_id
specify which tile to use for the CDF update. value range [0..127]
Definition: va_enc_av1.h:818
uint32_t size_in_bits_frame_hdr_obu
Definition: va_enc_av1.h:928
uint32_t disable_frame_recon
If the encoded frame will not be referred by other frames, its recon may not be generated in order to...
Definition: va_enc_av1.h:650
uint8_t temporal_id
Temporal id of the frame.
Definition: va_enc_av1.h:677
uint8_t sharpness_level
Sharpness level for deblock filter. value range [0..7].
Definition: va_enc_av1.h:691
uint32_t long_term_reference
Indicate the current frame will be used as a long term reference.
Definition: va_enc_av1.h:646
uint16_t reserved16bits1
Reserved bytes for future use, must be zero.
Definition: va_enc_av1.h:753
uint32_t disable_frame_end_update_cdf
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:635
uint16_t lr_unit_shift
Corresponds to AV1 syntax element of the same name. value range [0..2].
Definition: va_enc_av1.h:852
uint32_t skip_mode_present
Corresponds to AV1 syntax element of the same name. value range [0..1].
Definition: va_enc_av1.h:794
uint32_t use_ref_frame_mvs
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:633
uint8_t max_base_qindex
Max value for base q index for BRC. value range [1..255].
Definition: va_enc_av1.h:733
uint32_t disable_cdf_update
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:627
uint16_t frame_height_minus_1
Raw source frame height in pixels.
Definition: va_enc_av1.h:549
uint32_t bit_offset_cdef_params
Definition: va_enc_av1.h:897
uint16_t cbframe_restoration_type
Restoration type for Cb frame. value range [0..3].
Definition: va_enc_av1.h:844
uint32_t use_superres
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:629
uint32_t bit_offset_segmentation
Definition: va_enc_av1.h:880
uint16_t using_qmatrix
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:739
uint8_t reserved8bits1
Reserved bytes for future use, must be zero.
Definition: va_enc_av1.h:606
uint8_t num_tile_groups_minus1
Number of tile groups minus 1. value range [0..255].
Definition: va_enc_av1.h:674
uint32_t delta_q_present
Specify whether quantizer index delta values are present. value range [0..1].
Definition: va_enc_av1.h:759
uint16_t qm_u
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:743
uint8_t min_base_qindex
Min value for base q index for BRC. value range [1..255].
Definition: va_enc_av1.h:728
int32_t skip_frames_reduced_size
Indicates the application forced frame size change in bytes. When the value is positive,...
Definition: va_enc_av1.h:971
uint32_t bit_offset_loopfilter_params
Definition: va_enc_av1.h:888
uint8_t cdef_damping_minus_3
Corresponds to AV1 syntax element of the same name. value range [0..3].
Definition: va_enc_av1.h:823
uint32_t allow_intrabc
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:652
uint32_t delta_lf_res
Corresponds to AV1 syntax element of the same name. value range [0..3].
Definition: va_enc_av1.h:769
uint32_t delta_lf_multi
Corresponds to AV1 syntax element of the same name. value range [0..1].
Definition: va_enc_av1.h:772
uint32_t palette_mode_enable
Equal to 1 indicates that intra blocks may use palette encoding. Otherwise disable palette encoding.
Definition: va_enc_av1.h:656
uint32_t reserved
Reserved bytes for future use, must be zero.
Definition: va_enc_av1.h:658
uint16_t lr_uv_shift
Corresponds to AV1 syntax element of the same name. value range [0..1].
Definition: va_enc_av1.h:856
uint32_t bit_offset_qindex
Definition: va_enc_av1.h:873
uint16_t qm_v
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:745
uint32_t tx_mode
Corresponds to AV1 syntax element of the same name. 0: ONLY_4X4; 1: TX_MODE_LARGEST; 2: TX_MODE_SELEC...
Definition: va_enc_av1.h:780
VARefFrameCtrlAV1 ref_frame_ctrl_l0
Suggest which frames to be used as references. see struct #VARefFrameCtrl for details.
Definition: va_enc_av1.h:611
uint8_t tile_cols
Number of tile columns.
Definition: va_enc_av1.h:805
uint32_t delta_q_res
Corresponds to AV1 syntax element of the same name. value range [0..3].
Definition: va_enc_av1.h:762
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:589
uint32_t frame_type
frame type. 0: key_frame. 1: inter_frame. 2: intra_only frame. 3: switch_frame (app needs to set erro...
Definition: va_enc_av1.h:623
uint16_t reserved16bits2
Reserved bytes for future use, must be zero.
Definition: va_enc_av1.h:810
uint32_t allow_high_precision_mv
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:631
uint8_t superres_scale_denominator
Super resolution scale denominator. value range [9..16].
Definition: va_enc_av1.h:703
uint32_t delta_lf_present
Specify whether loop filter delta values are present. value range [0..1].
Definition: va_enc_av1.h:766
uint8_t cdef_bits
Corresponds to AV1 syntax element of the same name. value range [0..3].
Definition: va_enc_av1.h:827
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:960
uint16_t reserved16bits3
Reserved bytes for future use, must be zero.
Definition: va_enc_av1.h:963
uint32_t error_resilient_mode
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:625
uint8_t refresh_frame_flags
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:603
VAEncSegParamAV1 segments
Segmentation parameters.
Definition: va_enc_av1.h:802
uint8_t order_hint
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:600
uint16_t yframe_restoration_type
Restoration type for Y frame. value range [0..3].
Definition: va_enc_av1.h:840
uint8_t obu_has_size_field
Corresponds to AV1 syntax element of the same name. value range [0..1].
Definition: va_enc_av1.h:940
uint32_t reduced_tx_set
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:637
uint8_t tile_rows
Number of tile rows.
Definition: va_enc_av1.h:807
uint32_t byte_offset_frame_hdr_obu_size
Definition: va_enc_av1.h:915
uint32_t size_in_bits_cdef_params
Definition: va_enc_av1.h:903
Segment map data buffer.
Definition: va_enc_av1.h:427
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:438
uint32_t segmentMapDataSize
Segment map data size.
Definition: va_enc_av1.h:429
Segment parameters.
Definition: va_enc_av1.h:338
uint8_t segmentation_update_map
Definition: va_enc_av1.h:357
uint8_t segment_number
Definition: va_enc_av1.h:392
uint8_t segmentation_temporal_update
Definition: va_enc_av1.h:365
uint8_t reserved
Reserved bytes for future use, must be zero.
Definition: va_enc_av1.h:367
uint8_t segmentation_enabled
Indicates if segmentation is enabled in the current frame. If disabled, all the below parameters in t...
Definition: va_enc_av1.h:345
AV1 Encoding Sequence Parameter Buffer Structure.
Definition: va_enc_av1.h:236
uint32_t subsampling_x
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:314
uint32_t enable_superres
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:306
uint32_t enable_cdef
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:308
uint8_t seq_profile
AV1 profile setting. value range [0..2].
Definition: va_enc_av1.h:240
uint32_t enable_order_hint
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:300
uint32_t enable_intra_edge_filter
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:290
uint32_t still_picture
Still picture encoding, no inter frame referencing.
Definition: va_enc_av1.h:284
uint32_t bit_depth_minus8
Sepcify number of bits for every channel(Y, U or V).
Definition: va_enc_av1.h:312
uint32_t enable_dual_filter
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:298
uint32_t enable_filter_intra
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:288
uint32_t enable_interintra_compound
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:292
uint32_t intra_period
Period between intra_only frames.
Definition: va_enc_av1.h:258
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
uint32_t use_128x128_superblock
Force using 128x128 or 64x64 Supper block.
Definition: va_enc_av1.h:286
uint32_t enable_ref_frame_mvs
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:304
uint8_t seq_tier
Tier Setting of current operation point. value range [0..1].
Definition: va_enc_av1.h:250
uint32_t enable_restoration
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:310
uint32_t subsampling_y
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:316
uint32_t enable_warped_motion
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:296
uint8_t seq_level_idx
Level Setting of current operation point. value range [0..23].
Definition: va_enc_av1.h:245
uint32_t reserved_bits
Reserved bytes for future use, must be zero.
Definition: va_enc_av1.h:318
uint32_t enable_jnt_comp
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:302
uint32_t ip_period
Period between I/P frames. For hierarchical structure, this is the anchor frame distance.
Definition: va_enc_av1.h:263
uint32_t bits_per_second
Initial bitrate set for this sequence in CBR or VBR modes.
Definition: va_enc_av1.h:279
uint32_t enable_masked_compound
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:294
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:326
Tile Group Buffer.
Definition: va_enc_av1.h:980
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:992
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:986
Attribute value for VAConfigAttribEncAV1Ext1.
Definition: va_enc_av1.h:139
uint32_t interpolation_filter
Fields indicate which types of interpolation filter are supported. (interpolation_filter & 0x01) == 1...
Definition: va_enc_av1.h:149
uint32_t segment_feature_support
Type of segment feature supported. (segment_feature_support & 0x01) == 1: SEG_LVL_ALT_Q is supported,...
Definition: va_enc_av1.h:166
uint32_t reserved
Reserved bits for future, must be zero.
Definition: va_enc_av1.h:168
uint32_t min_segid_block_size_accepted
Min segmentId block size accepted. Application need to send seg_id_block_size in PPS equal or larger ...
Definition: va_enc_av1.h:154
Attribute value for VAConfigAttribEncAV1Ext2.
Definition: va_enc_av1.h:174
uint32_t tx_mode_support
tx_mode supported. (tx_mode_support & 0x01) == 1: ONLY_4X4 is supported, 0: not. (tx_mode_support & 0...
Definition: va_enc_av1.h:193
uint32_t obu_size_bytes_minus1
Tile size bytes minus1. Specify the fixed number of bytes needed to code syntax obu_size.
Definition: va_enc_av1.h:186
uint32_t max_tile_num_minus1
Max tile num minus1. Specify the max number of tile supported by driver.
Definition: va_enc_av1.h:198
uint32_t reserved
Reserved bits for future, must be zero.
Definition: va_enc_av1.h:200
uint32_t tile_size_bytes_minus1
Tile size bytes minus1. Specify the number of bytes needed to code tile size supported....
Definition: va_enc_av1.h:181
Attribute value for VAConfigAttribEncAV1.
Definition: va_enc_av1.h:59
uint32_t support_filter_intra
Intra filter. Allows setting enable_filter_intra in the SPS.
Definition: va_enc_av1.h:71
uint32_t support_warped_motion
Warped motion. Allows setting enable_warped_motion in the SPS.
Definition: va_enc_av1.h:91
uint32_t support_intra_edge_filter
Intra edge filter. Allows setting enable_intra_edge_filter in the SPS.
Definition: va_enc_av1.h:76
uint32_t reserved
Reserved bits for future, must be zero.
Definition: va_enc_av1.h:133
uint32_t support_allow_intrabc
Allow intraBC. Allows setting allow_intrabc in the PPS.
Definition: va_enc_av1.h:126
uint32_t support_jnt_comp
Jnt compound. Allows setting enable_jnt_comp in the SPS.
Definition: va_enc_av1.h:106
uint32_t support_cdef_channel_strength
Cdef channel strength. Allows setting cdef_y_strengths and cdef_uv_strengths in PPS.
Definition: va_enc_av1.h:131
uint32_t support_masked_compound
Masked compound. Allows setting enable_masked_compound in the SPS.
Definition: va_enc_av1.h:86
uint32_t support_restoration
Restoration. Allows setting enable_restoration in the SPS.
Definition: va_enc_av1.h:121
uint32_t support_interintra_compound
Interintra compound. Allows setting enable_interintra_compound in the SPS.
Definition: va_enc_av1.h:81
uint32_t support_ref_frame_mvs
Refrence frame mvs. Allows setting enable_ref_frame_mvs in the SPS.
Definition: va_enc_av1.h:111
uint32_t support_superres
Super resolution. Allows setting enable_superres in the SPS.
Definition: va_enc_av1.h:116
uint32_t support_dual_filter
Dual filter. Allows setting enable_dual_filter in the SPS.
Definition: va_enc_av1.h:101
uint32_t support_128x128_superblock
Use 128x128 superblock.
Definition: va_enc_av1.h:66
uint32_t support_palette_mode
Palette mode. Allows setting palette_mode in the PPS.
Definition: va_enc_av1.h:96
Reference frame control.
Definition: va_enc_av1.h:484
uint32_t search_idx4
Value used as index into ref_frame_idx[] to indicate that frame will be included in the reference lis...
Definition: va_enc_av1.h:515
uint32_t search_idx6
Value used as index into ref_frame_idx[] to indicate that frame will be included in the reference lis...
Definition: va_enc_av1.h:527
uint32_t search_idx0
Value used as index into ref_frame_idx[] to indicate that frame will be included in the reference lis...
Definition: va_enc_av1.h:491
uint32_t search_idx5
Value used as index into ref_frame_idx[] to indicate that frame will be included in the reference lis...
Definition: va_enc_av1.h:521
uint32_t search_idx2
Value used as index into ref_frame_idx[] to indicate that frame will be included in the reference lis...
Definition: va_enc_av1.h:503
uint32_t Reserved
Reserved bytes for future use, must be zero.
Definition: va_enc_av1.h:530
uint32_t search_idx3
Value used as index into ref_frame_idx[] to indicate that frame will be included in the reference lis...
Definition: va_enc_av1.h:509
uint32_t search_idx1
Value used as index into ref_frame_idx[] to indicate that frame will be included in the reference lis...
Definition: va_enc_av1.h:497