TextureView получает кадры на SurfaceTexture, который берет кадры, отправленные на его поверхность, и преобразует их в текстуру GLES. Чтобы получить данные о пикселях, текстура должна быть передана в буфер кадра, а затем прочитана с помощью glReadPixels()
. Затем данные пикселей можно обернуть объектом Bitmap (что может включать или не включать копирование данных пикселей).
Использование NDK не принесет вам много пользы, так как весь код, который должен выполняться быстро, уже реализован изначально.
Вы можете увидеть некоторое улучшение, отправляя данные непосредственно в SurfaceTexture и выполняя работу GLES самостоятельно, но, по-видимому, вы хотите отображать входящие кадры в TextureView, поэтому все, что вы потенциально сэкономите, — это накладные расходы Bitmap (которые могут или не могут быть быть значительным).
Это может помочь, если вы объясните в своем вопросе, откуда берутся кадры и что вы хотите с ними делать.
person
fadden
schedule
28.03.2016