unsigned int is_dn_enabled = (proc_ctx->filters_mask & 0x01)? 1: 0;
unsigned int is_di_enabled = (proc_ctx->filters_mask & 0x02)? 1: 0;
unsigned int is_iecp_enabled = (proc_ctx->filters_mask & 0xff00)?1:0;
- unsigned int is_first_frame = !!(proc_ctx->is_first_frame &&
+ unsigned int is_first_frame = !!((proc_ctx->frame_order == -1) &&
(is_di_enabled ||
is_dn_enabled));
hsw_veb_pre_format_convert(ctx, proc_ctx);
hsw_veb_surface_reference(ctx, proc_ctx);
- if(proc_ctx->is_first_frame){
+ if (proc_ctx->frame_order == -1) {
hsw_veb_resource_prepare(ctx, proc_ctx);
}
hsw_veb_surface_unreference(ctx, proc_ctx);
- if(proc_ctx->is_first_frame)
- proc_ctx->is_first_frame = 0;
+ proc_ctx->frame_order = (proc_ctx->frame_order + 1) % 2;
return VA_STATUS_SUCCESS;
}
proc_context->filters_mask = 0;
- proc_context->is_first_frame = 1;
+ proc_context->frame_order = -1; /* the first frame */
proc_context->surface_output_object = NULL;
proc_context->surface_input_object = NULL;
proc_context->surface_input_vebox = VA_INVALID_ID;
VEBBuffer vertex_state_table;
unsigned int filters_mask;
- unsigned char is_first_frame;
+ int frame_order;
VAProcPipelineParameterBuffer * pipeline_param;
void * filter_dn;