58 #define H264_LAST_PICTURE_EOSEQ 0x01
64 #define H264_LAST_PICTURE_EOSTREAM 0x02
148 typedef struct _VAEncSequenceParameterBufferH264 {
216 int32_t offset_for_ref_frame[256];
296 typedef struct _VAEncPictureParameterBufferH264 {
313 VAPictureH264 ReferenceFrames[16];
390 typedef struct _VAEncQPBufferH264 {
420 typedef struct _VAEncSliceParameterBufferH264 {
457 int32_t delta_pic_order_cnt[2];
462 uint8_t direct_spatial_mv_pred_flag;
482 VAPictureH264 RefPicList0[32];
484 VAPictureH264 RefPicList1[32];
496 signed short luma_weight_l0[32];
498 signed short luma_offset_l0[32];
502 signed short chroma_weight_l0[32][2];
504 signed short chroma_offset_l0[32][2];
508 signed short luma_weight_l1[32];
510 signed short luma_offset_l1[32];
514 signed short chroma_weight_l1[32][2];
516 signed short chroma_offset_l1[32][2];
547 #define VA_MB_PRED_AVAIL_TOP_LEFT (1 << 2)
549 #define VA_MB_PRED_AVAIL_TOP (1 << 4)
551 #define VA_MB_PRED_AVAIL_TOP_RIGHT (1 << 3)
553 #define VA_MB_PRED_AVAIL_LEFT (1 << 6)
566 typedef struct _VAEncMacroblockParameterBufferH264 {
626 typedef struct _VAEncMiscParameterSubMbPartPelH264 {
627 uint32_t disable_inter_sub_mb_partition;
630 uint32_t disable_16x16_inter_mb_partition : 1;
631 uint32_t disable_16x8_inter_mb_partition : 1;
632 uint32_t disable_8x16_inter_mb_partition : 1;
633 uint32_t disable_8x8_inter_mb_partition : 1;
634 uint32_t disable_8x4_inter_mb_partition : 1;
635 uint32_t disable_4x8_inter_mb_partition : 1;
636 uint32_t disable_4x4_inter_mb_partition : 1;
637 uint32_t reserved : 1;
640 } inter_sub_mb_partition_mask;
650 uint8_t sub_pel_mode;
#define VA_PADDING_LOW
Definition: va.h:360
VAGenericID VABufferID
Definition: va.h:2019
@ VAEncPackedHeaderPicture
Packed picture header.
Definition: va.h:2400
@ VAEncPackedHeaderSequence
Packed sequence header.
Definition: va.h:2398
@ VAEncPackedHeaderSlice
Packed slice header.
Definition: va.h:2402
VAEncPackedHeaderTypeH264
Packed header types specific to H.264 encoding.
Definition: va_enc_h264.h:79
@ VAEncPackedHeaderH264_SPS
Packed Sequence Parameter Set (SPS).
Definition: va_enc_h264.h:88
@ VAEncPackedHeaderH264_Slice
Packed slice header.
Definition: va_enc_h264.h:110
@ va_deprecated_enum
Packed Supplemental Enhancement Information (SEI).
Definition: va_enc_h264.h:125
@ VAEncPackedHeaderH264_PPS
Packed Picture Parameter Set (PPS).
Definition: va_enc_h264.h:97
Macroblock parameter for H.264 encoding in baseline, main & high profiles.
Definition: va_enc_h264.h:566
uint32_t pred_avail_override_flag
Flag specified to override MB neighbour availability bits from VME stage.
Definition: va_enc_h264.h:589
uint32_t pred_avail_flags
Bitwise representation of which macroblocks are available for intra prediction.
Definition: va_enc_h264.h:599
uint8_t qp
Quantization parameter.
Definition: va_enc_h264.h:574
MB partition modes and 1/2 1/4 motion search configuration.
Definition: va_enc_h264.h:626
uint32_t enable_sub_pel_mode
Precison of motion search 0:Integer mode searching 1:Half-pel mode searching 2:Reserved 3:Quarter-pel...
Definition: va_enc_h264.h:649
Picture parameter for H.264 encoding in baseline, main & high profiles.
Definition: va_enc_h264.h:296
uint32_t entropy_coding_mode_flag
Selects CAVLC (0) or CABAC (1) entropy coding mode.
Definition: va_enc_h264.h:365
uint32_t weighted_bipred_idc
Range: 0 to 2, inclusive.
Definition: va_enc_h264.h:369
uint32_t pic_scaling_matrix_present_flag
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:381
int8_t chroma_qp_index_offset
Range: -12 to 12, inclusive.
Definition: va_enc_h264.h:354
uint8_t num_ref_idx_l0_active_minus1
Maximum reference index for reference picture list 0. Range: 0 to 31, inclusive.
Definition: va_enc_h264.h:347
uint32_t deblocking_filter_control_present_flag
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:375
uint8_t num_ref_idx_l1_active_minus1
Maximum reference index for reference picture list 1. Range: 0 to 31, inclusive.
Definition: va_enc_h264.h:351
uint16_t frame_num
The picture identifier. Range: 0 to , inclusive.
Definition: va_enc_h264.h:340
uint32_t reference_pic_flag
Is picture a reference picture?
Definition: va_enc_h264.h:363
uint8_t pic_init_qp
pic_init_qp_minus26 + 26.
Definition: va_enc_h264.h:343
uint32_t transform_8x8_mode_flag
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:373
uint32_t constrained_intra_pred_flag
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:371
VABufferID coded_buf
Output encoded bitstream.
Definition: va_enc_h264.h:321
uint32_t redundant_pic_cnt_present_flag
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:377
VAPictureH264 CurrPic
Information about the picture to be encoded.
Definition: va_enc_h264.h:304
uint8_t pic_parameter_set_id
The picture parameter set referred to in the slice header.
Definition: va_enc_h264.h:324
uint32_t pic_order_present_flag
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:379
uint8_t last_picture
OR'd flags describing whether the picture is the last one or not.
Definition: va_enc_h264.h:335
uint32_t idr_pic_flag
Is picture an IDR picture?
Definition: va_enc_h264.h:361
uint8_t seq_parameter_set_id
The active sequence parameter set. Range: 0 to 31, inclusive.
Definition: va_enc_h264.h:326
uint32_t weighted_pred_flag
Is weighted prediction applied to P slices?
Definition: va_enc_h264.h:367
int8_t second_chroma_qp_index_offset
Range: -12 to 12, inclusive.
Definition: va_enc_h264.h:356
Sequence parameter for H.264 encoding in baseline, main & high profiles.
Definition: va_enc_h264.h:148
uint8_t level_idc
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:152
uint32_t mb_adaptive_frame_field_flag
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:185
uint32_t delta_pic_order_always_zero_flag
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:197
uint32_t reserved
Reserved for future use, must be zero.
Definition: va_enc_h264.h:256
uint8_t aspect_ratio_idc
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:261
int32_t offset_for_top_to_bottom_field
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:214
uint32_t frame_crop_top_offset
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:228
uint32_t direct_8x8_inference_flag
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:189
uint32_t time_scale
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:269
uint8_t num_ref_frames_in_pic_order_cnt_cycle
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:210
uint32_t frame_crop_bottom_offset
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:230
uint32_t intra_period
Period between I frames.
Definition: va_enc_h264.h:154
uint8_t bit_depth_luma_minus8
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:203
uint32_t intra_idr_period
Period between IDR frames.
Definition: va_enc_h264.h:156
uint32_t bitstream_restriction_flag
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:244
uint32_t frame_mbs_only_flag
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:183
uint32_t sar_height
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:265
uint32_t motion_vectors_over_pic_boundaries_flag
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:254
int32_t offset_for_non_ref_pic
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:212
uint8_t vui_parameters_present_flag
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:236
uint32_t frame_crop_left_offset
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:224
uint8_t bit_depth_chroma_minus8
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:205
uint32_t num_units_in_tick
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:267
uint16_t picture_height_in_mbs
Picture height in macroblocks.
Definition: va_enc_h264.h:176
uint32_t bits_per_second
Initial bitrate set for this sequence in CBR or VBR modes.
Definition: va_enc_h264.h:170
uint32_t frame_crop_right_offset
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:226
uint32_t timing_info_present_flag
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:242
uint32_t fixed_frame_rate_flag
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:250
uint32_t log2_max_mv_length_vertical
Range: 0 to 16, inclusive.
Definition: va_enc_h264.h:248
uint32_t low_delay_hrd_flag
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:252
uint32_t ip_period
Period between I/P frames.
Definition: va_enc_h264.h:158
uint32_t max_num_ref_frames
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:172
uint32_t log2_max_mv_length_horizontal
Range: 0 to 16, inclusive.
Definition: va_enc_h264.h:246
uint32_t pic_order_cnt_type
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:193
uint8_t seq_parameter_set_id
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:150
uint32_t log2_max_frame_num_minus4
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:191
uint32_t sar_width
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:263
uint32_t log2_max_pic_order_cnt_lsb_minus4
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:195
uint16_t picture_width_in_mbs
Picture width in macroblocks.
Definition: va_enc_h264.h:174
uint32_t chroma_format_idc
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:181
uint32_t aspect_ratio_info_present_flag
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:240
uint32_t seq_scaling_matrix_present_flag
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:187
uint8_t frame_cropping_flag
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:222
Slice parameter for H.264 encoding in baseline, main & high profiles.
Definition: va_enc_h264.h:420
uint32_t num_macroblocks
Number of macroblocks in this slice.
Definition: va_enc_h264.h:424
uint8_t chroma_weight_l1_flag
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:512
VABufferID macroblock_info
Per-MB encoder configuration buffer, or VA_INVALID_ID.
Definition: va_enc_h264.h:437
uint8_t num_ref_idx_l1_active_minus1
Maximum reference index for reference picture list 1. Range: 0 to 31, inclusive.
Definition: va_enc_h264.h:480
uint16_t pic_order_cnt_lsb
The picture order count modulo MaxPicOrderCntLsb.
Definition: va_enc_h264.h:450
int32_t delta_pic_order_cnt_bottom
Valid if pic_order_present_flag and this is a bottom field.
Definition: va_enc_h264.h:452
int8_t slice_beta_offset_div2
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:530
uint8_t luma_log2_weight_denom
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:490
uint8_t chroma_weight_l0_flag
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:500
uint8_t cabac_init_idc
Range: 0 to 2, inclusive.
Definition: va_enc_h264.h:520
uint8_t luma_weight_l0_flag
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:494
uint8_t luma_weight_l1_flag
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:506
uint8_t chroma_log2_weight_denom
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:492
int8_t slice_alpha_c0_offset_div2
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:528
uint8_t num_ref_idx_l0_active_minus1
Maximum reference index for reference picture list 0. Range: 0 to 31, inclusive.
Definition: va_enc_h264.h:476
uint8_t slice_type
Slice type. Range: 0..2, 5..7, i.e. no switching slices.
Definition: va_enc_h264.h:441
int8_t slice_qp_delta
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:522
uint16_t idr_pic_id
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:445
uint8_t num_ref_idx_active_override_flag
Specifies if _VAEncPictureParameterBufferH264::num_ref_idx_l0_active_minus1 or _VAEncPictureParameter...
Definition: va_enc_h264.h:472
uint8_t disable_deblocking_filter_idc
Range: 0 to 2, inclusive.
Definition: va_enc_h264.h:526
uint8_t pic_parameter_set_id
Same as the H.264 bitstream syntax element.
Definition: va_enc_h264.h:443
uint32_t macroblock_address
Starting MB address for this slice.
Definition: va_enc_h264.h:422