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

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

Evgeniy1990

  • Ветеран
  • *****
  • Сообщений: 1839
Re: MPC Video Renderer
« Ответ #1380 : 20 Декабрь 2020, 17:35:08 »
V0lt,
Цитировать
Переделал в 03df1e0. Теперь блокируется IDirectXVideoMemoryConfiguration. Вроде лучше получилось.
Проверил коммит 03df1e0. Да, действительно получилось гораздо лучше, избавились от костыля для иконки GPU. Теперь она итак будет отображаться, если используется аппаратное ускорение DXVA2. Но есть один недостаток. Дело в том, что у данного файла иконка GPU будет также отображаться, несмотря на то, что никакого DXVA2, при его воспроизведении, нет.
Цитировать
Да EVR работает, но Я не хочу заниматься этой кривизной (отлаживать и баги исправлять, которые будут).
Все же я предлагаю вам допилить MPC-VR, чтобы на таких вот подобных видео файлах работали все основные форматы NV12, YV12, YUY2. Тогда мы автоматически избавимся от выше упомянутого недостатка. И не нужно тогда будет лепить отдельный костыль. Не думаю, что баги в процессе допиливания будут очень серьезными. Главное, чтобы работали все основные выходные форматы.
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

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 2105
Re: MPC Video Renderer
« Ответ #1381 : 20 Декабрь 2020, 18:05:05 »
Но есть один недостаток. Дело в том, что у данного файла иконка GPU будет также отображаться, несмотря на то, что никакого DXVA2, при его воспроизведении, нет.
Ладно, завтра разберемся. Может вернем 4ac58eb.
Но повторюсь, неправильный значок GPU - это проблема плеера. Я считаю надо в плеере значок GPU править, а не подстраиваться под него.

Цитировать
Все же я предлагаю вам допилить MPC-VR, чтобы на таких вот подобных видео файлах работали все основные форматы NV12, YV12, YUY2.
Не подобных, а кривых, сделанных кривым софтом и кривыми руками. Выкинуть и забыть.

Собрал обе версии: 0.4.10.1565_git2020.12.20-4ac58eb и 0.4.10.1566_git2020.12.20-03df1e0.
« Последнее редактирование: 20 Декабрь 2020, 18:34:52 от V0lt »

Aleksoid1978

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 2542
Re: MPC Video Renderer
« Ответ #1382 : 21 Декабрь 2020, 00:48:32 »
Не надо ничего менять - обновляем MPC-BE и проверяем.
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /LG 47LM620T /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

V0lt

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 2105
Re: MPC Video Renderer
« Ответ #1383 : 21 Декабрь 2020, 05:02:52 »
Aleksoid1978, проверил. Вроде все нормально.

Evgeniy1990

  • Ветеран
  • *****
  • Сообщений: 1839
Re: MPC Video Renderer
« Ответ #1384 : 21 Декабрь 2020, 06:42:59 »
Aleksoid1978,
Не надо ничего менять - обновляем MPC-BE и проверяем.
V0lt,
Aleksoid1978, проверил. Вроде все нормально.
Согласен, что с нашим встроенным MPC Video Decoder теперь все нормально.
А вот в случае с тем же внешним LAV Video Decoder, у данного кривого файла присутствует иконка GPU, если в его настройках выбран аппаратный декодер "DXVA2 (native)". При софтовом avcodec присутствует иконка GPU.
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

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 2542
Re: MPC Video Renderer
« Ответ #1385 : 21 Декабрь 2020, 06:49:19 »
Да и LAV можно подправить. Это все мелочи :)
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /LG 47LM620T /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

V0lt

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 2105
Re: MPC Video Renderer
« Ответ #1386 : 21 Декабрь 2020, 07:48:32 »
Чтение статуса для LAV исправлено.
Осталось проверить MPEG-TS с 2 разными видеопотоками (например, H.264 и HEVC). Проверено, и доработано в r5832.
« Последнее редактирование: 21 Декабрь 2020, 08:34:34 от V0lt »

V0lt

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 2105
Re: MPC Video Renderer
« Ответ #1387 : 21 Декабрь 2020, 10:53:46 »
Выпущен релиз MPC Video Renderer 0.5.0.1567

Изменения:
Добавлена функция OpenConfiguration для вызова настроек из командной строки (пример: rundll32.exe MpcVideoRenderer64.ax, OpenConfiguration).
Устранена утечка памяти для режима Direct3D 11.
Добавлено ограничение - не более одного активного видеорендерера на процесс.
Добавлены отображение статистики и возможность отображения AlphaBitmap (OSD) при остановленном воспроизведении.
Добавлена поддержка HDR passthrough для режима DX11 в Windows 10.
Добавлена возможность переключать дисплей в режим HDR для режима DX11 в Windows 10.
Добавлена возможность вручную отключить конвертацию HDR в SDR.
Исправлено отображение видео HLG в различных ситуациях.
Добавлена поддержка BT.2020 Primaries для некоторых случаев.
Исправлено подключения к любому входному медиатипу, когда декодер DXVA может быть активен.
Добавлена различная информация в статистику.
Рекомендуемая версия MPC-BE 1.5.6.5832 или новее.
« Последнее редактирование: 21 Декабрь 2020, 14:25:27 от V0lt »

Evgeniy1990

  • Ветеран
  • *****
  • Сообщений: 1839
Re: MPC Video Renderer
« Ответ #1388 : 22 Декабрь 2020, 03:05:44 »
V0lt,
Цитировать
Декодер от MS, например, создает все медиатипы размером 864x480. Что правильно.
Забыли совсем про него. Ведь, при использовании Microsoft DTV-DVD Video Decoder, на кривом видео файле даже и не подключается наш MPC Video Renderer. Потому что данный видео декодер способен работать только в аппаратном режиме. Ему нужен NV12. А так как MPC-VR, на данном файле, не способен выдать NV12, то происходит "грязный" отлуп.
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

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 2542
Re: MPC Video Renderer
« Ответ #1389 : 22 Декабрь 2020, 03:35:02 »
Зачем опять поднимать тему - сказали уже, что не работает с "кривым видео", когда нечетные размеры. И не надо больше про это.
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /LG 47LM620T /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

Evgeniy1990

  • Ветеран
  • *****
  • Сообщений: 1839
Re: MPC Video Renderer
« Ответ #1390 : 22 Декабрь 2020, 04:05:03 »
Aleksoid1978,
Зачем опять поднимать тему - сказали уже, что не работает с "кривым видео", когда нечетные размеры. И не надо больше про это.
Просто Microsoft DTV-DVD Video Decoder является исключением (особым случаем) для MPC Video Renderer.
Это особенный видео декодер, поскольку работает всегда и только исключительно в режиме аппаратного ускорения.
Именно поэтому, при его использовании, по идее, да и по логике, должны быть также учтены некоторые моменты.

Хорошо, опустим тему с кривыми видео файлами. Вернемся ко всем остальным нормальным видео файлам.
Какой еще момент не был учтен в MPC-VR, при использовании Microsoft DTV-DVD Video Decoder?

Возьмем четыре видеокарты:

1. ASUS EAH5770 CuCore
2. Palit NVIDIA GeForce GTS 450
3. GIGABYTE GeForce GTX 960
4. GIGABYTE Radeon RX 580

Стоит ли мне вам напомнить, что только лишь две из них способны аппаратно декодировать формат P010.
В таком случае, проблем со связкой Microsoft DTV-DVD Video Decoder + MPC Video Renderer нет.

Что касается остальных двух карт, то они не способны аппаратно декодировать формат P010.
И в этом случае, данная связка Microsoft DTV-DVD Video Decoder + MPC Video Renderer уже не работает.

Вы у себя этого не увидите, а вот в моем случае, при использовании данной связки, после открытия просто черный экран и сам процесс воспроизведения даже не начинается. Ну это итак понятно. ATI Radeon HD 5770 и GeForce GTS 450 не умеют аппаратно работать с P010, а Microsoft DTV-DVD Video Decoder способен работать только лишь в аппаратном режиме, как я вам уже говорил.
Естественно, у нас работает в таком случае видеопроцессор "DXVA2 VP".

Вот, исходя из этого, возникает вопрос, можно ли заставить работать данную связку на видеокартах, не умеющих аппаратно работать с P010? Учитывая тот факт, что Microsoft DTV-DVD Video Decoder способен работать только лишь в аппаратном режиме, это будет непросто, только если отрубать сам видеопроцессор "DXVA2 VP", или вводить дополнительные проверки.
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

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 2542
Re: MPC Video Renderer
« Ответ #1391 : 22 Декабрь 2020, 04:35:03 »
Так - с каких пор Microsoft DTV-DVD Video Decoder декодер научился аппаратно декодировать H.264 10-bit - раз речь идет про P010, значит видео 10-bit, HEVC он не умеет а H.264 10-bit аппаратно не поддерживается. При открытии H.264 10-bit всегда черный экран с этим декодером :)

P.S. Да и все равно он на выходе дает NV12, какие могут быть P010 ???
« Последнее редактирование: 22 Декабрь 2020, 04:42:57 от Aleksoid1978 »
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /LG 47LM620T /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

V0lt

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 2105
Re: MPC Video Renderer
« Ответ #1392 : 22 Декабрь 2020, 09:27:02 »
Кратко дополню по кривым форматам (4:2:0 с нечетными размерами).

EVR работает только потому, что ему повезло соединиться с продвинутым декодером, который поддерживает изменение формата по запросу. Если бы там был например какой-будь сурс фильтр (AVI с несжатым видео), то соединения бы не произошло. Для корректных форматов может подключиться дополнительный фильтр, типа Color Space Converter, который сделает EVR хорошо.

MPC VR имеет другую логику. Он так же запрашивает изменение формата после подключения. Но если подключаемый фильтр формат не меняет, то работает с исходным. Это важная фича MPC VR. Ему не нужны промежуточные фильтры, чтобы работать с любым из поддерживаемых форматов. Если исходный формат будет кривой, тогда MPC VR в лучшем случае просто уронит плеер, в худшем - что-нибудь запорет в памяти процесса.
Я не собираюсь делать хитрые обходные пути для подобной кривизны. Это усложнит и без того сложный код. Тему предлагаю закрыть.

Evgeniy1990

  • Ветеран
  • *****
  • Сообщений: 1839
Re: MPC Video Renderer
« Ответ #1393 : 25 Декабрь 2020, 07:16:30 »
V0lt,
Обнаружил пропадание DXVA2. То он есть, то его нет, то просто NV12.
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

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 2542
Re: MPC Video Renderer
« Ответ #1394 : 25 Декабрь 2020, 07:23:59 »
Бывает - но наверное надо конкретику :)
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /LG 47LM620T /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215