Мне нужно воспроизвести видео определенным образом. Вот почему мне нужно «предварительно декодировать» некоторые кадры, сохранить их и показать позже. Я использую MediaCodec для декодирования видеокадров. Выходные буферы имеют формат YUV(420), и вопрос в том, как лучше всего отобразить их позже на экране?
Это так? лучше дублировать вывод кодека.GetOutputBuffer() или сохранить код.GetOutputImage()?
Существует ли способ аппаратного ускорения конвертировать из YUV в RGB доступно как функция Java?
Как эффективно вывести данные на поверхность?
Нужно ли вообще делать конвертацию? Нельзя ли напрямую отобразить данные YUV (в любой форме, например ByteBuffer, Image или что-то еще) на Surface с помощью более новой (>=8.0) версии Android?
Кодек mp4 не может получить указание производить вывод RGB вместо YUV, верно?
Я просмотрел множество похожих (или одинаковых) вопросов, но в основном они были старыми, и я только что видел ручное преобразование YUV в RGB, которое мне кажется слишком медленным. Я надеялся, что с новыми версиями Android дела пойдут немного лучше
Мне нужно воспроизвести видео определенным образом. Вот почему мне нужно «предварительно декодировать» некоторые кадры, сохранить их и показать позже. Я использую MediaCodec для декодирования видеокадров. Выходные буферы имеют формат YUV(420), и вопрос в том, как лучше всего отобразить их позже на экране?
[list] [*]Это так? лучше дублировать вывод кодека.GetOutputBuffer() или сохранить код.GetOutputImage()? [*]Существует ли способ аппаратного ускорения конвертировать из YUV в RGB доступно как функция Java? [*]Как эффективно вывести данные на поверхность? [*]Нужно ли вообще делать конвертацию? Нельзя ли напрямую отобразить данные YUV (в любой форме, например ByteBuffer, Image или что-то еще) на Surface с помощью более новой (>=8.0) версии Android? [*]Кодек mp4 не может получить указание производить вывод RGB вместо YUV, верно? [/list]
Я просмотрел множество похожих (или одинаковых) вопросов, но в основном они были старыми, и я только что видел ручное преобразование YUV в RGB, которое мне кажется слишком медленным. Я надеялся, что с новыми версиями Android дела пойдут немного лучше ;)