Автор Тема: MPC Video Renderer  (Прочитано 61848 раз)

0 Пользователей и 3 Гостей просматривают эту тему.

Evgeniy1990

  • Ветеран
  • *****
  • Сообщений: 1399
Re: MPC Video Renderer
« Ответ #1200 : 19 Июль 2020, 10:19:44 »
Тем более что так у тебя ведут и игры - значит это проблема системы+видеодрайвера, зачем тут то писать про это.
Да хрен с этими играми. Это уже вопрос к их разработчикам. Нас же интересует работа режима FSE на NVIDIA. Вот именно ее и нужно довести до ума. С одной стороны, я с вами согласен, да, врятли кто-то будет так запускать просмотр видео, как я вам описал, но с другой стороны, я выполняю практически тоже самое что и вы, т.е. когда не нужен второй монитор - я его отключаю в драйвере, а когда нужен - наоборот - включаю через драйвер. Единственная здесь разница, так это когда именно я его включаю и отключаю - во время работы текущей сессии самого плеера, или до запуска самого плеера (самой) сессии.
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

Aleksoid1978

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 2164
Re: MPC Video Renderer
« Ответ #1201 : 19 Июль 2020, 11:02:11 »
Так если это приколы системы :)
Я написал что у меня все отлично при включении/отключении доп.экрана во время работы.
I7 2600K@4.2 / Asrock P67 Extreme 4 Gen 3 / Kingston HyperX 8Gb 1866 (4x2) Kit / GIGABYTE GTX 960 / BenQ EW2430 / LG 47LM620T / Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

V0lt

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1772
Re: MPC Video Renderer
« Ответ #1202 : 20 Июль 2020, 18:07:23 »
По поводу зелени.
Опытным путем установлено, что если задать входные параметры вектора по прямоугольнику обрезки и выводить в текстуру уже без полей, то это все равно не исключит зеленые полосы.
Текущая версия. Зелень появляется внутри пиксельного шейдера, который может получать пиксели за пределами границ вектора. У нас это происходит для цветовых компонент форматов YUV 4:2:0 и 4:2:2. Если это так, то придется добавить ограничение внутри векторного шейдера пиксельного шейдера. В общем тут еще много копать. :-\
« Последнее редактирование: 22 Июль 2020, 02:36:51 от V0lt »

V0lt

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1772
Re: MPC Video Renderer
« Ответ #1203 : 28 Июль 2020, 16:05:26 »
Для опции "ChromaScaling" добавил режим "Nearest-neighbor". Чтобы не повлияло на обратную совместимость переименовал ее в "ChromaUpsampling".
Режим "Nearest-neighbor" не для просмотра фильмов, он для тестов и отладки. В этом режиме нет проблемы с обрезкой кадра.
Хочу внедрить.
Внедрил в be9e35d.

PS: Обнаружил баг с YUY2 при использовании шейдерного преобразования. Исправил в b3899b1. Залил 0.4.8.1442.
« Последнее редактирование: 30 Июль 2020, 15:57:19 от V0lt »

Evgeniy1990

  • Ветеран
  • *****
  • Сообщений: 1399
Re: MPC Video Renderer
« Ответ #1204 : 30 Июль 2020, 18:48:40 »
V0lt,
Цитировать
PS: Обнаружил баг с YUY2 при использовании шейдерного преобразования. Исправил в b3899b1. Залил 0.4.8.1442.
Действительно, вот это баг!
Цитировать
Исправил в b3899b1. Залил 0.4.8.1442.
Собрал и проверил коммит b3899b1. Проблема устранена! :)
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

Evgeniy1990

  • Ветеран
  • *****
  • Сообщений: 1399
Re: MPC Video Renderer
« Ответ #1205 : 30 Июль 2020, 20:14:23 »
Aleksoid1978
Цитировать
Проверил. Ерунда какая-то... Пытаюсь разобраться, уже запутался.... Боже... Да уж, "спасибо" LG за то, что придумали просто "мозговыносящую" логику определения монитора. Это жесть какая-то...

Короче, логика примерно такая: если я подключаю данный монитор, как единственный, то он определяется нормально, да, универсальный монитор PnP, LG и его модель L1751SQ. Если я подключаю его вторым (дополнительным) монитором, то система определяет его уже как "Универсальный монитор не PnP", а видео-драйвер определяет его как -  "никак", просто пустота.

Вот зашибись просто... Был PnP, стал уже не PnP - WTF??? (O_o), был LG L1751SQ, стал "пустышкой". Мда, чего только не встретишь, при тестировании... У меня слов нет, как это понимать и объяснить...
Разобрался с неопределенностью дисплеев.  Оказывается, все дело в переходниках, но далеко не во всех.

Если я подключаю мониторы через переходники DVI-I->VGA, тогда получаю неопределенные дисплеи.

Но, существуют и другие переходники, причем не просто переходники, а целые преобразователи (конвертеры). И если через них подключить мониторы, тогда сам система, сама видеокарта и сам драйвер уже начнут конкретно определять дисплеи. Значит, будет работать и EDID (полный паспорт монитора).

Но и в этом случае далеко не все так просто. Для сравнения я использовал видеокарты "NVIDIA GeForce GTS 450" и "NVIDIA GeForce GTX 960". В случае с GTS 450 проблем особых нет, так как она содержит все основные необходимые разъемы подключения мониторов - DVI-I, VGA, HDMI. А мы знаем прекрасно, что если подключить монитор напрямую к видеокарте без переходников, то EDID будет работать сразу же.

А вот в случае с GTX 960 уже имеются проблемы с работой и инициализацией EDID, потому что подключение мониторов к ней идет не напрямую через кабель, а через переходники, или преобразователи (конвертеры). Как уже было сказано ранее, EDID в этом случае работает только через преобразователи (конвертеры). Конкретно в моем случае - это "DVI-D->VGA" и "HDMI->VGA".

И вот тут начинается самая жесть на NVIDIA. Да, EDID работает, дисплеи определились, но вопрос в том - как именно они определились? А определились они не как мониторы, а как ТВЧ. Т.е. по сути, как телевизоры высокой четкости. И как же сильно я был удивлен и шокирован тем, что видеокарты NVIDIA не могут отличить телевизоры от компьютерных мониторов. Т.е. они просто напросто не понимают, что к ним подключено - телевизор, или же монитор.

Хорошо, я еще могу понять тот факт, что один из мониторов у меня подключен череp адаптер HDMI->VGA. В этом случае еще может быть путаница, т.к. HDMI изначально был создан для телевизоров, а не для мониторов. Это уже потом появилось его деление на различные стандарты. Но, извините меня, другой-то монитор у меня подключен через адаптер DVI-D->VGA. И даже в этом случае, видеокарта "NVIDIA GeForce GTX 960" определяет его как ТВЧ (тот же самый телевизор). А в самом драйвере написан разъем "HDMI-ТВЧ", что разумеется полный бред и абсурд.

Эх, корпорация NVIDIA, ты меня разочаровала. Мало того, что сами драйвера дубовые, так они еще и не способны корректно отличать мониторы от телевизоров. А уж про тип разъема подключения - это уже вообще никуда не годиться. Чтобы привести ТВЧ к монитору, приходится вручную указывать полный диапазон цветопередачи (FullRGB).
« Последнее редактирование: 30 Июль 2020, 20:23:03 от Evgeniy1990 »
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

V0lt

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1772
Re: MPC Video Renderer
« Ответ #1206 : 31 Июль 2020, 04:50:13 »
Evgeniy1990
Если адаптер преобразует из цифры (DVI-D, HDMI, DP) в аналог (VGA), то, как дисплей определиться в системе, зависит только от самого адаптера. Что он выдаст, то и будет. И не надо тут писать тонны текста про "плохую" Nvidia.

Aleksoid1978

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 2164
Re: MPC Video Renderer
« Ответ #1207 : 31 Июль 2020, 06:12:56 »
😅 ай опять портянки...
I7 2600K@4.2 / Asrock P67 Extreme 4 Gen 3 / Kingston HyperX 8Gb 1866 (4x2) Kit / GIGABYTE GTX 960 / BenQ EW2430 / LG 47LM620T / Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

V0lt

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1772
Re: MPC Video Renderer
« Ответ #1208 : 05 Август 2020, 13:45:46 »
mpcvr_1449_dx11_choma_bilinear_crop_rb
Попытался обойти Issue #16 (зелень справа и снизу после декодера D3D11 на картах AMD) через корректировку пиксельного шейдера. Фикс 977bcfe отключен. Корректировка пока работает только для Chroma upsampling = Bilinear.

У кого есть возможность, пожалуйста, сравните скорость работы этой сборки с обычной 1449 на достаточно тяжелых файлах и небыстрых видеокартах. Будет разница по скорости или нет?

MPCfan

  • Постоялец
  • ***
  • Сообщений: 116
Re: MPC Video Renderer
« Ответ #1209 : 05 Август 2020, 15:20:20 »
V0lt,
Разницы не заметил. На рамштайне зелёная полоса справа также присутствует c shaders VP.

V0lt

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1772
Re: MPC Video Renderer
« Ответ #1210 : 05 Август 2020, 17:40:45 »
Спасибо.
Обновил до mpcvr_1449_dx11_choma_2_bilinear_crop_rb.

Заметил странность. На Nvidia мои изменения работают, а на Intel нет. >:(

MPCfan

  • Постоялец
  • ***
  • Сообщений: 116
Re: MPC Video Renderer
« Ответ #1211 : 05 Август 2020, 18:12:37 »
V0lt,
Да, на интел не работает, не работает непосредственно с dx11 native. Однако с dx11 direct copyback, хоть с hd4000, или с gt730m, зелёной полосы нет.
С рамштайном в связке dx11 native+shaders VP на gt730m полосы-то нет, а вот на самураях всё-таки снизу есть.
« Последнее редактирование: 05 Август 2020, 18:21:09 от MPCfan »

V0lt

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1772
Re: MPC Video Renderer
« Ответ #1212 : 06 Август 2020, 03:38:18 »
Как вы переключаетесь с dx11 native на dx11 direct copyback? Я не вижу такого выбора в декодере.

PS: Чтобы тестировать убирание зеленых полос на любой видеокарте, Я использую nv12_576x320_cropborder32_v3.mkv.
« Последнее редактирование: 06 Август 2020, 03:51:09 от V0lt »

MPCfan

  • Постоялец
  • ***
  • Сообщений: 116
Re: MPC Video Renderer
« Ответ #1213 : 06 Август 2020, 03:50:08 »
V0lt,
Как вы переключаетесь с dx11 native на dx11 direct copyback? Я не вижу такого выбора в декодере.
https://yadi.sk/i/ZdUPepZzeNkuHg

MPCfan

  • Постоялец
  • ***
  • Сообщений: 116
Re: MPC Video Renderer
« Ответ #1214 : 06 Август 2020, 04:16:21 »
V0lt,
PS: Чтобы тестировать убирание зеленых полос на любой видеокарте, Я использую nv12_576x320_cropborder32_v3.mkv.
Проверил на этом файле mpcvr_1449_dx11_choma_2_bilinear_crop_rb и вот что получается
на интел с dx11 VP зелени нет, а с shaders VP есть полосы сверху и справа
на нвидия с dx11 VP полосы сверху и слева, а с shaders VP полоса сверху