1
mirror of https://code.videolan.org/videolan/vlc synced 2024-10-07 03:56:28 +02:00

mediacodec: add an option to enable hwdec

Use --no-mediacodec to disable hardware-accelerated video decoding on Android.
This commit is contained in:
Thomas Guillem 2018-04-20 16:41:25 +02:00
parent 808599f8ee
commit c805ab1b00

View File

@ -166,6 +166,9 @@ static void RemoveInflightPictures(decoder_t *);
/*****************************************************************************
* Module descriptor
*****************************************************************************/
#define MEDIACODEC_ENABLE_TEXT N_("Enable Hardware decoder")
#define MEDIACODEC_ENABLE_LONGTEXT N_("Use MediaCodec for hardware-accelerated video decoding")
#define DIRECTRENDERING_TEXT "Android direct rendering"
#define DIRECTRENDERING_LONGTEXT \
"Enable Android direct rendering using opaque buffers."
@ -183,6 +186,8 @@ vlc_module_begin ()
set_subcategory(SUBCAT_INPUT_VCODEC)
set_section(N_("Decoding"), NULL)
set_capability("video decoder", 800)
add_bool("mediacodec", true, MEDIACODEC_ENABLE_TEXT,
MEDIACODEC_ENABLE_LONGTEXT, false)
add_bool(CFG_PREFIX "dr", true,
DIRECTRENDERING_TEXT, DIRECTRENDERING_LONGTEXT, true)
add_bool(CFG_PREFIX "audio", false,
@ -534,6 +539,10 @@ static void StopMediaCodec(decoder_t *p_dec)
static int OpenDecoder(vlc_object_t *p_this, pf_MediaCodecApi_init pf_init)
{
decoder_t *p_dec = (decoder_t *)p_this;
if (!var_InheritBool(p_dec, "mediacodec"))
return VLC_EGENERIC;
decoder_sys_t *p_sys;
int i_ret;
int i_profile = p_dec->fmt_in.i_profile;