для видеонаблюдения как раз еще хуже если деинтерлейсинг сделан - информация будет искажена из-за интерполяции, хотя я не уверен как в gstreamer реализовано - простое сложение кадров или всетаки софтовый деинтнолейсинг
Картинка на экране и записанная не отличаются. Не может такого быть, что сложения полукадров нет, а производится просто масштабирование?
По поводу - нужен ли деинтерлейсинг. Без него вроде разрешение получается 288 линий вместо 576. Интересно было бы сравнить до и после, а потом подумать.
Честно говоря - я не знаю что далет gstreamer, порывался разобраться что у них там, но мне это не очень интересно так что забил
просто сложить два кадра с четными и нечетными линиями - это одно (это грубо говоря фигня - строки то от разных кадров и на динамичной картинке это сразу заметно) а в IPU есть специальные аппаратные блоки для интерполяции и фильтрации чтобы делать качественный деинтнлейсинг, см. 45.5.11.2 De interlacer (DI) sub-block
Vertical Filter Block (di_vfilt)
Motion Calculator Block (di_mcalc)
Spatial Motion Filter (di_sfilt)
Interpolated Pixel Calculator Block (di_interp)
Median Filter Block (di_med)
Soft Switch Block (di_sswitch)
С обозначенным в топике патчем у меня деинтерлейсинг работает нормально, правда пришлось немного покрутить настройки в коде /drivers/media/video/mxc/capture/ipu_vdi_enc.c:
По умолчанию там по-моему MED_MOTION и вторая настройка наоборот, что у меня приводило к каким-то искажениям.
Вы не забыли, что после применения этого патча нужно выбирать путь CSI->VDIC->MEM, а для этого нужно установить input=2 (VIDIOC_S_INPUT).
просто сложить два кадра с четными и нечетными линиями - это одно (это грубо говоря фигня - строки то от разных кадров и на динамичной картинке это сразу заметно) а в IPU есть специальные аппаратные блоки для интерполяции и фильтрации чтобы делать качественный деинтнлейсинг, см. 45.5.11.2 De interlacer (DI) sub-block
Vertical Filter Block (di_vfilt)
Motion Calculator Block (di_mcalc)
Spatial Motion Filter (di_sfilt)
Interpolated Pixel Calculator Block (di_interp)
Median Filter Block (di_med)
Soft Switch Block (di_sswitch)[/quote]
Да, про DI немного читал. С другой стороны, кто-то в imxcommunity упоминал, что для них было лучше простое сложение кадров (для статической картинки, наверное). Хочется проверить. Пойдем обычным путем - будем вставлять printk
Спасибо, настройки посмотрю.
Однако патч автоматом у нас не встал - правили руками. Путь выбираем, но gstreamer падает в модуле mfw_v4lsink (gstreamer).
С gstreamer не имел дела, у нас 2 своих программы получают видео с камеры: одна вещает видео в есть в формате MJPG, другая отдает это видео по RTP...
Я тоже проводил такие эксперименты: при выборе пути 0 (CSI->MEM) получаются т.н. "расчески" в местах резкого изменения картинки, но если у вас картинка и правда вяло меняется, то и так наверное пойдет.