Applied. Thanks Haihao
> The code block filling destination surface target rectangle is too early > and incorrectly fills input surface width & height as final target width > and height. This results in improper scaling of the source surface. > > Move the destination code block further below the point when actual > target surface is referenced and its width and height are known and use > them to fill the destination rectangle. > > Signed-off-by: Antti Seppälä <[email protected]> > --- > src/i965_post_processing.c | 24 ++++++++++++------------ > 1 file changed, 12 insertions(+), 12 deletions(-) > > diff --git a/src/i965_post_processing.c b/src/i965_post_processing.c > index 865dc3f..0481408 100755 > --- a/src/i965_post_processing.c > +++ b/src/i965_post_processing.c > @@ -5550,18 +5550,6 @@ i965_proc_picture(VADriverContextP ctx, > src_rect.height = in_height; > } > > - if (pipeline_param->output_region) { > - dst_rect.x = pipeline_param->output_region->x; > - dst_rect.y = pipeline_param->output_region->y; > - dst_rect.width = pipeline_param->output_region->width; > - dst_rect.height = pipeline_param->output_region->height; > - } else { > - dst_rect.x = 0; > - dst_rect.y = 0; > - dst_rect.width = in_width; > - dst_rect.height = in_height; > - } > - > proc_context->pp_context.pipeline_param = pipeline_param; > > for (i = 0; i < pipeline_param->num_filters; i++) { > @@ -5621,6 +5609,18 @@ i965_proc_picture(VADriverContextP ctx, > goto error; > } > > + if (pipeline_param->output_region) { > + dst_rect.x = pipeline_param->output_region->x; > + dst_rect.y = pipeline_param->output_region->y; > + dst_rect.width = pipeline_param->output_region->width; > + dst_rect.height = pipeline_param->output_region->height; > + } else { > + dst_rect.x = 0; > + dst_rect.y = 0; > + dst_rect.width = obj_surface->orig_width; > + dst_rect.height = obj_surface->orig_height; > + } > + > int csc_needed = 0; > if (obj_surface->fourcc && obj_surface->fourcc != VA_FOURCC_NV12){ > csc_needed = 1; _______________________________________________ Libva mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libva
