diff --git a/mediaPlayer/SuperMediaPlayer.cpp b/mediaPlayer/SuperMediaPlayer.cpp index 2c88fca6b..f68f231f0 100644 --- a/mediaPlayer/SuperMediaPlayer.cpp +++ b/mediaPlayer/SuperMediaPlayer.cpp @@ -3130,6 +3130,11 @@ int SuperMediaPlayer::SetUpVideoPath() bHW = !(value == "OFF"); break; } + case AF_CODEC_ID_HEVC: { + string value = getProperty("ro.video.dec.hevc"); + bHW = !(value == "OFF"); + break; + } default: bHW = true; diff --git a/platform/Android/source/premierlibrary/src/main/java/com/cicada/player/CicadaPlayerFactory.java b/platform/Android/source/premierlibrary/src/main/java/com/cicada/player/CicadaPlayerFactory.java index f700bd134..76cac2438 100644 --- a/platform/Android/source/premierlibrary/src/main/java/com/cicada/player/CicadaPlayerFactory.java +++ b/platform/Android/source/premierlibrary/src/main/java/com/cicada/player/CicadaPlayerFactory.java @@ -108,7 +108,9 @@ public static enum BlackType { /**** * H264 hardware decoding. */ - HW_Decode_H264 + HW_Decode_H264, + + HW_Decode_HEVC } /** diff --git a/platform/Android/source/premierlibrary/src/main/jni/player/NativeBase.cpp b/platform/Android/source/premierlibrary/src/main/jni/player/NativeBase.cpp index 1bfcea0ff..efd53aec9 100644 --- a/platform/Android/source/premierlibrary/src/main/jni/player/NativeBase.cpp +++ b/platform/Android/source/premierlibrary/src/main/jni/player/NativeBase.cpp @@ -796,9 +796,19 @@ jstring NativeBase::java_GetSdkVersion(JNIEnv *env, jclass jclazz) void NativeBase::java_SetBlackType(JNIEnv *env, jclass jclazz, jint type) { AF_TRACE; - - if (type == 0) { //hw_decode_h264 - setProperty("ro.video.dec.h264", "OFF"); + const char *key = nullptr; + switch (type) { + case 0://hw_decode_h264 + key = "ro.video.dec.h264"; + break; + case 1://hw_decode_hevc + key = "ro.video.dec.hevc"; + break; + default: + break; + } + if (key != nullptr) { + setProperty(key, "OFF"); } }