Я не знаю зачем вам это, но вот это по-моему извращение
по сути генерируются пустые кадры (deinterlace), удвоенный "липовый" ФПС сжимается (vpuenc) и гонится по сети, чтобы потом посмотреть это скорей всего на PC где все известные мне плееры могут сделать деинтерлейсинг при просмотре. Зачем гонять по сети пустую информацию полученную при деинтерлейсинге ?
Насколько я понимаю, в конвейере tvsrc->vpuenc->udpsink
tvsrc выдает черезстрочное видео 720x576 (для PAL) и уже поздно думать о том, что мы гоним пустую информацию.
В моем случае мне нужно вывести прогрессивное видео на экран и сохранить в файл для последующего просмотра. Думаю если я сделаю это сразу при захвате, для конечного пользователя это будет приятнее, чем каждый раз задумываться о деинтерлейсе.
Софтовый деинтерлейсинг в гстримере например работает по умолчанию так
недостающие полкадра для каждого полукадра достраиваются до полного кадра с удвоенным фреймрейтом и нужно это только для "плавного" изображения на экране
csi в конфигурации которую предлагает фрискейл в принципе не оперирует полукадрами. На выходе мы всегда имеем полный кадр 7206@25fps или 7200@30fps, только с расческой поскольку кадр получен простым сложением полукадров.
Требуется получить тот же fps, но без расчески, т.е классический прогрессив без удвоения или вставления пустых кадров.
Мне не удалось добиться решения этой задачи штатным деинтерлейсером gsttreamer. Кроме задействования vdic на данный момент работоспособных решений не найдено. Но с vdic есть проблемы.
Мистер sasamy, по вашим постам складывается впечатление что вы tvin никогда не подключали и не пытались заставить работать.
Я тоже патч ставил руками.
У меня состояние дел такое: подключены 2 шт. adv7180 одна на csi0 ipu1 вторая на csi1 ipu2. физически оба работоспособны. Без патча оба показывают с расческой.
После наложения патча расческа убралась (в плагине tvsrc gstrreamer нужно переключить input на 2, 1 это csi->mem, 2 - csi->vdi->mem).
При включенном vdic перестает работать оверлей на этом ipu, так как он реализован тоже через vdic. Боюсь что с выводом прогрессива на экран будут проблемы.
Мне вывод на экран не нужен, я тестировал вещание в сеть.
Два канала 7206@25 с путем csi-vdic -> vpuenc codec=avc -> tcpsink запускаются и работают минут 5-10 с клиентами vlc, а потом gstreamer валится.
Если запускать 1 канал с кодеком avc а другой с h263 то работает дольше (не дождался падения).
В целом ситуация безрадостная.
mxc_v4l2_tvin включает деинтерлейс при выводе на экран. Если у вас vdic уже задействован в csi работать не будет поскольку vdic может использоваться только 1 раз.
есть и такие алгоритмы деинтерлейсинга, соотвтественно с искажением исходной информации. Несмотря на ваше словоблудие кадр получен сложением двух полукадров которые получены в разное время с частотой 50 Гц для PAL - отсюда и гребенка при отображении, в CSI они совмещены или adv7180 может сразу так выдать - никакой роли не играет, а судя по 9g45 с его примитивным ISI adv7180 как раз всегда полукадры выдает и я не видел в его регистрах что это можно как-то изменить.
Доброго дня, извините, что не по теме. Парни, не могли бы вы помочь, в поисковике нашёл только эту ветку на русском языке. Есть устройство http://infotainment.mazdahandsfree.com/home?language=jp-JP
Для российского рынка урезано. Хочется дооснастить DVB тюнером (USB или через композитный вход). На борту ADV7180 с тремя видеовходами vido0, video17, video18, а так же gstreamer 0.10 и v4l drivers:
видеовход програмный тут один - video0, а video17 и 18 - это для вывода изображения в оверлей. Переключать каналы у мультиплексора можно проще всего утилитами из i2c-tools с ключем force - можно даже в ядро не лезти, главное чтобы была воможность закинуть свой бинарник, а его можно слинковать статически, естественно нужно еще чтобы физический доступ был к входам. Надо еще узнать в каком корпусе adv7180 - у них в зависимости от числа ног отличается конфигурация регистра INSEL, смотрите пример тут
раздел Analog Video Input Source
Там описано переключение для 32 и 40 пиновых корпусов, для 48 и 64 (как на местных платах) немного отличается - 0-5 это входы CVBS AIN1-AIN6
Для USB-ых DVB приемников надо смотреть есть ли драйверы свободные (с исхониками) - часто китайские производители делают драйверы только в бинарном виде и только для x86