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

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

V0lt

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1811
MPC Video Renderer
« Ответ #300 : 15 Июль 2019, 12:09:37 »
Прикол с видео без звука.

Тяжелое видео. Т.к. нормальных часов нет, то ничего не дропается. Иногда это бывает даже хорошо, можно слоумо посмотреть. Но иногда декодер выдает кадры волнами и получается не очень.
На EVR-CP тоже самое.

На видео средней тяжести проблема тоже может присутствовать. Запускаю 23,976 на мониторе с 60 Гц, а картинки неравномерно выводятся, группами.
Тут EVR-CP плавнее.

Это я так на будущее. :-)

Aleksoid1978

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 2208
MPC Video Renderer
« Ответ #301 : 15 Июль 2019, 12:23:09 »
Ну как бы без нормальных часов оно так и будет, иногда рывками. Не стоит на это обращать внимание.
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

  • Ветеран
  • *****
  • Сообщений: 1453
MPC Video Renderer
« Ответ #302 : 16 Июль 2019, 00:56:17 »
V0lt/Aleksoid1978
Иногда, при открытии различных видео файлов, может выскакивать ASSERT.
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

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1811
MPC Video Renderer
« Ответ #303 : 16 Июль 2019, 07:40:18 »
Evgeniy1990
На отладочной версии такое бывает. Что-то не нравиться базовому классу.

V0lt

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1811
MPC Video Renderer
« Ответ #304 : 28 Июль 2019, 12:12:10 »
Предварительные данные для рантайим компиляции шейдеров DX11.
Шейдер convert_color (для NV12) компилируется около 10 мс, шейдер convert_color_st2084 (для P010) - около 40 мс.

Evgeniy1990

  • Ветеран
  • *****
  • Сообщений: 1453
MPC Video Renderer
« Ответ #305 : 28 Июль 2019, 17:53:56 »
Цитата: V0lt
На отладочной версии такое бывает. Что-то не нравиться базовому классу.
Интересно, что такое проявляется только в паре с нашим MPC Video Decoder.

Если создать (построить) чистый граф фильтров, состоящий только из наших автономных фильтров с нашим же MPC Video Renderer, то можно даже получить ситуацию, когда "Scaling 0x0 -> 0x0", при этом нет никакого изображения, просто "черный экран".
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

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1811
MPC Video Renderer
« Ответ #306 : 29 Июль 2019, 07:45:19 »
Цитата: Evgeniy1990
Если создать (построить) чистый граф фильтров, состоящий только из наших автономных фильтров с нашим же MPC Video Renderer, то можно даже получить ситуацию, когда "Scaling 0x0 -> 0x0", при этом нет никакого изображения, просто "черный экран".
Очень странно на входе 1280x720, на выходе окно тоже имеет размер. Посмотри, что в отладочная версия MPC VR пишет во вкладке "Information".

Evgeniy1990

  • Ветеран
  • *****
  • Сообщений: 1453
MPC Video Renderer
« Ответ #307 : 29 Июль 2019, 09:40:30 »
Цитата: V0lt
Очень странно на входе 1280x720, на выходе окно тоже имеет размер. Посмотри, что в отладочная версия MPC VR пишет во вкладке "Information".
Посмотрел.

Там у меня вот такая информация:

DirectX 11
Graphics adapter: AMD Radeon HD 5700 Series (1002:68B8)
VideoProcessor  : D3D11
Source rect   : 0,0,1280,720 - 1280x720
Target rect   : 0,0,1280,720 - 1280x720
Video rect    : 0,0,0,0 - 0x0
Window rect   : 0,0,1272,716 - 1272x716
SrcRender rect: 0,0,0,0 - 0x0
DstRender rect: 0,0,0,0 - 0x0

Самое странное и неприятное то, что:

Video rect    : 0,0,0,0 - 0x0
SrcRender rect: 0,0,0,0 - 0x0
DstRender rect: 0,0,0,0 - 0x0


Все эти строчки строго по нулям.
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

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 2208
MPC Video Renderer
« Ответ #308 : 30 Июль 2019, 08:14:15 »
Значит не прилетает SetVideoRect
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

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1811
MPC Video Renderer
« Ответ #309 : 02 Август 2019, 15:35:46 »
Ответы на вопросы о пропуск кадров в MPC VR

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

2. Когда нужно пропускать кадры?
А. Когда видео декодируется и рендериться медленнее, чем требуется.
Б. Когда частота кадров больше частоты дисплея.

3. Каков алгоритм пропуска кадров?
Допустим у нас видео с частотой 25 кадров/сек. Соответственно длительность одного кадра 40 мс и время начала отображения кадров можно представить в виде ряда:
0 40 80 120 160 200 240...
Соответственно время конца отображения кадра равно началу следующего.
Алгоритм вывода-пропуска кадров (упрощенный для понимания сути).
Первый кадр после начала воспроизведения или поиска выводиться всегда. Это нужно, чтобы мы хоть что-то увидели на медленной машине.
Остальные кадры выводятся, если они попадают в свое время (или немного раньше его, но для простоты понимания пока не будем учитывать). Например, в рендерер прилетел кадр со временем 120 мс. Сравниваем с текущем временем, если оно попадает в диапазон 120..160мс, то кадр выводиться. Если менее 120 мс, то придерживается, если более 160 мс, то отбрасывается.

4. Каков алгоритм пропуска кадров для интерлейсного видео
Кадры первого поля выводятся как обычные кадры (см. предыдущий ответ). Кадры второго поля выводятся вслед за предыдущим, если они попадают в тот же диапазон. Для кадра 120 мс, второе поле будет выведено, если текущее время менее 160 мс, в противном случае оно будет отброшено. В данном случае механизм придерживания кадра отсутствует, т.к. не требуется для типичных ситуаций (первое поле уже использовало примерно половину времени).

Aleksoid1978

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 2208
MPC Video Renderer
« Ответ #310 : 05 Август 2019, 11:50:12 »
Есть возможность в окно свойств добавить как в EVR/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

V0lt

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1811
MPC Video Renderer
« Ответ #311 : 05 Август 2019, 17:40:11 »
Aleksoid1978, о чем конкретно идет речь?

Добавлено: 2019-08-05 20:40:11

Речь о вкладке "Качество"?


Aleksoid1978

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 2208
MPC Video Renderer
« Ответ #312 : 05 Август 2019, 23:30:26 »
Да - да, именно о ней.

Добавлено: 2019-08-06 09:30:26

Все отлично работает, вопрос только в том где разместить.
Вот сам патч - https://yadi.sk/d/5gTueUiBPhBtnA

Вкладка "Качество" располагается после всех "наших", перед Pin Info.
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

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1811
MPC Video Renderer
« Ответ #313 : 06 Август 2019, 03:11:56 »
Aleksoid1978, обычно оно в конце располагается. Перед плеерским PinInfo. Вот скриншот для EVR-ов.


Патч не смотрел еще.

Evgeniy1990

  • Ветеран
  • *****
  • Сообщений: 1453
MPC Video Renderer
« Ответ #314 : 21 Август 2019, 04:49:57 »
V0lt

Присутствует проблема с "Direct3D 9Ex".

Если, при "Direct3D 9Ex", мы откроем плейлист и будем растягивать его вверх, или налево, в зависимости от его расположения, то у нас резко начинает возрастать Sync Offset и появляются пропущенные кадры прямо во время воспроизведения видео файла. с Direct3D11 данной проблемы нет.
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.