Skip to content
This repository was archived by the owner on Jan 31, 2025. It is now read-only.

Commit 38a124e

Browse files
sreerenjbxhaihao
authored andcommitted
gen9_avc_encoder: macro optimization
Avoid duplicated multiplication, do the frame size calculation once and reuse the result. Signed-off-by: Sreerenj Balachandran <[email protected]>
1 parent 43a75ea commit 38a124e

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

src/gen9_avc_encoder.c

+7-7
Original file line numberDiff line numberDiff line change
@@ -3760,8 +3760,8 @@ gen9_avc_send_surface_mbenc(VADriverContextP ctx,
37603760
VASurfaceID surface_id;
37613761
unsigned int mbenc_i_frame_dist_in_use = param->mbenc_i_frame_dist_in_use;
37623762
unsigned int size = 0;
3763-
unsigned int w_mb = generic_state->frame_width_in_mbs;
3764-
unsigned int h_mb = generic_state->frame_height_in_mbs;
3763+
unsigned int frame_mb_size = generic_state->frame_width_in_mbs *
3764+
generic_state->frame_height_in_mbs;
37653765
int i = 0;
37663766
VAEncSliceParameterBufferH264 * slice_param = avc_state->slice_param[0];
37673767
unsigned char is_g95 = 0;
@@ -3780,7 +3780,7 @@ gen9_avc_send_surface_mbenc(VADriverContextP ctx,
37803780
avc_priv_surface = obj_surface->private_data;
37813781

37823782
/*pak obj command buffer output*/
3783-
size = w_mb * h_mb * 16 * 4;
3783+
size = frame_mb_size * 16 * 4;
37843784
gpe_resource = &avc_priv_surface->res_mb_code_surface;
37853785
gen9_add_buffer_gpe_surface(ctx,
37863786
gpe_context,
@@ -3791,7 +3791,7 @@ gen9_avc_send_surface_mbenc(VADriverContextP ctx,
37913791
GEN9_AVC_MBENC_MFC_AVC_PAK_OBJ_INDEX);
37923792

37933793
/*mv data buffer output*/
3794-
size = w_mb * h_mb * 32 * 4;
3794+
size = frame_mb_size * 32 * 4;
37953795
gpe_resource = &avc_priv_surface->res_mv_data_surface;
37963796
gen9_add_buffer_gpe_surface(ctx,
37973797
gpe_context,
@@ -3937,7 +3937,7 @@ gen9_avc_send_surface_mbenc(VADriverContextP ctx,
39373937
{
39383938
avc_priv_surface = obj_surface->private_data;
39393939
/*pak obj command buffer output(mb code)*/
3940-
size = w_mb * h_mb * 16 * 4;
3940+
size = frame_mb_size * 16 * 4;
39413941
gpe_resource = &avc_priv_surface->res_mb_code_surface;
39423942
gen9_add_buffer_gpe_surface(ctx,
39433943
gpe_context,
@@ -3948,7 +3948,7 @@ gen9_avc_send_surface_mbenc(VADriverContextP ctx,
39483948
GEN9_AVC_MBENC_FWD_MB_DATA_INDEX);
39493949

39503950
/*mv data buffer output*/
3951-
size = w_mb * h_mb * 32 * 4;
3951+
size = frame_mb_size * 32 * 4;
39523952
gpe_resource = &avc_priv_surface->res_mv_data_surface;
39533953
gen9_add_buffer_gpe_surface(ctx,
39543954
gpe_context,
@@ -3997,7 +3997,7 @@ gen9_avc_send_surface_mbenc(VADriverContextP ctx,
39973997
if(param->mb_vproc_stats_enable)
39983998
{
39993999
/*mb status buffer input*/
4000-
size = w_mb * h_mb * 16 * 4;
4000+
size = frame_mb_size * 16 * 4;
40014001
gpe_resource = &(avc_ctx->res_mb_status_buffer);
40024002
gen9_add_buffer_gpe_surface(ctx,
40034003
gpe_context,

0 commit comments

Comments
 (0)