Skip to content

Commit e2c132e

Browse files
authored
Add H264 hardware decoding for Marvell chips (#23)
1 parent 307786e commit e2c132e

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

sdk/android/src/java/org/webrtc/MediaCodecUtils.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ class MediaCodecUtils {
2727
// Prefixes for supported hardware encoder/decoder component names.
2828
static final String EXYNOS_PREFIX = "OMX.Exynos.";
2929
static final String INTEL_PREFIX = "OMX.Intel.";
30+
static final String MARVELL_PREFIX = "OMX.Marvell.";
3031
static final String NVIDIA_PREFIX = "OMX.Nvidia.";
3132
static final String QCOM_PREFIX = "OMX.qcom.";
3233
static final String[] SOFTWARE_IMPLEMENTATION_PREFIXES = {
@@ -46,7 +47,8 @@ class MediaCodecUtils {
4647
MediaCodecUtils.COLOR_QCOM_FORMATYVU420PackedSemiPlanar32m4ka,
4748
MediaCodecUtils.COLOR_QCOM_FORMATYVU420PackedSemiPlanar16m4ka,
4849
MediaCodecUtils.COLOR_QCOM_FORMATYVU420PackedSemiPlanar64x32Tile2m8ka,
49-
MediaCodecUtils.COLOR_QCOM_FORMATYUV420PackedSemiPlanar32m};
50+
MediaCodecUtils.COLOR_QCOM_FORMATYUV420PackedSemiPlanar32m,
51+
MediaCodecInfo.CodecCapabilities.COLOR_FormatYUV420Flexible};
5052

5153
// Color formats supported by hardware encoder - in order of preference.
5254
static final int[] ENCODER_COLOR_FORMATS = {

sdk/android/src/java/org/webrtc/MediaCodecVideoDecoderFactory.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
package org.webrtc;
1212

1313
import static org.webrtc.MediaCodecUtils.EXYNOS_PREFIX;
14+
import static org.webrtc.MediaCodecUtils.MARVELL_PREFIX;
1415
import static org.webrtc.MediaCodecUtils.QCOM_PREFIX;
1516

1617
import android.media.MediaCodecInfo;
@@ -127,8 +128,8 @@ private boolean isCodecAllowed(MediaCodecInfo info) {
127128

128129
private boolean isH264HighProfileSupported(MediaCodecInfo info) {
129130
String name = info.getName();
130-
// Support H.264 HP decoding on QCOM chips.
131-
if (name.startsWith(QCOM_PREFIX)) {
131+
// Support H.264 HP decoding on QCOM and Marvell chips
132+
if (name.startsWith(QCOM_PREFIX) || name.startsWith(MARVELL_PREFIX)) {
132133
return true;
133134
}
134135
// Support H.264 HP decoding on Exynos chips for Android M and above.

0 commit comments

Comments
 (0)