Android 手机的多媒体编解码器列表
通过此 Kotlin 代码获取:
MediaCodecList(MediaCodecList.ALL_CODECS).codecInfos.filter { !it.isAlias }.joinToString("\n") {
"| " + listOf(it.name, it.isHardwareAccelerated, it.supportedTypes.joinToString(", ")).joinToString(" | ") + " |"
}
Redmi K60 Pro (Snapdragon 8G2)
| Name | Hwaccel | Supported Types |
|---------------------------------|---------|---------------------------------------|
| c2.qti.alac.sw.decoder | true | audio/alac |
| c2.qti.ape.sw.decoder | true | audio/x-ape |
| c2.qti.dsd.sw.decoder | true | audio/dsd |
| c2.qti.amrwbplus.hw.decoder | true | audio/amr-wb-plus |
| c2.qti.amrwb+.hw.decoder | true | audio/amr-wb+ |
| c2.qti.wma.hw.decoder | true | audio/x-ms-wma |
| c2.qti.alac.hw.decoder | true | audio/alac |
| c2.qti.ape.hw.decoder | true | audio/x-ape |
| c2.dolby.ac4.decoder | false | audio/ac4 |
| c2.dolby.eac3.decoder | false | audio/ac3, audio/eac3, audio/eac3-joc |
| c2.android.aac.decoder | false | audio/mp4a-latm |
| c2.android.aac.encoder | false | audio/mp4a-latm |
| c2.android.amrnb.decoder | false | audio/3gpp |
| c2.android.amrnb.encoder | false | audio/3gpp |
| c2.android.amrwb.decoder | false | audio/amr-wb |
| c2.android.amrwb.encoder | false | audio/amr-wb |
| c2.android.flac.decoder | false | audio/flac |
| c2.android.flac.encoder | false | audio/flac |
| c2.android.g711.alaw.decoder | false | audio/g711-alaw |
| c2.android.g711.mlaw.decoder | false | audio/g711-mlaw |
| c2.android.mp3.decoder | false | audio/mpeg |
| c2.android.opus.decoder | false | audio/opus |
| c2.android.opus.encoder | false | audio/opus |
| c2.android.raw.decoder | false | audio/raw |
| c2.android.vorbis.decoder | false | audio/vorbis |
| c2.qti.avc.decoder | true | video/avc |
| c2.qti.avc.decoder.low_latency | true | video/avc |
| c2.qti.avc.decoder.secure | true | video/avc |
| c2.qti.hevc.decoder | true | video/hevc |
| c2.qti.hevc.decoder.low_latency | true | video/hevc |
| c2.qti.hevc.decoder.secure | true | video/hevc |
| c2.qti.vp9.decoder | true | video/x-vnd.on2.vp9 |
| c2.qti.vp9.decoder.low_latency | true | video/x-vnd.on2.vp9 |
| c2.qti.vp9.decoder.secure | true | video/x-vnd.on2.vp9 |
| c2.qti.av1.decoder | true | video/av01 |
| c2.qti.av1.decoder.low_latency | true | video/av01 |
| c2.qti.av1.decoder.secure | true | video/av01 |
| c2.qti.avc.encoder | true | video/avc |
| c2.qti.hevc.encoder | true | video/hevc |
| c2.qti.hevc.encoder.cq | true | video/hevc |
| c2.qti.heic.encoder | true | image/vnd.android.heic |
| c2.qti.flac.sw.decoder | true | audio/flac |
| c2.qti.aac.hw.decoder | true | audio/mp4a-latm |
| c2.qti.aac.hw.encoder | true | audio/mp4a-latm |
| c2.qti.amrnb.hw.encoder | true | audio/3gpp |
| c2.qti.amrwb.hw.encoder | true | audio/amr-wb |
| c2.dolby.decoder.hevc | true | video/dolby-vision |
| c2.dolby.decoder.hevc.secure | true | video/dolby-vision |
| c2.android.av1.decoder | false | video/av01 |
| c2.android.avc.decoder | false | video/avc |
| c2.android.avc.encoder | false | video/avc |
| c2.android.h263.decoder | false | video/3gpp |
| c2.android.h263.encoder | false | video/3gpp |
| c2.android.hevc.decoder | false | video/hevc |
| c2.android.hevc.encoder | false | video/hevc |
| c2.android.mpeg4.decoder | false | video/mp4v-es |
| c2.android.mpeg4.encoder | false | video/mp4v-es |
| c2.android.vp8.decoder | false | video/x-vnd.on2.vp8 |
| c2.android.vp8.encoder | false | video/x-vnd.on2.vp8 |
| c2.android.vp9.decoder | false | video/x-vnd.on2.vp9 |
| c2.android.vp9.encoder | false | video/x-vnd.on2.vp9 |
Redmi K40 (Snapdragon 870)
| Name | Hwaccel | Supported Types |
|-------------------------------------|---------|------------------------|
| OMX.dolby.ac3.decoder | true | audio/ac3 |
| OMX.dolby.ac4.decoder | true | audio/ac4 |
| OMX.dolby.eac3.decoder | true | audio/eac3 |
| OMX.dolby.eac3-joc.decoder | true | audio/eac3-joc |
| OMX.qcom.video.encoder.heic | true | image/vnd.android.heic |
| OMX.qcom.video.decoder.avc | true | video/avc |
| OMX.qcom.video.decoder.avc.secure | true | video/avc |
| OMX.qti.video.decoder.h263sw | true | video/3gpp |
| OMX.qcom.video.decoder.hevc | true | video/hevc |
| OMX.qcom.video.decoder.hevc.secure | true | video/hevc |
| OMX.qcom.video.decoder.mpeg2 | true | video/mpeg2 |
| OMX.qcom.video.decoder.mpeg2.secure | true | video/mpeg2 |
| OMX.qti.video.decoder.mpeg4sw | true | video/mp4v-es |
| OMX.qcom.video.decoder.vp8 | true | video/x-vnd.on2.vp8 |
| OMX.qcom.video.decoder.vp9 | true | video/x-vnd.on2.vp9 |
| OMX.qcom.video.decoder.vp9.secure | true | video/x-vnd.on2.vp9 |
| OMX.qcom.video.encoder.avc | true | video/avc |
| OMX.qcom.video.encoder.h263sw | true | video/3gpp |
| OMX.qcom.video.encoder.hevc | true | video/hevc |
| OMX.qcom.video.encoder.hevc.cq | true | video/hevc |
| OMX.qcom.video.encoder.vp8 | true | video/x-vnd.on2.vp8 |
| c2.android.aac.decoder | false | audio/mp4a-latm |
| c2.android.aac.encoder | false | audio/mp4a-latm |
| c2.android.amrnb.decoder | false | audio/3gpp |
| c2.android.amrnb.encoder | false | audio/3gpp |
| c2.android.amrwb.decoder | false | audio/amr-wb |
| c2.android.amrwb.encoder | false | audio/amr-wb |
| c2.android.flac.decoder | false | audio/flac |
| c2.android.flac.encoder | false | audio/flac |
| c2.android.g711.alaw.decoder | false | audio/g711-alaw |
| c2.android.g711.mlaw.decoder | false | audio/g711-mlaw |
| c2.android.mp3.decoder | false | audio/mpeg |
| c2.android.opus.decoder | false | audio/opus |
| c2.android.opus.encoder | false | audio/opus |
| c2.android.raw.decoder | false | audio/raw |
| c2.android.vorbis.decoder | false | audio/vorbis |
| OMX.google.gsm.decoder | false | audio/gsm |
| c2.android.av1.decoder | false | video/av01 |
| c2.android.avc.decoder | false | video/avc |
| c2.android.avc.encoder | false | video/avc |
| c2.android.h263.decoder | false | video/3gpp |
| c2.android.h263.encoder | false | video/3gpp |
| c2.android.hevc.decoder | false | video/hevc |
| c2.android.hevc.encoder | false | video/hevc |
| c2.android.mpeg4.decoder | false | video/mp4v-es |
| c2.android.mpeg4.encoder | false | video/mp4v-es |
| c2.android.vp8.decoder | false | video/x-vnd.on2.vp8 |
| c2.android.vp8.encoder | false | video/x-vnd.on2.vp8 |
| c2.android.vp9.decoder | false | video/x-vnd.on2.vp9 |
| c2.android.vp9.encoder | false | video/x-vnd.on2.vp9 |
| c2.qti.avc.decoder | true | video/avc |
| c2.qti.avc.encoder | true | video/avc |
Redmi Note 7 (Snapdragon 660)
| Name | Hwaccel | Supported Types |
|-------------------------------------|---------|---------------------|
| OMX.qcom.video.decoder.avc | true | video/avc |
| OMX.qcom.video.decoder.avc.secure | true | video/avc |
| OMX.qcom.video.decoder.h263 | true | video/3gpp |
| OMX.qcom.video.decoder.hevc | true | video/hevc |
| OMX.qcom.video.decoder.hevc.secure | true | video/hevc |
| OMX.qcom.video.decoder.mpeg2 | true | video/mpeg2 |
| OMX.qcom.video.decoder.mpeg2.secure | true | video/mpeg2 |
| OMX.qcom.video.decoder.mpeg4 | true | video/mp4v-es |
| OMX.qcom.video.decoder.vp8 | true | video/x-vnd.on2.vp8 |
| OMX.qcom.video.decoder.vp9 | true | video/x-vnd.on2.vp9 |
| OMX.qcom.video.decoder.vp9.secure | true | video/x-vnd.on2.vp9 |
| OMX.qcom.video.encoder.avc | true | video/avc |
| OMX.qcom.video.encoder.h263 | true | video/3gpp |
| OMX.qcom.video.encoder.hevc | true | video/hevc |
| OMX.qcom.video.encoder.mpeg4 | true | video/mp4v-es |
| OMX.qcom.video.encoder.vp8 | true | video/x-vnd.on2.vp8 |
| OMX.google.aac.decoder | false | audio/mp4a-latm |
| OMX.google.amrnb.decoder | false | audio/3gpp |
| OMX.google.amrwb.decoder | false | audio/amr-wb |
| OMX.google.flac.decoder | false | audio/flac |
| OMX.google.g711.alaw.decoder | false | audio/g711-alaw |
| OMX.google.g711.mlaw.decoder | false | audio/g711-mlaw |
| OMX.google.gsm.decoder | false | audio/gsm |
| OMX.google.mp3.decoder | false | audio/mpeg |
| OMX.google.raw.decoder | false | audio/raw |
| OMX.google.vorbis.decoder | false | audio/vorbis |
| OMX.google.aac.encoder | false | audio/mp4a-latm |
| OMX.google.amrnb.encoder | false | audio/3gpp |
| OMX.google.amrwb.encoder | false | audio/amr-wb |
| OMX.google.flac.encoder | false | audio/flac |
| c2.android.aac.decoder | false | audio/mp4a-latm |
| c2.android.aac.encoder | false | audio/mp4a-latm |
| c2.android.amrnb.decoder | false | audio/3gpp |
| c2.android.amrnb.encoder | false | audio/3gpp |
| c2.android.amrwb.decoder | false | audio/amr-wb |
| c2.android.amrwb.encoder | false | audio/amr-wb |
| c2.android.flac.decoder | false | audio/flac |
| c2.android.flac.encoder | false | audio/flac |
| c2.android.g711.alaw.decoder | false | audio/g711-alaw |
| c2.android.g711.mlaw.decoder | false | audio/g711-mlaw |
| c2.android.mp3.decoder | false | audio/mpeg |
| c2.android.opus.decoder | false | audio/opus |
| c2.android.opus.encoder | false | audio/opus |
| c2.android.raw.decoder | false | audio/raw |
| c2.android.vorbis.decoder | false | audio/vorbis |
| c2.android.av1.decoder | false | video/av01 |
| c2.android.avc.decoder | false | video/avc |
| c2.android.avc.encoder | false | video/avc |
| c2.android.h263.decoder | false | video/3gpp |
| c2.android.h263.encoder | false | video/3gpp |
| c2.android.hevc.decoder | false | video/hevc |
| c2.android.hevc.encoder | false | video/hevc |
| c2.android.mpeg4.decoder | false | video/mp4v-es |
| c2.android.mpeg4.encoder | false | video/mp4v-es |
| c2.android.vp8.decoder | false | video/x-vnd.on2.vp8 |
| c2.android.vp8.encoder | false | video/x-vnd.on2.vp8 |
| c2.android.vp9.decoder | false | video/x-vnd.on2.vp9 |
| c2.android.vp9.encoder | false | video/x-vnd.on2.vp9 |
Redmi 9 (Helio G80)
| Name | Hwaccel | Supported Types |
|----------------------------------|---------|-----------------------|
| OMX.MTK.AUDIO.DECODER.MP3 | true | audio/mpeg |
| c2.android.aac.decoder | false | audio/mp4a-latm |
| c2.android.aac.encoder | false | audio/mp4a-latm |
| c2.android.amrnb.decoder | false | audio/3gpp |
| c2.android.amrnb.encoder | false | audio/3gpp |
| c2.android.amrwb.decoder | false | audio/amr-wb |
| c2.android.amrwb.encoder | false | audio/amr-wb |
| c2.android.flac.decoder | false | audio/flac |
| c2.android.flac.encoder | false | audio/flac |
| c2.android.g711.alaw.decoder | false | audio/g711-alaw |
| c2.android.g711.mlaw.decoder | false | audio/g711-mlaw |
| c2.android.mp3.decoder | false | audio/mpeg |
| c2.android.opus.decoder | false | audio/opus |
| c2.android.opus.encoder | false | audio/opus |
| c2.android.raw.decoder | false | audio/raw |
| c2.android.vorbis.decoder | false | audio/vorbis |
| OMX.MTK.AUDIO.DECODER.ADPCM.MS | true | audio/x-adpcm-ms |
| OMX.MTK.AUDIO.DECODER.ADPCM.DVI | true | audio/x-adpcm-dvi-ima |
| OMX.MTK.AUDIO.DECODER.ALAC | true | audio/alac |
| OMX.MTK.AUDIO.DECODER.APE | true | audio/ape |
| OMX.MTK.AUDIO.DECODER.GSM | true | audio/gsm |
| OMX.MTK.VIDEO.DECODER.AVC | true | video/avc |
| OMX.MTK.VIDEO.DECODER.AVC.secure | true | video/avc |
| OMX.MTK.VIDEO.DECODER.DIVX | true | video/divx |
| OMX.MTK.VIDEO.DECODER.DIVX3 | true | video/divx3 |
| OMX.MTK.VIDEO.DECODER.H263 | true | video/3gpp |
| OMX.MTK.VIDEO.DECODER.HEVC | true | video/hevc |
| OMX.MTK.VIDEO.DECODER.MPEG2 | true | video/mpeg2 |
| OMX.MTK.VIDEO.DECODER.MPEG4 | true | video/mp4v-es |
| OMX.MTK.VIDEO.DECODER.VPX | true | video/x-vnd.on2.vp8 |
| OMX.MTK.VIDEO.DECODER.VP9 | true | video/x-vnd.on2.vp9 |
| OMX.MTK.VIDEO.DECODER.VC1 | true | video/x-ms-wmv |
| OMX.MTK.VIDEO.DECODER.XVID | true | video/xvid |
| OMX.MTK.VIDEO.ENCODER.AVC | true | video/avc |
| OMX.MTK.VIDEO.ENCODER.H263 | true | video/3gpp |
| OMX.MTK.VIDEO.ENCODER.HEVC | true | video/hevc |
| OMX.MTK.VIDEO.ENCODER.MPEG4 | true | video/mp4v-es |
| c2.android.av1.decoder | false | video/av01 |
| c2.android.avc.decoder | false | video/avc |
| c2.android.avc.encoder | false | video/avc |
| c2.android.h263.decoder | false | video/3gpp |
| c2.android.h263.encoder | false | video/3gpp |
| c2.android.hevc.decoder | false | video/hevc |
| c2.android.mpeg4.decoder | false | video/mp4v-es |
| c2.android.mpeg4.encoder | false | video/mp4v-es |
| c2.android.vp8.decoder | false | video/x-vnd.on2.vp8 |
| c2.android.vp8.encoder | false | video/x-vnd.on2.vp8 |
| c2.android.vp9.decoder | false | video/x-vnd.on2.vp9 |