> From: libav-devel [mailto:libav-devel-boun...@libav.org] On Behalf Of > Ruiling Song > Sent: Friday, January 26, 2018 9:17 AM > To: libav-devel@libav.org > Subject: [libav-devel] [PATCH] hwcontext_qsv: Fix qsv hwupload failure issue > > From: "Ruiling, Song" <ruiling.s...@intel.com> > > 1.) the initial_pool_size need to be set instead of zero. > 2.) the PicStruct is required by MediaSDK, so give a default value. > > A simple command to reproduce the issue: > avconv -i INPUT -init_hw_device qsv=foo -filter_hw_device foo -vf > format=nv12,hwupload -c:v h264_qsv ... OUTPUT > > Signed-off-by: Ruiling Song <ruiling.s...@intel.com> > --- > libavutil/hwcontext_qsv.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/libavutil/hwcontext_qsv.c b/libavutil/hwcontext_qsv.c index > 9270b22..14f26c6 100644 > --- a/libavutil/hwcontext_qsv.c > +++ b/libavutil/hwcontext_qsv.c > @@ -313,6 +313,7 @@ static int qsv_init_surface(AVHWFramesContext *ctx, > mfxFrameSurface1 *surf) > surf->Info.CropH = ctx->height; > surf->Info.FrameRateExtN = 25; > surf->Info.FrameRateExtD = 1; > + surf->Info.PicStruct = MFX_PICSTRUCT_PROGRESSIVE; > > return 0; > } > @@ -325,8 +326,7 @@ static int qsv_init_pool(AVHWFramesContext *ctx, > uint32_t fourcc) > int i, ret = 0; > > if (ctx->initial_pool_size <= 0) { > - av_log(ctx, AV_LOG_ERROR, "QSV requires a fixed frame pool > size\n");
Should keep this log message as a warning be better? > - return AVERROR(EINVAL); > + ctx->initial_pool_size = 64; > } > > s->surfaces_internal = av_mallocz_array(ctx->initial_pool_size, > -- > 2.7.4 _______________________________________________ libav-devel mailing list libav-devel@libav.org https://lists.libav.org/mailman/listinfo/libav-devel