VA-API  2.19.0
va_enc_hevc.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2007-2014 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_HEVC_H
34 #define VA_ENC_HEVC_H
35 
36 #ifdef __cplusplus
37 extern "C" {
38 #endif
39 
40 #include <stdint.h>
41 
57  struct {
62  uint32_t separate_colour_planes : 2;
70  uint32_t scaling_lists : 2;
75  uint32_t amp : 2;
81  uint32_t sao : 2;
89  uint32_t pcm : 2;
95  uint32_t temporal_mvp : 2;
105  uint32_t dependent_slices : 2;
110  uint32_t sign_data_hiding : 2;
120  uint32_t transform_skip : 2;
125  uint32_t cu_qp_delta : 2;
132  uint32_t weighted_prediction : 2;
137  uint32_t transquant_bypass : 2;
143  /* Reserved,should not be used, avoid conflict with VA_ATTRIB_NOT_SUPPORTED. */
144  uint32_t reserved : 2;
145  } bits;
146  uint32_t value;
148 
155  struct {
169 
175 
186 
201 
216 
227 
229  uint32_t reserved : 10;
230  } bits;
231  uint32_t value;
233 
247 #define HEVC_LAST_PICTURE_EOSEQ 0x01
248 
253 #define HEVC_LAST_PICTURE_EOSTREAM 0x02
254 
268 typedef enum {
323  VAEncPackedHeaderHEVC_SEI va_deprecated_enum = (0x80000000 | 1),
325 
346 typedef struct _VAEncSequenceParameterBufferHEVC {
361  uint32_t intra_period;
365  uint32_t ip_period;
377  uint32_t bits_per_second;
386 
387  union {
388  struct {
390  uint32_t chroma_format_idc : 2;
394  uint32_t bit_depth_luma_minus8 : 3;
402  uint32_t amp_enabled_flag : 1;
406  uint32_t pcm_enabled_flag : 1;
416  uint32_t low_delay_seq : 1;
421  uint32_t hierachical_flag : 1;
423  uint32_t reserved_bits : 14;
424  } bits;
425  uint32_t value;
426  } seq_fields;
427 
432 
436 
441 
445 
450 
455 
458 
461 
464 
470 
475  union {
476  struct {
482  uint32_t field_seq_flag : 1;
497  } bits;
498  uint32_t value;
499  } vui_fields;
503  uint32_t sar_width;
505  uint32_t sar_height;
509  uint32_t vui_time_scale;
516 
518  union {
519  struct {
523  uint32_t reserved : 31;
524  } bits;
525  uint32_t value;
526  } scc_fields;
528  uint32_t va_reserved[VA_PADDING_MEDIUM - 1];
531 
532 /****************************
533  * HEVC data structures
534  ****************************/
555 typedef struct _VAEncPictureParameterBufferHEVC {
574  VAPictureHEVC reference_frames[15];
583 
591 
599  uint8_t last_picture;
600 
602  uint8_t pic_init_qp;
603 
606 
609 
612 
615 
618 
620  uint8_t column_width_minus1[19];
621 
623  uint8_t row_height_minus1[21];
624 
627 
633 
638 
643 
649 
654  uint8_t nal_unit_type;
655 
656  union {
657  struct {
659  uint32_t idr_pic_flag : 1;
669  uint32_t coding_type : 3;
671  uint32_t reference_pic_flag : 1;
683  uint32_t weighted_pred_flag : 1;
685  uint32_t weighted_bipred_flag : 1;
689  uint32_t tiles_enabled_flag : 1;
708  uint32_t screen_content_flag : 1;
726  uint32_t reserved : 11;
727  } bits;
728  uint32_t value;
729  } pic_fields;
730 
740  union {
741  struct {
745  uint16_t reserved : 15;
746  } bits;
747  uint16_t value;
748  } scc_fields;
750  uint32_t va_reserved[VA_PADDING_HIGH - 1];
752 
770 typedef struct _VAEncSliceParameterBufferHEVC {
772  uint32_t slice_segment_address;
774  uint32_t num_ctu_in_slice;
775 
779  uint8_t slice_type;
781  uint8_t slice_pic_parameter_set_id;
782 
786  uint8_t num_ref_idx_l0_active_minus1;
790  uint8_t num_ref_idx_l1_active_minus1;
792  VAPictureHEVC ref_pic_list0[15];
794  VAPictureHEVC ref_pic_list1[15];
800  uint8_t luma_log2_weight_denom;
802  int8_t delta_chroma_log2_weight_denom;
804  int8_t delta_luma_weight_l0[15];
806  int8_t luma_offset_l0[15];
808  int8_t delta_chroma_weight_l0[15][2];
810  int8_t chroma_offset_l0[15][2];
812  int8_t delta_luma_weight_l1[15];
814  int8_t luma_offset_l1[15];
816  int8_t delta_chroma_weight_l1[15][2];
818  int8_t chroma_offset_l1[15][2];
824  uint8_t max_num_merge_cand;
825 
827  int8_t slice_qp_delta;
828 
830  int8_t slice_cb_qp_offset;
831 
833  int8_t slice_cr_qp_offset;
834 
836  int8_t slice_beta_offset_div2;
837 
839  int8_t slice_tc_offset_div2;
840 
841  union {
842  struct {
844  uint32_t last_slice_of_pic_flag : 1;
846  uint32_t dependent_slice_segment_flag : 1;
848  uint32_t colour_plane_id : 2;
850  uint32_t slice_temporal_mvp_enabled_flag : 1;
852  uint32_t slice_sao_luma_flag : 1;
854  uint32_t slice_sao_chroma_flag : 1;
860  uint32_t num_ref_idx_active_override_flag : 1;
862  uint32_t mvd_l1_zero_flag : 1;
864  uint32_t cabac_init_flag : 1;
866  uint32_t slice_deblocking_filter_disabled_flag : 2;
868  uint32_t slice_loop_filter_across_slices_enabled_flag : 1;
870  uint32_t collocated_from_l0_flag : 1;
871  } bits;
872  uint32_t value;
873  } slice_fields;
874 
875 
883  uint32_t pred_weight_table_bit_offset;
890  uint32_t pred_weight_table_bit_length;
892  uint32_t va_reserved[VA_PADDING_MEDIUM - 2];
895 
908 typedef struct _VAQMatrixBufferHEVC {
916  uint8_t scaling_lists_4x4[3][2][16];
920  uint8_t scaling_lists_8x8[3][2][64];
926  uint8_t scaling_lists_16x16[3][2][64];
932  uint8_t scaling_lists_32x32[2][64];
939  uint8_t scaling_list_dc_16x16[3][2];
946  uint8_t scaling_list_dc_32x32[2];
947 
949  uint32_t va_reserved[VA_PADDING_LOW];
951 
954 #ifdef __cplusplus
955 }
956 #endif
957 
958 #endif /* VA_ENC_HEVC_H */
va_deprecated_enum
Packed Supplemental Enhancement Information (SEI).
Definition: va_enc_hevc.h:323
VAEncSequenceParameterBufferHEVC::aspect_ratio_info_present_flag
uint32_t aspect_ratio_info_present_flag
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:478
VAEncSequenceParameterBufferHEVC::max_transform_hierarchy_depth_inter
uint8_t max_transform_hierarchy_depth_inter
Same as the HEVC bitstream syntax element. value range [2].
Definition: va_enc_hevc.h:449
VAConfigAttribValEncHEVCBlockSizes::min_max_transform_hierarchy_depth_inter
uint32_t min_max_transform_hierarchy_depth_inter
Definition: va_enc_hevc.h:200
VAEncPictureParameterBufferHEVC::decoded_curr_pic
VAPictureHEVC decoded_curr_pic
Information about the picture to be encoded.
Definition: va_enc_hevc.h:565
VAEncSequenceParameterBufferHEVC::log2_diff_max_min_luma_coding_block_size
uint8_t log2_diff_max_min_luma_coding_block_size
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:435
VAEncPackedHeaderHEVC_VPS
Packed Video Parameter Set (VPS).
Definition: va_enc_hevc.h:277
VAConfigAttribValEncHEVCFeatures::scaling_lists
uint32_t scaling_lists
Definition: va_enc_hevc.h:70
VAEncSequenceParameterBufferHEVC::scaling_list_enabled_flag
uint32_t scaling_list_enabled_flag
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:398
VAConfigAttribValEncHEVCBlockSizes::log2_min_luma_transform_block_size_minus2
uint32_t log2_min_luma_transform_block_size_minus2
Definition: va_enc_hevc.h:185
VAConfigAttribValEncHEVCFeatures::separate_colour_planes
uint32_t separate_colour_planes
Definition: va_enc_hevc.h:62
VAEncPictureParameterBufferHEVC::loop_filter_across_tiles_enabled_flag
uint32_t loop_filter_across_tiles_enabled_flag
Corresponds to HEVC syntax element of the same name.
Definition: va_enc_hevc.h:693
VAEncSequenceParameterBufferHEVC::chroma_format_idc
uint32_t chroma_format_idc
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:390
VAEncSequenceParameterBufferHEVC::pcm_sample_bit_depth_chroma_minus1
uint32_t pcm_sample_bit_depth_chroma_minus1
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:460
VAEncPictureParameterBufferHEVC::no_output_of_prior_pics_flag
uint32_t no_output_of_prior_pics_flag
HEVC syntax element in slice segment header GPU uses it to generate new slice headers in slice size c...
Definition: va_enc_hevc.h:725
VAEncPictureParameterBufferHEVC::num_ref_idx_l1_default_active_minus1
uint8_t num_ref_idx_l1_default_active_minus1
Maximum reference index for reference picture list 1. value range: [0..14].
Definition: va_enc_hevc.h:642
VAEncSequenceParameterBufferHEVC
Sequence parameter for HEVC encoding in main & main 10 profiles.
Definition: va_enc_hevc.h:346
VAEncPictureParameterBufferHEVC::num_tile_rows_minus1
uint8_t num_tile_rows_minus1
Corresponds to HEVC syntax element of the same name.
Definition: va_enc_hevc.h:617
VAEncPackedHeaderHEVC_Slice
Packed slice header.
Definition: va_enc_hevc.h:308
VAEncSequenceParameterBufferHEVC::pic_width_in_luma_samples
uint16_t pic_width_in_luma_samples
Picture width in pixel samples. Its value must be multiple of min CU size.
Definition: va_enc_hevc.h:381
VAEncPictureParameterBufferHEVC::weighted_pred_flag
uint32_t weighted_pred_flag
Corresponds to HEVC syntax element of the same name.
Definition: va_enc_hevc.h:683
VAEncPictureParameterBufferHEVC::scaling_list_data_present_flag
uint32_t scaling_list_data_present_flag
A combination of HEVC syntax element of sps_scaling_list_data_present_flag and pps_scaling_list_data_...
Definition: va_enc_hevc.h:701
VAEncSequenceParameterBufferHEVC::vui_time_scale
uint32_t vui_time_scale
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:509
VAEncSequenceParameterBufferHEVC::bit_depth_luma_minus8
uint32_t bit_depth_luma_minus8
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:394
VAEncPictureParameterBufferHEVC::pps_cb_qp_offset
int8_t pps_cb_qp_offset
Corresponds to HEVC syntax element of the same name.
Definition: va_enc_hevc.h:608
VAEncPackedHeaderHEVC_SPS
Packed Sequence Parameter Set (SPS).
Definition: va_enc_hevc.h:286
VAConfigAttribValEncHEVCFeatures::sao
uint32_t sao
Definition: va_enc_hevc.h:81
VAEncSequenceParameterBufferHEVC::pcm_loop_filter_disabled_flag
uint32_t pcm_loop_filter_disabled_flag
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:408
VAEncSequenceParameterBufferHEVC::pcm_sample_bit_depth_luma_minus1
uint32_t pcm_sample_bit_depth_luma_minus1
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:457
VAEncPictureParameterBufferHEVC::tiles_enabled_flag
uint32_t tiles_enabled_flag
Corresponds to HEVC syntax element of the same name.
Definition: va_enc_hevc.h:689
VAEncSequenceParameterBufferHEVC::sar_height
uint32_t sar_height
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:505
VAEncSequenceParameterBufferHEVC::general_tier_flag
uint8_t general_tier_flag
Same as the HEVC bitstream syntax element. Only value 0 is allowed for level value below 4,...
Definition: va_enc_hevc.h:359
VAEncSequenceParameterBufferHEVC::bit_depth_chroma_minus8
uint32_t bit_depth_chroma_minus8
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:396
VAQMatrixBufferHEVC
HEVC Quantization Matrix Buffer Structure.
Definition: va_enc_hevc.h:907
VAEncPackedHeaderPicture
Packed picture header.
Definition: va.h:2327
VAEncPictureParameterBufferHEVC::cu_qp_delta_enabled_flag
uint32_t cu_qp_delta_enabled_flag
Corresponds to HEVC syntax element of the same name.
Definition: va_enc_hevc.h:681
VAEncSequenceParameterBufferHEVC::tiles_fixed_structure_flag
uint32_t tiles_fixed_structure_flag
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:488
VAConfigAttribValEncHEVCBlockSizes::log2_max_coding_tree_block_size_minus3
uint32_t log2_max_coding_tree_block_size_minus3
Definition: va_enc_hevc.h:160
VAEncPictureParameterBufferHEVC::reserved
uint16_t reserved
Reserved bits for future use, must be zero.
Definition: va_enc_hevc.h:745
VAEncPictureParameterBufferHEVC::transquant_bypass_enabled_flag
uint32_t transquant_bypass_enabled_flag
Corresponds to HEVC syntax element of the same name.
Definition: va_enc_hevc.h:687
VAEncSequenceParameterBufferHEVC::field_seq_flag
uint32_t field_seq_flag
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:482
VAConfigAttribValEncHEVCFeatures::strong_intra_smoothing
uint32_t strong_intra_smoothing
Definition: va_enc_hevc.h:100
VAEncPictureParameterBufferHEVC::transform_skip_enabled_flag
uint32_t transform_skip_enabled_flag
Corresponds to HEVC syntax element of the same name.
Definition: va_enc_hevc.h:679
VAEncPictureParameterBufferHEVC::enable_gpu_weighted_prediction
uint32_t enable_gpu_weighted_prediction
Definition: va_enc_hevc.h:721
VAEncPictureParameterBufferHEVC::collocated_ref_pic_index
uint8_t collocated_ref_pic_index
collocated reference picture buffer index of ReferenceFrames[]. Please note it is different from HEVC...
Definition: va_enc_hevc.h:590
VAConfigAttribValEncHEVCBlockSizes::min_max_transform_hierarchy_depth_intra
uint32_t min_max_transform_hierarchy_depth_intra
Definition: va_enc_hevc.h:215
VAConfigAttribValEncHEVCBlockSizes::max_max_transform_hierarchy_depth_intra
uint32_t max_max_transform_hierarchy_depth_intra
Definition: va_enc_hevc.h:208
VAEncSequenceParameterBufferHEVC::log2_min_luma_coding_block_size_minus3
uint8_t log2_min_luma_coding_block_size_minus3
Same as the HEVC bitstream syntax element. value range [0..3].
Definition: va_enc_hevc.h:431
VAEncSequenceParameterBufferHEVC::reserved_bits
uint32_t reserved_bits
keep for future , should be set to 0
Definition: va_enc_hevc.h:423
VAEncPictureParameterBufferHEVC::pic_init_qp
uint8_t pic_init_qp
init_qp_minus26 + 26.
Definition: va_enc_hevc.h:602
VAConfigAttribValEncHEVCBlockSizes::log2_max_pcm_coding_block_size_minus3
uint32_t log2_max_pcm_coding_block_size_minus3
Definition: va_enc_hevc.h:221
VAConfigAttribValEncHEVCBlockSizes::max_max_transform_hierarchy_depth_inter
uint32_t max_max_transform_hierarchy_depth_inter
Definition: va_enc_hevc.h:193
VAConfigAttribValEncHEVCFeatures::pcm
uint32_t pcm
Definition: va_enc_hevc.h:89
VAEncPictureParameterBufferHEVC::slice_pic_parameter_set_id
uint8_t slice_pic_parameter_set_id
PPS header Used by GPU to generate new slice headers in slice size control. value range: [0....
Definition: va_enc_hevc.h:648
VAEncSequenceParameterBufferHEVC::hierachical_flag
uint32_t hierachical_flag
Indicates whether or not the encoding is in dyadic hierarchical GOP structure the default value 0,...
Definition: va_enc_hevc.h:421
VA_PADDING_LOW
#define VA_PADDING_LOW
Definition: va.h:359
VAConfigAttribValEncHEVCFeatures::cu_qp_delta
uint32_t cu_qp_delta
Definition: va_enc_hevc.h:125
VAEncPictureParameterBufferHEVC::idr_pic_flag
uint32_t idr_pic_flag
Is picture an IDR picture?
Definition: va_enc_hevc.h:659
VAEncSequenceParameterBufferHEVC::max_bytes_per_pic_denom
uint8_t max_bytes_per_pic_denom
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:513
VAEncPictureParameterBufferHEVC::pps_curr_pic_ref_enabled_flag
uint16_t pps_curr_pic_ref_enabled_flag
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:743
VAEncSequenceParameterBufferHEVC::intra_period
uint32_t intra_period
Period between I frames.
Definition: va_enc_hevc.h:361
VAEncSequenceParameterBufferHEVC::palette_mode_enabled_flag
uint32_t palette_mode_enabled_flag
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:521
VABufferID
VAGenericID VABufferID
Definition: va.h:1977
VAEncSequenceParameterBufferHEVC::separate_colour_plane_flag
uint32_t separate_colour_plane_flag
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:392
VAEncSequenceParameterBufferHEVC::log2_diff_max_min_transform_block_size
uint8_t log2_diff_max_min_transform_block_size
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:444
VAEncSequenceParameterBufferHEVC::bitstream_restriction_flag
uint32_t bitstream_restriction_flag
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:486
VAConfigAttribValEncHEVCBlockSizes::log2_min_coding_tree_block_size_minus3
uint32_t log2_min_coding_tree_block_size_minus3
Definition: va_enc_hevc.h:168
VAEncSequenceParameterBufferHEVC::sample_adaptive_offset_enabled_flag
uint32_t sample_adaptive_offset_enabled_flag
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:404
VAConfigAttribValEncHEVCFeatures
Definition: va_enc_hevc.h:56
VAEncPictureParameterBufferHEVC::last_picture
uint8_t last_picture
OR'd flags describing whether the picture is the last one or not.
Definition: va_enc_hevc.h:599
VAEncPictureParameterBufferHEVC
Picture parameter for HEVC encoding in main & main 10 profiles.
Definition: va_enc_hevc.h:554
VAEncSequenceParameterBufferHEVC::log2_max_pcm_luma_coding_block_size_minus3
uint32_t log2_max_pcm_luma_coding_block_size_minus3
Derived from the HEVC bitstream syntax element. log2_min_pcm_luma_coding_block_size_minus3 + log2_dif...
Definition: va_enc_hevc.h:469
VAConfigAttribValEncHEVCFeatures::sign_data_hiding
uint32_t sign_data_hiding
Definition: va_enc_hevc.h:110
VAConfigAttribValEncHEVCFeatures::amp
uint32_t amp
Definition: va_enc_hevc.h:75
VAConfigAttribValEncHEVCFeatures::temporal_mvp
uint32_t temporal_mvp
Definition: va_enc_hevc.h:95
VAEncSequenceParameterBufferHEVC::restricted_ref_pic_lists_flag
uint32_t restricted_ref_pic_lists_flag
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:492
VAEncSequenceParameterBufferHEVC::general_level_idc
uint8_t general_level_idc
Same as the HEVC bitstream syntax element. general_level_idc shall be set equal to a value of 30 time...
Definition: va_enc_hevc.h:355
VAConfigAttribValEncHEVCFeatures::deblocking_filter_disable
uint32_t deblocking_filter_disable
Definition: va_enc_hevc.h:142
VAEncSequenceParameterBufferHEVC::max_bits_per_min_cu_denom
uint8_t max_bits_per_min_cu_denom
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:515
VAEncPictureParameterBufferHEVC::log2_parallel_merge_level_minus2
uint8_t log2_parallel_merge_level_minus2
Corresponds to HEVC syntax element of the same name.
Definition: va_enc_hevc.h:626
VAConfigAttribValEncHEVCFeatures::constrained_intra_pred
uint32_t constrained_intra_pred
Definition: va_enc_hevc.h:115
VAEncPictureParameterBufferHEVC::sign_data_hiding_enabled_flag
uint32_t sign_data_hiding_enabled_flag
Corresponds to HEVC syntax element of the same name.
Definition: va_enc_hevc.h:675
VAEncSequenceParameterBufferHEVC::vui_parameters_present_flag
uint8_t vui_parameters_present_flag
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:474
VAEncPictureParameterBufferHEVC::constrained_intra_pred_flag
uint32_t constrained_intra_pred_flag
Corresponds to HEVC syntax element of the same name.
Definition: va_enc_hevc.h:677
VAEncSequenceParameterBufferHEVC::vui_num_units_in_tick
uint32_t vui_num_units_in_tick
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:507
VAEncPictureParameterBufferHEVC::num_ref_idx_l0_default_active_minus1
uint8_t num_ref_idx_l0_default_active_minus1
Maximum reference index for reference picture list 0. value range: [0..14].
Definition: va_enc_hevc.h:637
VAConfigAttribValEncHEVCBlockSizes::log2_min_pcm_coding_block_size_minus3
uint32_t log2_min_pcm_coding_block_size_minus3
Definition: va_enc_hevc.h:226
VAEncPictureParameterBufferHEVC::reference_pic_flag
uint32_t reference_pic_flag
Is picture a reference picture?
Definition: va_enc_hevc.h:671
VAEncSequenceParameterBufferHEVC::strong_intra_smoothing_enabled_flag
uint32_t strong_intra_smoothing_enabled_flag
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:400
VAConfigAttribValEncHEVCBlockSizes::log2_min_luma_coding_block_size_minus3
uint32_t log2_min_luma_coding_block_size_minus3
Definition: va_enc_hevc.h:174
VAEncPictureParameterBufferHEVC::hierarchical_level_plus1
uint8_t hierarchical_level_plus1
When hierachical_level_plus1 > 0, hierachical_level_plus1-1 indicates the current frame's level....
Definition: va_enc_hevc.h:736
VAEncSequenceParameterBufferHEVC::neutral_chroma_indication_flag
uint32_t neutral_chroma_indication_flag
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:480
VAEncPictureParameterBufferHEVC::nal_unit_type
uint8_t nal_unit_type
NAL unit type Used by GPU to generate new slice headers in slice size control. value range: [0....
Definition: va_enc_hevc.h:654
VAPictureHEVC
Description of picture properties of those in DPB surfaces.
Definition: va.h:5149
VAEncPictureParameterBufferHEVC::entropy_coding_sync_enabled_flag
uint32_t entropy_coding_sync_enabled_flag
Corresponds to HEVC syntax element of the same name.
Definition: va_enc_hevc.h:691
VAEncSequenceParameterBufferHEVC::bits_per_second
uint32_t bits_per_second
Initial bitrate set for this sequence in CBR or VBR modes.
Definition: va_enc_hevc.h:377
VAEncPictureParameterBufferHEVC::coding_type
uint32_t coding_type
Picture type. I - 1; P - 2; B - 3; B1 - 4; B2 - 5; B1 and B2 are frame types for hierachical B,...
Definition: va_enc_hevc.h:669
VAConfigAttribValEncHEVCFeatures::transquant_bypass
uint32_t transquant_bypass
Definition: va_enc_hevc.h:137
VAEncPackedHeaderSlice
Packed slice header.
Definition: va.h:2329
VAEncSequenceParameterBufferHEVC::general_profile_idc
uint8_t general_profile_idc
Same as the HEVC bitstream syntax element. value range [1..2].
Definition: va_enc_hevc.h:350
VAConfigAttribValEncHEVCBlockSizes::log2_max_luma_transform_block_size_minus2
uint32_t log2_max_luma_transform_block_size_minus2
Definition: va_enc_hevc.h:180
VAConfigAttribValEncHEVCBlockSizes::reserved
uint32_t reserved
Definition: va_enc_hevc.h:229
VAEncPictureParameterBufferHEVC::coded_buf
VABufferID coded_buf
Output encoded bitstream.
Definition: va_enc_hevc.h:582
VAEncSequenceParameterBufferHEVC::sps_temporal_mvp_enabled_flag
uint32_t sps_temporal_mvp_enabled_flag
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:410
VAEncSequenceParameterBufferHEVC::ip_period
uint32_t ip_period
Period between I/P frames.
Definition: va_enc_hevc.h:365
VAEncPictureParameterBufferHEVC::num_tile_columns_minus1
uint8_t num_tile_columns_minus1
Corresponds to HEVC syntax element of the same name.
Definition: va_enc_hevc.h:614
VAEncPackedHeaderHEVC_PPS
Packed Picture Parameter Set (PPS).
Definition: va_enc_hevc.h:295
VAEncPictureParameterBufferHEVC::ctu_max_bitsize_allowed
uint8_t ctu_max_bitsize_allowed
Application may set the CTU bit size limit based on spec requirement (A.3.2), or other value for spec...
Definition: va_enc_hevc.h:632
VAConfigAttribValEncHEVCFeatures::transform_skip
uint32_t transform_skip
Definition: va_enc_hevc.h:120
VAEncPictureParameterBufferHEVC::pps_loop_filter_across_slices_enabled_flag
uint32_t pps_loop_filter_across_slices_enabled_flag
Corresponds to HEVC syntax element of the same name.
Definition: va_enc_hevc.h:695
VAEncPictureParameterBufferHEVC::dependent_slice_segments_enabled_flag
uint32_t dependent_slice_segments_enabled_flag
Corresponds to HEVC syntax element of the same name.
Definition: va_enc_hevc.h:673
VAEncSequenceParameterBufferHEVC::log2_max_mv_length_vertical
uint32_t log2_max_mv_length_vertical
Range: 0 to 16, inclusive.
Definition: va_enc_hevc.h:496
VAEncSequenceParameterBufferHEVC::pcm_enabled_flag
uint32_t pcm_enabled_flag
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:406
VAEncPictureParameterBufferHEVC::va_byte_reserved
uint8_t va_byte_reserved
Reserved bytes for future use, must be zero.
Definition: va_enc_hevc.h:738
VAEncSequenceParameterBufferHEVC::max_transform_hierarchy_depth_intra
uint8_t max_transform_hierarchy_depth_intra
Same as the HEVC bitstream syntax element. value range [2].
Definition: va_enc_hevc.h:454
VAEncSequenceParameterBufferHEVC::low_delay_seq
uint32_t low_delay_seq
Indicates whether or not the encoding is in low delay mode. 0 normal sequence 1 no random access B wi...
Definition: va_enc_hevc.h:416
VAEncSequenceParameterBufferHEVC::log2_max_mv_length_horizontal
uint32_t log2_max_mv_length_horizontal
Range: 0 to 16, inclusive.
Definition: va_enc_hevc.h:494
VAEncSequenceParameterBufferHEVC::pic_height_in_luma_samples
uint16_t pic_height_in_luma_samples
Picture height in pixel samples. Its value must be multiple of min CU size.
Definition: va_enc_hevc.h:385
VAEncPackedHeaderTypeHEVC
VAEncPackedHeaderTypeHEVC
Packed header types specific to HEVC encoding.
Definition: va_enc_hevc.h:268
VAEncPictureParameterBufferHEVC::screen_content_flag
uint32_t screen_content_flag
indicate the current picture contains significant screen contents (text, characters,...
Definition: va_enc_hevc.h:708
VAEncSequenceParameterBufferHEVC::motion_vectors_over_pic_boundaries_flag
uint32_t motion_vectors_over_pic_boundaries_flag
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:490
VAEncSequenceParameterBufferHEVC::log2_min_transform_block_size_minus2
uint8_t log2_min_transform_block_size_minus2
Same as the HEVC bitstream syntax element. value range [0..3].
Definition: va_enc_hevc.h:440
VAEncPictureParameterBufferHEVC::weighted_bipred_flag
uint32_t weighted_bipred_flag
Corresponds to HEVC syntax element of the same name.
Definition: va_enc_hevc.h:685
VAEncSequenceParameterBufferHEVC::reserved
uint32_t reserved
Reserved bits for future use, must be zero.
Definition: va_enc_hevc.h:523
VAEncSequenceParameterBufferHEVC::min_spatial_segmentation_idc
uint16_t min_spatial_segmentation_idc
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:511
VAEncPictureParameterBufferHEVC::diff_cu_qp_delta_depth
uint8_t diff_cu_qp_delta_depth
Corresponds to HEVC syntax element of the same name.
Definition: va_enc_hevc.h:605
VAEncSequenceParameterBufferHEVC::intra_idr_period
uint32_t intra_idr_period
Period between IDR frames.
Definition: va_enc_hevc.h:363
VAEncPictureParameterBufferHEVC::pps_cr_qp_offset
int8_t pps_cr_qp_offset
Corresponds to HEVC syntax element of the same name.
Definition: va_enc_hevc.h:611
VAEncSliceParameterBufferHEVC
Slice parameter for HEVC encoding in main & main 10 profiles.
Definition: va_enc_hevc.h:769
VAEncSequenceParameterBufferHEVC::amp_enabled_flag
uint32_t amp_enabled_flag
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:402
VAEncSequenceParameterBufferHEVC::sar_width
uint32_t sar_width
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:503
VAEncSequenceParameterBufferHEVC::log2_min_pcm_luma_coding_block_size_minus3
uint32_t log2_min_pcm_luma_coding_block_size_minus3
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:463
VAConfigAttribValEncHEVCFeatures::weighted_prediction
uint32_t weighted_prediction
Definition: va_enc_hevc.h:132
VAConfigAttribValEncHEVCFeatures::dependent_slices
uint32_t dependent_slices
Definition: va_enc_hevc.h:105
VAEncSequenceParameterBufferHEVC::vui_timing_info_present_flag
uint32_t vui_timing_info_present_flag
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:484
VAEncPackedHeaderSequence
Packed sequence header.
Definition: va.h:2325
VAEncSequenceParameterBufferHEVC::aspect_ratio_idc
uint8_t aspect_ratio_idc
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:501
VAConfigAttribValEncHEVCBlockSizes
Definition: va_enc_hevc.h:154