47 typedef struct _VAEncMiscParameterFEIFrameControlH264 {
89 uint32_t num_mv_predictors_l1 : 16;
102 uint32_t reserved0 : 16;
165 uint32_t reserved1 : 4;
169 uint32_t ref_height : 8;
183 uint32_t reserved2 : 12;
195 typedef struct _VAEncFEIMBControlH264 {
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;
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;
386 uint32_t reserved0 : 8;
388 uint32_t sub_mb_part_mask : 7;
410 uint32_t adaptive_search : 1;
431 uint32_t reserved1 : 8;
435 uint32_t ref_height : 8;
449 uint32_t reserved2 : 12;
457 uint32_t reserved3 : 29;
458 uint32_t reserved4[2];
467 typedef struct _VAStatsStatisticsH264 {
470 uint32_t inter_mode0 : 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;
486 uint32_t reserved1 : 31;
491 uint32_t variance_8x8[4];
496 uint32_t pixel_average_8x8[4];
#define VA_PADDING_LOW
Definition: va.h:360
VAGenericID VABufferID
Definition: va.h:2019
VAEncFEIDistortionH264 defines the data structure for VAEncFEIDistortionBufferType per 16x16 MB block...
Definition: va_fei_h264.h:359
FEI output.
Definition: va_fei_h264.h:271
FEI MB level control data structure.
Definition: va_fei_h264.h:195
uint32_t force_to_intra
when set, correposndent MB is coded as intra
Definition: va_fei_h264.h:197
uint32_t max_size_in_word
specifies the max size of each MB
Definition: va_fei_h264.h:215
uint32_t target_size_in_word
when mb_size_ctrl is set, size here is used to budget accumulatively. Set to 0xFF if don't care.
Definition: va_fei_h264.h:213
uint32_t force_to_nonskip
specifies whether this macroblock should be coded as a non-skipped macroblock.
Definition: va_fei_h264.h:201
uint32_t force_to_skip
when set, correposndent MB is coded as skip
Definition: va_fei_h264.h:199
Application can use this definition as reference to allocate the buffer based on MaxNumPredictor retu...
Definition: va_fei_h264.h:222
FEI frame level control buffer for H.264.
Definition: va_fei_h264.h:47
uint32_t ref_width
motion search window(ref_width * ref_height)
Definition: va_fei_h264.h:168
uint32_t multi_pred_l1
Definition: va_fei_h264.h:124
uint32_t sub_mb_part_mask
defines the bit-mask for disabling sub-partition The lower 4 bits are for the major partitions (sub-m...
Definition: va_fei_h264.h:114
uint32_t intra_sad
Definition: va_fei_h264.h:138
uint32_t mb_qp
Definition: va_fei_h264.h:156
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
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
uint32_t search_path
motion search method definition 0: default value, diamond search 1: full search 2: diamond search
Definition: va_fei_h264.h:96
uint32_t max_frame_size
max frame size control with multi passes QP setting
Definition: va_fei_h264.h:186
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
uint32_t multi_pred_l0
Definition: va_fei_h264.h:122
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
uint32_t search_window
predefined motion search windows. If selected, len_sp, window(ref_width * ref_eight) and search_path ...
Definition: va_fei_h264.h:182
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
uint32_t repartition_check_enable
Definition: va_fei_h264.h:144
uint32_t adaptive_search
Definition: va_fei_h264.h:148
uint32_t mb_size_ctrl
Definition: va_fei_h264.h:161
uint32_t mb_input
Definition: va_fei_h264.h:158
uint8_t * delta_qp
delta QP list for every pass
Definition: va_fei_h264.h:190
uint32_t inter_sad
Definition: va_fei_h264.h:134
uint32_t mv_predictor_enable
Definition: va_fei_h264.h:154
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
uint32_t colocated_mb_distortion
Definition: va_fei_h264.h:164
uint32_t intra_part_mask
Definition: va_fei_h264.h:120
uint32_t distortion_type
Definition: va_fei_h264.h:142
uint32_t len_sp
maximum number of Search Units, valid range is [1, 63] 0 is treated as 1. reference search locations ...
Definition: va_fei_h264.h:101
uint32_t sub_pel_mode
Definition: va_fei_h264.h:130
uint32_t num_mv_predictors_l0
number of MV predictors. It must not be greater than maximum supported MV predictor.
Definition: va_fei_h264.h:88
Generic motion vector data structure.
Definition: va.h:414
VAStatsStatisticsH264. H264 Statistics buffer layout for VAStatsStatisticsBufferType and VAStatsStati...
Definition: va_fei_h264.h:467
uint32_t pixel_average_16x16
DWORD 11 pixel_average for block16x16.
Definition: va_fei_h264.h:494
uint32_t best_inter_distortion1
future reference
Definition: va_fei_h264.h:473
uint32_t variance_16x16
DWORD 6 variance for block16x16.
Definition: va_fei_h264.h:489
uint32_t mb_is_flat
DWORD 5 flat info.
Definition: va_fei_h264.h:485
uint32_t best_inter_distortion0
past reference
Definition: va_fei_h264.h:469
Motion Vector and Statistics frame level controls. VAStatsStatisticsParameterBufferType for H264 16x1...
Definition: va_fei_h264.h:374
uint32_t disable_statistics_output
StatisticsOutput. When set to 1, Statistics output is NOT provided.
Definition: va_fei_h264.h:454
uint32_t intra_part_mask
luma intra mode partition mask xxxx1: luma_intra_16x16 disabled xxx1x: luma_intra_8x8 disabled xx1xx:...
Definition: va_fei_h264.h:430
uint32_t search_path
motion search method definition 0: default value, diamond search 1: full search 2: diamond search
Definition: va_fei_h264.h:385
uint32_t ref_width
motion search window(ref_width * ref_height)
Definition: va_fei_h264.h:434
uint32_t search_window
predefined motion search windows. If selected, len_sp, window(ref_width * ref_eight) and search_path ...
Definition: va_fei_h264.h:448
uint32_t inter_sad
distortion measure adjustment for inter search SAD comparison 00b: none 01b: reserved 10b: Haar trans...
Definition: va_fei_h264.h:402
uint32_t len_sp
length of search path
Definition: va_fei_h264.h:379
uint32_t sub_pel_mode
sub pixel mode definition 00b: integer mode searching 01b: half-pel mode searching 10b: reserved 11b:...
Definition: va_fei_h264.h:395
uint32_t enable_8x8_statistics
block 8x8 data enabling in statistics output
Definition: va_fei_h264.h:456
uint32_t disable_mv_output
MVOutput. When set to 1, MV output is NOT provided.
Definition: va_fei_h264.h:452
uint32_t ft_enable
forward transform enable 0: disable 1: enable, needs frame_qp or mb_qp input for transform
Definition: va_fei_h264.h:423
uint32_t intra_sad
distortion measure adjustment for intra search SAD comparison 00b: none 01b: reserved 10b: Haar trans...
Definition: va_fei_h264.h:409
uint32_t mv_predictor_ctrl
indicate if future or/and past MV in mv_predictor buffer is valid. 0: MV predictor disabled 1: MV pre...
Definition: va_fei_h264.h:417
Motion Vector and Statistics frame level controls. common part VAStatsStatisticsParameterBufferType f...
Definition: va_fei.h:107
The FEI encoding common API.