Le dossier media_codecs.xml
situé à /system/etc
liste les codecs disponibles pour un appareil particulier.
Pour le lire via le shell adb :
adb shell cat /system/etc/media_codecs.xml
Une partie du contenu de Media_codecs.xml sur mon téléphone :
<MediaCodecs>
<Settings>
<Setting name="max-video-encoder-input-buffers" value="10" />
</Settings>
<Decoders>
<!-- ffmpeg video decoders -->
<MediaCodec name="OMX.ffmpeg.h263.decoder" type="video/3gpp">
<Limit name="size" min="16x16" max="1920x1088" />
<Limit name="alignment" value="2x2" />
<Feature name="adaptive-playback" />
</MediaCodec>
<MediaCodec name="OMX.ffmpeg.h264.decoder" type="video/avc">
<Limit name="size" min="16x16" max="2048x2048" />
<Limit name="alignment" value="720x1280" />
<Feature name="adaptive-playback" />
</MediaCodec>
<MediaCodec name="OMX.ffmpeg.hevc.decoder" type="video/hevc">
<Limit name="size" min="2x2" max="2048x2048" />
<Limit name="alignment" value="2x2" />
<Feature name="adaptive-playback" />
</MediaCodec>
</Decoders>
<Encoders>
<!-- mediatek video encoders -->
<MediaCodec name="OMX.MTK.VIDEO.ENCODER.MPEG4" type="video/mp4v-es" >
<Limit name="size" min="16x16" max="1920x1088" />
<Limit name="alignment" value="16x16" />
<Limit name="block-size" value="16x16" />
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
</MediaCodec>
<MediaCodec name="OMX.MTK.VIDEO.ENCODER.H263" type="video/3gpp" >
<Limit name="size" min="16x16" max="1920x1088" />
<Limit name="alignment" value="16x16" />
<Limit name="block-size" value="16x16" />
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
</MediaCodec>
<MediaCodec name="OMX.MTK.VIDEO.ENCODER.AVC" type="video/avc" >
<Limit name="size" min="16x16" max="1920x1088" />
<Limit name="alignment" value="16x16" />
<Limit name="block-size" value="16x16" />
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
</MediaCodec>
</Encoders>
<!-- <Include href="media_codecs_mediatek_audio.xml" /> -->
<!-- <Include href="media_codecs_mediatek_video.xml" /> -->
<Include href="media_codecs_google_audio.xml" />
<Include href="media_codecs_google_telephony.xml" />
<Include href="media_codecs_google_video_le.xml" />
<Include href="media_codecs_ffmpeg.xml" />
</MediaCodecs>
Il peut également pointer vers d'autres fichiers comme sur mon téléphone pour obtenir une liste complète. Par conséquent, utilisez la commande ci-dessous pour obtenir la liste complète des fichiers listant les codecs disponibles sur votre appareil.
adb shell find /system/etc -type f -name "media_codecs*.xml"
Vous pouvez ensuite filtrer les fichiers sur les types de codecs avec les commandes suivantes :
cat /system/etc/media_codecs*.xml | grep "type="
Informations sur le codec multimédia offre un moyen plus facile de lister les codecs sur un appareil.