From 8a74638dc743007f6d5d6bb3a672167fce353480 Mon Sep 17 00:00:00 2001 From: wm4 Date: Wed, 23 Apr 2014 01:17:28 +0200 Subject: video: add a "hwdec" property to enable or disable hw decoding at runtime --- video/decode/vd_lavc.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'video/decode/vd_lavc.c') diff --git a/video/decode/vd_lavc.c b/video/decode/vd_lavc.c index 4935913d73..57b391a6a2 100644 --- a/video/decode/vd_lavc.c +++ b/video/decode/vd_lavc.c @@ -225,6 +225,8 @@ static int init(struct dec_video *vd, const char *decoder) ctx->log = vd->log; ctx->opts = vd->opts; + ctx->selected_hwdec = vd->opts->hwdec_api; + if (bstr_endswith0(bstr0(decoder), "_vdpau")) { MP_WARN(vd, "VDPAU decoder '%s' was requested. " "This way of enabling hardware\ndecoding is not supported " @@ -646,6 +648,13 @@ static int control(struct dec_video *vd, int cmd, void *arg) delay += avctx->thread_count - 1; *(int *)arg = delay; return CONTROL_TRUE; + case VDCTRL_GET_HWDEC: { + int hwdec = ctx->selected_hwdec; + if (!ctx->software_fallback_decoder) + hwdec = 0; + *(int *)arg = hwdec; + return CONTROL_TRUE; + } case VDCTRL_FORCE_HWDEC_FALLBACK: return force_fallback(vd); } -- cgit v1.2.3