MPC Video Renderer

Автор V0lt, 24 февраля 2018, 19:10:59

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

V0lt

Сделал регулировку цвета во всех режимах и применение регулировки после смены формата или VP.
Если где-то вылезет несоответствие на "нулевых значениях", пишите.

У меня наблюдается сильно заметная разница при увеличении уровня ярокости. На шейдерном VP выходит ярче, чем на DXVA2 или D3D11 VP.

Aleksoid1978

Цитата: V0ltУ меня наблюдается сильно заметная разница при увеличении уровня ярокости. На шейдерном VP выходит ярче, чем на DXVA2 или D3D11 VP.

Ну так ясно - разные механизмы, на шейдерном свой код, на VP - там в драйвере :)
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

V0lt

Откорректировал яркость в r702 коэффициентом 0,4, получилось довольно близко. Проверял на +50 и +100.

Добавлено: 2019-07-01 06:27:22

Более правильно откорректировал в r703.

Evgeniy1990

V0lt
После commit 10c3254, при построении, сразу же выскакивает ошибка:
06:52:09.377     3>C:\\VideoRenderer\\VideoRenderer\\Source\\Shaders\\d3d11\\ps_convert_nv12.hlsl(37,29-39): error X4502: invalid vs_2_0 output semantic \'SV_Target\' [C:\\VideoRenderer\\VideoRenderer\\Source\\Shaders\\Shaders.vcxproj]
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

Evgeniy1990, после 81ed2df должно исправиться.

Добавлено: 2019-07-02 21:27:06

С поддержкой P010 через шейдеры может быть облом на картах, которые не принимают его на входе видеопроцессора D3D11.
У меня, например, P010 работает, но текстура в формате P016 уже не создается. Хотя P010 и P016 - это по сути один формат.

Можно реализовать альтернативный вариант с двумя текстурами для такого случая (все равно кадр в системной памяти). Но не в ближайшее время.

Добавлено: 2019-07-02 22:07:11

Изменения залил, но там еще будут доработки для HDR и билинейная интерполяция.

Добавлено: 2019-07-03 05:41:15

В r713 добавлена поддержка HDR и билинейная интерполяция для хромы.

Evgeniy1990

Цитата: V0ltEvgeniy1990, после 81ed2df должно исправиться.
Исправилось в r707 (git 81ed2df).
Цитата: V0ltС поддержкой P010 через шейдеры может быть облом на картах, которые не принимают его на входе видеопроцессора D3D11.
У меня, например, P010 работает, но текстура в формате P016 уже не создается. Хотя P010 и P016 - это по сути один формат.
Эх, похоже что в моем случае - полный облом с форматами P010/P016, по крайней мере на видеокарте от AMD.
При запуске 10-битных видео файлов с хрома 4:2:0, работают только выходные форматы Y410/Y416.
Цитата: V0ltМожно реализовать альтернативный вариант с двумя текстурами для такого случая (все равно кадр в системной памяти). Но не в ближайшее время..
Остается только лишь ждать ваш альтернативный вариант с двумя текстурами, который будет очень нескоро.

Форматы Y410/Y416 - очень нехорошие в плане цветности и самое главное - производительности. Они неспособны даже элементарно переварить какой-то HEVC, даже не FullHD. Да, печально - не то слово...

Вот почему, в свое время, я был очень недоволен тем, что для каждой хромы был реализован вывод через свой собственный выходной формат в нашем видео декодере. Вот "LAV Video Decoder" - другое дело, сразу выводит любую хрому через NV12 и все в полном порядке, ни тормозов, ни лагов, ни прочих проблем. А в "MPC Video Decoder", для комфортного просмотра, приходиться лезть в его настройки и вырубать лишние (проблемные) выходные форматы, т.е. выполнять лишние телодвижения, что порой не удобно, даже очень, с учетом UAC.

А что означает это число "11" над входными форматами NV12 и P010/P016? DirectX11???
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

Цитата: Evgeniy1990А что означает это число "11" над входными форматами NV12 и P010/P016? DirectX11???
То что галка работает только для режима DX11.

Добавлено: 2019-07-04 06:33:50

С двумя текстурами пока не получилось.

Aleksoid1978

Evgeniy1990
Запусти дебаг версию и выложи лог на 10 битном 4:2:0 видео, ессно на DX11 и сняв галку с P010 формата.
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

Evgeniy1990

Цитата: Aleksoid1978Evgeniy1990
Запусти дебаг версию и выложи лог на 10 битном 4:2:0 видео, ессно на DX11 и сняв галку с P010 формата.
Пожалуйста.
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

Ну да - получается если карта не поддерживает DXVA 10-бит, то и P010 формат текстур тоже. Очень плохо.

Добавлено: 2019-07-05 08:12:03

А madVR поддерживает в таком случае 10 бит на вход ?
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

Evgeniy1990

Цитата: Aleksoid1978А madVR поддерживает в таком случае 10 бит на вход ?
Поддерживает.
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

В r719 реализовал поддержку P010 и P016 на шейдерах для видеокарт, которые не поддерживают эти форматы.

Evgeniy1990

Цитата: V0ltВ r719 реализовал поддержку P010 и P016 на шейдерах для видеокарт, которые не поддерживают эти форматы.
Великолепно! ;)
Наконец-то заработали выходные форматы P010 и P016 через шейдеры на 10-битных видео файлах с хрома 4:2:0. ;)
Теперь не придется страдать из-за тормозов, плавающих рассинхронов, которые были при использовании выходных форматов Y410/Y416.

V0lt/Aleksoid1978

Необходимо устранить проблему, называемую "Крыша-снос"
Она проявляется в момент автоматического перехода на следующий видео файл в папке (каталоге).

Условия воспроизведения:

1. Необходимо наличие двух видео файлов в одной папке.
2. Опция: "По окончании воспроизведения" -> "Перейти к след. в каталоге"

Алгоритм воспроизведения:

1. Запустить первый видео файл
2. Перемотать его, практически, в самый конец, но не до самого конца
3. Открыть свойства MPC Video Renderer
4. Ничего в них не менять, не закрывая окно свойств, просто ждать окончания воспроизведения первого видео файла и автоматического перехода на следующий видео файл в папке

По факту: после автоматического перехода на следующий видео файл в папке, произойдет то, что принято называть "Крыша-снос".

P.S. Кстати, этот самый "тиринг", который проявляется даже при WDM, - это и есть признак того, что произошла проблема, называемая "Крыша-снос". У меня, на втором скриншоте, видно проявление этого самого "тиринга".

Оказывается, пользователь 0t5, который кричал про этот самый "тиринг", был прав и это не миф вовсе, а результат проявления данной проблемы.
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

Не надо держать открытым свойства. А то получается что файл закрылся, фильтр удалился - а окно со свойствами осталось. Я не уверен что это можно исправить, ибо сам фильтр знать не знает что было открыто окно свойств.
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

V0lt

Цитата: Evgeniy1990Наконец-то заработали выходные форматы P010 и P016 через шейдеры на 10-битных видео файлах с хрома 4:2:0. ;)
Теперь не придется страдать из-за тормозов, плавающих рассинхронов, которые были при использовании выходных форматов Y410/Y416.
Это хорошо.
Лучше стало работать, потому что
1. Перевод 4:2:0 в 4:4:4 нагружал процессор и кушал память.
2. Форматы P010 и P016 требуют 24 бита на пиксель, а Y410 - 32 бита. Поэтому для Y410 копирование в память более ресурсоемкий процесс нежели для P010 и P016.

Добавлено: 2019-07-06 16:57:45

Цитата: Evgeniy19901. Запустить первый видео файл
2. Перемотать его, практически, в самый конец, но не до самого конца
3. Открыть свойства MPC Video Renderer
4. Ничего в них не менять, не закрывая окно свойств, просто ждать окончания воспроизведения первого видео файла и автоматического перехода на следующий видео файл в папке

По факту: после автоматического перехода на следующий видео файл в папке, произойдет то, что принято называть "Крыша-снос".
Подтвержаю, есть проблема. Добавил в список в первом сообщении.

ЦитироватьP.S. Кстати, этот самый "тиринг", который проявляется даже при WDM, - это и есть признак того, что произошла проблема, называемая "Крыша-снос". У меня, на втором скриншоте, видно проявление этого самого "тиринга".
Оно играет видео так или просто замерло? Если второе, то это не тиринг.