Текущее время: 02 май 2025, 23:20 • Часовой пояс: UTC + 3 часа
Сообщения без ответов | Активные темы

Обсуждение BeholdTV 5.10

Начать новую темуОтветить на тему Страница 12 из 13 [ Сообщений: 192 ] На страницу   Пред.  1 ... 9, 10, 11, 12, 13  След.
Версия для печати Пред. тема | След. тема
АвторСообщение
Сообщение Добавлено: 14 окт 2010, 16:05. Заголовок сообщения: 
Аватара пользователя
Зарегистрирован:
    28 ноя 2007, 22:56
Сообщения: 515
Откуда: Украина, Днепропетровск
при размере окна 300*217 телетекст еще нормально читается, а вот OSD уже с трудом.

Хотя если сильно нарушить соотношение сторон, даже при большем размере видео окна, действительно текст становится не читаемым(
Но видео тоже становится ужасным, я не думаю что кто нибудь смотрит ТВ с такими искажениями.

Я так понял ПО тюнера передаёт(через директ Х, презентер,...) видеокарте картинку со стандартными разрешением, а она уже сама масштабирует и выводит в нужном месте.
То есть картинка с размером окна уже не возвращается в ПО тюнера???
Макс.
Профиль WWW ICQ 
Сообщение Добавлено: 14 окт 2010, 16:34. Заголовок сообщения: 
Эксперт
Аватара пользователя
Зарегистрирован:
    23 мар 2007, 14:32
Сообщения: 4034
Откуда: РФ, ДНР, Донецк
писал(а):
То есть картинка с размером окна уже не возвращается в ПО тюнера???

Скорее всего так.
Я когда-то смотрел исходники какой-то программы работающей с тюнером через Directshow и оверлей. Там вообще отсутствовала какая-либо обработка событий видеоокна. Хотя картинка масштабировалась как угодно (текст там правда не накладывался вообще).
Я и делаю вывод, что масштабированием занимается видеорендерер, а не отдельные фильтры.
Behold TV 609FM, Behold TV X7
Intel Core i7-4770K, ASUS Z87-K, RAM 32 GB, NVidia GT630 2GB.
Win7, на 10 худо-бедно пахал только X7 влагодаря аппаратному кодировщику.
Профиль 
Сообщение Добавлено: 14 окт 2010, 19:56. Заголовок сообщения: 
Аватара пользователя
Зарегистрирован:
    28 ноя 2007, 22:56
Сообщения: 515
Откуда: Украина, Днепропетровск
Мда, жаль, такой вариант снижает загрузку ЦП, но ограничивает возможности(((
Хотя видеокарта это всего лишь инструмент, наверно можно изменить картинку поле обработки самой видеокартой, но для этого программистам придется повозиться.
Проще будет "склеить" видео окно и OSD, чтоб не расслаивались.

OSD это отдельное окно(нестандартной формы), которое "парит" над видео окном???
Макс.
Профиль WWW ICQ 
Сообщение Добавлено: 14 окт 2010, 20:21. Заголовок сообщения: 
Эксперт
Аватара пользователя
Зарегистрирован:
    23 мар 2007, 14:32
Сообщения: 4034
Откуда: РФ, ДНР, Донецк
писал(а):
OSD это отдельное окно(нестандартной формы), которое "парит" над видео окном???

Вообще - да. Хотя, как это реализовано в btv, не знаю.
Behold TV 609FM, Behold TV X7
Intel Core i7-4770K, ASUS Z87-K, RAM 32 GB, NVidia GT630 2GB.
Win7, на 10 худо-бедно пахал только X7 влагодаря аппаратному кодировщику.
Профиль 
Сообщение Добавлено: 14 окт 2010, 22:44. Заголовок сообщения: 
Аватара пользователя
Зарегистрирован:
    28 ноя 2007, 22:56
Сообщения: 515
Откуда: Украина, Днепропетровск
Я смог словить три объекта: TVideoFrame, VideoRenderer и TBhOsdWnd.

Как реализовано я догадываюсь, это самый простой вариант, имеет всего 1 глюк(расслоение) и 1 заморочку с синхронным перемещением двух окон.

От них можно попытаться избавится используя MDI формы(окно в окне), над синхронным перемещение парится ОС и расслоений не бывает, но мне не удалось сделать вложенное окно нестандартной формы отдельно от основного(делал на VB6).

Есть другой вариант, может удастся сделать обычный рисунок нестандартной формы,
ну в крайнем случае сделать OSD из множества отдельных компонентов одного окна.
Макс.
Профиль WWW ICQ 
Сообщение Добавлено: 15 окт 2010, 08:54. Заголовок сообщения: 
Эксперт
Аватара пользователя
Зарегистрирован:
    23 мар 2007, 14:32
Сообщения: 4034
Откуда: РФ, ДНР, Донецк
писал(а):
Я смог словить три объекта: TVideoFrame, VideoRenderer и TBhOsdWnd.

Ну да, TVideoFrame - окно с ТВ картинкой, TBhOsdWnd - OSD. Третье - не знаю.
Есть еще TMain - панель управления. Именно ему посылаютя WM сообщения для управления.

Я смотрел утилитой Spy++ из состава VC6 или VS2005 (в 2008 ее не нашел) - там этих TBhOsdWnd вообще штук 5 (у меня ПО 5.10).
Но с этими окнами я не игрался.

Окна VideoRenderer я у себя не нашел. Зато есть EVR Fullscreen Window. Может от типа рендерера зависит.....

Maxch5, какой у тебя рендерер включен? У меня EVR.

Насчет искажения текста - он в первую очередь страдает при масштабировании. Это легко увидеть в любом примитивном граф. редакторе - написать на любой картинке любой текст, потом отмасштабировать ее. С текстом сразу получаются разные беды :lol: .

Единственный способ (на мой взгляд) избавиться от этого - отлавливать изменения размера окна (какой-нибудь WM_RESIZE) и рисовать текст по-новой с новым, пересчитанным размером.
Правда, реализуем ли данный алгоритм или нет - не знаю, т.к. нам неизвестны структура и алгоритм ПО. Все что я сказал - лишь мои мысли вслух. Может я и не прав в чем-то.

PS. Ох, накажут меня за этот оффтоп в данной теме :lol: ....
Behold TV 609FM, Behold TV X7
Intel Core i7-4770K, ASUS Z87-K, RAM 32 GB, NVidia GT630 2GB.
Win7, на 10 худо-бедно пахал только X7 влагодаря аппаратному кодировщику.
Профиль 
Сообщение Добавлено: 15 окт 2010, 12:59. Заголовок сообщения: 
Аватара пользователя
Зарегистрирован:
    28 ноя 2007, 22:56
Сообщения: 515
Откуда: Украина, Днепропетровск
Эти элементы ловятся и при EVR, и при VMR7/9.
Предположительно:
TVideoFrame - видео окно
VideoRenderer - скорей всего объект через который выводится видео
TBhOsdWnd - нарезанное окно OSD, рисуют походу прямо на нем(других элементов этого окна я не словил)

Пользуюсь VMR7/9, жрет ресурсов меньше))

По клацал эти режимы и расслаиваться перестало))
Макс.
Профиль WWW ICQ 
Сообщение Добавлено: 15 окт 2010, 21:20. Заголовок сообщения: 
Зарегистрирован:
    16 апр 2008, 22:22
Сообщения: 611
писал(а):
Насчет искажения текста - он в первую очередь страдает при масштабировании. Это легко увидеть в любом примитивном граф. редакторе - написать на любой картинке любой текст, потом отмасштабировать ее. С текстом сразу получаются разные беды :lol: .

Это зависит от того, как масштабировать, от алгоритма интерполяции, от антиэлайсингового фильтра. В Direct3D эти все параметры масштабирования текстур может задавать приложение. Наверняка и в параметрах рендерера тоже.

Цитата:
Единственный способ (на мой взгляд) избавиться от этого - отлавливать изменения размера окна (какой-нибудь WM_RESIZE) и рисовать текст по-новой с новым, пересчитанным размером.

OSD и так сейчас исчезает при каждой попытке масштабирования окна. Так что достаточно его только при каждом новом вызове перерисовывать заново с разным шрифтом в зависимости от размеров окна. Только по-моему, это не поможет, т.к. все равно поверхность с OSD будет масштабироваться рендерером из размера ТВ кадра в размер окна. Вариант, это использовать сглаженные шрифты или двойное масштабирование из формата окна в кадр и потом обратно, хотя это уже изврат...
Профиль 
Сообщение Добавлено: 15 окт 2010, 21:47. Заголовок сообщения: 
Аватара пользователя
Зарегистрирован:
    28 ноя 2007, 22:56
Сообщения: 515
Откуда: Украина, Днепропетровск
А если попробовать словить кадр сразу после масштабирования и наложить OSD, забирать его у видео карты не обязательно, игрушки ворочают всё прямо в памяти видушки.
Я так понял используется компонент, который обеспечивает вывод картинки, лучше бы сделали на API)))
Макс.
Профиль WWW ICQ 
Сообщение Добавлено: 15 окт 2010, 22:17. Заголовок сообщения: 
Зарегистрирован:
    16 апр 2008, 22:22
Сообщения: 611
А его и сделали на API DirectX. Как же можно без него-то? Windows не позволяет обращаться напрямую к регистрам видеоадаптера. :D

Ловить может как-то и можно, но это уже изврат. Не факт, что EVR и WMR это штатно поддерживают. Обрабатывать кадр во время отрисовки можно с помощью шейдеров, а накладывать чего-нибудь с помощью текстур с альфа каналом, если такая возможность поддерживается рендерером.

Но вообще, это обсуждение действительно начинает переходить в оффтоп. Надеюсь, администрация перенесет его в соответствующий раздел...
Профиль 
Сообщение Добавлено: 15 окт 2010, 22:48. Заголовок сообщения: 
Аватара пользователя
Зарегистрирован:
    28 ноя 2007, 22:56
Сообщения: 515
Откуда: Украина, Днепропетровск
Перенести могут всю тему целиком, по этому заканчиваем.
Я надеюсь тут есть что нибудь полезное для программистов))).
Макс.
Профиль WWW ICQ 
Сообщение Добавлено: 15 окт 2010, 23:05. Заголовок сообщения: 
Зарегистрирован:
    16 апр 2008, 22:22
Сообщения: 611
Всю переносить ни к чему, достаточно только несколько последних сообщений. А эти два потом удалить...


ЗЫ:
писал(а):
Media Foundation uses the Enhanced Video Renderer (EVR) for rendering video content, which acts as a mixer as well. It can mix up to 16 simultaneous streams, with the first stream being a reference stream. All but the reference stream can have per-pixel transparency information, as well as any specified z-order.
Профиль 
Сообщение Добавлено: 18 окт 2010, 14:35. Заголовок сообщения: 
Beholder
Аватара пользователя
Зарегистрирован:
    19 авг 2004, 11:47
Сообщения: 190
Maxch5
Цитата:
Я так понял используется компонент, который обеспечивает вывод картинки, лучше бы сделали на API)))

Вы заблуждаетесь. Из всех сторонних компонентов используется только RxLib и Berg NextGrid. Все остальное написано ручками на базе WinAPI и Platform WSDK.
Профиль 
Сообщение Добавлено: 18 окт 2010, 18:41. Заголовок сообщения: 
Аватара пользователя
Зарегистрирован:
    28 ноя 2007, 22:56
Сообщения: 515
Откуда: Украина, Днепропетровск
Молодцы!
Ну если вы всё это сделали сами, то добавить еще 1 видео поток не составит труда))
Макс.
Профиль WWW ICQ 
Сообщение Добавлено: 28 окт 2010, 19:44. Заголовок сообщения: 
Зарегистрирован:
    15 авг 2006, 09:42
Сообщения: 40
Откуда: Екатеринбург, Россия
Уважаемые разработчики не могли бы вы сделать в следующей версии программного обеспечения одну очень простую в реализации и так мне а может и не только мне функцию. А именно как известно существует функция таймера сна. так вот у данной функции нет вариантов действий, а именно она просто выключает ПК.
А вот привязать действие ее к тому как настроена кнопка выключения на пульте очень необходимо. Либо хотя бы сделать возможность настраивать этот самый таймер сна.
Профиль ICQ 
Показать сообщения за:  Поле сортировки:    
Начать новую темуОтветить на тему  Страница 12 из 13  [ Сообщений: 192 ]  На страницу   Пред.  1 ... 9, 10, 11, 12, 13  След.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения
Найти:  
Перейти: