47 typedef struct _VAEncMiscParameterFEIFrameControlH264 {
88 uint32_t num_mv_predictors_l0 : 16;
89 uint32_t num_mv_predictors_l1 : 16;
96 uint32_t search_path : 8;
102 uint32_t reserved0 : 16;
114 uint32_t sub_mb_part_mask : 7;
120 uint32_t intra_part_mask : 5;
122 uint32_t multi_pred_l0 : 1;
124 uint32_t multi_pred_l1 : 1;
130 uint32_t sub_pel_mode : 2;
134 uint32_t inter_sad : 2;
138 uint32_t intra_sad : 2;
142 uint32_t distortion_type : 1;
144 uint32_t repartition_check_enable : 1;
148 uint32_t adaptive_search : 1;
154 uint32_t mv_predictor_enable : 1;
158 uint32_t mb_input : 1;
161 uint32_t mb_size_ctrl : 1;
164 uint32_t colocated_mb_distortion : 1;
165 uint32_t reserved1 : 4;
168 uint32_t ref_width : 8;
169 uint32_t ref_height : 8;
182 uint32_t search_window : 4;
183 uint32_t reserved2 : 12;
195 typedef struct _VAEncFEIMBControlH264 {
197 uint32_t force_to_intra : 1;
199 uint32_t force_to_skip : 1;
201 uint32_t force_to_nonskip : 1;
202 uint32_t enable_direct_bias_adjustment : 1;
203 uint32_t enable_motion_bias_adjustment : 1;
204 uint32_t ext_mv_cost_scaling_factor : 3;
205 uint32_t reserved0 : 24;
211 uint32_t reserved3 : 16;
213 uint32_t target_size_in_word : 8;
215 uint32_t max_size_in_word : 8;
222 typedef struct _VAEncFEIMVPredictorH264 {
228 uint8_t ref_idx_l0 : 4;
229 uint8_t ref_idx_l1 : 4;
271 typedef struct _VAEncFEIMBCodeH264 {
273 uint32_t reserved0[3];
276 uint32_t inter_mb_mode : 2;
277 uint32_t mb_skip_flag : 1;
278 uint32_t reserved1 : 1;
279 uint32_t intra_mb_mode : 2;
280 uint32_t reserved2 : 1;
281 uint32_t field_mb_polarity_flag : 1;
282 uint32_t mb_type : 5;
283 uint32_t intra_mb_flag : 1;
284 uint32_t field_mb_flag : 1;
285 uint32_t transform8x8_flag : 1;
286 uint32_t reserved3 : 1;
287 uint32_t dc_block_coded_cr_flag : 1;
288 uint32_t dc_block_coded_cb_flag : 1;
289 uint32_t dc_block_coded_y_flag : 1;
290 uint32_t reserved4 : 12;
293 uint32_t horz_origin : 8;
294 uint32_t vert_origin : 8;
298 uint32_t cbp_cb : 16;
299 uint32_t cbp_cr : 16;
302 uint32_t qp_prime_y : 8;
303 uint32_t reserved5 : 17;
304 uint32_t mb_skip_conv_disable : 1;
305 uint32_t is_last_mb : 1;
306 uint32_t enable_coefficient_clamp : 1;
307 uint32_t direct8x8_pattern : 4;
313 uint32_t luma_intra_pred_modes0 : 16;
314 uint32_t luma_intra_pred_modes1 : 16;
316 uint32_t luma_intra_pred_modes2 : 16;
317 uint32_t luma_intra_pred_modes3 : 16;
319 uint32_t chroma_intra_pred_mode : 2;
320 uint32_t intra_pred_avail_flag : 5;
321 uint32_t intra_pred_avail_flagF : 1;
322 uint32_t reserved6 : 24;
327 uint32_t sub_mb_shapes : 8;
328 uint32_t sub_mb_pred_modes : 8;
329 uint32_t reserved7 : 16;
331 uint32_t ref_idx_l0_0 : 8;
332 uint32_t ref_idx_l0_1 : 8;
333 uint32_t ref_idx_l0_2 : 8;
334 uint32_t ref_idx_l0_3 : 8;
336 uint32_t ref_idx_l1_0 : 8;
337 uint32_t ref_idx_l1_1 : 8;
338 uint32_t ref_idx_l1_2 : 8;
339 uint32_t ref_idx_l1_3 : 8;
344 uint32_t reserved8 : 16;
345 uint32_t target_size_in_word : 8;
346 uint32_t max_size_in_word : 8;
349 uint32_t reserved9[4];
359 typedef struct _VAEncFEIDistortionH264 {
363 uint16_t inter_distortion[16];
364 uint32_t best_inter_distortion : 16;
365 uint32_t best_intra_distortion : 16;
366 uint32_t colocated_mb_distortion : 16;
367 uint32_t reserved0 : 16;
368 uint32_t reserved1[2];
374 typedef struct _VAStatsStatisticsParameterH264 {
377 uint32_t frame_qp : 8;
385 uint32_t search_path : 8;
386 uint32_t reserved0 : 8;
388 uint32_t sub_mb_part_mask : 7;
395 uint32_t sub_pel_mode : 2;
402 uint32_t inter_sad : 2;
409 uint32_t intra_sad : 2;
410 uint32_t adaptive_search : 1;
417 uint32_t mv_predictor_ctrl : 3;
423 uint32_t ft_enable : 1;
430 uint32_t intra_part_mask : 5;
431 uint32_t reserved1 : 8;
434 uint32_t ref_width : 8;
435 uint32_t ref_height : 8;
448 uint32_t search_window : 4;
449 uint32_t reserved2 : 12;
452 uint32_t disable_mv_output : 1;
454 uint32_t disable_statistics_output : 1;
456 uint32_t enable_8x8_statistics : 1;
457 uint32_t reserved3 : 29;
458 uint32_t reserved4[2];
467 typedef struct _VAStatsStatisticsH264 {
469 uint32_t best_inter_distortion0 : 16;
470 uint32_t inter_mode0 : 16;
473 uint32_t best_inter_distortion1 : 16;
474 uint32_t inter_mode1 : 16;
476 uint32_t best_intra_distortion : 16;
477 uint32_t intra_mode : 16;
479 uint32_t num_non_zero_coef : 16;
480 uint32_t reserved0 : 16;
485 uint32_t mb_is_flat : 1;
486 uint32_t reserved1 : 31;
491 uint32_t variance_8x8[4];
496 uint32_t pixel_average_8x8[4];
VABufferID mb_code_data
MBCode data output of MB ENC. Each 16x16 block has one MB Code data with layout VAEncFEIMBCodeH264 Bu...
Definition: va_fei_h264.h:74
Application can use this definition as reference to allocate the buffer based on MaxNumPredictor retu...
Definition: va_fei_h264.h:222
uint32_t num_passes
number of passes, every pass has different QP
Definition: va_fei_h264.h:188
VABufferID distortion
distortion output of MB ENC or ENC_PAK. Each 16x16 block has one distortion data with VAEncFEIDistort...
Definition: va_fei_h264.h:62
VABufferID mv_predictor
MV predictor. It is valid only when mv_predictor_enable is set to 1. Each 16x16 block has one or more...
Definition: va_fei_h264.h:85
Generic motion vector data structure.
Definition: va.h:413
FEI MB level control data structure.
Definition: va_fei_h264.h:195
FEI frame level control buffer for H.264.
Definition: va_fei_h264.h:47
uint8_t * delta_qp
delta QP list for every pass
Definition: va_fei_h264.h:190
VAGenericID VABufferID
Definition: va.h:2016
VABufferID mb_ctrl
MB (16x16) control input buffer. It is valid only when (mb_input | mb_size_ctrl) is set to 1...
Definition: va_fei_h264.h:56
VAEncFEIDistortionH264 defines the data structure for VAEncFEIDistortionBufferType per 16x16 MB block...
Definition: va_fei_h264.h:359
The FEI encoding common API.
VAStatsStatisticsH264. H264 Statistics buffer layout for VAStatsStatisticsBufferType and VAStatsStati...
Definition: va_fei_h264.h:467
Motion Vector and Statistics frame level controls. VAStatsStatisticsParameterBufferType for H264 16x1...
Definition: va_fei_h264.h:374
#define VA_PADDING_LOW
Definition: va.h:359
uint32_t max_frame_size
max frame size control with multi passes QP setting
Definition: va_fei_h264.h:186
VABufferID mv_data
MVs data output of MB ENC. Each 16x16 block has one MVs data with layout VAMotionVector Buffer size s...
Definition: va_fei_h264.h:68
Motion Vector and Statistics frame level controls. common part VAStatsStatisticsParameterBufferType f...
Definition: va_fei.h:107
uint32_t variance_16x16
DWORD 6 variance for block16x16.
Definition: va_fei_h264.h:489
FEI output.
Definition: va_fei_h264.h:271
uint32_t pixel_average_16x16
DWORD 11 pixel_average for block16x16.
Definition: va_fei_h264.h:494
VABufferID qp
QP input buffer with layout VAEncQPBufferH264. It is valid only when mb_qp is set to 1...
Definition: va_fei_h264.h:79