59 typedef union _VAConfigAttribValEncAV1 {
139 typedef union _VAConfigAttribValEncAV1Ext1 {
176 typedef union _VAConfigAttribValEncAV1Ext2 {
238 typedef struct _VAEncSequenceParameterBufferAV1 {
333 uint32_t va_reserved[VA_PADDING_HIGH];
336 #define VA_AV1_MAX_SEGMENTS 8
337 #define VA_AV1_SEG_LVL_MAX 8
342 typedef struct _VAEncSegParamAV1 {
406 int16_t feature_data[VA_AV1_MAX_SEGMENTS][VA_AV1_SEG_LVL_MAX];
411 uint8_t feature_mask[VA_AV1_MAX_SEGMENTS];
431 typedef struct _VAEncSegMapBufferAV1 {
458 typedef struct _VAEncWarpedMotionParamsAV1 {
476 } VAEncWarpedMotionParamsAV1;
545 typedef struct _VAEncPictureParameterBufferAV1 {
572 VASurfaceID reference_frames[8];
587 uint8_t ref_frame_idx[7];
687 uint8_t filter_level[2];
688 uint8_t filter_level_u;
689 uint8_t filter_level_v;
697 uint8_t mode_ref_delta_enabled : 1;
698 uint8_t mode_ref_delta_update : 1;
715 int8_t ref_deltas[8];
720 int8_t mode_deltas[2];
801 uint32_t reserved : 20;
804 } mode_control_flags;
818 uint16_t width_in_sbs_minus_1[63];
819 uint16_t height_in_sbs_minus_1[63];
835 uint8_t cdef_y_strengths[8];
838 uint8_t cdef_uv_strengths[8];
863 uint16_t reserved : 7;
866 } loop_restoration_flags;
869 VAEncWarpedMotionParamsAV1 wm[7];
950 uint8_t temporal_id : 3;
956 uint8_t reserved : 1;
959 } tile_group_obu_hdr_info;
980 uint32_t va_reserved[VA_PADDING_HIGH];
986 typedef struct _VAEncTileGroupBufferAV1 {
#define VA_PADDING_LOW
Definition: va.h:360
VAGenericID VABufferID
Definition: va.h:2042
@ VAEncPackedHeaderPicture
Packed picture header.
Definition: va.h:2423
@ VAEncPackedHeaderSequence
Packed sequence header.
Definition: va.h:2421
VAEncTransformationTypeAV1
Definition: va_enc_av1.h:445
VAEncPackedHeaderTypeAV1
Packed header types specific to AV1 encoding.
Definition: va_enc_av1.h:213
@ VAAV1EncTransformationRotzoom
Simplified affine with rotation + zoom only, 4-parameter.
Definition: va_enc_av1.h:451
@ VAAV1EncTransformationCount
Transformation count.
Definition: va_enc_av1.h:455
@ VAAV1EncTransformationTranslation
Translational motion, 2-parameter.
Definition: va_enc_av1.h:449
@ VAAV1EncTransformationAffine
Affine, 6-parameter.
Definition: va_enc_av1.h:453
@ VAAV1EncTransformationIdentity
Identity transformation, 0-parameter.
Definition: va_enc_av1.h:447
@ VAEncPackedHeaderAV1_SPS
Packed Sequence Parameter Set (SPS).
Definition: va_enc_av1.h:221
@ VAEncPackedHeaderAV1_PPS
Packed Picture Parameter Set (PPS).
Definition: va_enc_av1.h:229
AV1 Encoding Picture Parameter Buffer Structure.
Definition: va_enc_av1.h:545
VABufferID coded_buf
Buffer to store coded data.
Definition: va_enc_av1.h:559
uint32_t reference_mode
Indicates whether to use single or compound reference prediction. 0: SINGLE_REFERENCE; 1: COMPOUND_RE...
Definition: va_enc_av1.h:795
uint16_t qm_y
Following parameters only valid when using_qmatrix == 1.
Definition: va_enc_av1.h:746
uint16_t reserved
Reserved bytes for future use, must be zero.
Definition: va_enc_av1.h:752
VASurfaceID reconstructed_frame
Surface to store reconstructed frame, not used for enc only case.
Definition: va_enc_av1.h:556
uint8_t spatial_id
Corresponds to AV1 syntax element of the same name. value range [0..2].
Definition: va_enc_av1.h:954
uint8_t interpolation_filter
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:710
uint8_t reserved
Reserved bytes for future use, must be zero.
Definition: va_enc_av1.h:700
uint8_t base_qindex
Quantization params.
Definition: va_enc_av1.h:723
uint8_t seg_id_block_size
Block size for each Segment ID in Segment Map. should be VA_SEGID_BLOCK_XXXX;.
Definition: va_enc_av1.h:674
uint8_t primary_ref_frame
primary reference frame. Index into reference_frames[] segment id map, context table,...
Definition: va_enc_av1.h:601
uint8_t obu_extension_flag
Corresponds to AV1 syntax element of the same name. value range [0..1].
Definition: va_enc_av1.h:942
uint16_t crframe_restoration_type
Restoration type for Cr frame. value range [0..3].
Definition: va_enc_av1.h:853
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:551
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:647
uint16_t context_update_tile_id
specify which tile to use for the CDF update. value range [0..127]
Definition: va_enc_av1.h:823
uint32_t allow_screen_content_tools
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:662
uint32_t size_in_bits_frame_hdr_obu
Definition: va_enc_av1.h:934
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:654
uint8_t temporal_id
Temporal id of the frame.
Definition: va_enc_av1.h:682
uint8_t sharpness_level
Sharpness level for deblock filter. value range [0..7].
Definition: va_enc_av1.h:696
uint32_t long_term_reference
Indicate the current frame will be used as a long term reference.
Definition: va_enc_av1.h:650
uint16_t reserved16bits1
Reserved bytes for future use, must be zero.
Definition: va_enc_av1.h:758
uint32_t disable_frame_end_update_cdf
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:639
uint16_t lr_unit_shift
Corresponds to AV1 syntax element of the same name. value range [0..2].
Definition: va_enc_av1.h:857
uint32_t skip_mode_present
Corresponds to AV1 syntax element of the same name. value range [0..1].
Definition: va_enc_av1.h:799
uint32_t use_ref_frame_mvs
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:637
uint8_t max_base_qindex
Max value for base q index for BRC. value range [1..255].
Definition: va_enc_av1.h:738
uint32_t disable_cdf_update
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:631
uint16_t frame_height_minus_1
Raw source frame height in pixels.
Definition: va_enc_av1.h:553
uint32_t bit_offset_cdef_params
Definition: va_enc_av1.h:902
uint16_t cbframe_restoration_type
Restoration type for Cb frame. value range [0..3].
Definition: va_enc_av1.h:849
uint32_t use_superres
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:633
uint32_t bit_offset_segmentation
Definition: va_enc_av1.h:885
uint16_t using_qmatrix
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:744
uint8_t reserved8bits1
Reserved bytes for future use, must be zero.
Definition: va_enc_av1.h:610
uint8_t num_tile_groups_minus1
Number of tile groups minus 1. value range [0..255].
Definition: va_enc_av1.h:679
uint32_t delta_q_present
Specify whether quantizer index delta values are present. value range [0..1].
Definition: va_enc_av1.h:764
uint16_t qm_u
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:748
uint8_t min_base_qindex
Min value for base q index for BRC. value range [1..255].
Definition: va_enc_av1.h:733
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:977
uint32_t bit_offset_loopfilter_params
Definition: va_enc_av1.h:893
uint8_t cdef_damping_minus_3
Corresponds to AV1 syntax element of the same name. value range [0..3].
Definition: va_enc_av1.h:828
uint32_t allow_intrabc
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:656
uint32_t delta_lf_res
Corresponds to AV1 syntax element of the same name. value range [0..3].
Definition: va_enc_av1.h:774
uint32_t force_integer_mv
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:664
uint32_t delta_lf_multi
Corresponds to AV1 syntax element of the same name. value range [0..1].
Definition: va_enc_av1.h:777
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:660
uint32_t reserved
Reserved bytes for future use, must be zero.
Definition: va_enc_av1.h:666
uint16_t lr_uv_shift
Corresponds to AV1 syntax element of the same name. value range [0..1].
Definition: va_enc_av1.h:861
uint32_t bit_offset_qindex
Definition: va_enc_av1.h:878
uint16_t qm_v
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:750
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:785
VARefFrameCtrlAV1 ref_frame_ctrl_l0
Suggest which frames to be used as references. see struct #VARefFrameCtrl for details.
Definition: va_enc_av1.h:615
uint8_t tile_cols
Number of tile columns.
Definition: va_enc_av1.h:810
uint32_t delta_q_res
Corresponds to AV1 syntax element of the same name. value range [0..3].
Definition: va_enc_av1.h:767
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:593
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:627
uint16_t reserved16bits2
Reserved bytes for future use, must be zero.
Definition: va_enc_av1.h:815
uint32_t allow_high_precision_mv
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:635
uint8_t superres_scale_denominator
Super resolution scale denominator. value range [9..16].
Definition: va_enc_av1.h:708
uint32_t delta_lf_present
Specify whether loop filter delta values are present. value range [0..1].
Definition: va_enc_av1.h:771
uint8_t cdef_bits
Corresponds to AV1 syntax element of the same name. value range [0..3].
Definition: va_enc_av1.h:832
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:966
uint16_t reserved16bits3
Reserved bytes for future use, must be zero.
Definition: va_enc_av1.h:969
uint32_t error_resilient_mode
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:629
uint8_t refresh_frame_flags
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:607
VAEncSegParamAV1 segments
Segmentation parameters.
Definition: va_enc_av1.h:807
uint8_t order_hint
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:604
uint16_t yframe_restoration_type
Restoration type for Y frame. value range [0..3].
Definition: va_enc_av1.h:845
uint8_t obu_has_size_field
Corresponds to AV1 syntax element of the same name. value range [0..1].
Definition: va_enc_av1.h:946
uint32_t reduced_tx_set
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:641
uint8_t tile_rows
Number of tile rows.
Definition: va_enc_av1.h:812
uint32_t byte_offset_frame_hdr_obu_size
Definition: va_enc_av1.h:921
uint32_t size_in_bits_cdef_params
Definition: va_enc_av1.h:908
Segment map data buffer.
Definition: va_enc_av1.h:431
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:442
uint32_t segmentMapDataSize
Segment map data size.
Definition: va_enc_av1.h:433
Segment parameters.
Definition: va_enc_av1.h:342
uint8_t segmentation_update_map
Definition: va_enc_av1.h:361
uint8_t segment_number
Definition: va_enc_av1.h:396
uint8_t segmentation_temporal_update
Definition: va_enc_av1.h:369
uint8_t reserved
Reserved bytes for future use, must be zero.
Definition: va_enc_av1.h:371
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:349
AV1 Encoding Sequence Parameter Buffer Structure.
Definition: va_enc_av1.h:238
uint32_t subsampling_x
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:316
uint32_t enable_superres
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:308
uint32_t enable_cdef
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:310
uint8_t seq_profile
AV1 profile setting. value range [0..2].
Definition: va_enc_av1.h:242
uint32_t enable_order_hint
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:302
uint32_t enable_intra_edge_filter
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:292
uint32_t still_picture
Still picture encoding, no inter frame referencing.
Definition: va_enc_av1.h:286
uint32_t bit_depth_minus8
Sepcify number of bits for every channel(Y, U or V).
Definition: va_enc_av1.h:314
uint32_t enable_dual_filter
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:300
uint32_t mono_chrome
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:320
uint32_t enable_filter_intra
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:290
uint32_t enable_interintra_compound
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:294
uint32_t intra_period
Period between intra_only frames.
Definition: va_enc_av1.h:260
uint8_t hierarchical_flag
Indicates whether or not the encoding is in dyadic hierarchical GOP structure. value range [0....
Definition: va_enc_av1.h:257
uint32_t use_128x128_superblock
Force using 128x128 or 64x64 Supper block.
Definition: va_enc_av1.h:288
uint32_t enable_ref_frame_mvs
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:306
uint8_t seq_tier
Tier Setting of current operation point. value range [0..1].
Definition: va_enc_av1.h:252
uint32_t enable_restoration
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:312
uint32_t subsampling_y
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:318
uint32_t enable_warped_motion
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:298
uint8_t seq_level_idx
Level Setting of current operation point. value range [0..23].
Definition: va_enc_av1.h:247
uint32_t reserved_bits
Reserved bytes for future use, must be zero.
Definition: va_enc_av1.h:322
uint32_t enable_jnt_comp
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:304
uint32_t ip_period
Period between I/P frames. For hierarchical structure, this is the anchor frame distance.
Definition: va_enc_av1.h:265
uint32_t bits_per_second
Initial bitrate set for this sequence in CBR or VBR modes.
Definition: va_enc_av1.h:281
uint32_t enable_masked_compound
Corresponds to AV1 syntax element of the same name.
Definition: va_enc_av1.h:296
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:330
Tile Group Buffer.
Definition: va_enc_av1.h:986
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:998
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:992
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:168
uint32_t reserved
Reserved bits for future, must be zero.
Definition: va_enc_av1.h:170
uint32_t min_segid_block_size_accepted
segmentId block size accepted. Application need to send seg_id_block_size in PPS equal or larger than...
Definition: va_enc_av1.h:156
Attribute value for VAConfigAttribEncAV1Ext2.
Definition: va_enc_av1.h:176
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:195
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:188
uint32_t max_tile_num_minus1
Max tile num minus1. Specify the max number of tile supported by driver.
Definition: va_enc_av1.h:200
uint32_t reserved
Reserved bits for future, must be zero.
Definition: va_enc_av1.h:202
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:183
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:488
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:519
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:531
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:495
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:525
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:507
uint32_t Reserved
Reserved bytes for future use, must be zero.
Definition: va_enc_av1.h:534
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:513
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:501