VA-API
2.22.0
|
Slice parameter for H.264 encoding in baseline, main & high profiles. More...
#include <va_enc_h264.h>
Public Attributes | |
uint32_t | macroblock_address |
Starting MB address for this slice. | |
uint32_t | num_macroblocks |
Number of macroblocks in this slice. | |
VABufferID | macroblock_info |
Per-MB encoder configuration buffer, or VA_INVALID_ID . More... | |
uint8_t | slice_type |
Slice type. Range: 0..2, 5..7, i.e. no switching slices. | |
uint8_t | pic_parameter_set_id |
Same as the H.264 bitstream syntax element. | |
uint16_t | idr_pic_id |
Same as the H.264 bitstream syntax element. | |
uint8_t | cabac_init_idc |
Range: 0 to 2, inclusive. | |
int8_t | slice_qp_delta |
Same as the H.264 bitstream syntax element. | |
If pic_order_cnt_type == 0 | |
uint16_t | pic_order_cnt_lsb |
The picture order count modulo MaxPicOrderCntLsb. | |
int32_t | delta_pic_order_cnt_bottom |
Valid if pic_order_present_flag and this is a bottom field. | |
If pic_order_cnt_type == 1 && !delta_pic_order_always_zero_flag | |
int32_t | delta_pic_order_cnt [2] |
[0]: top, [1]: bottom. | |
If slice_type == B | |
uint8_t | direct_spatial_mv_pred_flag |
If slice_type == P | |
uint8_t | num_ref_idx_active_override_flag |
Specifies if _VAEncPictureParameterBufferH264::num_ref_idx_l0_active_minus1 or _VAEncPictureParameterBufferH264::num_ref_idx_l1_active_minus1 are overriden by the values for this slice. | |
uint8_t | num_ref_idx_l0_active_minus1 |
Maximum reference index for reference picture list 0. Range: 0 to 31, inclusive. | |
uint8_t | num_ref_idx_l1_active_minus1 |
Maximum reference index for reference picture list 1. Range: 0 to 31, inclusive. | |
VAPictureH264 | RefPicList0 [32] |
Reference picture list 0 (for P slices). | |
VAPictureH264 | RefPicList1 [32] |
Reference picture list 1 (for B slices). | |
pred_weight_table() | |
uint8_t | luma_log2_weight_denom |
Same as the H.264 bitstream syntax element. | |
uint8_t | chroma_log2_weight_denom |
Same as the H.264 bitstream syntax element. | |
uint8_t | luma_weight_l0_flag |
Same as the H.264 bitstream syntax element. | |
signed short | luma_weight_l0 [32] |
Same as the H.264 bitstream syntax element. | |
signed short | luma_offset_l0 [32] |
Same as the H.264 bitstream syntax element. | |
uint8_t | chroma_weight_l0_flag |
Same as the H.264 bitstream syntax element. | |
signed short | chroma_weight_l0 [32][2] |
Same as the H.264 bitstream syntax element. | |
signed short | chroma_offset_l0 [32][2] |
Same as the H.264 bitstream syntax element. | |
uint8_t | luma_weight_l1_flag |
Same as the H.264 bitstream syntax element. | |
signed short | luma_weight_l1 [32] |
Same as the H.264 bitstream syntax element. | |
signed short | luma_offset_l1 [32] |
Same as the H.264 bitstream syntax element. | |
uint8_t | chroma_weight_l1_flag |
Same as the H.264 bitstream syntax element. | |
signed short | chroma_weight_l1 [32][2] |
Same as the H.264 bitstream syntax element. | |
signed short | chroma_offset_l1 [32][2] |
Same as the H.264 bitstream syntax element. | |
If deblocking_filter_control_present_flag | |
uint8_t | disable_deblocking_filter_idc |
Range: 0 to 2, inclusive. | |
int8_t | slice_alpha_c0_offset_div2 |
Same as the H.264 bitstream syntax element. | |
int8_t | slice_beta_offset_div2 |
Same as the H.264 bitstream syntax element. | |
uint32_t | va_reserved [VA_PADDING_LOW] |
Reserved bytes for future use, must be zero. | |
Slice parameter for H.264 encoding in baseline, main & high profiles.
This structure holds information for slice_layer_without_partitioning_rbsp()
as defined by the H.264 specification.
If packed slice headers mode is used, i.e. if the encoding pipeline was configured with the VA_ENC_PACKED_HEADER_SLICE flag, then the driver expects two more buffers to be provided to the same vaRenderPicture()
as this buffer:
If per-macroblock encoder configuration is needed, macroblock_info
references a buffer of type VAEncMacroblockParameterBufferH264. This buffer is not passed to vaRenderPicture() and it can be re-used without re-allocating the whole buffer.
VABufferID VAEncSliceParameterBufferH264::macroblock_info |
Per-MB encoder configuration buffer, or VA_INVALID_ID
.
If per-MB encoder configuration is needed, then macroblock_info references a buffer of type VAEncMacroblockParameterBufferH264 (VAEncMacroblockParameterBufferType
). Otherwise, buffer id is set to VA_INVALID_ID
and per-MB configuration is derived from this slice parameter.
The macroblock_info
buffer must hold num_macroblocks elements.