276

Re: MPC Video Renderer

V0lt пишет:

Evgeniy1990, после 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.

277

Re: MPC Video Renderer

Evgeniy1990 пишет:

А что означает это число "11" над входными форматами NV12 и P010/P016? DirectX11???

То что галка работает только для режима DX11.

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

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

278

Re: MPC Video Renderer

Evgeniy1990
Запусти дебаг версию и выложи лог на 10 битном 4:2:0 видео, ессно на DX11 и сняв галку с P010 формата.

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

279

Re: MPC Video Renderer

Aleksoid1978 пишет:

Evgeniy1990
Запусти дебаг версию и выложи лог на 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.

280

Re: MPC Video Renderer

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

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

А madVR поддерживает в таком случае 10 бит на вход ?

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

281

Re: MPC Video Renderer

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.

282

Re: MPC Video Renderer

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

283

Re: MPC Video Renderer

V0lt пишет:

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

Великолепно! wink
Наконец-то заработали выходные форматы P010 и P016 через шейдеры на 10-битных видео файлах с хрома 4:2:0. wink
Теперь не придется страдать из-за тормозов, плавающих рассинхронов, которые были при использовании выходных форматов 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.

284

Re: MPC Video Renderer

Не надо держать открытым свойства. А то получается что файл закрылся, фильтр удалился - а окно со свойствами осталось. Я не уверен что это можно исправить, ибо сам фильтр знать не знает что было открыто окно свойств.

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

285

Re: MPC Video Renderer

Evgeniy1990 пишет:

Наконец-то заработали выходные форматы P010 и P016 через шейдеры на 10-битных видео файлах с хрома 4:2:0. wink
Теперь не придется страдать из-за тормозов, плавающих рассинхронов, которые были при использовании выходных форматов Y410/Y416.

Это хорошо.
Лучше стало работать, потому что
1. Перевод 4:2:0 в 4:4:4 нагружал процессор и кушал память.
2. Форматы P010 и P016 требуют 24 бита на пиксель, а Y410 - 32 бита. Поэтому для Y410 копирование в память более ресурсоемкий процесс нежели для P010 и P016.

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

Evgeniy1990 пишет:

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

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

Подтвержаю, есть проблема. Добавил в список в первом сообщении.

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

Оно играет видео так или просто замерло? Если второе, то это не тиринг.

286

Re: MPC Video Renderer

Нашел способ закрытия окна свойств какого либо фильтра при закрытии файла, в самом MPC-BE.

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

287

Re: MPC Video Renderer

V0lt пишет:

Подтвержаю, есть проблема. Добавил в список в первом сообщении.

В этот список также следует добавить и проблему с "черным экраном" в оконном режиме, при перемотке, если само воспроизведение было остановлено.

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

1. Открыть видео файл
2. Остановить его воспроизведение
3. Во время остановленного воспроизведения, перемотать запущенный видео файл в произвольное место
4. Развернуть окно плеера на полный экран

По факту: после пункта 3, вместо текущего кадра после перемотки, будет "черный экран" вместе со статистикой, если она была включена первоначально. Текущий кадр (само изображение) появится только лишь после пункта 4, когда перейдем в полноэкранный режим (развернем окно плеера на полный экран).

V0lt пишет:

Оно играет видео так или просто замерло? Если второе, то это не тиринг.

Скажем так, видео воспроизводится, но кадры не двигаются, т.е. они застывшие. Здесь как раз второй вариант, когда кадры видео застыли при поломке и образовался некий такой вот "разрез", очень сильно напоминающий "тиринг", хотя, на самом деле, это вовсе не он.

Aleksoid1978
Если фильтр "MpcVideoRenderer.ax" подключен напрямую, без регистрации в системе, то субтитры не работают и не отображаются вообще. Это надо исправить.

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.

288

Re: MPC Video Renderer

Evgeniy1990 пишет:

Если фильтр "MpcVideoRenderer.ax" подключен напрямую, без регистрации в системе, то субтитры не работают и не отображаются вообще. Это надо исправить.

Чтобы субтитры и другие фичи работали видеорендерер должен быть выбран через панель настроек Video. Чтобы видеорендерер там появился, он должен быть зарегистрирован в системе.

Специальный обходной путь для MPC VR пока не планируется.

289

Re: MPC Video Renderer

Evgeniy1990 пишет:

В этот список также следует добавить и проблему с "черным экраном" в оконном режиме, при перемотке, если само воспроизведение было остановлено.

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

1. Открыть видео файл
2. Остановить его воспроизведение
3. Во время остановленного воспроизведения, перемотать запущенный видео файл в произвольное место
4. Развернуть окно плеера на полный экран

По факту: после пункта 3, вместо текущего кадра после перемотки, будет "черный экран" вместе со статистикой, если она была включена первоначально. Текущий кадр (само изображение) появится только лишь после пункта 4, когда перейдем в полноэкранный режим (развернем окно плеера на полный экран).

Хм - не подтверждаю. Запустил видео, поставил на паузу, перематываю - картинка обновляется.

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

290

Re: MPC Video Renderer

Aleksoid1978, речь скорее всего не о паузе, а о стопе.

291

Re: MPC Video Renderer

Aleksoid1978 пишет:

Хм - не подтверждаю. Запустил видео, поставил на паузу, перематываю - картинка обновляется

1. Запустить видео
2. Остановить видео (нажать на кнопку "Стоп")
3. Перемотать видео в любое произвольное место

Результат - "черный экран" в придачу со статистикой видео-рендерера, если она до этого изначально была включена.

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.

292

Re: MPC Video Renderer

Если нажать стоп - то и с тем же EVR-CP будет черный экран после перемотки, не вижу проблем smile

P.S. Исправил smile

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

293

Re: MPC Video Renderer

MPCVideoRenderer-v0.2.1.744_YV24_1
Удалось реализовать поддержку планарного формата YV24 (YUV 4:4:4 8-бит). Кто-нибудь сможет сравнить его по скорости с AYUV на чем-нибудь маломощном или встройке?

PS: при тестировании помимо загрузки CPU и GPU обращайте внимание на частоты чипов.

У меня на GTX950 немного разгрузились CPU и GPU.

294

Re: MPC Video Renderer

Сделал - заливай да и все. Лишним не будет smile

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

295

Re: MPC Video Renderer

Некоторые планы:
1. Проверить и откорректировать chroma location при преобразовании из 4:2:0 в 4:4:4. Считаем, что на входе у нас chroma location типа MPEG-2 (самый распространенный). Попробовать сделать другие варианты.
2. Принять решение о рантайм компиляции шейдера преобразования цвета. Это позволит сильно уменьшить количество предварительно скомпилированных шейдеров.
3. Реализовать поддержку chroma location разных типов.
4. Попробовать реализовать бикубическую интерполяцию для хромы.

296

Re: MPC Video Renderer

Я всеми руками и ногами за пункт 2. Вернее я бы вообще сделал построение ВСЕГО кода шейдера в рантайме(как это реализовано в том же vlc или mpv) и дальнейшую компиляцию.

Пункт 4 - ну как бы не лишнее smile

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

297

Re: MPC Video Renderer

Aleksoid1978 пишет:

Вернее я бы вообще сделал построение ВСЕГО кода шейдера в рантайме(как это реализовано в том же vlc или mpv) и дальнейшую компиляцию.

В чем глубинный смысл этого действия? Получать тормоза при каждой глобальной перекомпиляции?

298

Re: MPC Video Renderer

Тормоза ? И на сколько же это "тормознуто" ? Сколько по времени занимает построение текста шейдера и его компиляция ? Если это действительно "долго" - то ок.

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

299

Re: MPC Video Renderer

Шейдеры уменьшения будут заметно тормозить при компиляции. Сейчас они самые долгие. Даже если мы оптимизируем скорость компиляции, то это куча работы ради "чтобы было как в...". Тут у меня хороших слов нет.

Причина, по которой я решил компилировать convert_color, -  это слишком большое количество вариантов.
packet, packet422, biplanar, planar - x4
обычное, 2 типа HDR - x3
3 варианта chroma location - x3
линейная и букубическая интерполяция хромы - x2
DX9 и DX11 - x2
Итого по прикидкам 4x3x3x2x2= 144 шейдера.

Что-то,  конечно, можно сгруппировать до 48 шейдеров (потеряв в эффективности). Но думаю, лучше замутить специальную функцию, которая будет обрабатывать входные параметры и выдавать готовый шейдер. C++ все-таки гибче и удобнее, чем батники и препроцессор.

300

Re: MPC Video Renderer

Ну ок - оставим в покое шейдеры ресайза.
А вот все что касается шейдеров преобразования - я только за чтобы все в райнтайме, в зависимости от параметров генерить "строку шейдера" и компилить.

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