Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Опять Altera VideoIP
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
torik
Всем привет...
Появилась необходимость вернуться к этому вопросу. Ранее была система, состоящая из видеовхода, преобразователя 4:2:2-4:4:4, преобразователя YCbCr-RGB, деинтерлейсера, самодельный фреймбуффер, скаллер, видеовыход. Все эти IP от альтеры штука, конечно, замечательная. Но, увы, ресурсов хавают категорически неприемлемое кол-во. А значит, имеет смысл вообще отказаться от их использования, либо частично заменить своими блоками. Для начала хочу оставить deinterlacer и scaler от VIP, а остальное сделать самому.

Тут есть некоторое недопонимание интерфеса Avalon Video-ST. Он состоит из управляющих пакетов (размер изображения и прогрессивная/черезстрочная) и собственно пакетов видеоданных. Раньше для подачи на scaler я формирвал контрольный пакет в начале кадра (ширина, высота, прогрессивная развертка) и за ним целый кадр. Т.е. вначале каждого кадра давал управляющий пакет. Мысль меня посетили, что управляющий пакет, вобщем-то, без надобности. Я убрал его вообще, оставил чисто видеоданные в сопровождении startofpacket, endofpacket. И все прекрасно работает.

Но теперь вернемся к деинтерлейсеру. Ему нужно различать поля, да и синхронизироваться по одному из полей. Значит ему вроде как нужны управляющие пакеты. В начале каждого кадра, поля?

Про то, когда нужны управляющие пакеты и нужны ли вообще для работы отдельных функций VIP, в документации не сказано (или я не вижу).

Спецы, осветите сей вопрос по возможности.
torik
Все-таки обращаюсь к спецам. Просьба поглядеть документацию на VIP http://www.altera.com/literature/ug/ug_vip.pdf и поглядеть что я делаю не так.

Система состоит из моего блока, который преобразует данные с видеокодека в RGB + сопровождение управляющими пакетами Avalon Video ST. Далее фреймбуфер, скалер и вывод на дисплей. Эти блоки альтеровские.

Если исключить управляющий пакет, содержащий данные о ширине, высоте изображения и номере поля - все работает. Видеоданные при этом сопровождаются startofpacket, endofpacket.
Как только добавляем его - все накрывается, альтеровские блоки его не принимают.

Вот выкладываю картинку на которой показано, что за управляющий пакет я формирую.

При разрешении 720х280 получаем 0x02d0, 0x0118, которые и распихиваем в младшие тетрады каждого байта...
torik
Я что-то вообще не понимаю всего этого.
Деинтерлейсер работает без всяких управляющих пакетов! Каким же образом он определяет, где первое поле, где второе? blink.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.