61 #define HEVC_LAST_PICTURE_EOSEQ 0x01 67 #define HEVC_LAST_PICTURE_EOSTREAM 0x02 160 typedef struct _VAEncSequenceParameterBufferHEVC {
204 uint32_t chroma_format_idc : 2;
206 uint32_t separate_colour_plane_flag : 1;
208 uint32_t bit_depth_luma_minus8 : 3;
210 uint32_t bit_depth_chroma_minus8 : 3;
212 uint32_t scaling_list_enabled_flag : 1;
214 uint32_t strong_intra_smoothing_enabled_flag : 1;
216 uint32_t amp_enabled_flag : 1;
218 uint32_t sample_adaptive_offset_enabled_flag : 1;
220 uint32_t pcm_enabled_flag : 1;
222 uint32_t pcm_loop_filter_disabled_flag : 1;
224 uint32_t sps_temporal_mvp_enabled_flag : 1;
226 uint32_t reserved_bits : 16;
281 uint32_t aspect_ratio_info_present_flag : 1;
283 uint32_t neutral_chroma_indication_flag : 1;
285 uint32_t field_seq_flag : 1;
287 uint32_t vui_timing_info_present_flag : 1;
289 uint32_t bitstream_restriction_flag : 1;
291 uint32_t tiles_fixed_structure_flag : 1;
293 uint32_t motion_vectors_over_pic_boundaries_flag : 1;
295 uint32_t restricted_ref_pic_lists_flag : 1;
297 uint32_t log2_max_mv_length_horizontal : 5;
299 uint32_t log2_max_mv_length_vertical : 5;
321 uint32_t va_reserved[VA_PADDING_MEDIUM];
348 typedef struct _VAEncPictureParameterBufferHEVC {
413 uint8_t column_width_minus1[19];
416 uint8_t row_height_minus1[21];
452 uint32_t idr_pic_flag : 1;
462 uint32_t coding_type : 3;
464 uint32_t reference_pic_flag : 1;
466 uint32_t dependent_slice_segments_enabled_flag : 1;
468 uint32_t sign_data_hiding_enabled_flag : 1;
470 uint32_t constrained_intra_pred_flag : 1;
472 uint32_t transform_skip_enabled_flag : 1;
474 uint32_t cu_qp_delta_enabled_flag : 1;
476 uint32_t weighted_pred_flag : 1;
478 uint32_t weighted_bipred_flag : 1;
480 uint32_t transquant_bypass_enabled_flag : 1;
482 uint32_t tiles_enabled_flag : 1;
484 uint32_t entropy_coding_sync_enabled_flag : 1;
486 uint32_t loop_filter_across_tiles_enabled_flag : 1;
488 uint32_t pps_loop_filter_across_slices_enabled_flag : 1;
494 uint32_t scaling_list_data_present_flag : 1;
501 uint32_t screen_content_flag : 1;
514 uint32_t enable_gpu_weighted_prediction : 1;
518 uint32_t no_output_of_prior_pics_flag : 1;
519 uint32_t reserved : 11;
525 uint32_t va_reserved[VA_PADDING_HIGH];
545 typedef struct _VAEncSliceParameterBufferHEVC {
579 int8_t delta_luma_weight_l0[15];
581 int8_t luma_offset_l0[15];
583 int8_t delta_chroma_weight_l0[15][2];
585 int8_t chroma_offset_l0[15][2];
587 int8_t delta_luma_weight_l1[15];
589 int8_t luma_offset_l1[15];
591 int8_t delta_chroma_weight_l1[15][2];
593 int8_t chroma_offset_l1[15][2];
619 uint32_t last_slice_of_pic_flag : 1;
621 uint32_t dependent_slice_segment_flag : 1;
623 uint32_t colour_plane_id : 2;
625 uint32_t slice_temporal_mvp_enabled_flag : 1;
627 uint32_t slice_sao_luma_flag : 1;
629 uint32_t slice_sao_chroma_flag : 1;
635 uint32_t num_ref_idx_active_override_flag : 1;
637 uint32_t mvd_l1_zero_flag : 1;
639 uint32_t cabac_init_flag : 1;
641 uint32_t slice_deblocking_filter_disabled_flag : 2;
643 uint32_t slice_loop_filter_across_slices_enabled_flag : 1;
645 uint32_t collocated_from_l0_flag : 1;
651 uint32_t va_reserved[VA_PADDING_MEDIUM];
667 typedef struct _VAQMatrixBufferHEVC
676 uint8_t scaling_lists_4x4[3][2][16];
680 uint8_t scaling_lists_8x8[3][2][64];
686 uint8_t scaling_lists_16x16[3][2][64];
692 uint8_t scaling_lists_32x32[2][64];
699 uint8_t scaling_list_dc_16x16[3][2];
706 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:310
int8_t slice_beta_offset_div2
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:611
Picture parameter for HEVC encoding in main & main 10 profiles.
Definition: va_enc_hevc.h:348
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:173
uint32_t num_ctu_in_slice
Number of CTUs in this slice.
Definition: va_enc_hevc.h:549
int8_t slice_cr_qp_offset
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:608
Packed slice header.
Definition: va_enc_hevc.h:122
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:565
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:195
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:441
Packed Video Parameter Set (VPS).
Definition: va_enc_hevc.h:91
uint8_t slice_pic_parameter_set_id
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:556
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:425
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:272
Sequence parameter for HEVC encoding in main & main 10 profiles.
Definition: va_enc_hevc.h:160
uint8_t log2_diff_max_min_transform_block_size
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:247
HEVC Quantization Matrix Buffer Structure.
Definition: va_enc_hevc.h:667
uint8_t max_transform_hierarchy_depth_intra
Same as the HEVC bitstream syntax element. value range [2].
Definition: va_enc_hevc.h:257
uint16_t min_spatial_segmentation_idc
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:314
uint32_t bits_per_second
Initial bitrate set for this sequence in CBR or VBR modes.
Definition: va_enc_hevc.h:191
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:447
uint8_t max_bits_per_min_cu_denom
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:318
Packed picture header.
Definition: va.h:1727
VAGenericID VABufferID
Definition: va.h:1525
uint32_t pcm_sample_bit_depth_chroma_minus1
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:263
uint8_t num_tile_columns_minus1
Corresponds to HEVC syntax element of the same name.
Definition: va_enc_hevc.h:407
uint8_t slice_type
Slice type. Corresponds to HEVC syntax element of the same name.
Definition: va_enc_hevc.h:554
Packed Supplemental Enhancement Information (SEI).
Definition: va_enc_hevc.h:137
uint32_t sar_width
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:306
uint8_t pic_init_qp
init_qp_minus26 + 26.
Definition: va_enc_hevc.h:395
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:234
int8_t slice_tc_offset_div2
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:614
uint8_t num_tile_rows_minus1
Corresponds to HEVC syntax element of the same name.
Definition: va_enc_hevc.h:410
uint8_t diff_cu_qp_delta_depth
Corresponds to HEVC syntax element of the same name.
Definition: va_enc_hevc.h:398
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:199
uint8_t log2_parallel_merge_level_minus2
Corresponds to HEVC syntax element of the same name.
Definition: va_enc_hevc.h:419
Packed sequence header.
Definition: va.h:1725
int8_t delta_chroma_log2_weight_denom
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:577
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:561
uint32_t intra_idr_period
Period between IDR frames.
Definition: va_enc_hevc.h:177
uint8_t aspect_ratio_idc
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:304
int8_t slice_qp_delta
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:602
uint8_t general_profile_idc
Same as the HEVC bitstream syntax element. value range [1..2].
Definition: va_enc_hevc.h:164
Packed Sequence Parameter Set (SPS).
Definition: va_enc_hevc.h:100
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:383
#define VA_PADDING_LOW
Definition: va.h:249
uint8_t last_picture
OR'd flags describing whether the picture is the last one or not.
Definition: va_enc_hevc.h:392
uint8_t max_transform_hierarchy_depth_inter
Same as the HEVC bitstream syntax element. value range [2].
Definition: va_enc_hevc.h:252
uint32_t log2_min_pcm_luma_coding_block_size_minus3
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:266
uint32_t slice_segment_address
Starting CTU address for this slice.
Definition: va_enc_hevc.h:547
VAEncPackedHeaderTypeHEVC
Packed header types specific to HEVC encoding.
Definition: va_enc_hevc.h:82
uint8_t log2_diff_max_min_luma_coding_block_size
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:238
int8_t slice_cb_qp_offset
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:605
uint32_t pcm_sample_bit_depth_luma_minus1
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:260
VABufferID coded_buf
Output encoded bitstream.
Definition: va_enc_hevc.h:375
int8_t pps_cr_qp_offset
Corresponds to HEVC syntax element of the same name.
Definition: va_enc_hevc.h:404
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:435
uint32_t intra_period
Period between I frames.
Definition: va_enc_hevc.h:175
VAPictureHEVC decoded_curr_pic
Information about the picture to be encoded.
Definition: va_enc_hevc.h:358
uint8_t max_bytes_per_pic_denom
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:316
uint32_t sar_height
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:308
Slice parameter for HEVC encoding in main & main 10 profiles.
Definition: va_enc_hevc.h:545
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:169
uint32_t vui_time_scale
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:312
uint8_t log2_min_transform_block_size_minus2
Same as the HEVC bitstream syntax element. value range [0..3].
Definition: va_enc_hevc.h:243
Description of picture properties of those in DPB surfaces.
Definition: va.h:4118
Packed Picture Parameter Set (PPS).
Definition: va_enc_hevc.h:109
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:430
int8_t pps_cb_qp_offset
Corresponds to HEVC syntax element of the same name.
Definition: va_enc_hevc.h:401
uint32_t ip_period
Period between I/P frames.
Definition: va_enc_hevc.h:179
Packed slice header.
Definition: va.h:1729
uint8_t vui_parameters_present_flag
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:277
uint8_t max_num_merge_cand
Corresponds to HEVC spec variable MaxNumMergeCand. Range: [1..5].
Definition: va_enc_hevc.h:599
uint8_t luma_log2_weight_denom
Same as the HEVC bitstream syntax element.
Definition: va_enc_hevc.h:575