VA-API  2.23.0
va_enc_av1.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2021 Intel Corporation. All Rights Reserved.
3  *
4  * Permission is hereby granted, free of charge, to any person obtaining a
5  * copy of this software and associated documentation files (the
6  * "Software"), to deal in the Software without restriction, including
7  * without limitation the rights to use, copy, modify, merge, publish,
8  * distribute, sub license, and/or sell copies of the Software, and to
9  * permit persons to whom the Software is furnished to do so, subject to
10  * the following conditions:
11  *
12  * The above copyright notice and this permission notice (including the
13  * next paragraph) shall be included in all copies or substantial portions
14  * of the Software.
15  *
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
17  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
19  * IN NO EVENT SHALL INTEL AND/OR ITS SUPPLIERS BE LIABLE FOR
20  * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21  * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22  * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23  */
24 
33 #ifndef VA_ENC_AV1_H
34 #define VA_ENC_AV1_H
35 
36 #ifdef __cplusplus
37 extern "C" {
38 #endif
39 
40 #include <stdint.h>
41 
59 typedef union _VAConfigAttribValEncAV1 {
60  struct {
71  uint32_t support_filter_intra : 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;
133  uint32_t reserved : 4;
134  } bits;
135  uint32_t value;
137 
139 typedef union _VAConfigAttribValEncAV1Ext1 {
140  struct {
149  uint32_t interpolation_filter : 5;
170  uint32_t reserved : 11;
171  } bits;
172  uint32_t value;
174 
176 typedef union _VAConfigAttribValEncAV1Ext2 {
177  struct {
188  uint32_t obu_size_bytes_minus1 : 2;
195  uint32_t tx_mode_support : 3;
200  uint32_t max_tile_num_minus1 : 13;
202  uint32_t reserved : 12;
203  } bits;
204  uint32_t value;
206 
213 typedef enum {
231 
238 typedef struct _VAEncSequenceParameterBufferAV1 {
242  uint8_t seq_profile;
243 
247  uint8_t seq_level_idx;
248 
252  uint8_t seq_tier;
253 
258 
260  uint32_t intra_period;
261 
265  uint32_t ip_period;
266 
267  /* \brief RC related fields. RC modes are set with VAConfigAttribRateControl. */
268  /* For AV1, CBR implies HRD conformance and VBR implies no HRD conformance. */
269 
281  uint32_t bits_per_second;
282 
283  union {
284  struct {
286  uint32_t still_picture : 1;
290  uint32_t enable_filter_intra : 1;
298  uint32_t enable_warped_motion : 1;
300  uint32_t enable_dual_filter : 1;
302  uint32_t enable_order_hint : 1;
304  uint32_t enable_jnt_comp : 1;
306  uint32_t enable_ref_frame_mvs : 1;
308  uint32_t enable_superres : 1;
310  uint32_t enable_cdef : 1;
312  uint32_t enable_restoration : 1;
314  uint32_t bit_depth_minus8 : 3;
316  uint32_t subsampling_x : 1;
318  uint32_t subsampling_y : 1;
320  uint32_t mono_chrome : 1;
322  uint32_t reserved_bits : 12;
323  } bits;
324  uint32_t value;
325  } seq_fields;
326 
331 
333  uint32_t va_reserved[VA_PADDING_HIGH];
335 
336 #define VA_AV1_MAX_SEGMENTS 8
337 #define VA_AV1_SEG_LVL_MAX 8
338 
342 typedef struct _VAEncSegParamAV1 {
343  union {
344  struct {
349  uint8_t segmentation_enabled : 1;
350 
371  uint8_t reserved : 5;
372 
373  } bits;
374  uint8_t value;
375  } seg_flags;
376 
396  uint8_t segment_number;
397 
406  int16_t feature_data[VA_AV1_MAX_SEGMENTS][VA_AV1_SEG_LVL_MAX];
407 
411  uint8_t feature_mask[VA_AV1_MAX_SEGMENTS];
412 
414  uint32_t va_reserved[VA_PADDING_LOW];
416 
431 typedef struct _VAEncSegMapBufferAV1 {
434 
442  uint8_t *pSegmentMap;
444 
445 typedef enum {
457 
458 typedef struct _VAEncWarpedMotionParamsAV1 {
459 
462 
468  int32_t wmmat[8];
469 
471  uint8_t invalid;
472 
474  uint32_t va_reserved[VA_PADDING_LOW];
475 
476 } VAEncWarpedMotionParamsAV1;
477 
488 typedef union {
489  struct {
495  uint32_t search_idx0 : 3;
501  uint32_t search_idx1 : 3;
507  uint32_t search_idx2 : 3;
513  uint32_t search_idx3 : 3;
519  uint32_t search_idx4 : 3;
525  uint32_t search_idx5 : 3;
531  uint32_t search_idx6 : 3;
532 
534  uint32_t Reserved : 11;
535  } fields;
536  uint32_t value;
538 
545 typedef struct _VAEncPictureParameterBufferAV1 {
554 
556  VASurfaceID reconstructed_frame;
557 
560 
572  VASurfaceID reference_frames[8];
573 
587  uint8_t ref_frame_idx[7];
588 
594 
602 
604  uint8_t order_hint;
605 
608 
610  uint8_t reserved8bits1;
611 
616  VARefFrameCtrlAV1 ref_frame_ctrl_l1;
617 
618  union {
619  struct {
627  uint32_t frame_type : 2;
629  uint32_t error_resilient_mode : 1;
631  uint32_t disable_cdf_update : 1;
633  uint32_t use_superres : 1;
637  uint32_t use_ref_frame_mvs : 1;
641  uint32_t reduced_tx_set : 1;
642 
647  uint32_t enable_frame_obu : 1;
648 
650  uint32_t long_term_reference : 1;
654  uint32_t disable_frame_recon : 1;
656  uint32_t allow_intrabc : 1;
660  uint32_t palette_mode_enable : 1;
664  uint32_t force_integer_mv : 1;
666  uint32_t reserved : 16;
667  } bits;
668  uint32_t value;
669  } picture_flags;
670 
675 
680 
682  uint8_t temporal_id;
683 
687  uint8_t filter_level[2];
688  uint8_t filter_level_u;
689  uint8_t filter_level_v;
690 
691  union {
692  struct {
696  uint8_t sharpness_level : 3;
697  uint8_t mode_ref_delta_enabled : 1;
698  uint8_t mode_ref_delta_update : 1;
700  uint8_t reserved : 3;
701  } bits;
702  uint8_t value;
703  } loop_filter_flags;
704 
711 
715  int8_t ref_deltas[8];
716 
720  int8_t mode_deltas[2];
721 
723  uint8_t base_qindex;
724  int8_t y_dc_delta_q;
725  int8_t u_dc_delta_q;
726  int8_t u_ac_delta_q;
727  int8_t v_dc_delta_q;
728  int8_t v_ac_delta_q;
729 
734 
739 
741  union {
742  struct {
744  uint16_t using_qmatrix : 1;
746  uint16_t qm_y : 4;
748  uint16_t qm_u : 4;
750  uint16_t qm_v : 4;
752  uint16_t reserved : 3;
753  } bits;
754  uint16_t value;
755  } qmatrix_flags;
756 
758  uint16_t reserved16bits1;
759 
760  union {
761  struct {
764  uint32_t delta_q_present : 1;
767  uint32_t delta_q_res : 2;
768 
771  uint32_t delta_lf_present : 1;
774  uint32_t delta_lf_res : 2;
777  uint32_t delta_lf_multi : 1;
778 
785  uint32_t tx_mode : 2;
786 
795  uint32_t reference_mode : 2;
799  uint32_t skip_mode_present : 1;
801  uint32_t reserved : 20;
802  } bits;
803  uint32_t value;
804  } mode_control_flags;
805 
808 
810  uint8_t tile_cols;
812  uint8_t tile_rows;
813 
815  uint16_t reserved16bits2;
816 
818  uint16_t width_in_sbs_minus_1[63];
819  uint16_t height_in_sbs_minus_1[63];
820 
824 
832  uint8_t cdef_bits;
835  uint8_t cdef_y_strengths[8];
838  uint8_t cdef_uv_strengths[8];
839 
840  union {
841  struct {
857  uint16_t lr_unit_shift : 2;
861  uint16_t lr_uv_shift : 1;
863  uint16_t reserved : 7;
864  } bits;
865  uint16_t value;
866  } loop_restoration_flags;
867 
869  VAEncWarpedMotionParamsAV1 wm[7];
870 
909 
922 
935 
937  union {
938  struct {
942  uint8_t obu_extension_flag : 1;
946  uint8_t obu_has_size_field : 1;
950  uint8_t temporal_id : 3;
954  uint8_t spatial_id : 2;
956  uint8_t reserved : 1;
957  } bits;
958  uint8_t value;
959  } tile_group_obu_hdr_info;
960 
967 
969  uint16_t reserved16bits3;
970 
978 
980  uint32_t va_reserved[VA_PADDING_HIGH];
982 
986 typedef struct _VAEncTileGroupBufferAV1 {
992  uint8_t tg_start;
998  uint8_t tg_end;
999 
1001  uint32_t va_reserved[VA_PADDING_LOW];
1003 
1006 #ifdef __cplusplus
1007 }
1008 #endif
1009 
1010 #endif /* VA_ENC_AV1_H */
#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