From 95c6a482eb9d97f180b54e45d2c5aa360b218cba Mon Sep 17 00:00:00 2001 From: wm4 Date: Tue, 31 Oct 2017 17:11:45 +0100 Subject: vd_lavc: clean out more hwdec legacy code All this code used to be required by the old variants of the libavcodec hw decoding APIs. Almost all of that is gone, although the mediacodec API unfortunately still pulls in some old stuff (but not all of it). (mediacodec build/functionality is untested, but should work.) --- video/decode/vd_lavc.c | 28 +++------------------------- 1 file changed, 3 insertions(+), 25 deletions(-) (limited to 'video/decode/vd_lavc.c') diff --git a/video/decode/vd_lavc.c b/video/decode/vd_lavc.c index 75cf8a6416..c455dbdab6 100644 --- a/video/decode/vd_lavc.c +++ b/video/decode/vd_lavc.c @@ -562,9 +562,7 @@ static void init_avctx(struct dec_video *vd, const char *decoder, if (strstr(decoder, "_mmal")) ctx->codec_timebase = (AVRational){1, 1000000}; - ctx->pix_fmt = AV_PIX_FMT_NONE; ctx->hwdec = hwdec; - ctx->hwdec_fmt = 0; ctx->hwdec_failed = false; ctx->hwdec_request_reinit = false; ctx->avctx = avcodec_alloc_context3(lavc_codec); @@ -590,8 +588,6 @@ static void init_avctx(struct dec_video *vd, const char *decoder, avctx->hwaccel_flags |= AV_HWACCEL_FLAG_ALLOW_PROFILE_MISMATCH; if (ctx->hwdec->image_format) avctx->get_format = get_format_hwdec; - if (ctx->hwdec->init && ctx->hwdec->init(ctx) < 0) - goto error; if (ctx->hwdec->generic_hwaccel) { ctx->hwdec_dev = hwdec_create_dev(vd, ctx->hwdec, false); if (!ctx->hwdec_dev) @@ -818,28 +814,10 @@ static enum AVPixelFormat get_format_hwdec(struct AVCodecContext *avctx, if (ctx->hwdec->generic_hwaccel) { if (init_generic_hwaccel(vd, fmt[i]) < 0) break; - select = fmt[i]; - break; - } - // There could be more reasons for a change, and it's possible - // that we miss some. (Might also depend on the hwaccel type.) - bool change = - ctx->hwdec_w != avctx->coded_width || - ctx->hwdec_h != avctx->coded_height || - ctx->hwdec_fmt != ctx->hwdec->image_format || - ctx->hwdec_profile != avctx->profile || - ctx->hwdec_request_reinit; - ctx->hwdec_w = avctx->coded_width; - ctx->hwdec_h = avctx->coded_height; - ctx->hwdec_fmt = ctx->hwdec->image_format; - ctx->hwdec_profile = avctx->profile; - ctx->hwdec_request_reinit = false; - if (change && ctx->hwdec->init_decoder) { - if (ctx->hwdec->init_decoder(ctx, ctx->hwdec_w, ctx->hwdec_h) < 0) - { - ctx->hwdec_fmt = 0; + } else { + ctx->hwdec_request_reinit = false; + if (ctx->hwdec->init_decoder && ctx->hwdec->init_decoder(ctx) < 0) break; - } } select = fmt[i]; break; -- cgit v1.2.3