Текущее время: 29 мар 2024, 01:50 • Часовой пояс: UTC + 3 часа
Сообщения без ответов | Активные темы

Плагин «Auto Wide Aspect Control».

Начать новую темуОтветить на тему Страница 1 из 3 [ Сообщений: 40 ] На страницу   1, 2, 3  След.
Версия для печати Пред. тема | След. тема
АвторСообщение
Сообщение Добавлено: 10 дек 2012, 20:06. Заголовок сообщения:  Плагин «Auto Wide Aspect Control».
Зарегистрирован:
    28 сен 2006, 05:01
Сообщения: 830
Откуда: Russia,Moscow
ТВ-кадр (в аналоговом ТВ) сам по себе в любом случае имеет формат 4:3. Однако сейчас большинство фильмов имеют формат 16:9 и при трансляции по ТВ идут с чёрной полосой вверху и внизу. Для тех у кого монитор 4:3 - это всё не принципиально - для такого монитора тоже нужны эти полосы. Но сейчас большинство мониторов широкоформатные - 16:9. И на них в режиме фуллскрина стандартный кадр 4:3 получается с чёрными полями слева и справа. А в случае широкоформатного фильма - с чёрными полями вообще со всех 4 сторон.
Вложение:
BPP_AWAC_f1.png
BPP_AWAC_f1.png [ 37.59 КБ | Просмотров: 32239 ]

BeholdTV имеет возможность выбора соотношения «16:9 PanScan» - с картинки обрезаются верхняя и нижняя часть кадра, и фильм корректно вписывается в фуллскрин на широкоформатном мониторе. Чёрных полос нет нигде. Однако выбирать соотношение - стандартное «4:3 Letterbox» или широкоформатное «16:9 PanScan» - приходится постоянно вручную. А с пульта вообще не удобно - ибо софт не позволяет назначать конкретную кнопку на выбор того или иного соотношения, соотношение перебираются циклически (из 4 варианта и это долго). Вдобавок есть каналы где соотношение «16:9 Anamorphic» (широкоформатный фильм растянут по вертикали) - его по умолчанию невозможно смотреть ни в «4:3 Letterbox» ни в «16:9 PanScan».

Вобщем, мне это надоело и я написал плагин «Auto Wide Aspect Control». Плагин позволяет следующее:
 - задавать список каналов для которых будет постоянно устанавливаться ранее заданное соотношение (например Anamorphic);
 - постоянный анализ картинки, и при обнаружении признаков широкоформатного фильма - автоматическое переключение в режим «16:9 PanScan»;
 - опционально - детект только в режиме фуллскрина;
 - опционально - принудительный возврат «4:3 Letterbox» в оконном режиме;

Принцип работы плагина - замер уровня яркости в зонах A…H.
Вложение:
BPP_AWAC_f2.png
BPP_AWAC_f2.png [ 55.47 КБ | Просмотров: 32239 ]

Если в зоне H темно - то ничего не делать. Детект работает только если светло в зонах D и E - т.е. это позволяет с большой вероятность исключить просто темноту по сюжету. Далее - если тёмные A,B,C,F,G - то кадр детектируется как «16:9 PanScan». Если есть свет хоть в одном из A,B,C,F,G - то кадр детектируется как «4:3 Letterbox». Какие-либо остальные комбинации - игнорируются. Некоторые каналы внизу широкоформатного фильма (особенно на музыкальных) выводят всякий спам - для них можно включить режим «Auto (A...H, !F...G)» - это будет детект только по верхним зонам. Вплотную по границам кадра много шумов, поэтому надо делать отступы примерно по 5 пикселей. Зоны A-B-C разделены на 3 части (а не единая зона) для того чтобы обходить логотипы каналов.

Для защиты от шумов реализовано несколько уровней фильтрации. Сначала складываются по 4 кадра и из них выделяются самые тёмные каналы, а потом 4 кадра соединяются в 1 монохромный с выделением самого яркого из их RGB-каналов. Для каждой зоны выявляется уровень самой яркой точки и сумма всех яркостей. Зона считается светлой если превышено любое из двух условий - максимальная точка или сумма всех. Затем - настройка «Непрерывная последовательность кадров» - детект срабатывает только если все зоны A…H имеют стабильное состояние в течении этой продолжительности.

Использование плагина показало что в оконном режиме постоянная смена аспекта не актуальна и отвлекает. Поэтому реализованы опции для автодетекта только в фуллскрине и принудительной установки «4:3 Letterbox» при выходе в оконный режим.

Координаты мыши выведены просто для удобства настройки координат зон.

Для корректной работы размер потока должен быть 768*576. А координаты зон в любом случае должны быть относительно 768*576, при необходимости плагин сам их пересчитывает.

Требования к системе: BeholdTV, аналоговое ТВ (с DVB-T плагины не работают), процессор с набором команд SSE2 (и желательно с как минимум 2 полноценными ядрами).
Вложение:
 BPP_AWAC_v20121210sd.rar [9.83 КБ]
Скачиваний: 1341

Есть правда одна маленькая проблема. Beholder API не предоставляет функционала необходимого для работы этого плагина. У меня есть версия плагина которая использует недокументированные возможности (эмуляция меню для управления и прямое чтение памяти процесса для проверок состояний)… Но авторы BeholdTV пишут что это неправильно. Поэтому, в опубликованной версии эти возможности удалены, и в итоге плагин не может управлять аспектом, а только показывает в окошке «Автодетект соотношения» какой аспект он вычислил…
Для работы плагина через документированное API не хватает возможности управлять аспектом через API, а так-же в получать в PROC_STR текущее состояние аспекта и фуллскрина (а лучше и экономичнее в INIT_STR - получать адреса соответствующих переменных в памяти).

Известные баги: при открытом окне настроек плагина попытка записи или скриншота приводит к падению - будет исправлено впоследствии. Список привязанных аспектов использует только номера каналов и при перемещении каналов местами - привязки нарушатся (решение то понятно - использовать ChnlIdx вместо ChnlOrder - но это существенно тормознее и потому не подходит). Плагин корректно работает только с дефолтной яркостью и контрастностью - в будущем может сделаю корректирующие коэффициенты.
Профиль WWW ICQ 
Сообщение Добавлено: 12 дек 2012, 20:25. Заголовок сообщения:  Re: Плагин «Auto Wide Aspect Control».
Зарегистрирован:
    15 сен 2011, 13:06
Сообщения: 56
Ну так где взять плагин, переключающий аспект, хоть и не документированным способом? Пока в API не встроили соответствующие вызовы, всяко лучше, чем ничего.
И еще просьба: В настройках конфигурации таки русский язык, хотя бы название самого плагина.
Behold T8, A8
Профиль 
Сообщение Добавлено: 12 дек 2012, 21:30. Заголовок сообщения:  Re: Плагин «Auto Wide Aspect Control».
Зарегистрирован:
    28 сен 2006, 05:01
Сообщения: 830
Откуда: Russia,Moscow
писал(а):
Ну так где взять плагин, переключающий аспект, хоть и не документированным способом?

Подождём мнения разработчиков Behold TV по этому поводу…

писал(а):
И еще просьба: В настройках конфигурации таки русский язык, хотя бы название самого плагина.

Не понял что там с русским языком. Язык настроек русский (на скриншоте ведь видно). Язык выбирается автоматически в соответствии с глобальными настройками Windows (Панель управления - Язык и региональные стандарты - Дополнительно - Язык программ не поддерживающих юникод). Если там русский - то плагин тоже на русском всё выводит.

Брать настройки из Behold TV видимо невозможно (ну разве что тоже исследовать его память процесса). Описанное в API DLG_STR.LangCode у меня что-то в любом случае выдаёт 0 (независимо от языка настроек BeholdTV)…
Профиль WWW ICQ 
Сообщение Добавлено: 12 дек 2012, 21:53. Заголовок сообщения:  Re: Плагин «Auto Wide Aspect Control».
Зарегистрирован:
    15 сен 2011, 13:06
Сообщения: 56
Я имел в виду название самого плагина по-русски в контекстном меню конфигурации. Сейчас там Auto Wide Aspect Control (или как-то так), хотя, конечно, это и мелочь.

А без автоматического переключения аспектов теряется весь смысл. Может можно выложить куда вроде как альфа-версию.

Кстати, не понял вот этого:
Цитата:
Для корректной работы размер потока должен быть 768*576.

В справке стандартный поток 720x576 или "чистый" (без служебной информации) - 704x576.
Behold T8, A8
Профиль 
Сообщение Добавлено: 13 дек 2012, 10:23. Заголовок сообщения:  Re: Плагин «Auto Wide Aspect Control».
Зарегистрирован:
    27 мар 2005, 17:01
Сообщения: 375
Откуда: Москва
писал(а):
Для корректной работы размер потока должен быть 768*576. А координаты зон в любом случае должны быть относительно 768*576, при необходимости плагин сам их пересчитывает.

А для 704х576 можно сделать? А то смысл пустой инфой комп нагружать, там всё равно нет сигнала...
Профиль ICQ 
Сообщение Добавлено: 13 дек 2012, 10:31. Заголовок сообщения:  Re: Плагин «Auto Wide Aspect Control».
Зарегистрирован:
    28 сен 2006, 05:01
Сообщения: 830
Откуда: Russia,Moscow
писал(а):
А для 704х576 можно сделать? А то смысл пустой инфой комп нагружать, там всё равно нет сигнала...

Не совсем так… Плагин пересчитывает сам в нужный размер потока. Но вводить координаты надо исходя из размера кадра 768*576.
У тебя же на экране 704*576 масштабируется в 768*576 при выводе в окно 4:3.
Профиль WWW ICQ 
Сообщение Добавлено: 15 дек 2012, 19:58. Заголовок сообщения:  Re: Плагин «Auto Wide Aspect Control».
Зарегистрирован:
    15 сен 2011, 13:06
Сообщения: 56
Как-то здесь все заглохло :-( А Щастье было так возможно...
Behold T8, A8
Профиль 
Сообщение Добавлено: 15 дек 2012, 20:23. Заголовок сообщения:  Re: Плагин «Auto Wide Aspect Control».
Зарегистрирован:
    28 сен 2006, 05:01
Сообщения: 830
Откуда: Russia,Moscow
писал(а):
Я имел в виду название самого плагина по-русски в контекстном меню конфигурации. Сейчас там Auto Wide Aspect Control
Кстати «Behold TV» - это тоже не по-русски…

А как например плагин должен назваться в русском варианте?

писал(а):
Как-то здесь все заглохло :-(

Ну наверно никому не нужен такой плагин…
Людей у который есть широкоформатный монитор и которым лень несколько раз нажимать кнопку аспекта - судя по статистике скачивания менее 5…

Вот обновлённая версия (исправлены некоторые ошибки приводившие к багам при записи и прочие мелочи), но тоже тут «неправильные» способы управления аспектом удалены:
Вложение:
 BPP_AWAC_v20121215sd.rar [10 КБ]
Скачиваний: 1242
Профиль WWW ICQ 
Сообщение Добавлено: 15 дек 2012, 20:39. Заголовок сообщения:  Re: Плагин «Auto Wide Aspect Control».
Зарегистрирован:
    15 сен 2011, 13:06
Сообщения: 56
Я все-таки не понял. Так этот плагин аспект не переключает, а только информирует, какой аспект он вычислил? В таком случае отключен основной функционал. Об этом я и писал, что щастье было возможно...
Behold T8, A8
Профиль 
Сообщение Добавлено: 18 дек 2012, 17:31. Заголовок сообщения:  Re: Плагин «Auto Wide Aspect Control».
Зарегистрирован:
    15 сен 2011, 13:06
Сообщения: 56
... и опять о наболевшем: какие у нас перспективы получить плагин с полным функционалом?
Behold T8, A8
Профиль 
Сообщение Добавлено: 25 дек 2012, 09:44. Заголовок сообщения:  Re: Плагин «Auto Wide Aspect Control».
Зарегистрирован:
    29 май 2011, 10:27
Сообщения: 661
Задумка хорошая, я уже обрадовался, вот только плагин никак не работает, что в нем ни выставляй
T7, T8
Профиль 
Сообщение Добавлено: 25 дек 2012, 09:57. Заголовок сообщения:  Re: Плагин «Auto Wide Aspect Control».
Зарегистрирован:
    28 сен 2006, 05:01
Сообщения: 830
Откуда: Russia,Moscow
В поле «Автодетект соотношения» он разве не показывает вычисленный аспект?
Профиль WWW ICQ 
Сообщение Добавлено: 25 дек 2012, 10:24. Заголовок сообщения:  Re: Плагин «Auto Wide Aspect Control».
Зарегистрирован:
    29 май 2011, 10:27
Сообщения: 661
Я понял в чем дело, автор хочет бабок и выложил демоверсию с заблокированными функциями :gig: :P
Изображение
T7, T8
Профиль 
Сообщение Добавлено: 25 дек 2012, 11:12. Заголовок сообщения:  Re: Плагин «Auto Wide Aspect Control».
Зарегистрирован:
    28 сен 2006, 05:01
Сообщения: 830
Откуда: Russia,Moscow
Хм, очередное не описанное API… Согласно документации ChnlOrder не может быть -5.
Хотя примерно понятно что это такое…

писал(а):
Или я неправильно понимаю назначение плагина?

Публикуемая версия - это только демо, функция реального переключения аспекта удалена.
Она только показывает итоги анализа (для каналов в диапазоне ChnlOrder -3…255).
Профиль WWW ICQ 
Сообщение Добавлено: 25 дек 2012, 11:15. Заголовок сообщения:  Re: Плагин «Auto Wide Aspect Control».
Зарегистрирован:
    28 сен 2006, 05:01
Сообщения: 830
Откуда: Russia,Moscow
писал(а):
Я понял в чем дело, автор хочет бабок

Неа, просто авторы BeholdTV считают что мои плагины работают неправильными методами.
Профиль WWW ICQ 
Показать сообщения за:  Поле сортировки:    
Начать новую темуОтветить на тему  Страница 1 из 3  [ Сообщений: 40 ]  На страницу   1, 2, 3  След.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения
Найти:  
Перейти: