Как использовать аппаратное ускорение декодирования видео на Android?

Мне нужно аппаратное -ускоренное декодирование H.264 для исследовательского проекта, чтобы протестировать самоопределяемый -протокол.

Благодаря поиску в Интернете я нашел несколько способов аппаратного -ускоренного декодирования видео на Android.

  1. Используйте ffmpeg libstagefright(обзор libstagefright)или используйте libstagefright непосредственно в ОС, например здесь .
  2. Используйте OpenMax на определенной аппаратной платформе. например здесь об устройстве Samsung и здесь о серии Qualcomm Snapdragon
  3. Некоторые упоминали PVplayer ,

Некоторые люди "говорят" libstagefright - единственный способ, в то время как ребята из Qualcomm явно добились успеха.

В настоящее время я не уверен, какой способ может работать . Я немного смущен сейчас. Если бы все могло работать, я бы, конечно, предпочел аппаратно-независимый метод.

Поскольку я протестировал несколько видеоплееров с ускорением H/W на Galaxy Tab 7.7 (, 3.2 и Enxyos ), VLC, Mobo, Rock, vplayer, rock и mobo работают нормально,VLC не работает, похоже, у vplayer есть ошибка рендеринга, которая снижает его производительность.

Во всяком случае, я сделал «операцию» на Rockplayer и удалил все его библиотеки.so в data\data\com.redirecting\rockplayer, и программное декодирование дает сбой, в то время как аппаратное декодирование работает по-прежнему нормально! Интересно, как они это сделали. Мне кажется, что аппаратное ускорение может не зависеть от аппаратных платформ.

Может ли кто-нибудь решить эту проблему? Или предоставить любую ссылку с дополнительной информацией или более подробной информацией?

33
задан ROMANIA_engineer 3 November 2017 в 19:42
поделиться