144 uint32_t reserved : 2;
247 #define HEVC_LAST_PICTURE_EOSEQ 0x01
253 #define HEVC_LAST_PICTURE_EOSTREAM 0x02
346 typedef struct _VAEncSequenceParameterBufferHEVC {
390 uint32_t chroma_format_idc : 2;
392 uint32_t separate_colour_plane_flag : 1;
394 uint32_t bit_depth_luma_minus8 : 3;
396 uint32_t bit_depth_chroma_minus8 : 3;
398 uint32_t scaling_list_enabled_flag : 1;
400 uint32_t strong_intra_smoothing_enabled_flag : 1;
402 uint32_t amp_enabled_flag : 1;
404 uint32_t sample_adaptive_offset_enabled_flag : 1;
406 uint32_t pcm_enabled_flag : 1;
408 uint32_t pcm_loop_filter_disabled_flag : 1;
410 uint32_t sps_temporal_mvp_enabled_flag : 1;
416 uint32_t low_delay_seq : 1;
421 uint32_t hierachical_flag : 1;
423 uint32_t reserved_bits : 14;
478 uint32_t aspect_ratio_info_present_flag : 1;
480 uint32_t neutral_chroma_indication_flag : 1;
482 uint32_t field_seq_flag : 1;
484 uint32_t vui_timing_info_present_flag : 1;
486 uint32_t bitstream_restriction_flag : 1;
488 uint32_t tiles_fixed_structure_flag : 1;
490 uint32_t motion_vectors_over_pic_boundaries_flag : 1;
492 uint32_t restricted_ref_pic_lists_flag : 1;
494 uint32_t log2_max_mv_length_horizontal : 5;
496 uint32_t log2_max_mv_length_vertical : 5;
521 uint32_t palette_mode_enabled_flag : 1;
523 uint32_t reserved : 31;
528 uint32_t va_reserved[VA_PADDING_MEDIUM - 1];
555 typedef struct _VAEncPictureParameterBufferHEVC {
620 uint8_t column_width_minus1[19];
623 uint8_t row_height_minus1[21];
659 uint32_t idr_pic_flag : 1;
669 uint32_t coding_type : 3;
671 uint32_t reference_pic_flag : 1;
673 uint32_t dependent_slice_segments_enabled_flag : 1;
675 uint32_t sign_data_hiding_enabled_flag : 1;
677 uint32_t constrained_intra_pred_flag : 1;
679 uint32_t transform_skip_enabled_flag : 1;
681 uint32_t cu_qp_delta_enabled_flag : 1;
683 uint32_t weighted_pred_flag : 1;
685 uint32_t weighted_bipred_flag : 1;
687 uint32_t transquant_bypass_enabled_flag : 1;
689 uint32_t tiles_enabled_flag : 1;
691 uint32_t entropy_coding_sync_enabled_flag : 1;
693 uint32_t loop_filter_across_tiles_enabled_flag : 1;
695 uint32_t pps_loop_filter_across_slices_enabled_flag : 1;
701 uint32_t scaling_list_data_present_flag : 1;
708 uint32_t screen_content_flag : 1;
721 uint32_t enable_gpu_weighted_prediction : 1;
725 uint32_t no_output_of_prior_pics_flag : 1;
726 uint32_t reserved : 11;
743 uint16_t pps_curr_pic_ref_enabled_flag : 1;
745 uint16_t reserved : 15;
750 uint32_t va_reserved[VA_PADDING_HIGH - 1];
770 typedef struct _VAEncSliceParameterBufferHEVC {
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];
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;
892 uint32_t va_reserved[VA_PADDING_MEDIUM - 2];
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];
uint32_t vui_num_units_in_tick
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:507
int8_t slice_beta_offset_div2
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:836
uint32_t log2_min_coding_tree_block_size_minus3
Definition: va_enc_hevc.h:168
uint32_t sao
Definition: va_enc_hevc.h:81
uint32_t strong_intra_smoothing
Definition: va_enc_hevc.h:100
Picture parameter for HEVC encoding in main & main 10 profiles.
Definition: va_enc_hevc.h:555
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
uint32_t num_ctu_in_slice
Number of CTUs in this slice.
Definition: va_enc_hevc.h:774
#define va_deprecated_enum
Misc packed header. See codec-specific definitions.
Definition: va.h:98
uint32_t log2_min_pcm_coding_block_size_minus3
Definition: va_enc_hevc.h:226
Definition: va_enc_hevc.h:56
uint32_t weighted_prediction
Definition: va_enc_hevc.h:132
uint32_t pred_weight_table_bit_offset
bit offset of syntax element pred_weight_table() in slice segment header. It aligns with the starting...
Definition: va_enc_hevc.h:883
uint32_t log2_min_luma_coding_block_size_minus3
Definition: va_enc_hevc.h:174
int8_t slice_cr_qp_offset
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:833
Packed slice header.
Definition: va_enc_hevc.h:308
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
uint32_t transform_skip
Definition: va_enc_hevc.h:120
uint8_t num_ref_idx_l1_active_minus1
Maximum reference index for reference picture list 1. Range: 0 to 14, inclusive.
Definition: va_enc_hevc.h:790
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
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
uint32_t constrained_intra_pred
Definition: va_enc_hevc.h:115
uint32_t scaling_lists
Definition: va_enc_hevc.h:70
Definition: va_enc_hevc.h:154
uint32_t separate_colour_planes
Definition: va_enc_hevc.h:62
Packed Video Parameter Set (VPS).
Definition: va_enc_hevc.h:277
uint8_t slice_pic_parameter_set_id
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:781
uint32_t dependent_slices
Definition: va_enc_hevc.h:105
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
uint32_t amp
Definition: va_enc_hevc.h:75
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
uint32_t reserved
Definition: va_enc_hevc.h:229
uint32_t log2_max_luma_transform_block_size_minus2
Definition: va_enc_hevc.h:180
Sequence parameter for HEVC encoding in main & main 10 profiles.
Definition: va_enc_hevc.h:346
uint8_t log2_diff_max_min_transform_block_size
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:444
HEVC Quantization Matrix Buffer Structure.
Definition: va_enc_hevc.h:908
uint8_t max_transform_hierarchy_depth_intra
Same as the HEVC bitstream syntax element. value range [2].
Definition: va_enc_hevc.h:454
uint32_t sign_data_hiding
Definition: va_enc_hevc.h:110
uint16_t min_spatial_segmentation_idc
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:511
uint32_t bits_per_second
Initial bitrate set for this sequence in CBR or VBR modes.
Definition: va_enc_hevc.h:377
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
uint8_t max_bits_per_min_cu_denom
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:515
Packed picture header.
Definition: va.h:2366
VAGenericID VABufferID
Definition: va.h:2016
uint32_t pcm_sample_bit_depth_chroma_minus1
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:460
uint8_t num_tile_columns_minus1
Corresponds to HEVC syntax element of the same name.
Definition: va_enc_hevc.h:614
uint8_t slice_type
Slice type. Corresponds to HEVC syntax element of the same name.
Definition: va_enc_hevc.h:779
uint32_t min_max_transform_hierarchy_depth_inter
Definition: va_enc_hevc.h:200
uint32_t sar_width
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:503
uint8_t pic_init_qp
init_qp_minus26 + 26.
Definition: va_enc_hevc.h:602
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
uint32_t pred_weight_table_bit_length
bit length of syntax element pred_weight_table() in slice segment header. It is used when encoder pre...
Definition: va_enc_hevc.h:890
int8_t slice_tc_offset_div2
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:839
uint8_t num_tile_rows_minus1
Corresponds to HEVC syntax element of the same name.
Definition: va_enc_hevc.h:617
uint8_t diff_cu_qp_delta_depth
Corresponds to HEVC syntax element of the same name.
Definition: va_enc_hevc.h:605
uint32_t log2_min_luma_transform_block_size_minus2
Definition: va_enc_hevc.h:185
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
uint8_t log2_parallel_merge_level_minus2
Corresponds to HEVC syntax element of the same name.
Definition: va_enc_hevc.h:626
Packed sequence header.
Definition: va.h:2364
int8_t delta_chroma_log2_weight_denom
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:802
uint8_t num_ref_idx_l0_active_minus1
Maximum reference index for reference picture list 0. Range: 0 to 14, inclusive.
Definition: va_enc_hevc.h:786
uint32_t intra_idr_period
Period between IDR frames.
Definition: va_enc_hevc.h:363
uint8_t aspect_ratio_idc
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:501
int8_t slice_qp_delta
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:827
uint8_t general_profile_idc
Same as the HEVC bitstream syntax element. value range [1..2].
Definition: va_enc_hevc.h:350
Packed Sequence Parameter Set (SPS).
Definition: va_enc_hevc.h:286
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
uint8_t va_byte_reserved
Reserved bytes for future use, must be zero.
Definition: va_enc_hevc.h:738
#define VA_PADDING_LOW
Definition: va.h:359
uint32_t min_max_transform_hierarchy_depth_intra
Definition: va_enc_hevc.h:215
uint32_t cu_qp_delta
Definition: va_enc_hevc.h:125
uint32_t log2_max_pcm_coding_block_size_minus3
Definition: va_enc_hevc.h:221
uint8_t last_picture
OR'd flags describing whether the picture is the last one or not.
Definition: va_enc_hevc.h:599
uint8_t max_transform_hierarchy_depth_inter
Same as the HEVC bitstream syntax element. value range [2].
Definition: va_enc_hevc.h:449
uint32_t log2_min_pcm_luma_coding_block_size_minus3
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:463
uint32_t max_max_transform_hierarchy_depth_inter
Definition: va_enc_hevc.h:193
uint32_t slice_segment_address
Starting CTU address for this slice.
Definition: va_enc_hevc.h:772
VAEncPackedHeaderTypeHEVC
Packed header types specific to HEVC encoding.
Definition: va_enc_hevc.h:268
uint8_t log2_diff_max_min_luma_coding_block_size
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:435
int8_t slice_cb_qp_offset
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:830
uint32_t pcm_sample_bit_depth_luma_minus1
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:457
uint32_t temporal_mvp
Definition: va_enc_hevc.h:95
VABufferID coded_buf
Output encoded bitstream.
Definition: va_enc_hevc.h:582
int8_t pps_cr_qp_offset
Corresponds to HEVC syntax element of the same name.
Definition: va_enc_hevc.h:611
uint32_t log2_max_coding_tree_block_size_minus3
Definition: va_enc_hevc.h:160
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
uint32_t intra_period
Period between I frames.
Definition: va_enc_hevc.h:361
VAPictureHEVC decoded_curr_pic
Information about the picture to be encoded.
Definition: va_enc_hevc.h:565
uint32_t deblocking_filter_disable
Definition: va_enc_hevc.h:142
uint8_t max_bytes_per_pic_denom
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:513
uint32_t max_max_transform_hierarchy_depth_intra
Definition: va_enc_hevc.h:208
uint32_t sar_height
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:505
uint32_t transquant_bypass
Definition: va_enc_hevc.h:137
Slice parameter for HEVC encoding in main & main 10 profiles.
Definition: va_enc_hevc.h:770
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
uint32_t vui_time_scale
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:509
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
Description of picture properties of those in DPB surfaces.
Definition: va.h:5230
Packed Picture Parameter Set (PPS).
Definition: va_enc_hevc.h:295
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
int8_t pps_cb_qp_offset
Corresponds to HEVC syntax element of the same name.
Definition: va_enc_hevc.h:608
uint32_t pcm
Definition: va_enc_hevc.h:89
uint32_t ip_period
Period between I/P frames.
Definition: va_enc_hevc.h:365
Packed slice header.
Definition: va.h:2368
uint8_t vui_parameters_present_flag
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:474
uint8_t max_num_merge_cand
Corresponds to HEVC spec variable MaxNumMergeCand. Range: [1..5].
Definition: va_enc_hevc.h:824
uint8_t luma_log2_weight_denom
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:800