|
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.
1.9.1