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

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

V0lt

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1793
MPC Video Renderer
« Ответ #105 : 12 Март 2018, 17:41:18 »

Evgeniy1990

  • Ветеран
  • *****
  • Сообщений: 1436
MPC Video Renderer
« Ответ #106 : 12 Март 2018, 18:36:34 »
Цитата: V0lt
А так? - https://yadi.sk/d/xe1V4Pxz3THXZC
Проверил. При открытии - не падает, зелень, при открытии, также отсутствует.
Но, при попытке переключить выходные форматы на лету, плеер падает.

Я так понимаю, что вы сделали откат.
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

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1793
MPC Video Renderer
« Ответ #107 : 12 Март 2018, 18:41:53 »
Цитата: Evgeniy1990
Я так понимаю, что вы сделали откат.
Нет. Я доработал обход бага для AMD. См. лог.

Evgeniy1990

  • Ветеран
  • *****
  • Сообщений: 1436
MPC Video Renderer
« Ответ #108 : 13 Март 2018, 03:43:01 »
Цитата: V0lt
Цитата: Evgeniy1990
Я так понимаю, что вы сделали откат.
Нет. Я доработал обход бага для AMD. См. лог.
Ясно, но теперь плеер падает при смене выходных форматов, как на лету, так и вручную, до открытия видео файлов.
Поправьте пожалуйста.
[merge_posts_bbcode]Добавлено: 2018-03-12 22:01:36[/merge_posts_bbcode]

Странно, memset нормально работает только с NV12, со всеми остальными выходными форматами - полный крах.

V0lt, обратите пожалуйста внимание на этот скриншот.

[merge_posts_bbcode]Добавлено: 2018-03-13 06:43:01[/merge_posts_bbcode]

V0lt / Aleksoid1978

Собрал и проверил MpcVideoRenderer.ax (build 94 - Commit 45be5d1).

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.

V0lt

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1793
MPC Video Renderer
« Ответ #109 : 14 Март 2018, 19:14:09 »
Aleksoid1978
Не могу создать поверхность Direct3D11.
hr = m_pDevice->CreateTexture2D(&desc, NULL, &m_pSrcTexture2D);[merge_posts_bbcode]Добавлено: 2018-03-13 19:34:33[/merge_posts_bbcode]

Немного о том как интерпритировать поверзность DX9Ex в DX11
Есть статья Surface Sharing Between Windows Graphics APIs.
В ней есть ссылки на пример кода, которые более недействительны.
http://code.msdn.microsoft.com/D3D9ExDXGISharedSurf
http://archive.msdn.microsoft.com/D3D9ExDXGISharedSurf

На форуме MSDN есть тема по этому примеру кода, в которой пример так и не нашли, но нашли кое-что похожее.
https://github.com/Microsoft/WPFDXInterop/blob/master/src/Microsoft.Wpf.Interop.DirectX/SurfaceDevice9.cpp

[merge_posts_bbcode]Добавлено: 2018-03-14 22:14:09[/merge_posts_bbcode]

Заметил проблему некорректного вывода на некоторых размерах кадра (например на 854x480).

Ссылка.
Буду разбираться.

Aleksoid1978

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 2198
MPC Video Renderer
« Ответ #110 : 15 Март 2018, 12:14:25 »
Возможно что при работе с dx9 поверхностями есть ограничение на кратность, может размеры должны кратны 8.

P.S. Исправил.
[merge_posts_bbcode]Добавлено: 2018-03-15 22:14:25[/merge_posts_bbcode]

Реализовал поддержку кастомных интерфейсов от LAV для работы D3D11 Native декодера. Работает - но какие-то непонятки с рендерингом картинки - все идет рывками. Причина неясна. Мой английский слаб чтобы задавать вопросы :)
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

Evgeniy1990

  • Ветеран
  • *****
  • Сообщений: 1436
MPC Video Renderer
« Ответ #111 : 15 Март 2018, 14:03:46 »
Цитата: Aleksoid1978
Реализовал поддержку кастомных интерфейсов от LAV для работы D3D11 Native декодера. Работает - но какие-то непонятки с рендерингом картинки - все идет рывками. Причина неясна. Мой английский слаб чтобы задавать вопросы :)
У меня, на Windows 10, при использовании "LAV D3D11 Native"-декодера, при открытии просто черный экран.
Воспроизведение видео файлов даже не начинается, плеер просто висит намертво, при старте, т.е. полностью построил граф фильтров и висит намертво на месте.
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

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 2198
MPC Video Renderer
« Ответ #112 : 15 Март 2018, 22:03:28 »
Ну я поддержку его ещё не внедрял. Ты собирал с DX9 или 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

Evgeniy1990

  • Ветеран
  • *****
  • Сообщений: 1436
MPC Video Renderer
« Ответ #113 : 16 Март 2018, 05:28:18 »
Цитата: Aleksoid1978
Ну я поддержку его ещё не внедрял. Ты собирал с DX9 или 11 ??
Ясно. Я собирал как обычно, с DX9. Значит требуется все-таки DX11.
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

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 2198
MPC Video Renderer
« Ответ #114 : 16 Март 2018, 09:21:03 »
DX11 требуется ТОЛКО чтобы в связке с LAV Video в последнем DX11 декодирование работало в "нативном" режиме(для этого требуется специальные интерфейсы и поддержка на стороне видео-рендерера). Поддержку чего я, кстати, уже сделал.
[merge_posts_bbcode]Добавлено: 2018-03-16 19:21:03[/merge_posts_bbcode]

Надо бы уже подумать об очереди, чтобы самим контролировать A/V синхронизацию. Пока мне не ясен момент с интерлесным видео, его надо выводить в 2-а раза быстрее. Это что - один и тот же сэмпл 2 раза рендерить, чтобы частота вывода увеличилась.
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

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1793
MPC Video Renderer
« Ответ #115 : 16 Март 2018, 16:40:21 »
Цитата: Aleksoid1978
Это что - один и тот же сэмпл 2 раза рендерить, чтобы частота вывода увеличилась.
По идее должно быть так, что входит один сэмпл, вытаскиваем два. Но примеров кода я не видел.

Aleksoid1978

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 2198
MPC Video Renderer
« Ответ #116 : 17 Март 2018, 12:39:37 »
Проверил как работает A/V синхронизация с нашим видео-рендерером - да как бы все отлично, спецом проверял даже на VFR видео - все корректно, fps видео меняется. Так что, в принципе, можно не вводить никакой очереди(ну пока не решим добавлять всякие V-Sync и т.д.).

А вот вопрос с выводом интерлейс материала остается открытым - нам надо кадры выводить "в 2 раза чаще" чем они поступают. Это вот как - брать и каждый интерлейсный кадр выводить 2 раз ??

Кстати - у нас на DX11 + D3D11 Native декодер в LAV прекрасно работает деинтерлейс(не знаю что не может сделать автор madVR).
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

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1793
MPC Video Renderer
« Ответ #117 : 17 Март 2018, 15:06:50 »
Aleksoid1978
Я думаю в madVR есть конфликт с шейдерными преобразованиями и D3D11. Мы после процессора сразу получаем RGB, а в madVR преобразование YUV->RGB скорее всего делается на  шейдерах.
[merge_posts_bbcode]Добавлено: 2018-03-17 18:06:50[/merge_posts_bbcode]

Сделал возможность включения режима Dirеct3D11 через сохраняемую опцию.

Aleksoid1978

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 2198
MPC Video Renderer
« Ответ #118 : 18 Март 2018, 02:13:15 »
У меня, кстати, есть предложение - в VP делать только преобразование, а вот уже ресайз на шейдерах. Заодно научиться работать с шейдерами на DX11 :)
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

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1793
MPC Video Renderer
« Ответ #119 : 18 Март 2018, 04:53:31 »
Цитата: Aleksoid1978
У меня, кстати, есть предложение - в VP делать только преобразование, а вот уже ресайз на шейдерах.
Плохое предложение. Ресайз силами VP самый оптимальный по нагрузке на железо. Мы наконец-то сделали такой ресайз для NV12 и P010 , а ты уже хочешь его выкинуть.
[merge_posts_bbcode]Добавлено: 2018-03-18 07:46:37[/merge_posts_bbcode]

Попробую сделать класс для DX9.

[merge_posts_bbcode]Добавлено: 2018-03-18 07:53:31[/merge_posts_bbcode]

Кстати. У кого-нибудь есть дремучая карта, которая знает только DirecX 10 или только DirecX 9?