|
Plug-ins / Плагины Дополнительные подключаемые модули для программ видеомонтажа - титры, переходы, видеоэффекты и прочее... |
|
Опции темы |
07.08.2016, 15:38 | #1 |
Модератор
Регистрация: 15.07.2012
Адрес: Санкт-Петербург
Сообщений: 1,395
Сказал(а) спасибо: 344
Поблагодарили 539 раз(а) в 368 сообщениях
Вес репутации: 623 |
Универсальный плагин микширования каналов YCbCrChannelMixer.dll для AviSynth
Частное применение плагина – преобразование BT.709 в BT.601.
В комплект также входит статья, в которой приведены формулы в символьном виде для преобразования RGB в YCbCr и обратно. Понятным русским языком описано, какие нужно произвести математические выкладки, чтобы на основании взятых из стандартов коэффициентов получить точные формулы для преобразования форматов. В русскоязычной Сети я не встретил сайтов, где использование формул было бы так понятно объяснено. Ленивые закопипастили Сеть одними и теми же формулами, неточно округлёнными, без всяких объяснений, откуда эти формулы произошли. На основании математических расчётов я показал, к какой погрешности приводит такой иждивенческий подход. В статье также описан уникальный эксперимент, который раньше никто не проводил. Был написан скрипт, который создаёт все возможные цвета для планарного формата. Каждый кадр – это свой цвет, всего их получается 14 с лишним миллионов. За счёт команд скрипта производится сравнение того цвета, который должен получиться строго по формулам, и того цвета, который выдаёт плагин Тритикала "ColorMatrix". В результате эксперимента было выявлено, что плагин Тритикала иногда считает с погрешностью. Не часто, примерно для одного цвета на 500 цветов, но всё же неточность есть неточность. Мною был написан плагин, который выполняет все операции строго по законам. Добро лежит здесь: https://yadi.sk/d/cPycYLKZtzMJp Начинать читать рекомендую со статьи "Колорматрикс", потом читать "Инструкцию". Статья кишит формулами, как Кишан вшами. Чтобы они отображались, в Ворде должен быть включён "Редактор формул" 3.1 или позднее. Получается, что российский жрец взял за жабры американского профессора. Рекомендую также ознакомиться с исходным текстом программы YCbCrChannelMixer.cpp. Узнаешь много интересного о передаче данных из кадра в С++. Программа написана понятным сиплюсплюсному середняку способом, без труднопонимаемых программистских приёмов. Программа снабжена подробными комментариями на русском языке. Исследуя исходники плагинов аналогичных типов от других писарей, я выявил вот какую недоработку. Известно, что в формате YV12 планар Y свой для каждого пикселя, а вот пара Cb и Cr общая для четырёх пикселей. Поэтому считать Cb и Cr достаточно, во-первых, один раз на две строки – и это в программах прописано. Во-вторых, на протяжении одной строки на каждые два смежных значения Y значения Cb и Cr тоже общие, и считать их тоже достаточно только один раз. Однако программно прописать расчёт Cb и Cr один раз на два Y довольно трудно, и у неееекоторого количества других программистов Cb и Cr в пределах одной строки считаются столько же раз, сколько и Y. На конечную точность конкретно такой двойной пересчёт никак не влияет, а вот ресурсы у компьютера он забирает почём зря. Я же в своём плагине применил довольно хитрый приём, позволяющий избежать любых двойных расчётов. В ближайшее время планирую написать инструкцию для новичка по компилированию от нуля на Microsoft Visual C++ 2008. |
14.01.2018, 16:06 | #2 |
Модератор
Регистрация: 15.07.2012
Адрес: Санкт-Петербург
Сообщений: 1,395
Сказал(а) спасибо: 344
Поблагодарили 539 раз(а) в 368 сообщениях
Вес репутации: 623 |
Скомпилировал заново свой плагин, используя при компиляции статическую компоновку. Все тексты программ не изменялись. Суть этого действия: при статической компоновке всё нужное для работы плагина в момент компиляции всаживается в сам плагин. В результате плагин увеличивается в размерах, но может работать, по идее, на любых ОС, включая пингвина.
Залито сюда: https://yadi.sk/d/uY14am1Y3RLzDf Конечно, конвертирование -- это уже вчерашний день, но может кому-нибудь будет интересно. |
09.03.2018, 10:00 | #3 | |
Мастер
Регистрация: 20.04.2010
Сообщений: 146
Сказал(а) спасибо: 68
Поблагодарили 27 раз(а) в 26 сообщениях
Вес репутации: 528 |
Цитата:
|
|
13.03.2018, 18:12 | #4 |
Модератор
Регистрация: 15.07.2012
Адрес: Санкт-Петербург
Сообщений: 1,395
Сказал(а) спасибо: 344
Поблагодарили 539 раз(а) в 368 сообщениях
Вес репутации: 623 |
Перезалил:
[Для просмотра данной ссылки нужно зарегистрироваться] |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Плагин для цветокоррекции | ivv199 | Plug-ins / Плагины | 2 | 12.01.2019 21:45 |
AviSynth | Bjakua | Общие вопросы по видеомонтажу | 2 | 12.04.2011 23:17 |
Бесплатное дополнение к фрейм-серверу AviSynth | rapira | Кодеки и кодеры, кодирование и конвертация. | 0 | 27.03.2011 21:55 |
Универсальный усилитель мощности | new_yurok | "Сделай сам" - кружок радиолюбителей | 13 | 18.04.2010 22:23 |