From 80359c6615658f2784dd834a6978e43022799745 Mon Sep 17 00:00:00 2001 From: wm4 Date: Fri, 1 Dec 2017 18:01:15 +0100 Subject: vd_lavc: drop mediacodec direct rendering support temporarily The libavcodec mediacodec support does not conform to the new hwaccel APIs yet. It has been agreed uppon that this glue code can be deleted for now, and support for it will be restored at a later point. Readding would require that it supports the AVCodecContext.hw_device_ctx API. The hw_device_ctx would then contain the surface ID. vo_mediacodec_embed would actually perform the task of creating vo.hwdec_devs and adding a mp_hwdec_ctx, whose av_device_ref is a AVHWDeviceContext containing the android surface. --- video/decode/hw_mediacodec.c | 65 -------------------------------------------- 1 file changed, 65 deletions(-) delete mode 100644 video/decode/hw_mediacodec.c (limited to 'video/decode/hw_mediacodec.c') diff --git a/video/decode/hw_mediacodec.c b/video/decode/hw_mediacodec.c deleted file mode 100644 index 0f52695857..0000000000 --- a/video/decode/hw_mediacodec.c +++ /dev/null @@ -1,65 +0,0 @@ -/* - * This file is part of mpv. - * - * mpv is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * mpv is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with mpv. If not, see . - */ - -#include - -#include - -#include "options/options.h" -#include "video/decode/lavc.h" - -static int probe(struct lavc_ctx *ctx, struct vd_lavc_hwdec *hwdec, - const char *codec) -{ - if (ctx->opts->vo->WinID == 0) - return HWDEC_ERR_NO_CTX; - - return 0; -} - -static int init_decoder(struct lavc_ctx *ctx) -{ - av_mediacodec_default_free(ctx->avctx); - - AVMediaCodecContext *mcctx = av_mediacodec_alloc_context(); - if (!mcctx) - return -1; - - void *surface = (void *)(intptr_t)(ctx->opts->vo->WinID); - return av_mediacodec_default_init(ctx->avctx, mcctx, surface); -} - -static void uninit(struct lavc_ctx *ctx) -{ - if (ctx->avctx) - av_mediacodec_default_free(ctx->avctx); -} - -const struct vd_lavc_hwdec mp_vd_lavc_mediacodec = { - .type = HWDEC_MEDIACODEC, - .image_format = IMGFMT_MEDIACODEC, - .lavc_suffix = "_mediacodec", - .probe = probe, - .init_decoder = init_decoder, - .uninit = uninit, -}; - -const struct vd_lavc_hwdec mp_vd_lavc_mediacodec_copy = { - .type = HWDEC_MEDIACODEC_COPY, - .lavc_suffix = "_mediacodec", - .copying = true, -}; -- cgit v1.2.3