> -----Original Message----- > From: ffmpeg-devel <ffmpeg-devel-boun...@ffmpeg.org> On Behalf Of Xu > Guangxin > Sent: Monday, February 22, 2021 9:45 AM > To: ffmpeg-devel@ffmpeg.org > Cc: Xu Guangxin <guangxin...@intel.com> > Subject: [FFmpeg-devel] [PATCH] avutils/hwcontext_qsv: set the source > device in qsv_device_create > > opencl_device_derive only handles AV_HWDEVICE_TYPE_VAAPI. > We need a source device for qsv. > > this will fix following pipeline: > ffmpeg -init_hw_device vaapi=intel:/dev/dri/renderD128 -init_hw_device > opencl=ocl@intel -hwaccel qsv -c:v h264_qsv -hwaccel_output_format qsv -i > $input -filter_hw_device ocl -vf > 'hwmap=derive_device=opencl,format=opencl,unsharp_opencl,hwmap=der > ive_device=qsv:reverse=1:extra_hw_frames=32' -c:v hevc_qsv -y test.h265 > --- > libavutil/hwcontext_qsv.c | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/libavutil/hwcontext_qsv.c b/libavutil/hwcontext_qsv.c index > 35a944f8f8..af3ee32cac 100644 > --- a/libavutil/hwcontext_qsv.c > +++ b/libavutil/hwcontext_qsv.c > @@ -1269,7 +1269,13 @@ static int qsv_device_create(AVHWDeviceContext > *ctx, const char *device, > > impl = choose_implementation(device); > > - return qsv_device_derive_from_child(ctx, impl, child_device, 0); > + ret = qsv_device_derive_from_child(ctx, impl, child_device, 0); > + if (ret == 0) { > + ctx->internal->source_device = av_buffer_ref(priv->child_device_ctx); > + if (!ctx->internal->source_device) > + ret = AVERROR(ENOMEM); > + } > + return ret; > }
That's funny, I made almost the same change only two days ago: impl = choose_implementation(device); ret = qsv_device_derive_from_child(ctx, impl, child_device, 0); if (ret >= 0) ctx->internal->source_device = av_buffer_ref(priv->child_device_ctx); return ret; From my POV, this change is correct and required. softworkz _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".