Всем привет... Q8.1...
Значит, задача первая: аналоговый полный видеосигнал оцифровывается видеокодеком и поступает в ПЛИС, его необходимо вывести на LCD-дисплей. С помощью альтаровской VIP задача решается довольно просто: видеовход-преобразователь 4:2:2 в 4:4:4 RGB-деинтерлейсер-видеобуфер-скалер-видеовыход. Все работает, все нормально...
Вторая задача: необходимо сделать тоже самое, но вывести видеосигнал на два монитора (второй дополнительно обработать). Возникают проблемы - нельзя стандартными VIP-функциями "раздвоить" видео, и при этом вывести их на монитор, т.к. в общем случае им (полученым двум каналам) необходимо работать асинхронно. Пока вижу такие решения: - сделать свой компонент, который будет "раздваивать" видеосигнал. На вход - один Avalon-ST, на выход 2. Этот раздваиватель будет представлять собой два FIFO, у которых входы объединены. Но недостаток - возможно только при одинаковых параметрах выходных сигналов. - стандартными сдерствами каждый раз буферизировать видеопоток. Но тогда потребуется в 2 раза большая пропускная способность памяти. - написать свои компоненты - отдельно для записи и отдельно для чтения видео. Но тогда при несинхронной работе двух мониторов (что и будет в общем случае) будем наблюдать горизонтальную помеху, устранить которую можно только двайной/тройной буферизацией...
Что подскажете, какой способ лучше применить для такой, казалось бы, простой задаче? Таже проблема и в том случае, если AlteraVIP не используются.
--------------------
Быть. torizin-liteha@yandex.ru
|