[FFmpeg-devel] [PATCH 1/4] lavfi/qsvvpp: change the output frame's width and height

Xiang, Haihao haihao.xiang at intel.com
Fri Nov 25 03:52:30 EET 2022


On Thu, 2022-11-24 at 18:57 +0000, Soft Works wrote:
> > -----Original Message-----
> > From: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> On Behalf Of
> > Xiang, Haihao
> > Sent: Thursday, November 24, 2022 10:19 AM
> > To: ffmpeg-devel at ffmpeg.org
> > Cc: Chen,Wenbin <wenbin.chen at intel.com>
> > Subject: [FFmpeg-devel] [PATCH 1/4] lavfi/qsvvpp: change the output
> > frame's width and height
> > 
> > From: "Chen,Wenbin" <wenbin.chen at intel.com>
> > 
> > Make sure the size of the output frame always matches the agreed upon
> > image size.
> > 
> > Signed-off-by: Wenbin Chen <wenbin.chen at intel.com>
> > ---
> >  libavfilter/qsvvpp.c | 5 ++---
> >  1 file changed, 2 insertions(+), 3 deletions(-)
> > 
> > diff --git a/libavfilter/qsvvpp.c b/libavfilter/qsvvpp.c
> > index 8428ee89ab..bf719b2a29 100644
> > --- a/libavfilter/qsvvpp.c
> > +++ b/libavfilter/qsvvpp.c
> > @@ -487,15 +487,14 @@ static QSVFrame *query_frame(QSVVPPContext *s,
> > AVFilterLink *outlink)
> >          if (!out_frame->frame)
> >              return NULL;
> > 
> > -        out_frame->frame->width  = outlink->w;
> > -        out_frame->frame->height = outlink->h;
> > -
> >          ret = map_frame_to_surface(out_frame->frame,
> >                                     &out_frame->surface);
> >          if (ret < 0)
> >              return NULL;
> >      }
> > 
> > +    out_frame->frame->width  = outlink->w;
> > +    out_frame->frame->height = outlink->h;
> >      out_frame->surface.Info = s->vpp_param.vpp.Out;
> > 
> >      return out_frame;
> > --
> 
> Which problem case does this address?

av_hwframe_get_buffer() gets a frame with aligned dimension, the filtered_frame
dimension might not be the expected one if don't reset width and height to the
agreed image width and height. E.g. the filtered frame is 1920x1088, not
1920x1080 in the following command

$ ffmpeg -hwaccel qsv -i input.mp4 -vf "vpp_qsv=w=1920:h=1080" -f null -

Thanks
Haihao



More information about the ffmpeg-devel mailing list