Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

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

User Info


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

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

Ник:
Пароль:

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

ОбновитьПодробнееВсегоВсего:5
Форум » starterkit.ru » Отладочные платы » SK-iMX53
Пример построения конвеера для adv7180
sasamy
Добавлено 24.07.2012 15:03 Редактировалось 24.07.2012 15:30
0
Сообщение: 1
sasamy
4.71

Пункты: 83540
Регистрация: 14.08.2009
На текущий момент есть небольшая проблема с adv7180 - при захвате видео при помощи gstreamer наблюдаются "бегающие" кадры (при этом утилиты unit_test работают правильно), судя по всему неправильно определяется размер кадра и соотвественно выделяется буфер неподходящего размера. Есть простой способ избежать этого без правки исходников через параметры плагина. Пример для захвата видео, кодирования "налету" в h264 и сохранение в файл в формате avi (видеосигнал - PAL)

gst-launch mfw_v4lsrc capture-width=720 capture-height=576 sensor-width=720 sensor-height=288 typefind=1 preview=1 ! queue ! mfw_vpuencoder codec-type=2 ! avimux ! filesink location=adv7180.avi sync=false

при 30 fps загрузка процессора нулевая
Цитата

Mem: 67232K used, 153528K free, 0K shrd, 2668K buff, 28904K cached
CPU: 0.1% usr 0.1% sys 0.0% nic 99.4% idle 0.1% io 0.0% irq 0.0% sirq
Load average: 0.46 0.14 0.04 1/60 2119
PID PPID USER STAT VSZ %MEM CPU %CPU COMMAND
2115 2073 root S 37996 17.1 0 0.3 /usr/bin/gst-launch-0.10 mfw_v4lsr
2119 2073 root R 2216 1.0 0 0.0 top


камера плохо фокусируется с близкого расстояния так что видео плохого качества
http://sasamy.narod.ru/adv7180.avi
Спуститься к концу Подняться к началу
Персональная информация
sbulgak
Добавлено 15.11.2012 00:03 Сообщение: 2
sbulgak
0

Пункты: 477
Регистрация: 15.10.2012
Добрый день!
Воспользовался Вашим советом насчет preview. Действительно кадры перестали мерцать. Но есть следующая проблема при захвате видео с композитного входа и аудио с микрофона - в результирующем файле видео идет в явно ускоренном темпе (в 2-3 раза быстрее чем должно), звук вроде нормально (но естественно сразу рассинхронизируется с видео, т.к. оно ускоренное). При этом preview выглядит совершенно нормально.
Более того даже если не примешивать звук, то видео все равно ускоренное (там тяжелее оценить насколько ускоренное).
Пробовал использовать разные контейнеры (avi и mkv) - не помогло. Пробовал разные типы кодеков (codec-type=...) - не помогло.
Запись делаю так

amixer sset Mic Capture cap
gst-launch \
mfw_v4lsrc capture-width=720 capture-height=576 \
sensor-width=720 sensor-height=288 \
preview=1 \
typefind=1 ! \
\
queue ! \
mfw_vpuencoder codec-type=0 ! \
mux. \
\
alsasrc ! \
queue ! \
mfw_mp3encoder ! \
mux. \
\
avimux name=mux ! \
filesink location=1.avi sync=false

Видел похожую ситуацию на другой борде (тоже от starterkit только с камнем OMAP_L138) так там выяснилось, что процессор просто не успевает кодировать в h264 и поэтому теряет кадры, а при воспроизведении пропуски кадров проводили к ускоренному воспроизведению. Но неужели IMX53 не может выжать 30 fps на разрешении 720х576 со звуком?

Заранее благодарен за любую информацию.
С уважением
Сергей
Спуститься к концу Подняться к началу
Персональная информация
sbulgak
Добавлено 15.11.2012 00:34 Сообщение: 3
sbulgak
0

Пункты: 477
Регистрация: 15.10.2012
Есть смутное подозрение, что preview довольно сильно подгружает VPU. В ситуации описанной мною выше загрузка проца почти нулевая, но вся деятельность по кодированию и преобразованиям лежит, я так понимаю, на VPU и это действительно может его сильно тормозить. К сожалению обойтись без preview и проверить это не получается (кадровая рассинхронизация).
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 15.11.2012 08:50 Сообщение: 4
sasamy
4.71

Пункты: 83540
Регистрация: 14.08.2009
Цитата
Есть смутное подозрение, что preview довольно сильно подгружает VPU.


Сильно сомневаюсь что preview может нагружать VPU, потому что далется он через IPU, а вообще VPU может кодировать два потока 720P одновременно, насчет 4 заявленных не знаю - будет в Linux работать.
Спуститься к концу Подняться к началу
Персональная информация
sbulgak
Добавлено 15.11.2012 11:36 Сообщение: 5
sbulgak
0

Пункты: 477
Регистрация: 15.10.2012
Порылся на форумах Freescale и нашел следующее
https://community.freescale.com/message/302505#302505
Я понимаю, что там речь про android, но внутри патчи и к ядру в том числе. Может это про то?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 15.11.2012 12:21 Сообщение: 6
sasamy
4.71

Пункты: 83540
Регистрация: 14.08.2009
Интересно - в драйвере adv7180 добавлена инициализация регистров которые не описаны в даташите - у меня Rev. F
adv7180_write_reg(0x3E, 0x6A);
adv7180_write_reg(0x3F, 0xA0);
adv7180_write_reg(0x55, 0x81);

регистров 0x3E, 0x3F, 0x55 нет
Спуститься к концу Подняться к началу
Персональная информация
Flexz
Добавлено 15.11.2012 12:46 Сообщение: 7
Flexz
0

Пункты: 307
Регистрация: 11.09.2009
Пол: Мужчина
Эти регистры есть в примерах настройки - раздел I2C Programming Examples.
Вообще за данной серией уже было замечено, что некоторые регистры то появляются, то пропадают от ревизии к ревизии даташита.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 15.11.2012 13:18 Сообщение: 8
sasamy
4.71

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

Эти регистры есть в примерах настройки - раздел I2C Programming Examples.


Да - нашел, только ясности не прибавилось :) судя по всему ничего интересного кроме инициализации этих регистров в патче ядра нет - там добавлена поддержка 16 битного интерфейса и деинтерлейсинг в v4l output.
Спуститься к концу Подняться к началу
Персональная информация
sbulgak
Добавлено 15.11.2012 15:18 Сообщение: 9
sbulgak
0

Пункты: 477
Регистрация: 15.10.2012
Где реализована поддержка режима preview в драйвере ядра или в плагине mfw_v4lsrc ? Вопрос этот возник потому, что очевидно при активном preview делается что-то убирающее рассинхранизацию. При этом я наблюдал следующую ситуацию - я запустил запись видео с включенным preview и потом срубил gst-launch через kill -9, соответственно gs-launch из списка процессов исчез, но вывод preview на экран продолжался !!! Получается, что вывод в /dev/fb0 делает сам драйвер (плагин просто включает или не включает его). Если это все так, то код содержащий баг приводящий к рассинхранизации находится в драйвере и случится этот глюк или нет зависит от включения или не включения preview. Правильно ли я понимаю?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 15.11.2012 20:25 Сообщение: 10
sasamy
4.71

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

баг приводящий к рассинхранизации находится в драйвере и случится этот глюк или нет зависит от включения или не включения preview. Правильно ли я понимаю?


не могу ответить на этот вопрос потому что не занимался плотно, надо смотреть плагин и драйверы IPU и adv7180, а еще лучше imxcommunity полистать - там много тем про adv7180.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Отладочные платы » SK-iMX53