Как узнать Android-декодер MediaCodec.createDecoderByType (type) - это аппаратный или программный декодер?

Есть ли способ узнать, является ли декодер, полученный с помощью MediaCodec.createDecoderByType (type), аппаратным или программным декодером?

 fadden09 июн. 2016 г., 19:25
FWIW, вы не можете @ -самонить людей на обсуждение. Людей пингуют, только если они уже принимают участие в обсуждении.
 Saeid Farivar09 июн. 2016 г., 03:33
@mstorsjo не могли бы вы помочь мне понять это.
 Saeid Farivar09 июн. 2016 г., 03:33
@fadden не могли бы вы помочь мне понять это.

Ответы на вопрос(1)

Решение Вопроса

является ли кодек аппаратным или программным кодеком. На практике вы можете сделать это, хотя:

MediaCodec codec = MediaCodec.createDecoderByType(type);
if (codec.getName().startsWith("OMX.google.")) {
    // Is a software codec
}

(TheMediaCodec.getName() метод доступен начиная с уровня API 18. Для более низких уровней API вместо этого вам нужно перебирать записи вMediaCodecList и вручную выберите правильный кодек, который соответствует вашим потребностям.)

 Saeid Farivar09 июн. 2016 г., 20:37
Благодарю. Я попробовал это на Galaxy S6, и возвращаемое значение, когда type = 'video / avc' было 'OMX.Exynos.avc.dec', так что я думаю, что это аппаратный декодер ?!
 mstorsjo09 июн. 2016 г., 20:44
Да, это аппаратный декодер - Exynos - это название SoC, которое используют некоторые устройства Samsung.
 mstorsjo09 июн. 2016 г., 20:53
Кроме того, на практике, если существует аппаратный декодер, он, скорее всего, будет возвращенcreateDecoderByType вместо программного декодера. То есть, если вы получаете программный декодер, это, вероятно, потому, что нет аппаратного декодера для запрошенного вами формата.
 Saeid Farivar09 июн. 2016 г., 21:35
Проблема, с которой я сталкиваюсь, заключается в том, что, несмотря на то, что декодер ускоряется по HW, загрузка процессора почти равна 100% на некоторых устройствах (например, Sony Android TV). но я вижу, что EXO-плеер работает намного лучше в каждом случае.
 Saeid Farivar14 мар. 2017 г., 01:01
mstorsjo, не могли бы вы взглянуть навопрос, связанный с медиа-декодером

Ваш ответ на вопрос