Ник:
Пароль:

Контакты

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

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

Ник:
Пароль:

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

ОбновитьПодробнееВсегоВсего:4
Форум » starterkit.ru » Вспомогательные средства
SK-VideoADC-Plug и SK-iMX6-MB (v4l2, linux)
sasamy
Добавлено 29.04.2014 09:41 Редактировалось 29.04.2014 09:50 Сообщение: 31
sasamy
4.70

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

С патчем с freescale месяц воюю.


Я не знаю зачем вам это, но вот это по-моему извращение

Цитата

нужен путь tvsrc->deinterlace->vpuenc->трансляция в сеть


по сути генерируются пустые кадры (deinterlace), удвоенный "липовый" ФПС сжимается (vpuenc) и гонится по сети, чтобы потом посмотреть это скорей всего на PC где все известные мне плееры могут сделать деинтерлейсинг при просмотре. Зачем гонять по сети пустую информацию полученную при деинтерлейсинге ?
Спуститься к концу Подняться к началу
Персональная информация
MalVal
Добавлено 29.04.2014 10:26 Сообщение: 32
MalVal
0

Пункты: 3131
Регистрация: 04.06.2013
Цитата
по сути генерируются пустые кадры (deinterlace), удвоенный "липовый" ФПС сжимается (vpuenc) и гонится по сети


Насколько я понимаю, в конвейере tvsrc->vpuenc->udpsink
tvsrc выдает черезстрочное видео 720x576 (для PAL) и уже поздно думать о том, что мы гоним пустую информацию.

В моем случае мне нужно вывести прогрессивное видео на экран и сохранить в файл для последующего просмотра. Думаю если я сделаю это сразу при захвате, для конечного пользователя это будет приятнее, чем каждый раз задумываться о деинтерлейсе.

Я не прав?
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 29.04.2014 11:59 Редактировалось 29.04.2014 12:26 Сообщение: 33
sasamy
4.70

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

в конвейере tvsrc->vpuenc->udpsink
tvsrc выдает черезстрочное видео 720x576 (для PAL) и уже поздно думать о том, что мы гоним пустую информацию.


нет, потому что это простое сложение двух полукадров с понижением фреймрейта в два раза

Цитата

static void
mfw_gst_tvsrc_set_field (MFWGstTVSRC * v4l_src, guint v4l_field, GstBuffer * buf)
{
if (!buf)
return;

if (v4l_field == V4L2_FIELD_NONE)
return;

GstCaps *caps = GST_BUFFER_CAPS (buf);
GstCaps *newcaps;
GstStructure *stru;
gint field = 0, gst_field = 0;
stru = gst_caps_get_structure (caps, 0);
gst_structure_get_int (stru, "field", &field);

if ( v4l_field == V4L2_FIELD_INTERLACED) {
if (v4l_src->id == V4L2_STD_NTSC) {
v4l_field = V4L2_FIELD_INTERLACED_BT;
} else {
v4l_field = V4L2_FIELD_INTERLACED_TB;
}
}


http://www.linuxtv.org/downloads/v4l-dvb-apis/field-order.html
см. Figure 3.1. Field Order, Top Field First Transmitted
Figure 3.2. Field Order, Bottom Field First Transmitted

Софтовый деинтерлейсинг в гстримере например работает по умолчанию так

Цитата

The "fields" property

"fields" GstDeinterlaceFields : Read / Write

This selects which fields should be output. If "all" is selected the output framerate will be double.

Default value: All fields


недостающие полкадра для каждого полукадра достраиваются до полного кадра с удвоенным фреймрейтом и нужно это только для "плавного" изображения на экране
Спуститься к концу Подняться к началу
Персональная информация
John Smith
Добавлено 01.05.2014 17:26 Сообщение: 34
John Smith
0

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

нет, потому что это простое сложение двух полукадров с понижением фреймрейта в два раза

csi в конфигурации которую предлагает фрискейл в принципе не оперирует полукадрами. На выходе мы всегда имеем полный кадр 7206@25fps или 7200@30fps, только с расческой поскольку кадр получен простым сложением полукадров.
Требуется получить тот же fps, но без расчески, т.е классический прогрессив без удвоения или вставления пустых кадров.
Мне не удалось добиться решения этой задачи штатным деинтерлейсером gsttreamer. Кроме задействования vdic на данный момент работоспособных решений не найдено. Но с vdic есть проблемы.

Мистер sasamy, по вашим постам складывается впечатление что вы tvin никогда не подключали и не пытались заставить работать.
Спуститься к концу Подняться к началу
Персональная информация
John Smith
Добавлено 01.05.2014 17:49 Сообщение: 35
John Smith
0

Пункты: 2289
Регистрация: 18.02.2011
Цитата
С патчем с freescale месяц воюю. Напрямую в BR он не встает. Прошелся по всему патчу и исправил все вручную.

Я тоже патч ставил руками.
У меня состояние дел такое: подключены 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 раз.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 01.05.2014 21:01 Редактировалось 01.05.2014 23:23 Сообщение: 36
sasamy
4.70

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

это простое сложение двух полукадров с понижением фреймрейта в два раза


Цитата

csi в конфигурации которую предлагает фрискейл в принципе не оперирует полукадрами ... кадр получен простым сложением полукадров


посто возразить захотелось или как ?

Цитата

Требуется получить тот же fps, но без расчески, т.е классический прогрессив без удвоения или вставления пустых кадров.


есть и такие алгоритмы деинтерлейсинга, соотвтественно с искажением исходной информации. Несмотря на ваше словоблудие кадр получен сложением двух полукадров которые получены в разное время с частотой 50 Гц для PAL - отсюда и гребенка при отображении, в CSI они совмещены или adv7180 может сразу так выдать - никакой роли не играет, а судя по 9g45 с его примитивным ISI adv7180 как раз всегда полукадры выдает и я не видел в его регистрах что это можно как-то изменить.
Спуститься к концу Подняться к началу
Персональная информация
thecoha
Добавлено 31.10.2014 03:41 Сообщение: 37
thecoha
0

Пункты: 374
Регистрация: 01.04.2014
Пол: Мужчина
нельзя ли еще раз перезалить билдрут, который был по адресу
http://webfile.ru/9e124c89b97621c47e6fb582a805f224
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 31.10.2014 10:57 Сообщение: 38
sasamy
4.70

Пункты: 76902
Регистрация: 14.08.2009
Сейчас у меня уже нет этой версии, может кто-то кто скачал тогда перезальет
Спуститься к концу Подняться к началу
Персональная информация
Withe
Добавлено 24.11.2014 21:25 Сообщение: 39
Withe
0

Пункты: 9
Регистрация: 24.11.2014
Доброго дня, извините, что не по теме. Парни, не могли бы вы помочь, в поисковике нашёл только эту ветку на русском языке. Есть устройство http://infotainment.mazdahandsfree.com/home?language=jp-JP
Для российского рынка урезано. Хочется дооснастить DVB тюнером (USB или через композитный вход). На борту ADV7180 с тремя видеовходами vido0, video17, video18, а так же gstreamer 0.10 и v4l drivers:

#!/bin/sh

modprobe v4l2_int_device
modprobe adv7180_tvin
modprobe videodev
modprobe v4l2_common
modprobe ipu_prp_vf_sdc_bg
modprobe ipu_still
modprobe ipu_prp_vf_sdc
modprobe ipu_prp_enc
modprobe ipu_csi_enc
modprobe mxc_v4l2_capture

Подключение видеовходов подключаются и данная функция активируется в меню после определения по локальной шине CAN или наличием видеосигнала (для камеры заднего вида).
Помогите разобраться, маздоводы будут вам признательны. Вот эти ресурсы:
http://mazda3revolution.com/forums/2014-mazda-3-skyactiv-audio-electronics/57714-infotainment-project.html
http://www.mazda3hacks.com/doku.php
http://www.mazda3russia.ru/forum/showthread.php?t=72&page=9
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 24.11.2014 22:32 Редактировалось 24.11.2014 22:43 Сообщение: 40
sasamy
4.70

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

На борту ADV7180 с тремя видеовходами vido0, video17, video18


видеовход програмный тут один - video0, а video17 и 18 - это для вывода изображения в оверлей. Переключать каналы у мультиплексора можно проще всего утилитами из i2c-tools с ключем force - можно даже в ядро не лезти, главное чтобы была воможность закинуть свой бинарник, а его можно слинковать статически, естественно нужно еще чтобы физический доступ был к входам. Надо еще узнать в каком корпусе adv7180 - у них в зависимости от числа ног отличается конфигурация регистра INSEL, смотрите пример тут

http://trac.gateworks.com/wiki/OpenEmbedded/Video_In

раздел Analog Video Input Source
Там описано переключение для 32 и 40 пиновых корпусов, для 48 и 64 (как на местных платах) немного отличается - 0-5 это входы CVBS AIN1-AIN6

Для USB-ых DVB приемников надо смотреть есть ли драйверы свободные (с исхониками) - часто китайские производители делают драйверы только в бинарном виде и только для x86
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Вспомогательные средства