Какой путь обычно используется за кулисами к go от изображения YCbCr в основной памяти до текстуры RGBA OpenGL ES?
Использование GL_TEXTURE_EXTERNAL_OES
в основном означает доступ с нулевым копированием. Графический процессор может напрямую обращаться к изображению YUV, записанному камерой / видеоблоком. Преобразование цветов происходит на лету; при этом могут возникнуть некоторые проблемы с GPU - это будет зависеть от аппаратного обеспечения - но в памяти не создается вторая копия RGB. Сколько накладных расходов - современные мобильные графические процессоры могут сделать это очень эффективно, но более старые могут иметь в 2 раза большую стоимость текстурирования для двух плоскостей YUV.
Этот путь быстрее, чем glTexSubImage2D ()?
В общем, да, поэтому существует прямой путь доступа. Однако тот факт, что вам придется вводить дополнительную понижающую дискретизацию в одном случае, а не в другом, не делает это очевидным «правильным ответом».
Также обратите внимание, что стоимость отличается. Прямое преобразование YUV-RGB влечет за собой затраты на GPU. Загрузка текстур требует затрат процессора. В зависимости от относительной производительности CPU / GPU вашего устройства и от того, какие ресурсы использует остальная часть вашего приложения, одно из них может быть менее болезненным, чем другое.
Заплачиваю ли я за это вычислительные расходы независимо от того, задаю ли я имя текстуры сеанса?
Нет. Преобразование YUV-в-RGB выполняется в сэмплере при доступе к текстуре.
Всегда ли образ основной памяти YCbCr предшествует текстуре RGBA в цепочке преобразования?
Текстура RGBA полностью виртуальна - ее нет в памяти .
разрешение текстур для всех конфигов составляет 1920x1080, а разрешения изображений 640x480, 1280x720 и 1920x1080.
Обратите внимание, что существует множество спецификаций поставщика c "волхвы c" в слое HAL камеры. Невозможно сказать, как создаются изображения с более низким разрешением; они могут быть сгенерированы с более низким разрешением непосредственно камерой, или они могут быть уменьшены в отдельном проходе HAL поставщика (обычно с использованием аппаратного масштабатора, если камера не может сделать это напрямую).