This is to fix the crash issue caused by the commit 51ad826fcc0d2512f7ef74e807e4b8526663fc28.
Reported-by: Xu,Guangxin <guangxin...@itnel.com> Signed-off-by: Zhao Yakui <yakui.z...@intel.com> --- src/gen75_vpp_vebox.c | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/src/gen75_vpp_vebox.c b/src/gen75_vpp_vebox.c index 566f337..2bc5cf9 100644 --- a/src/gen75_vpp_vebox.c +++ b/src/gen75_vpp_vebox.c @@ -1379,10 +1379,29 @@ int hsw_veb_pre_format_convert(VADriverContextP ctx, proc_ctx->format_convert_flags = 0; - proc_ctx->width_input = proc_ctx->pipeline_param->surface_region->width; - proc_ctx->height_input = proc_ctx->pipeline_param->surface_region->height; - proc_ctx->width_output = proc_ctx->pipeline_param->output_region->width; - proc_ctx->height_output = proc_ctx->pipeline_param->output_region->height; + if ((obj_surf_input == NULL) && + (proc_ctx->pipeline_param->surface_region == NULL)) + assert(0); + + if ((obj_surf_output == NULL) && + (proc_ctx->pipeline_param->output_region == NULL)) + assert(0); + + if (proc_ctx->pipeline_param->surface_region) { + proc_ctx->width_input = proc_ctx->pipeline_param->surface_region->width; + proc_ctx->height_input = proc_ctx->pipeline_param->surface_region->height; + } else { + proc_ctx->width_input = obj_surf_input->orig_width; + proc_ctx->height_input = obj_surf_input->orig_height; + } + + if (proc_ctx->pipeline_param->output_region) { + proc_ctx->width_output = proc_ctx->pipeline_param->output_region->width; + proc_ctx->height_output = proc_ctx->pipeline_param->output_region->height; + } else { + proc_ctx->width_output = obj_surf_output->orig_width; + proc_ctx->height_output = obj_surf_output->orig_height; + } /* only partial frame is not supported to be processed */ /* -- 1.9.1 _______________________________________________ Libva mailing list Libva@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libva