В модуле IPU iMX53 есть контроллер VDIC, который по прямому своему назначению делает деинтерлейсинг, а альтернативное его назначение - комбинация двух картинок на одном фоне. Упоминание об этом есть в главе 45.4.11.6 reference manual.
Правда, беглый взгляд на драйвер IPU в ядре (/drivers/mxc/ipu3) и библиотеку для userspace (/imx-lib/ipu) оставляет сомнения в наличии программной поддержки этой фишки со стороны фрискейла.
Кстати, у меня этот контроллер (VDIC) используется именно для деинтерлейсинга картинки с adv7180 с использованием патча с imx_community, т.к. стандартный "деинтерлейсинг" (через путь CSI->MEM) дает "расчески" в местах быстрого движения. Патч использует путь CSI->VDIC->MEM, поэтому с ним использование ее и комбинации картинок будет невозможно. Однако, как я понимаю, деинтерлейсинг можно делать и из userspace с помощью imx-lib (не проверял), тогда чисто теоретически обе эти задачи можно реализовать на VDIC по очереди.
Не сталкивался с imx-lib есть примеры работы с ним и вообще что это такое?
А вот такой вопрос, в случае когда мы через mmap буфер получаем данные (форма получение указывается как V4L2_PIX_FMT_YUYV) в формате YUV422 или тот формат который указан в даташите?
В этом наборе данных присутствуют еще какие-то данные кроме информации об изображении которые нужно было бы исключать для конвертации изображения в RGB, тайминги какие-то или ее что-то?
imx-lib можно скачать с сайта freescale (в Linux BSP по-моему), там же есть примеры ее использования - пакет imx-test. Я из этих пакетов использовал только примеры и библиотеку работы с VPU, так что по IPU ничего не могу сказать, кроме того, что оно там есть)
Камера у меня открывается в формате YUV420, т.к. это вроде единственный формат, который может потом сжимать VPU (исключение только JPEG). Это формат, в котором Y и U,V лежат в разных областях памяти (не перемешаны), причем U и V в 4 раза меньше по площади.
А сама камера (вернее чип adv7180) дает перемешанный формат UYVY, так что если в таком формате камеру открыть, то так они там лежать и будут. Никакой дополнительной информации в буфере V4L2 нет.
Отлично, значит чисто теоретически я могу взять буфер декодировать его в RGB и вывести информацию нужную мне через /dev/fb0.
Хотя тут возникает в случае когда я создаю буфер выхода в два раза больше буфера входа и делаю два memcpy (второй со смешение на размер буфера видеовхода) то одна картинка норм и вторая вылазиет со смешением и как результат искажение отображения.