From bd747b9226414007f0207fa201976af7217e3b77 Mon Sep 17 00:00:00 2001 From: wm4 Date: Tue, 6 Jun 2017 18:51:08 +0200 Subject: [PATCH] lavc: set avctx->hwaccel before init So a hwaccel can access avctx->hwaccel in init for whatever reason. This is for the new d3d hwaccel API. We could create separate entrypoints for each of the 3 hwaccel types (dxva2, d3d11va, new d3d11va), but this seems nicer. Signed-off-by: Diego Biurrun --- libavcodec/decode.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavcodec/decode.c b/libavcodec/decode.c index bb58dfc561..ae2c715677 100644 --- a/libavcodec/decode.c +++ b/libavcodec/decode.c @@ -746,16 +746,16 @@ static int setup_hwaccel(AVCodecContext *avctx, return AVERROR(ENOMEM); } + avctx->hwaccel = hwa; if (hwa->init) { ret = hwa->init(avctx); if (ret < 0) { av_freep(&avctx->internal->hwaccel_priv_data); + avctx->hwaccel = NULL; return ret; } } - avctx->hwaccel = hwa; - return 0; }