1

Тема: Неправильные цвета с HEVC 10-bit (DXVA) и форматом текстуры >8-bit

Формат текстуры 8-bit: https://imgur.com/Hqdklyx (нормальные цвета)
Формат текстуры 10-bit: https://imgur.com/YKq1WBH (всё серое)
Формат текстуры 16-bit: https://imgur.com/L7rHP4C (темно)

Такое только с декодером DXVA, с обычным проблемы нет.
Повторяется как со встроенным декодером видео, так и с LAV.

MPC-BE: 1.5.4.4554.
Видеокарта: AMD Radeon RX 590.
Windows 7 SP1 x64.

2

Re: Неправильные цвета с HEVC 10-bit (DXVA) и форматом текстуры >8-bit

Похоже какие-то ограничения драйвера. Похожая ситуация есть на Intel.

Нужен скриншот со статистикой (Ctrl+J) для декодера DXVA2 и программного.

Добавлено: 2019-05-26 13:27:50

Сделай еще скриншоты DXVA Checker вкладки видеопроцессора DXVA2 для NV12 и P010.
Пример: раз, два.

3

Re: Неправильные цвета с HEVC 10-bit (DXVA) и форматом текстуры >8-bit

Статистика:
Software: https://imgur.com/P1vJfVN
DXVA: https://imgur.com/H1I40Az
LAV DXVA: https://imgur.com/lmlUwK6

DXVA Checker:
NV12: https://imgur.com/0xIEzer https://imgur.com/9Rg2g60
P010: https://imgur.com/0zjfcQA https://imgur.com/zRhyscr

4

Re: Неправильные цвета с HEVC 10-bit (DXVA) и форматом текстуры >8-bit

Спасибо.

Тут дело вот в чем. EVR-CP содержит внутри себя EVR, который использует DXVA2 VideoProcessor. Выходной RGB-формат у DXVA2 VP на Window 7 только один - X8R8G8B8. На Windows 8.1 на некоторых картах появляется A2R10G10B10. Но с фиг знает с каких времен проверку выходного формата DXVA2 VP все дружно игнорировали, пока не появилась нормальная графика у Intel, где это не прокатило. А вот тут еще нюанс с AMD вылез на P010.

Есть радикальное решение - дубовая опция для проверки-непроверки выходного формата. Но у нее есть свои неудобства.

Добавлено: 2019-05-26 16:34:49

Кстати, у экспериментального MPC VR в этом плане меньше ограничений, т.к. отсутствует посредник в виде системного EVR.

5 (изменено: Lord_D, 2019-05-26 17:31:08)

Re: Неправильные цвета с HEVC 10-bit (DXVA) и форматом текстуры >8-bit

Спасибо за наводку на MPC VR. Надо будет попробовать.

Возник вопрос: есть ли вообще какие-то плюсы у форматов текстур 10-bit int и 16-bit float перед 8-bit? Или глазом это заметно не будет?

Добавлено: 2019-05-26 20:57:25

С MPC VR проблемы нет.


Добавлено: 2019-05-26 21:03:57

Зато есть другая проблема smile Размер кадра на полном экране равен разрешению рабочего стола. У меня настроено так: рабочий стол - 1280x720, видео на полном экране - 1920x1080 (родное разрешение монитора). При переходе на полный экране видео отображается только в прямоугольнике 1280x720 в левом верхнем углу. Такой баг уже когда-то был с EVR. Вроде бы даже я о нём и писал.
Скрин: https://imgur.com/uMeNdDf
Нашёл тему: https://mpc-be.org/forum/viewtopic.php?id=243

6

Re: Неправильные цвета с HEVC 10-bit (DXVA) и форматом текстуры >8-bit

Сильно упрощенная схема работы EVR-CP.

1. Вход NV12, P010
2. DVXA2 VP
3. Буферы EVR (вот тут проблема у EVR-CP на Win7!).
4. Коррекция, ресайз, субтитры и прочее.
5. Вывод RGB 8-бит

Опция "Формат текстуры" задает формат текстур, которые используются для промежуточных результатов. Влияет на этапы 3 и 4. Чем больше преобразований, тем больше накапливается ошибок округления. На 8-битной текстуре ошибки округления самые значимые. На типичном видео можно не увидеть разницы, но на анимации и HDR на большом дисплее может проявиться бандинг.

Добавлено: 2019-05-26 18:42:35

MPC VR лучше обсуждать в соответствующей теме.

7

Re: Неправильные цвета с HEVC 10-bit (DXVA) и форматом текстуры >8-bit

Мне кажется тут дело 100% в драйвере. С DXVA подключается P010, в софте NV12.

Проверь с обычным EVR c DXVA и софт, и посмотри на данные pininfo у EVR.

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

8 (изменено: Lord_D, 2019-05-27 12:33:21)

Re: Неправильные цвета с HEVC 10-bit (DXVA) и форматом текстуры >8-bit

pin info: https://mediafire.com/?jk3mkp9om793a92
А теперь фокус-покус - с программным декодером и обычным EVR видео выглядит так: https://imgur.com/e5gUb6m
С EVR Custom такой фигни нет. Обратите внимание, что в этом случае в pin info P010. И ещё на то, что на превью на полосе перемотки нормальная картинка.
Забыл главное: DXVA + обычный EVR = нормальное видео. Тут не работает именно с программным.

9

Re: Неправильные цвета с HEVC 10-bit (DXVA) и форматом текстуры >8-bit

Короче дрова говорят что могут P010, но криво smile Дрова обновлений нет ??

Тут я даже не знаю что посоветовать - ну юзать EVR-CP с 8 битными текстурами.

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

10 (изменено: Lord_D, 2019-05-27 15:39:12)

Re: Неправильные цвета с HEVC 10-bit (DXVA) и форматом текстуры >8-bit

Aleksoid1978 пишет:

Дрова обновлений нет ??

Самые новые стоят.

Aleksoid1978 пишет:

Короче дрова говорят что могут P010, но криво

Ну не знаю. Стандартный EVR + DXVA работает нормально, ему дрова не мешают.

Aleksoid1978 пишет:

Тут я даже не знаю что посоветовать - ну юзать EVR-CP с 8 битными текстурами.

В MPC VR работает с любыми текстурами (но у него другая проблема). Ему тоже дрова не мешают работать. По-моему дело всё-таки не в дровах. Где-то в EVR-CP что-то не проверяется.

Ну и вопрос почему с обычный EVR с софтовым декодером ломается? EVR-CP с софтовым работает нормально с любыми текстурами.

11

Re: Неправильные цвета с HEVC 10-bit (DXVA) и форматом текстуры >8-bit

Lord_D пишет:
Aleksoid1978 пишет:

Короче дрова говорят что могут P010, но криво

Ну не знаю. Стандартный EVR + DXVA работает нормально, ему дрова не мешают.

Значит не P010 а NV12 тип на входе. Для EVR-CP только на Win10 разрешен P010 всегда, для других систем - только для DXVA декодера.

В MPC VR кстати может тоже самое(NV12 а не P010), проверь.

Добавлено: 2019-05-27 22:57:36

Да и вообще про что речь - обычный EVR работает с 8 битными текстурами и у него все ок как и у нашего EVR-CP

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

12

Re: Неправильные цвета с HEVC 10-bit (DXVA) и форматом текстуры >8-bit

Когда ломается обычный EVR - на выходе софтового декодера P010, на входе EVR тоже P010. У EVR-CP и MPC VR тоже на входе P010 и с ними ошибки нет. То есть декодер вроде бы работает одинаково для всех трёх VR, зелёный кадр только у обычного EVR.
Ошибка с софтовым декодером и обычным EVR повторяется также и с h264 10-bit - такой же зелёный кадр.

DXVA + MPC VR на выходе декодера и входе VR также P010, ошибки нет. Так что P010 точно работает.

Добавлено: 2019-05-27 20:02:15

Aleksoid1978 пишет:

Да и вообще про что речь - обычный EVR работает с 8 битными текстурами и у него все ок как и у нашего EVR-CP

Это понятно. Но он уже ломается с 10-битным видео с софтовым декодером, в то время, как EVR-CP - нет (хоть с 8-битными текстурами, хоть с любыми другими). Это уже какая-то другая ошибка.


Добавлено: 2019-05-27 20:19:02

У DXVA + EVR-CP + 8-битныые текстуры также везде P010. NV12 вообще нигде не мелькает.

NV12 удалось получить только в одном случае - software + EVR-CP. Со всеми другими декодерами и VR формат всегда P010. И большая часть из этих комбинация работают правильно. Получается, ошибка не зависит от формата.

13

Re: Неправильные цвета с HEVC 10-bit (DXVA) и форматом текстуры >8-bit

Aleksoid1978, поддержка P010 в EVR урезана на Window 7.

14

Re: Неправильные цвета с HEVC 10-bit (DXVA) и форматом текстуры >8-bit

Корректно работает только с 8 бит, закрываем вопрос.

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