On Tue, 27 Aug 2019 10:08:43 -0700 Philip Langdale <phil...@overt.org> wrote:
> On 2019-08-08 11:33, OvchinnikovDmitrii wrote: > > > > diff --git a/libavcodec/amfenc.c b/libavcodec/amfenc.c > > index 384d8efc92..f66b95645e 100644 > > --- a/libavcodec/amfenc.c > > +++ b/libavcodec/amfenc.c > > @@ -213,6 +213,7 @@ static int > > amf_init_from_dxva2_device(AVCodecContext *avctx, > > AVDXVA2DeviceContex static int amf_init_context(AVCodecContext > > *avctx) { > > AmfContext *ctx = avctx->priv_data; > > + AMFContext1 *context1 = NULL; > > AMF_RESULT res; > > av_unused int ret; > > > > @@ -311,8 +312,20 @@ static int amf_init_context(AVCodecContext > > *avctx) if (res == AMF_OK) { > > av_log(avctx, AV_LOG_VERBOSE, "AMF initialisation > > succeeded via D3D9.\n"); > > } else { > > - av_log(avctx, AV_LOG_ERROR, "AMF initialisation > > failed via D3D9: error %d.\n", res); > > - return AVERROR(ENOSYS); > > + AMFGuid guid = IID_AMFContext1(); > > + res = > > ctx->context->pVtbl->QueryInterface(ctx->context, &guid, > > (void**)&context1); > > + AMF_RETURN_IF_FALSE(ctx, res == AMF_OK, > > AVERROR_UNKNOWN, "CreateContext1() failed with error %d\n", res); > > + > > + res = context1->pVtbl->InitVulkan(context1, NULL); > > + context1->pVtbl->Release(context1); > > + if (res != AMF_OK) { > > + if (res == AMF_NOT_SUPPORTED) > > + av_log(avctx, AV_LOG_ERROR, "AMF via Vulkan > > is not supported on the given device.\n"); > > + else > > + av_log(avctx, AV_LOG_ERROR, "AMF failed to > > initialise on the given Vulkan device: %d.\n", res); > > + return AVERROR(ENOSYS); > > + } > > + av_log(avctx, AV_LOG_VERBOSE, "AMF initialisation > > succeeded via Vulkan.\n"); > > } > > } > > } > > It's fully contained in the decoder, so it's fine, and strictly better > than before. However, keep in mind that if we ever follow through on > adding a Vulkan hwcontext, this would need to be handled in a > different way - but we'll deal with that when we get there. > > I'll push it when I get a chance later today. Pushed with changelog and micro bump. --phil _______________________________________________ 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".