Warning: touch() [function.touch]: Unable to create file /home/starterkit/starterkit.ru/html/error.log because Permission denied in /home/starterkit/starterkit.ru/html/errorhandler.php on line 51
IMX6 Видео - Embedded Linux - Форум - starterkit.ru
Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru
Партнеры:
otladka.com.ua - г.Киев

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:2
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:6
Форум » starterkit.ru » Embedded Linux
IMX6 Видео
korigo
Добавлено 11.08.2017 10:18 Редактировалось 11.08.2017 12:45 Сообщение: 31
korigo
0

Пункты: 1360
Регистрация: 23.11.2016
Удалено
Спуститься к концу Подняться к началу
Персональная информация
korigo
Добавлено 22.08.2017 19:03 Сообщение: 32
korigo
0

Пункты: 1360
Регистрация: 23.11.2016
Есть такая проблема с драйвером adv7180. При работе с VGA режимом, при запуске gst долго проходит вертикальная синхронизация (несколько секунд - видимо зависит от момента включения относительно импульса VS). При этом изображение медленно ползет по экрану, пока не упрется в край. Дальше все работает нормально. Я что-то подобное на форуме imx нашел, https://community.nxp.com/thread/260836#comment-288505, там есть совет - сбросить idmac. Возможно в драйвере инициализация некорректно прописана. Или надо некие задержки делать в процессе инициализации. Нет возможности глянуть ?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 22.08.2017 21:37 Редактировалось 22.08.2017 21:38 Сообщение: 33
sasamy
4.70

Пункты: 76182
Регистрация: 14.08.2009
Цитата

Возможно в драйвере инициализация некорректно прописана.


adv7180 инициализируется на общий случай - автоматическое определение стандарта, можно поменять инициализацию для быстрой синхронизации, посмотрите эту тему

https://www.starterkit.ru/html/index.php?name=forum&op=view&id=23575&num=1

там я использовал рекомендованные ADI настройки и правил драйвер CSI, прерывания от ADV7180 не использовал - при переключении каналов опрашивал регистр состояния по i2c. В принципе даже без отлова потери синхронизации такие настройки дают в разы меньше скролинга, но надо сразу программировать какой стандарт видео на входе.
Спуститься к концу Подняться к началу
Персональная информация
korigo
Добавлено 23.08.2017 12:56 Сообщение: 34
korigo
0

Пункты: 1360
Регистрация: 23.11.2016
Тут речь немного о другом. Сам ADV тут не причем. режим стоит жестко. Источник не переключается, т.е. на выходе ADV установившийся поток данных . I2C для чистоты эксперимента после первичной инициализации отключен. Между тем при перезапуске конвейра gst каждый раз вертикальная синхронизация происходит, как правило, не сразу а через несколько секунд (до десятков) т.е. кадр медленно доползает до нижнего края. Я просто думаю может дело в последовательности инициализации CSI, DMA и т.д. Т.е. первично принятый неполный кадр портит картину.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 23.08.2017 13:27 Редактировалось 23.08.2017 14:34 Сообщение: 35
sasamy
4.70

Пункты: 76182
Регистрация: 14.08.2009
Цитата

Тут речь немного о другом. Сам ADV тут не причем. режим стоит жестко...
кадр медленно доползает до нижнего края.


речь как раз об этом - рассинхронизация, прочитайте пост на который вы ссылались на imxcommunity. По ссылке которую я давал на стартеркит - у меня получалось переклчать 4 или 6 раз в секунду без скролинга. Алгоритм такой - CSI отключался со сбросом FIFO CSI, переключался канал adv7180, после чего ожидалось когда декодер залочит входящий сигнал через чтение регистра состояния adv7180 и только после того как залочился, CSI заново включался. На комюнити то же только вид сбоку. Можно ловить прерывания от adv7180 - его можно сконфигурировать что при потере сигнала он генерирует преывания. Рассинхронизация при включении - частный случай, она может произойти и при кратковременном пропадании сигнала - например штекер дернули. Если вас волнует только при включении - можно сделать по аналогии как у меня но опрашивать состояние при старте захвата и включать CSI после того как adv7180 залочился. Если только запрограммировать adv7180 на быструю синхронизацию - это тоже частично решит проблему.
Спуститься к концу Подняться к началу
Персональная информация
korigo
Добавлено 23.08.2017 17:00 Сообщение: 36
korigo
0

Пункты: 1360
Регистрация: 23.11.2016
patch скачать с myfolder не могу - Сайт временно недоступен в связи с проведением технических работ
Все таки еще раз повторюсь :
На вход CSI гарантированно уже до включения программного ввода поступает синхронный поток данных. Проверять залочен АЦП или нет не надо. Пропадание видеосигнала не рассматриваем. Драйвер ADV я использую в данном случае только как прокладку для задания режима ввода RGB 1024х768 вместо одного из его штатных. Меня интересует только что происходит при запуске процесса ввода посредством
gst-launch-1.0 -e imxv4l2videosrc ...

и как можно ускорить процесс синхронизации по кадру.
Я не программист и в тонкостях драйвера мне не разобраться. Все что я сделал - только поменял в нем разрешение вводимого сигнала, и параметры ввода в mxc_v4l2_capture.c

Если есть возможность помочь , а еще лучше переписать/доработать драйвера под наши нужды - буду рад обсудить условия.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 23.08.2017 17:35 Редактировалось 23.08.2017 17:36 Сообщение: 37
sasamy
4.70

Пункты: 76182
Регистрация: 14.08.2009
Цитата

Драйвер ADV я использую в данном случае только как прокладку для задания режима ввода RGB 1024х768 вместо одного из его штатных.


вы бы сразу пояснили что декодер не adv7180 - мне неизвестно что у вас там прописано в инициализации и какой всё таки декодер вы используете ? В каком виде синхронизация - bt.656 (там еще могут отличаться коды SAV/EAV хотя это врядли если в конце концов синхронизируется) или hsync/vsync ?
Спуститься к концу Подняться к началу
Персональная информация
korigo
Добавлено 08.09.2017 10:24 Сообщение: 38
korigo
0

Пункты: 1360
Регистрация: 23.11.2016
Драйверы tw6869 и adv7180 скомпилированы модулями. Иногда при загрузке видимо первым инициализируется adv7180, при этом съезжает нумерация /dev/video*. Т.е. tw6869 занимает /dev/video1..8 вместо /dev/video0..7. Можно как то жестко присвоить номер конкретных устройств для драйвера ?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 08.09.2017 10:36 Редактировалось 08.09.2017 10:40 Сообщение: 39
sasamy
4.70

Пункты: 76182
Регистрация: 14.08.2009
Цитата

Драйверы tw6869 и adv7180 скомпилированы модулями.


Посмотрите тут

https://wiki.archlinux.org/index.php/Udev_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)

4.6 Установка постоянных имен устройств

но проще статически слинковать модули (или хотя бы tw6869 как это по умолчанию сконфигурировано) .
Спуститься к концу Подняться к началу
Персональная информация
korigo
Добавлено 03.11.2017 17:27 Сообщение: 40
korigo
0

Пункты: 1360
Регистрация: 23.11.2016
Доброго времени суток.
При вводе видео с tw6869 изредка возникает ситуация, когда четное и нечетное поля кадра меняются местами. В связи с этим вопрос - драйвер как-то различает поля ?
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux