summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--DOCS/man/options.rst1
-rw-r--r--video/decode/hw_mediacodec.c65
-rw-r--r--video/decode/vd_lavc.c12
-rw-r--r--wscript_build.py1
4 files changed, 9 insertions, 70 deletions
diff --git a/DOCS/man/options.rst b/DOCS/man/options.rst
index f01d40e563..4611d60b37 100644
--- a/DOCS/man/options.rst
+++ b/DOCS/man/options.rst
@@ -2524,6 +2524,7 @@ Window
value cast to ``intptr_t``. Use with ``--vo=mediacodec_embed`` and
``--hwdec=mediacodec`` for direct rendering using MediaCodec, or with
``--vo=gpu --gpu-context=android`` (with or without ``--hwdec=mediacodec-copy``).
+ This is currently broken.
``--no-window-dragging``
Don't move the window when clicking on it and moving the mouse pointer.
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 <http://www.gnu.org/licenses/>.
- */
-
-#include <stdbool.h>
-
-#include <libavcodec/mediacodec.h>
-
-#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,
-};
diff --git a/video/decode/vd_lavc.c b/video/decode/vd_lavc.c
index 1005c131c6..a422a53819 100644
--- a/video/decode/vd_lavc.c
+++ b/video/decode/vd_lavc.c
@@ -123,9 +123,6 @@ const struct m_sub_options vd_lavc_conf = {
},
};
-extern const struct vd_lavc_hwdec mp_vd_lavc_mediacodec;
-extern const struct vd_lavc_hwdec mp_vd_lavc_mediacodec_copy;
-
#if HAVE_RPI
static const struct vd_lavc_hwdec mp_vd_lavc_rpi = {
.type = HWDEC_RPI,
@@ -279,6 +276,14 @@ static const struct vd_lavc_hwdec mp_vd_lavc_dxva2_copy = {
};
#endif
+#if HAVE_ANDROID
+static const struct vd_lavc_hwdec mp_vd_lavc_mediacodec_copy = {
+ .type = HWDEC_MEDIACODEC_COPY,
+ .lavc_suffix = "_mediacodec",
+ .copying = true,
+};
+#endif
+
static const struct vd_lavc_hwdec *const hwdec_list[] = {
#if HAVE_D3D_HWACCEL
&mp_vd_lavc_d3d11va,
@@ -310,7 +315,6 @@ static const struct vd_lavc_hwdec *const hwdec_list[] = {
&mp_vd_lavc_vaapi_copy,
#endif
#if HAVE_ANDROID
- &mp_vd_lavc_mediacodec,
&mp_vd_lavc_mediacodec_copy,
#endif
#if HAVE_CUDA_HWACCEL
diff --git a/wscript_build.py b/wscript_build.py
index 83b4e8eca0..e649913626 100644
--- a/wscript_build.py
+++ b/wscript_build.py
@@ -363,7 +363,6 @@ def build(ctx):
( "video/vdpau.c", "vdpau" ),
( "video/vdpau_mixer.c", "vdpau" ),
( "video/decode/dec_video.c"),
- ( "video/decode/hw_mediacodec.c", "android" ),
( "video/decode/vd_lavc.c" ),
( "video/filter/refqueue.c" ),
( "video/filter/vf.c" ),