What android devices/decoder has supported adaptiv

2019-04-13 06:30发布

I've tested on Nexus 5 that

codecInfo.isFeatureSupported(MediaCodecInfo.CodecCapabilities.FEATURE_AdaptivePlayback)

returns false.

Does anyone know what chipset/software codec has supported the feature?

https://developer.android.com/reference/android/media/MediaCodecInfo.CodecCapabilities.html#FEATURE_AdaptivePlayback

Thanks

1条回答
地球回转人心会变
2楼-- · 2019-04-13 07:05

This is supported on most Nexus devices past KK MR1. Note, that it is HW video decoders only.

Nexus 5 (KK MR1): // Qualcomm Snapdragon 800

  • OMX.qcom.video.decoder.avc
  • OMX.qcom.video.decoder.mpeg4
  • OMX.qcom.video.decoder.h263
  • OMX.qcom.video.decoder.vp8

Nexus 4 and Nexus 7 v2013 (KK MR1): // Qualcomm Snapdragon S4 Pro APQ8064

  • OMX.qcom.video.decoder.avc
  • OMX.qcom.video.decoder.mpeg4
  • OMX.qcom.video.decoder.h263

Nexus 10 (KK MR1) // Samsung Exynos 5250

  • OMX.Exynos.MPEG4.Decoder
  • OMX.Exynos.H263.Decoder
  • OMX.Exynos.AVC.Decoder

Notable exceptions:

  • Nexus 7 v2012 (no codecs support it in KK MR1)

For non-Nexus devices you need to query the codecs yourself. Here is my code-snippet that I did for the query.

int numCodecs = MediaCodecList.getCodecCount();
for (int i = 0; i < numCodecs; i++) {
    MediaCodecInfo codecInfo = MediaCodecList.getCodecInfoAt(i);
    String name = codecInfo.getName();
    Log.i(TAG, "Examinig " + (codecInfo.isEncoder() ? "encoder" : "decoder") + ": " + name);
    for(String type: codecInfo.getSupportedTypes()) {
        boolean ap = codecInfo.getCapabilitiesForType(type).isFeatureSupported(MediaCodecInfo.CodecCapabilities.FEATURE_AdaptivePlayback);
        Log.i(TAG, "supports adaptive playback: " + ap);
    }
}
查看更多
登录 后发表回答