MPC-BE forum

MPC-BE => Внешние фильтры / External filters => Тема начата: V0lt от 24 февраля 2018, 19:10:59

Название: MPC Video Renderer
Отправлено: V0lt от 24 февраля 2018, 19:10:59
Исходный код: https://github.com/Aleksoid1978/VideoRenderer (https://github.com/Aleksoid1978/VideoRenderer)
История коммитов (https://github.com/Aleksoid1978/VideoRenderer/commits/master)
История изменений (history.txt) (https://github.com/Aleksoid1978/VideoRenderer/blob/master/history.txt)
Релиз 0.7.3.2210 (https://github.com/Aleksoid1978/VideoRenderer/releases)

Тестовые сборки (https://yadi.sk/d/X0EVMKP4TcmnHQ).
Тестовые сборки от Evgeniy_1990 (https://disk.yandex.ru/d/AjAXDDHtHRIELg/MPC%20Video%20Renderer%20(Git%20Latest)).

Минимальные системные требования:
Windows 7 и новее
Видеокарта с поддержкой DirectX 9

Рекомендуемые системные требования (для использования D3D11 API):
Windows 8.1 и новее
Видеокарта с поддержкой DirectX 10/11

Рекомендуемые системные требования для вывода HDR
Windows 10 и новее
Видеокарта с поддержкой DirectX 11 и выводом HDMI 2.0b или новее.
Дисплей c поддержкой HDR10.

Основные возможности:
- Видеопроцессор на шейдерах для NV12, YV12, YUY2, YV16, P010, P016, YV24, AYUV, P210, P216, Y410, Y416, RGB24/32/48/64, b48r, b64a, Y8, Y16.
- Умеет работать с аппаратным декодером DXVA2 для всех режимов.
- Поддерживает вывод субтитров в связке с MPC-BE 1.5.4+.
- Поддерживает видео HDR (HDR10, HLG и частично Dolby Vision).
- Автоматическое преобразование HDR в SDR.
- Поворот кадра (поддерживается MPC-BE).
- Дизеринг при финальном уменьшении глубины цвета с 10/16 бит до 8 бит.

Дополнительные возможности режима DirectX 9:
- DXVA2 Video Processor с аппаратным деинтерлейсом для YV12, NV12, YUY2, P010 (+ хак для RGB для Intel).

Дополнительные возможности режима DirectX 11:
- Direct3D11 Video Processor с аппаратным деинтерлейсом для NV12, YUY2, P010 (+ RGB для Intel и AMD).
- Умеет работать с аппаратным декодером D3D11.
- Умеет передавать данные HDR10 на дисплей (требуется Windows 10 и дисплей с поддержкой HDR10)
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 26 февраля 2018, 10:56:02
Скриншот окна настроек:


Описание настроек

Use Direct3D11
Видеорендерер будет по возможности использовать Direct3D 11, а не Direct3D9. Требуется Windows 7 SP1, рекомендуется Windows 8.1 или новее.

Texture format
Формат текстуры, который будет использоваться для хранения промежуточных результатов обработки.
PS: Формат 16-bit Floating Point увеличивает потребление видеопамяти.

Show statistics
Поверх кадра будет нарисована статистика с различной информацией. Рекомендуется ее включать, чтобы сделать скриншот при наличии каких-либо проблем.


----- DXVA2 and D3D11 video processor -----

Use for: NV12, P010/P016, YUY2, Other supported formats
Указаны форматы для которых при возможности будет использоваться видеопроцессор DXVA2 или D3D11.  Видеопроцессоры DXVA2 и D3D11 как правило работают быстрее, чем шейдеры, а так же умеют делать деинтерлейс.
PS: Интерлейсные кадры обычно бывают в формате NV12 или YUY2.

Double the frame rate when deinterlacing
При работе деинтерлейса выходная частота будет удваиваться.

Use for resizing
Видеопроцессор DXVA2 или D3D11 будет использоваться для изменения размера кадра.
Работает быстро, но может быть некачественной. Например, на видеокартах Nvidia используется билинейная интерполяция (плохо), на графике Intel - бикубическая (хорошо).

Request Super Resolution
Рендерер сделает запрос на использование Super Resolution. Поддержка зависит от типа графического адаптера и драйверов.
Должно работать на Intel Gen10+ и RTX 30/40 со свежими драйверами.


----- Shader video processor -----

Chroma scaling
Алгоритм увеличения цветовой составляющей с 4:2:0 и 4:2:2 до 4:4:4.

Upscaling
Алгоритм интерполяции, который используется для увеличения кадра.

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

Use the "Upscaling" method to reducing the frame to 50%
Алгоритм интерполяции будет использован также для уменьшения кадра до 50%.

Use dithering
Позволяет использовать дизеринг при финальном уменьшении глубины цвета с 10/16 бит до 8 бит. Дизеринг может улучшить отображение плавных переходов. На небольших дисплеях эффект скорее всего не будет заметен.

Use Blend deinterlacing for YUV 4:2:0
Для кадров помеченных как интерлейсные будет применен простой деинтерлейс Blend.


----- HDR -----

Prefer Dolby Vision over PQ and HLG
Опция используется для совместимых форматов Dolby Vision. По умолчанию выключена, т.к. картинка почти не меняется, но заметно возрастает нагрузка на видеокарту.

Passthrough to display
Позволяет передавать метаданные HDR-видео на дисплей.
Требования: Windows 10; дисплей с поддержкой HDR10; видеокарта с поддержкой HDMI 2.0b или DisplayPort 1.4.

Convert to SDR
Позволяет преобразовать видео HDR в SDR и корректно отображать на обычных дисплеях.

Windows HDR
Автоматически переключает дисплей в режим HDR.
Требования: Windows 10; дисплей с поддержкой HDR10; видеокарта с поддержкой HDMI 2.0b или DisplayPort 1.4

Subtitle and OSD brightness
Изменяет яркость субтитров для видео HDR, когда активен Passthrough to display.


----- ----- -----

Swap effect
Способ отображения кадра на рабочий стол. Как правило режим Discard стабильнее, но режим Flip может оказаться быстрее.

Use exclusive fullscreen
Может решить проблему неплавного воспроизведения на дополнительном дисплее.

Wait for V-Blank before Present
Позволяет более точно определять время вывода кадра, что может улучшить плавность воспроизведения. Благодаря этой опции график SyncOffset более точно отображает неравномерность вывода кадров.

Reinitialize D3D device when changing display
Если переместить окно на другой дисплей, то произойдет сброс и повторная инициализация устройства Direct3D. Это позволяет решить некоторые проблемы мультимониторых конфигураций.
Название: MPC Video Renderer
Отправлено: V0lt от 02 марта 2018, 08:47:20
Известные проблемы:
1. Вызывает падение Mpeg2DecFilter при открытии DVD-Video в формате PAL.
Исправлено в 2ed2b74.
2. Шейдерная интерполяция в режиме D3D11 работает некорректно. Остаются остатки кадра при уменьшении области кадра, есть артефакты в виде лесенки при зуммировании.
Исправлено в f894845 и cfd2448.
3. Рендерер по непонятным причинам несовместим с "Microsoft DTV-DVD Video Decoder".
Исправлено в 6156c3f.
4. На паузе после сворачивания и последующего разворачивания вместо текущего кадра виден черный экран.
Исправлено в 29d96a0 + MPC-BE 1.5.4.4589.
5. Если имеется второй адаптер, к которому подключен дополнительный дисплей, то в режиме DX11 не работают аппаратные декодеры DXVA2 и D3D11.
Исправлено в MPC-BE 1.5.4.4581.
6. При активном окне настроек переключение на другое видео ломает воспроизведение.
Исправлено в MPC-BE 1.5.4.4611.
7. При повороте кадра без масштабирования, когда он перестает помещаться по высоте в окно, искажаются пропорции.
Исправлено в b5fae7b.



Планы (без сроков естественно):
1. Доработать шейдер конвертации цвета. Сейчас, например, есть проблема с HLG, и не учитываются некоторые параметры.
Сделано в 0.5.1.1594
2. Добавить возможность использовать эксклюзивный полный экран.
Сделано в 0.4.6.1323 - 0.4.8.1407
В перспективе это даст более плавное воспроизведение на дополнительном дисплее и возможность вывода в формате 10-бит.
3. Улучшить вывод текста статистики, чтобы одинаково хорошо отображалось на светлом и темном фоне.
Сделано в 0.4.8.1359_git2020.06.22-bf8a50c
4. Сделать какой-нибудь график в статистики для большей наглядности.
Сделано в 0.4.6.1267_git2020.05.01-61ed451
5. Реализовать интерфейс для рендеринга субтитров на текстуре D3D11.
Сделано в 208ac10.
6. Реализовать очередь входных кадров. Нужен как минимум 1 кадр из будущего для улучшения деинтерлейса и возможной поддержки увеличения частоты видео (D3D11).
7. Реализовать очередь выходных кадров. Это позволит решить некоторые проблемы с плавностью. Например после увеличения частоты видео после деинтерлейса.

2021
8. Попытаться разделить инициализацию медиатипа и ресурсов DXVA/Direct3D.
9. Реализовать поддержку внутренних и внешних шейдеров до изменения размера кадра.
10. Реализовать возможность получения картинок в формате 16-бит на канал.
11. Добавить коррекцию субтитров и OSD при выводе в режиме HDR.
Сделано в fa49343.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 02 марта 2018, 13:28:50
Получение отладочного лога

1. Установить отладочную (Debug) версию MPC Video Renderer.
2. Скачать, распаковать и запустить DebugView (https://docs.microsoft.com/en-us/sysinternals/downloads/debugview).
3. Выбрать в плеере MPC Video Renderer и запустить воспроизведение.
4. В окне DebugView будут появляться отладочные сообщения, можно воспроизводить проблемную ситуацию.
5. Когда необходимая информация собрана, сохранить отладочные сообщения в LOG-файл (DebugView > File > Save As...).
Название: MPC Video Renderer
Отправлено: V0lt от 03 марта 2018, 10:39:56
Два вопроса:

1. Ты сможешь запустить DXVA-HD Sample (https://github.com/Microsoft/Windows-classic-samples/tree/master/Samples/Win7Samples/multimedia/mediafoundation/DXVA_HD)?
У меня какие-то тупые ошибки выдает.
Разобрался. Там было /WX включено и предупреждения работали как ошибки.

2. Может откажемся от Precompiled Headers в основном проекте?
А то сейчас невозможно сторонний код в отдельную папку "thirdparty" закинуть.
[merge_posts_bbcode]Добавлено: 2018-03-03 10:39:56[/merge_posts_bbcode]

Могу попробовать добавить DXVA2-VideoProc, чтобы на AMD экспериментировать.

PS: Пока интерполяция DXVA-HD неправильно работает.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 03 марта 2018, 12:09:42
Цитата: V0ltМогу попробовать добавить DXVA2-VideoProc, чтобы на AMD экспериментировать.
Добавьте пожалуйста "DXVA2-VideoProc", очень хочется прогнать/потестировать новый видео-рендерер на AMD-видеокарте.

Кстати, очень даже шикарная идея реализовать свой собственный видео-рендерер. Круто! ;)
Название: MPC Video Renderer
Отправлено: V0lt от 03 марта 2018, 12:38:30
Evgeniy1990
Рендерер еще ничего не умеет, а то что умеет - делает не очень. Доведение до ума будет долгим.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 03 марта 2018, 12:52:35
Цитата: V0ltРендерер еще ничего не умеет, а то что умеет - делает не очень. Доведение до ума будет долгим.
Я понимаю, что пока он ничего не умеет, ведь проект только что недавно появился. Естественно потребуется немало времени, чтобы довести его до ума. Но вы - молодцы! ;)

Если наш проект "MPC-BE" получит свой собственный видео-рендерер, да еще и полнофункциональный, со временем,
то это будет самый настоящий шедевр. :)
Название: MPC Video Renderer
Отправлено: V0lt от 03 марта 2018, 15:10:15
В общем DXVA2-VideoProc добавлен и включен по умолчанию.
Есть проблема с программным декодированием, его посмотрю попозже.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 03 марта 2018, 16:04:35
Цитата: V0ltВ общем DXVA2-VideoProc добавлен и включен по умолчанию.
Есть проблема с программным декодированием, его посмотрю попозже.
Огромное вам спасибо за ваши труды! Превосходно! ;)
У меня наконец-то появилось изображение, при использовании данного видео-рендерера на "AMD Radeon HD 5770", но пока только в аппаратном режиме. В софтовом режиме пока зеленый экран. В общем, как вы и сказали, с программным декодированием есть проблемы.

Отличное начало! ;)
Название: MPC Video Renderer
Отправлено: V0lt от 03 марта 2018, 17:25:46
В общем YUY2 и RGB32 сейчас показывают нормально, NV12, YV12 и P010 - зелень. Надо разбираться...

Позже сравню уменьшение RGB32 на Nvidia и Intel. Если все правильно работает, то на Intel картинка будет выглядеть лучше.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 03 марта 2018, 19:09:31
Цитата: V0ltВ общем YUY2 и RGB32 сейчас показывают нормально, NV12, YV12 и P010 - зелень. Надо разбираться...
На AMD-видеокарте на любом выходном формате присутствует зелень в программном режиме.
На RGB32 видно движение кадров, хотя скорее помех внутри зелени.
Название: MPC Video Renderer
Отправлено: V0lt от 03 марта 2018, 19:30:38
Вывод NV12, P010 исправлен, YV12 выводится почти правильно.

Evgeniy1990
Странно что у тебя YUY2 некорректно выводит. Надо будет делать специальную сборку с отладочным логом. :(
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 03 марта 2018, 22:34:30
Цитата: V0ltВывод NV12, P010 исправлен, YV12 выводится почти правильно.

Evgeniy1990
Странно что у тебя YUY2 некорректно выводит. Надо будет делать специальную сборку с отладочным логом. :(
Я и сам удивился, что YUY2 выводит с зеленью.

Собрал последний, на данный момент, commit 6e82636. Проверил выходной формат YUY2 - теперь зелени нет, но зато вообще полный ступор, изображение не движется, кадры не воспроизводятся.

Сделайте лучше специальную сборку с отладочным логом. Я обязательно проверю и выложу вам лог-файл.
Думаю, что по нему, вам будет понятно что не так.
[merge_posts_bbcode]Добавлено: 2018-03-03 22:34:30[/merge_posts_bbcode]

V0lt
Заметил такую странность:

Если мы меняем выходной формат в видео декодере еще до открытия самих видео файлов, то все они работают нормально.

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

NV12 -> YV12 -> YUY2 -> RGB32 -> P010

Так вот, при смене с NV12 на YV12 - переключение нормальное, а вот дальше уже начинаются проблемы.

1. Если во время воспроизведения некоего видео файла отключить в видео декодере выходные форматы NV12 и YV12, то при переключении на выходной формат YUY2, изображение просто стоит на месте.

2. Далее - отключаю YUY2, во время воспроизведения некоего видео файла, в видео декодере, включается RGB32.

После его включения уже отчетливо видны кадры видео, во время его воспроизведения, но при этом также присутствуют помехи.

3. Далее - отключаю RGB32, во время воспроизведения некоего видео файла, в видео декодере, включается P010.

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

В общем, все эти проблемы возникают при условии переключения выходных форматов в видео декодере, уже во время воспроизведения неких видео файлов. Вот именно с этим и необходимо разобраться, устранить их.
Название: MPC Video Renderer
Отправлено: V0lt от 03 марта 2018, 22:37:17
Цитата: Evgeniy1990А если мы меняем выходные форматы уже во время воспроизведения видео файлов, то могут быть проблемы.
Не надо так делать. В коде это пока не предусмотрено.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 03 марта 2018, 22:40:08
Цитата: V0ltНе надо так делать. В коде это пока не предусмотрено.
Ясно. Просто мне так переключать их удобнее и быстрее всего проверить каждый из них.
Потом тогда реализуете такую возможность. Ее просто не хватает сейчас для удобства проверки.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 04 марта 2018, 04:36:40
YV12 выводиться некорректно:
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 04 марта 2018, 08:09:04
Aleksoid1978

V0lt говорил, что "YV12 выводится почти правильно".

На AMD-видеокарте выходной формат YV12 выглядит еще более невероятно (https://yadi.sk/i/AF-0I4XG3Synqd).

В общем, выглядит так, как будто взяли одно изображение и разделили (разрезали) его на четыре равные части и продублировали их.
[merge_posts_bbcode]Добавлено: 2018-03-04 08:09:04[/merge_posts_bbcode]

V0lt / Aleksoid1978

С выходным форматом P010 есть проблема. В моем случае, на AMD-видеокарте, при выводе в данный формат, просто черный экран, т.е. изображения нет. Я запустил видео файл "H.264 (10 bit)", вижу в видео декодере, что работает выходной формат P010, т.е. 10 бит выводятся в чистом виде, но само изображение отсутствует.
Название: MPC Video Renderer
Отправлено: V0lt от 04 марта 2018, 08:13:07
С YV12 разберусь и поправлю.

RGB32 в будущем оставлю только для DXVA-HD, а для DXVA2-VP сделаю интерполяцию через шейдеры. Там не шибко сложно должно быть, т.к. не надо преорбразования YUV->RGB делать.

Вопрос. Мы будем куда-нибудь выкладывать сборки фильтра?
Если будем то надо архиву порядковый номер присваивать (как в MPC-HC) и часть хеша.
Пример: MpcVideoRenderer-r20-7cf381d2.zip.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 04 марта 2018, 08:42:16
Цитата: V0ltВопрос. Мы будем куда-нибудь выкладывать сборки фильтра?
Если будем то надо архиву порядковый номер присваивать (как в MPC-HC) и часть хеша.
Пример: MpcVideoRenderer-r20-7cf381d2.zip.
Я буду собирать и выкладывать сборки фильтра на Я.Диск в отдельную папку.
Позже могу добавить ссылку на данный фильтр в шапку в нашу тему проекта "MPC-BE" на Ruboard.

В общем, будет само название фильтра, его порядковый номер (текущее последнее изменение) и текущий коммит (7 знаков), как в вашем примере.
[merge_posts_bbcode]Добавлено: 2018-03-04 08:42:16[/merge_posts_bbcode]

V0lt
Может лучше для 64-битной версии фильтра в его название добавить "64", т.е. вот так "MpcVideoRenderer64.ax", чтобы можно было положить две версии 32 и 64 битную в один архив. Как вы считаете?
Название: MPC Video Renderer
Отправлено: V0lt от 04 марта 2018, 08:49:32
Evgeniy1990
Не спеши. Там батник еще надо написать, которого нет. :)
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 04 марта 2018, 08:51:49
Цитата: V0ltEvgeniy1990
Не спеши. Там батник еще надо написать, которого нет. :)
Ок, понял вас, в общем, тогда буду ждать батника. :)
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 04 марта 2018, 09:03:15
Куда вы летите - еще настолько сырое чтобы выкладывать. Да и вообще - какой смысл его отдавать в паблик ??
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 04 марта 2018, 09:06:38
Цитата: Aleksoid1978Куда вы летите - еще настолько сырое чтобы выкладывать. Да и вообще - какой смысл его отдавать в паблик ??
Мы пока никуда не торопимся, пока просто обдумываем как будем его в дальнейшем собирать, куда выкладывать и т.д.
Пока только мысли на будущее. :)
Название: MPC Video Renderer
Отправлено: V0lt от 04 марта 2018, 09:47:55
Хмм.
В общем DXVA-HD оказался беднее в плане вариантов преобразования YUV->RGB
Спецификации для сравнения: DXVA-HD (https://msdn.microsoft.com/en-us/library/dd318765(v=vs.85).aspx) и DXVA2-VP (https://msdn.microsoft.com/en-us/library/ms704798(v=vs.85).aspx).
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 04 марта 2018, 10:00:10
Необходимо реализовать поддержку ресайза на паузе. А для этого надо хранить послдений кадр. И если с софтовым декодированием все более-менее просто(у нас последние данные есть в m_pSrcSurface и можно на паузе спокойно выводить их), то с DXVA2 сложнее - тут надо данные из pSample как-то вытаскивать в туже m_pSrcSurface.
Название: MPC Video Renderer
Отправлено: V0lt от 04 марта 2018, 10:10:40
Aleksoid1978
Тут вот какое дело. Если мы будет прикручивать деинтерлейс, то скорее всего у нас появиться очередь и тогда вопрос с паузой решиться сам с собой. :)
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 04 марта 2018, 10:13:40
В любом случае, для начала - надо научиться вытаскивать данные из surface для DXVA2 режима.
Название: MPC Video Renderer
Отправлено: V0lt от 04 марта 2018, 14:49:27
Исправил вывод YV12.
[merge_posts_bbcode]Добавлено: 2018-03-04 14:25:08[/merge_posts_bbcode]

Aleksoid1978, тебе вопрос.
В коде ниже кто рулит буфером в виде pSurface? Декодер?
   if (CComQIPtr pService = pSample) {
        CComPtr pSurface;
        if (SUCCEEDED(pService->GetService(MR_BUFFER_SERVICE, IID_PPV_ARGS(&pSurface)))) {


        }
    }

[merge_posts_bbcode]Добавлено: 2018-03-04 14:49:27[/merge_posts_bbcode]

Про деинтерлейс в DXVA2-VP.
Сейчас мы используем ProgressiveDevice. Но если понадобиться, то можно использовать BobDevice. Он стандартный, использует фичу BOBVerticalStretch и вроде как удваивает частоту.

Есть еще "девайсы" от вендеров.
Nvidia {6CB69578-7617-4637-91E5-1C02DB810285}, который использует PixelAdaptive.
Intel {BF752EF6-8CC4-457A-BE1B-08BD1CAEEE9F}, который использует EdgeFiltering, InverseTelecine и требует 1 BackwardRefSamples.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 04 марта 2018, 16:03:26
В случае DXVA2 - тем pSurface рулит DXVA2 декодер, тот который в Direct3D9(не путать с видео-декодером).
Поэтому чтобы получить данные от DXVA2 декодера - нам и нужно вот таким образом получить указатель на поверхность, которая содержит сами данные. Вот их и надо научиться сохранять.
Название: MPC Video Renderer
Отправлено: V0lt от 05 марта 2018, 06:21:40
1. Есть метод IDirect3DDevice9::UpdateSurface, который не работает для нашего случая.
2. Есть еще функция D3DXLoadSurfaceFromSurface, но придется тянуть d3dx9_43.dll.
[merge_posts_bbcode]Добавлено: 2018-03-05 06:21:40[/merge_posts_bbcode]

3. Рендерим кадр два раза, сначала в промежуточную поверхность, потом в выводимую.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 05 марта 2018, 16:04:54
Ну тогда надо - временную поверхность создавать размером видео-кадра, рендерить в нее. А потом по необходимости уже ресайзить "на экран".
[merge_posts_bbcode]Добавлено: 2018-03-05 19:15:54[/merge_posts_bbcode]

Проверил - копирование данных между поверхностями работает(в нашем случае) с помощью IDirect3DDevice9::StretchRect(). Замерил скорость выполнения(проверял в Debug варианте) - на кадре 1920х1080 NV12 и 3840х2160 P010, менее 1мс, даже быстрее чем наш код CopyFrameData().

Так что никакой потери по быстродействию тут и не пахнет.

[merge_posts_bbcode]Добавлено: 2018-03-05 23:04:54[/merge_posts_bbcode]

По поводу деинтерлейса - использовать BobDevice это уже "последнее" дело. По хорошему надо пытаться использовать "девайсы" от вендеров, дабы получить доступ к PixelAdaptive и т.д. В инете даже помню были примеры, там перебором ищется нужный "процессор" для деинтерлейса.

Но вот тут интересный момент - получается что для каждого кадра придется проверять типа(прогрессив/интерлейс) и по необходимости пересоздавать DXVA2-VP.
Название: MPC Video Renderer
Отправлено: V0lt от 06 марта 2018, 18:02:50
IDirect3DDevice9::StretchRect делает все в видеокарте, поэтому и быстрый.

Цитата: Aleksoid1978Но вот тут интересный момент - получается что для каждого кадра придется проверять типа(прогрессив/интерлейс) и по необходимости пересоздавать DXVA2-VP.
Врядли. Думаю "девайс" от вендера без проблем переварит прогрессивный кадр. Надо попробовать.
[merge_posts_bbcode]Добавлено: 2018-03-06 18:02:50[/merge_posts_bbcode]

Прикрутил заготовку окна настроек и информации. Если не видите, то попробуйте заново зарегистрировать фильтр.

Хотел закинуть в нее небольшую статистику, но похоже придеться MFC прикручивать, которая ошибками сыплет. Пока отложил.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 07 марта 2018, 00:26:04
Если нужен MFC - надо просто переделать немного регистрацию фильтра. А вообще, можно обойтись и без MFC, чисто виндовый апи юзать.
Название: MPC Video Renderer
Отправлено: V0lt от 08 марта 2018, 07:06:55
Не могу понять почему этот патч (https://yadi.sk/d/a45P-g7Q3T925s) падает при вызове m_pVideoRenderer->get_FrameInfo().
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 08 марта 2018, 14:23:59
Гляну. Ну наверное что-то не учел ))

P.S. Ну хз, почему то при вызове вылетает на деструкторе самого фильтра ...
[merge_posts_bbcode]Добавлено: 2018-03-08 21:23:59[/merge_posts_bbcode]

Предлагаю вообще убрать DXVA-HD, тогда бы я попробовал заняться внедрением деинтерлейса.
Название: MPC Video Renderer
Отправлено: V0lt от 08 марта 2018, 22:52:39
Хорошо, сделаю...

Я сам планировал убрать DXVA-HD для всего кроме прогрессивного RGB32 на Intel. А на AMD и Nvidia реализовать на шейдерах.
[merge_posts_bbcode]Добавлено: 2018-03-08 15:06:20[/merge_posts_bbcode]

DXVA-HD больше не работает. Небольшую часть кода оставил и отключил.

[merge_posts_bbcode]Добавлено: 2018-03-08 22:52:39[/merge_posts_bbcode]

Деинтерлейс с NumBackwardRefSamples = 0 работает.

Я допер до того, как передавать кадры для деинтерлейса с NumBackwardRefSamples > 0, но проблема в том, что придется много чего переделывать, чтобы было все правильно и красиво.

Деинтерлейс с NumForwardRefSamples > 0 реализовать можно, но он будет не совсем правильный, т.к. сейчас мы выводит кадры без задержек и коррекции времени.
Название: MPC Video Renderer
Отправлено: V0lt от 09 марта 2018, 06:07:36
Aleksoid1978
Скоро будет полноценный деинтерлейс.

Здесь (https://github.com/Aleksoid1978/VideoRenderer/commit/e2dd71eacafb424fa8e03caac520cdfd13a95844) ты сделал неправильно. Должно быть Progressive, т.к. DestFormat.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 09 марта 2018, 06:33:18
По поводу деинтерлейса и прогрессива - по хорошему надо всегда пытаться создавать видео-ппроцессор с деинтерлейсом. А дальше уже по факту входящих сэмплов проставлять формат.

Само создание видео-процессора надо бы тоже перенести, в инициализацию директ3д. И убрать проверку на каждый сэмпл.

По поводу последнего коммита - ну бывает.
[merge_posts_bbcode]Добавлено: 2018-03-09 13:33:18[/merge_posts_bbcode]

По хорошему и выбор видео-процессора надо переделать, надо выбирать наилучший, если такого нет то выбирать bob.
Название: MPC Video Renderer
Отправлено: V0lt от 09 марта 2018, 06:49:56
Bob всегда идет последним, поэтому с ним проблем не будет.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 09 марта 2018, 07:11:25
Не в этом дело, я про сам выбор. Надо сперва искать с поддержкой PixelAdaptive, если такого нет то Bob, ну и если все фейл - то юзать прогрессив.
[merge_posts_bbcode]Добавлено: 2018-03-09 14:11:25[/merge_posts_bbcode]

Если что, я позже сделаю.
Название: MPC Video Renderer
Отправлено: V0lt от 09 марта 2018, 07:21:13
Интерлейс PixelAdaptive всегда идет раньше Bob-а. :)
Bob всегда присутствует по факту и по спецификации.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 09 марта 2018, 07:42:45
Ну, возможно из-за дров, PixelAdaptive может и не быть, мало ли.
[merge_posts_bbcode]Добавлено: 2018-03-09 14:42:45[/merge_posts_bbcode]

Я так понимаю с Backward/Forward уже работает ??
Название: MPC Video Renderer
Отправлено: V0lt от 09 марта 2018, 07:54:15
Да, вроде работает. Но мне непонятно как удваиваются кадры, если вообще удваиваются. :)
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 09 марта 2018, 07:57:26
А почему мы игнорируем fps и тупо проставляем 60 ??

А понять удваивается или нет, ставишь fraps и смотришь частоту для окна.
Название: MPC Video Renderer
Отправлено: V0lt от 09 марта 2018, 08:20:15
Цитата: Aleksoid1978А почему мы игнорируем fps и тупо проставляем 60 ??
Пока это неважно. Но если мы начнем все это учитывать, то у нас начнутся проблемы.

Указание времени ладно, но идея задания fps мне вообще не нравиться. Будет видео или DVD, в котором fps поменяется и приехали.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 09 марта 2018, 13:17:05
Проверил наш рендерер - не удваивает кадры. Если что - проверял с помощью Fraps. EVR/EVR CP - удваиваются.

И вот тут даже мыслей нет - как это дело разрулить ))
Название: MPC Video Renderer
Отправлено: V0lt от 09 марта 2018, 13:56:45
Доработал выбор подходящего метода для деинтерлейса (анализировал инфу из DXVAChecker для AMD).
[merge_posts_bbcode]Добавлено: 2018-03-09 13:56:45[/merge_posts_bbcode]

Вопрос. Если мы будем писать реальный fps (для типового видео), то он будет обновляться для DVD-Video?
DVD-Video может иметь разную частоту для меню и роликов. Например, меню 25p (pull-down 2:2), а клип 50i.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 09 марта 2018, 14:02:23
По поводу работы видео-рендерера в целом и DXVA2-VP в частности - необходимо при проверке входных медиатипов добавить проверку на способность DXVA2-VP работать с ними. Как пример - Radeon и YV12, данный тип просто не поддерживается. Так же и P010 - на Win7 я так понимаю тоже не поддерживается.

V0lt - сделаешь или я ??
Название: MPC Video Renderer
Отправлено: V0lt от 09 марта 2018, 14:04:00
В общем пробуем продвинутый метод. Если не подошел, то BobDevice. Если тоже не подошел (RGB на входе), то ProgressiveDevice.
[merge_posts_bbcode]Добавлено: 2018-03-09 14:04:00[/merge_posts_bbcode]

Проверка форматов давно имеется.
Для совсем тупых адаптеров есть YUY2 и ProgressiveDevice, который поддерживается всем.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 09 марта 2018, 14:05:39
Ты не понял - видео-рендерер принимает на вход медиа-типы но не проверяет поддерживаются ли они DXVA2-VP. В итоге просто нет картинки, в дебаг-логе ессно сыплются ошибки.
Название: MPC Video Renderer
Отправлено: V0lt от 09 марта 2018, 14:10:09
Странно, раньше было. Сейчас верну.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 09 марта 2018, 14:16:28
Цитата: V0ltСтранно, раньше было. Сейчас верну.

Такого не было, там проверка нужна в вызове CMpcVideoRenderer::CheckMediaType().
Название: MPC Video Renderer
Отправлено: V0lt от 09 марта 2018, 14:33:03
Опиши пример, когда сыплет ошибками, а не играет.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 09 марта 2018, 14:41:36
На Radeon - открываем любое видео, при условии что в MPC-BE на встроенном декодере убрано NV12, декодер выдает YV12. Наш видео-рендерер его принимает(как и описано в коде) - но DXVA2-VP на Radeon вообще не умеет с YV12 работать.
Название: MPC Video Renderer
Отправлено: V0lt от 09 марта 2018, 14:52:24
Понятно. :(
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 09 марта 2018, 15:26:51
Реализовал. Сразу скажу - сделал с избыточностью. Т.е. делается проверка и затем переменные обнуляются. Сделано из-за того, что при DXVA2 декодере размеры поверхности могут не совпадать с размером кадра, поэтому при получении первого сэмпла необходимо пересоздать DXVA2-VP.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 09 марта 2018, 20:34:33
MpcVideoRenderer (build 72 - Commit ac3d28c) - очень странная, некорректная работа, при открытии любого видео файла, на любом выходном формате проскакивает "зеленый экран", или просто "зелень". Раньше такого не было.
Название: MPC Video Renderer
Отправлено: V0lt от 09 марта 2018, 22:03:09
Evgeniy1990
Не подтверждаю. Попробуй полностью пересобрать и заново зарегистрировать.

В будущем добавлю больше информации в окно настроек и инфо для диагностики проблем.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 09 марта 2018, 22:23:45
Цитата: V0ltEvgeniy1990
Не подтверждаю. Попробуй полностью пересобрать и заново зарегистрировать.

В будущем добавлю больше информации в окно настроек и инфо для диагностики проблем.
У меня на AMD Radeon HD 5770 присутствует зелень. Прилагаю видеозапись.
[merge_posts_bbcode]Добавлено: 2018-03-09 22:20:00[/merge_posts_bbcode]

V0lt / Aleksoid1978

Также на данной видеозаписи я показал вам еще и вторую проблему - это не выгруженный кадр после стопа, которая проявляется при алгоритме: Открыть любое видео -> Нажать на кнопку "Стоп" -> Развернуть окно на весь экран.

И еще один алгоритм: Открыть видео -> Нажать на кнопку "Стоп" -> Свернуть окно на весь экран -> Развернуть окно на весь экран. В результате, в полноэкранном режиме видно окно плеера в упрощенной теме оформления, которого вообще не должно быть по логике.

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

И еще, скажу вам сразу, что на AMD-видеокартах проблем с данным видео-рендерером гораздо больше, которых вы не видите, поскольку у вас видеокарты от NVIDIA, поэтому мне придется, по ходу его развития, периодически сообщать о тех проблемах, которые вы не увидели.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 марта 2018, 02:04:38
По поводу "зелени" - проверяем https://yadi.sk/d/rrFqZRnt3TCb9T
По поводу "не выгруженного кадра" при стоп - ну это просто еще не реализовано, как и много чего еще.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 10 марта 2018, 03:09:26
Цитата: Aleksoid1978По поводу "зелени" - проверяем https://yadi.sk/d/rrFqZRnt3TCb9T
Проверил тестовый билд. Зелень пока присутствует.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 марта 2018, 04:43:39
Обновил билд - проверяем.
Так же проверить как видео-рендерер реагирует на смену выходного типа в MPC Video Decoder(ессно при софтовом декодировании).

Так же уже в нем реализована обработка "стоп".
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 10 марта 2018, 05:29:24
Цитата: Aleksoid1978Обновил билд - проверяем.
Так же проверить как видео-рендерер реагирует на смену выходного типа в MPC Video Decoder(ессно при софтовом декодировании).

Так же уже в нем реализована обработка "стоп".
Проверил тестовый билд.

1. Зелень, при открытии любых различных видео файлов, так и осталась.
Также, она присутствует и при смене выходного формата во встроенном видео декодере.

2. Видео-рендерер очень быстро, я бы даже сказал - мгновенно реагирует на смену выходных форматов, при софтовом декодировании, во встроенном "MPC Video Decoder".

3. Обработка "Стоп" полностью работает так как положено.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 марта 2018, 05:32:40
Блин, откуда эта зелень.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 марта 2018, 05:33:46
Ладно, пока залью эти наработки, дальше будем смотреть.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 10 марта 2018, 05:38:08
Цитата: Aleksoid1978Блин, откуда эта зелень.
Она появилась после некоего изменения (коммита).
[merge_posts_bbcode]Добавлено: 2018-03-10 05:36:32[/merge_posts_bbcode]

Цитата: Aleksoid1978Ладно, пока залью эти наработки, дальше будем смотреть.
Ваши наработки, касающиеся обработки "Стоп" и мгновенного переключения выходных форматов в софтовом режиме можете смело заливать.

[merge_posts_bbcode]Добавлено: 2018-03-10 05:38:08[/merge_posts_bbcode]

Aleksoid1978

По поводу "зелени" - проверьте на своей видеокарте "AMD RX460". Она проявляется сразу же, после открытия любого видео файла, причем неважно, что при этом будет работать - софт, или же DXVA2.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 марта 2018, 05:38:26
Я знаю после чего оно появилось, я не понимаю отчего зелень, да и именно на Radeon. Ну думаю на неделе, на работе смогу понять и исправить ))
Название: MPC Video Renderer
Отправлено: V0lt от 10 марта 2018, 06:56:23
Цитата: Aleksoid1978Я знаю после чего оно появилось, я не понимаю отчего зелень, да и именно на Radeon.
Отчего?
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 марта 2018, 07:25:55
Хотя нет, ошибся - не знаю в чем причина зелени. Ну где-то в последние 2-3 дня наверняка ))
Название: MPC Video Renderer
Отправлено: V0lt от 10 марта 2018, 07:35:12
Может из-за "(избавились от лишних инициализаций DXVA2-VP)". Я совершенно не против лишней инициализации при коннекте.
Я бы вообще результаты инициализации при коннекте всегда отбрасывал.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 марта 2018, 07:44:12
Нет из-за этого - пробовал, убирал. Зелень остается.
Название: MPC Video Renderer
Отправлено: V0lt от 10 марта 2018, 07:54:04
Ты главное шибко не оптимизируй код. Пусть он будет длинный, но понятный.

Нам нужна хот какая-то нумерация. Хеш гита мы можем вытащить?
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 марта 2018, 09:19:30
Ну пока точно ничего не надо, никакой нумерации. А так - смотрим как делается в MPC-HC или LAV, как они берут нумерацию.
[merge_posts_bbcode]Добавлено: 2018-03-10 16:19:30[/merge_posts_bbcode]

По поводу зелени - Evgeniy1990 если не лень, попробуй методом перебора выяснить коммит после которого началось.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 10 марта 2018, 11:18:39
Цитата: Aleksoid1978По поводу зелени - Evgeniy1990 если не лень, попробуй методом перебора выяснить коммит после которого началось.
Я только за! Попробую выяснить. Интервал поиска такой [65 -> 72]
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 марта 2018, 11:22:22
V0lt
Слушай, пока не обросло сильно кодом, может попробуешь прикрутить рендеринг DX11, хотя бы для софта. Ну так проверить - возможно или нет :)
Название: MPC Video Renderer
Отправлено: V0lt от 10 марта 2018, 11:36:27
На Win7 видеопроцессор D3D11 не заработает. Надо на Win8.1 проверять, но это у меня не основная система.

Есть еще пример (https://code.msdn.microsoft.com/DirectX-11-Video-Renderer-0e749100), но он какой-то странный, на выходе dll, которую непонятно как использовать.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 марта 2018, 11:42:38
ну так блин, давно пора уже поставить ченить по новее 7, лучше уж сразу 10. И заняться делом ))
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 10 марта 2018, 11:54:53
Цитата: Aleksoid1978По поводу зелени - Evgeniy1990 если не лень, попробуй методом перебора выяснить коммит после которого началось.
Я выяснил, с какого коммита появилась зелень - с билда 66, коммит db9e49e.
[merge_posts_bbcode]Добавлено: 2018-03-10 11:54:53[/merge_posts_bbcode]

Изменение : По возможности всегда используем видео-процессор с поддер...

...жкой деинтерлейса(т.к. встречается смешанный контент). Для прогрессивного контента всегда обрабатываем по одному кадру.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 марта 2018, 13:05:50
Ага, есть такое. На Radeon требуется чтобы полностью все сэмплы были заполнены данными, а в случае использования видео-процессора с деинтерлейсом - их получается 1 + 2. Надо бы подкорректировать код, подумаю как красивее сделать. Т.е. нам надо сперва полностью наполнить m_SrcSamples, и только потом обрабатывать через DXVA2-VP.
[merge_posts_bbcode]Добавлено: 2018-03-10 20:05:50[/merge_posts_bbcode]

Короче я выяснил, по крайней мере для Radeon, не важно в какой последовательности заполнять m_SrcSamples(от начала или от конца). Он выдает зелень если m_SrcSamples не полностью заполнено. Получается что рендерить можно только(на примере с Radeon) после получения 3 кадра(1 кадра + 2 backward).
Название: MPC Video Renderer
Отправлено: V0lt от 10 марта 2018, 13:15:43
Там немного не так. Заполнять поверхность данными не нужно.
Но строка
const size_t numSamples = m_SampleFormat == DXVA2_SampleProgressiveFrame ? 1 : m_DXVA2Samples.size();конечно та еще. Я ее должен был прибить в af6daca, но пропустил.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 марта 2018, 13:27:16
В том то и дело что обязательно - по крайне мере на Radeon, пока все 3 поверхности не заполнены данными - проскакивает зелень. Это я уже выяснил опытным путем. Причем - пустые поверхности у нас уже заполнены черным цветом - не помогает.

А эту строку кода я уже "откатил".
Название: MPC Video Renderer
Отправлено: V0lt от 10 марта 2018, 13:59:57
Какими данными?
[merge_posts_bbcode]Добавлено: 2018-03-10 13:59:57[/merge_posts_bbcode]

Я примерно нашел причину. Сделаю билд.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 марта 2018, 14:01:17
Короче - пока мы не получили 3 сэмпла и не заполнили ими поверхности, на экране зелень. Я хз что там не так у этого долбанного Radeon.
Название: MPC Video Renderer
Отправлено: V0lt от 10 марта 2018, 14:13:28
Проверьте этот однострочный комит (https://github.com/Aleksoid1978/VideoRenderer/commit/d184b1fe11e2644b4248936a0bcb87985c0a9a37).
Сделал принудительное зануление SampleFormat.SampleFormat при инициализации, т.к. у нас оно заполняется из m_srcExFmt, хотя ранее там тоже ноль был.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 марта 2018, 14:16:27
Не помогает. И, кстати, это я уже пробовал :)
Название: MPC Video Renderer
Отправлено: V0lt от 10 марта 2018, 15:06:59
Кстати у меня на Intel при аппаратном декоде нет картинки. :(
Типа будет на чем тестить.
[merge_posts_bbcode]Добавлено: 2018-03-10 15:00:18[/merge_posts_bbcode]

Evgeniy1990
Собери последнюю версию, запусти, и скопируй информацию из "статистики" фильтра.

[merge_posts_bbcode]Добавлено: 2018-03-10 15:06:59[/merge_posts_bbcode]

На Intel обламывается StretchRect.
hr = m_pD3DDevEx->StretchRect(pSurface, nullptr, m_SrcSamples.Get().pSrcSurface, nullptr, D3DTEXF_POINT);Пробовал D3DTEXF_NONE и D3DTEXF_LINEAR - бестолку.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 марта 2018, 15:44:03
Смотри код ошибки.
[merge_posts_bbcode]Добавлено: 2018-03-10 22:44:03[/merge_posts_bbcode]

А возможно поверхность надо создавать тем способом, что я недавно делал - в любом случае надо смотреть код ошибки, а потом искать ее в дебрях VS.
Название: MPC Video Renderer
Отправлено: V0lt от 10 марта 2018, 15:45:51
0x876086c
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 марта 2018, 16:17:54
D3DERR_INVALIDCALL - хотя что это значит )) Пробуй создать поверхность как это я делал, ну мало ли. Только без ALIGN.
[merge_posts_bbcode]Добавлено: 2018-03-10 23:17:54[/merge_posts_bbcode]

Вот еще что нашел, надо смотреть CAPS:
"аппаратная поддержка StretchRect определяется по флагу D3DDEVCAPS2_CAN_STRETCHRECT_FROM_TEXTURES"
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 10 марта 2018, 17:07:50
Цитата: V0ltEvgeniy1990
Собери последнюю версию, запусти, и скопируй информацию из "статистики" фильтра.
Пожалуйста:

Graphics adapter: AMD Radeon HD 5700 Series (1002:68B8)
DXVA2 Video Processor: {3C5323C1-6FB7-44F5-9081-056BF2EE449D}
DeinterlaceTechnology: PixelAdaptive
BackwardRefSamples: 2

  Input
Format: D3DFMT_NV12
Width : 512
Height: 384
Название: MPC Video Renderer
Отправлено: V0lt от 10 марта 2018, 17:10:18
Aleksoid1978
В общем Я психанул и написал Мадши. :-)
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 11 марта 2018, 05:06:23
Вот пробуй на Intel патч - https://yadi.sk/d/p-r1PJHL3TELQB
Он проверяет возможность StretchRect по флагу D3DDEVCAPS2_CAN_STRETCHRECT_FROM_TEXTURES, если нет - то тогда просто копирование с помощью memcpy(), что конечно же намного медленнее.
Название: MPC Video Renderer
Отправлено: V0lt от 11 марта 2018, 07:14:11
А почему бы просто по облому StretchRect не делать тоже самое? Дольше?
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 11 марта 2018, 07:19:06
Да ну - так не красиво. Ну ты проверил, так работает. В отладчике глянь - у тебя 100% нет поддержки D3DDEVCAPS2_CAN_STRETCHRECT_FROM_TEXTURES ??
Название: MPC Video Renderer
Отправлено: V0lt от 11 марта 2018, 08:20:06
Хмм. Тут какая-то неведомая хрень. Вчера подключал втором дисплеем TB на Intel. Сегодня подрубил к Intel-у основной монитор и все нормально стало.
Я попозже перепроверю, сейчас никак.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 11 марта 2018, 10:51:06
Где-то вычитал что у Intel влияет какие-то там настройки 3D smile
Как сможешь - проверь(в отладчике) при выводе с Intel на моник и на телек, на наличие/отсутствие поддержки D3DDEVCAPS2_CAN_STRETCHRECT_FROM_TEXTURES.
Название: MPC Video Renderer
Отправлено: V0lt от 11 марта 2018, 12:43:45
В общем проверка на флаг не работает. Просто если вывожу на дополнительный ТВ, то StretchRect обламывается. Проблему обошел, изменения залил.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 11 марта 2018, 13:44:08
Эх - надо было еще проверить создание поверхностей через CreateOffscreenPlainSurface(), может быть для Intel это как-то играет роль. Сделай - проверь. Ибо memcpy() ну намного медленее чем StretchRect().
[merge_posts_bbcode]Добавлено: 2018-03-11 20:44:08[/merge_posts_bbcode]

Думаю на днях прикрутить вывод текста(наподобие статистики в MPC-BE, но без D3Dx, средствами поверхностей + GDI).
Думаю либо в основной код, либо как отдельный класс замутить.
Название: MPC Video Renderer
Отправлено: V0lt от 11 марта 2018, 14:34:22
Цитата: Aleksoid1978Эх - надо было еще проверить создание поверхностей через CreateOffscreenPlainSurface(), может быть для Intel это как-то играет роль.
Сделай патч, пожалуйста.
[merge_posts_bbcode]Добавлено: 2018-03-11 14:34:22[/merge_posts_bbcode]

Я там добавил немного кода для Direct3D11. Windows 7 почти на старте сошла с дистанции.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 11 марта 2018, 15:06:06
По поводу DX11 - ну так все это можно опционально(в будущем). Для начала научиться бы рендерить ))

А вот и патч для CreateOffscreenPlainSurface() - https://yadi.sk/d/ALSQfvBV3TEx43
Название: MPC Video Renderer
Отправлено: V0lt от 12 марта 2018, 17:27:13
В общем патч бесполезен. Тут надо разбираться почему такое происходит с дополнительным дисплеем.
[merge_posts_bbcode]Добавлено: 2018-03-12 17:27:13[/merge_posts_bbcode]

Evgeniy1990
Видео с зеленью сможешь снять?
Возьми какое-нибудь видео, чтобы в масштабе 100% (Alt+2) помещалось на экране.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 12 марта 2018, 18:09:11
Цитата: V0ltEvgeniy1990
Видео с зеленью сможешь снять?
Возьми какое-нибудь видео, чтобы в масштабе 100% (Alt+2) помещалось на экране.
Хорошо, попробую сделать видеозапись с проявлением зелени, после открытия видео файла.
[merge_posts_bbcode]Добавлено: 2018-03-12 18:08:47[/merge_posts_bbcode]

V0lt, пожалуйста, сделал для вас видеозапись с проявлением зелени, при открытии видео файла.

[merge_posts_bbcode]Добавлено: 2018-03-12 18:09:11[/merge_posts_bbcode]

Я надеюсь, сойдет?
Название: MPC Video Renderer
Отправлено: V0lt от 12 марта 2018, 20:21:27
Спасибо. Ничего особо страшного нет, 1-2 кадра зелени и все.
Вот попробуй это решение для начала - https://yadi.sk/d/irIuRIzV3THVQs
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 12 марта 2018, 20:32:26
Цитата: V0ltСпасибо. Ничего особо страшного нет, 1-2 кадра зелени и все.
Вот попробуй это решение для начала - https://yadi.sk/d/irIuRIzV3THVQs
Попробовал ваш тестовый билд. При открытии - падает.
[merge_posts_bbcode]Добавлено: 2018-03-12 20:32:26[/merge_posts_bbcode]

Если нужно, прилагаю дамп-файл.
Название: MPC Video Renderer
Отправлено: V0lt от 12 марта 2018, 20:41:18
А так? - https://yadi.sk/d/xe1V4Pxz3THXZC
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 12 марта 2018, 21:36:34
Цитата: V0ltА так? - https://yadi.sk/d/xe1V4Pxz3THXZC
Проверил. При открытии - не падает, зелень, при открытии, также отсутствует.
Но, при попытке переключить выходные форматы на лету, плеер падает.

Я так понимаю, что вы сделали откат.
Название: MPC Video Renderer
Отправлено: V0lt от 12 марта 2018, 21:41:53
Цитата: Evgeniy1990Я так понимаю, что вы сделали откат.
Нет. Я доработал обход бага для AMD. См. лог.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 13 марта 2018, 06: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. Также, зелень больше не проявляется, при переключении выходных форматов.
Название: MPC Video Renderer
Отправлено: V0lt от 14 марта 2018, 22: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 (https://msdn.microsoft.com/en-us/library/windows/desktop/ee913554(v=vs.85).aspx).
В ней есть ссылки на пример кода, которые более недействительны.
http://code.msdn.microsoft.com/D3D9ExDXGISharedSurf
http://archive.msdn.microsoft.com/D3D9ExDXGISharedSurf

На форуме MSDN есть тема по этому примеру кода (https://social.msdn.microsoft.com/Forums/sqlserver/en-US/030e2ced-9af4-4035-aeb5-cae61a69967e/where-can-i-find-direc3d9ex-and-dxgi-interop-helper-and-sample-?forum=vcgeneral), в которой пример так и не нашли, но нашли кое-что похожее.
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).
(http://jpegshare.net/d9/48/d9482f010874f4d68abd57b37963d05c.jpg.html)
Ссылка. (https://yadi.sk/i/DKCZ8F1R3TP9kt)
Буду разбираться.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 15 марта 2018, 15:14:25
Возможно что при работе с dx9 поверхностями есть ограничение на кратность, может размеры должны кратны 8.

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

Реализовал поддержку кастомных интерфейсов от LAV для работы D3D11 Native декодера. Работает - но какие-то непонятки с рендерингом картинки - все идет рывками. Причина неясна. Мой английский слаб чтобы задавать вопросы :)
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 15 марта 2018, 17:03:46
Цитата: Aleksoid1978Реализовал поддержку кастомных интерфейсов от LAV для работы D3D11 Native декодера. Работает - но какие-то непонятки с рендерингом картинки - все идет рывками. Причина неясна. Мой английский слаб чтобы задавать вопросы :)
У меня, на Windows 10, при использовании "LAV D3D11 Native"-декодера, при открытии просто черный экран.
Воспроизведение видео файлов даже не начинается, плеер просто висит намертво, при старте, т.е. полностью построил граф фильтров и висит намертво на месте.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 16 марта 2018, 01:03:28
Ну я поддержку его ещё не внедрял. Ты собирал с DX9 или 11 ??
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 16 марта 2018, 08:28:18
Цитата: Aleksoid1978Ну я поддержку его ещё не внедрял. Ты собирал с DX9 или 11 ??
Ясно. Я собирал как обычно, с DX9. Значит требуется все-таки DX11.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 16 марта 2018, 12:21:03
DX11 требуется ТОЛКО чтобы в связке с LAV Video в последнем DX11 декодирование работало в "нативном" режиме(для этого требуется специальные интерфейсы и поддержка на стороне видео-рендерера). Поддержку чего я, кстати, уже сделал.
[merge_posts_bbcode]Добавлено: 2018-03-16 19:21:03[/merge_posts_bbcode]

Надо бы уже подумать об очереди, чтобы самим контролировать A/V синхронизацию. Пока мне не ясен момент с интерлесным видео, его надо выводить в 2-а раза быстрее. Это что - один и тот же сэмпл 2 раза рендерить, чтобы частота вывода увеличилась.
Название: MPC Video Renderer
Отправлено: V0lt от 16 марта 2018, 19:40:21
Цитата: Aleksoid1978Это что - один и тот же сэмпл 2 раза рендерить, чтобы частота вывода увеличилась.
По идее должно быть так, что входит один сэмпл, вытаскиваем два. Но примеров кода я не видел.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 17 марта 2018, 15:39:37
Проверил как работает A/V синхронизация с нашим видео-рендерером - да как бы все отлично, спецом проверял даже на VFR видео - все корректно, fps видео меняется. Так что, в принципе, можно не вводить никакой очереди(ну пока не решим добавлять всякие V-Sync и т.д.).

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

Кстати - у нас на DX11 + D3D11 Native декодер в LAV прекрасно работает деинтерлейс(не знаю что не может сделать автор madVR).
Название: MPC Video Renderer
Отправлено: V0lt от 17 марта 2018, 18:06:50
Aleksoid1978
Я думаю в madVR есть конфликт с шейдерными преобразованиями и D3D11. Мы после процессора сразу получаем RGB, а в madVR преобразование YUV->RGB скорее всего делается на  шейдерах.
[merge_posts_bbcode]Добавлено: 2018-03-17 18:06:50[/merge_posts_bbcode]

Сделал возможность включения режима Dirеct3D11 через сохраняемую опцию.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 18 марта 2018, 05:13:15
У меня, кстати, есть предложение - в VP делать только преобразование, а вот уже ресайз на шейдерах. Заодно научиться работать с шейдерами на DX11 :)
Название: MPC Video Renderer
Отправлено: V0lt от 18 марта 2018, 07: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?
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 18 марта 2018, 08:18:45
Ну шейдерами покачественнее будет. Ну и если нет - надо решить вопрос с размерами и ресайзом для DX11. Сейчас размер swapchain под размер окна, что ессно некорректно.
Название: MPC Video Renderer
Отправлено: V0lt от 18 марта 2018, 09:02:12
Если хочеться потренироваться с шейдерами, то начни с простого, примени шейдеры на конечную поверхность перед самым выводом. Сначала попробуй grayscale, nightvision, затем всякие шарперы (они сложны тем что необходимо доп. параметры передавать). Из реально необходимого можно коррекцию YCgCo и HDR попробовать.

Делать сейчас шейдерный ресайз слишком рано.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 18 марта 2018, 12:40:58
Ну это не мне уж точно :)
[merge_posts_bbcode]Добавлено: 2018-03-18 16:26:18[/merge_posts_bbcode]

Ну тогда надо разобраться с размерами...

[merge_posts_bbcode]Добавлено: 2018-03-18 19:40:58[/merge_posts_bbcode]

По хорошему(чтобы было все одинаково) надо D3D11 -> DX11, или DX9 -> D3D9.
Название: MPC Video Renderer
Отправлено: V0lt от 18 марта 2018, 13:03:01
Но вообще-то там неодинаково.
D3D11 - это почти чистый Direct3D 11.
DX9 - это Direct3D 11, DXVA2-VP и куча всего.
Но Я подумывал об этом.

Добавил информацию в первое сообщение.
[merge_posts_bbcode]Добавлено: 2018-03-18 13:00:28[/merge_posts_bbcode]

ЦитироватьCComPtr m_pSrcTexture2D;
CComPtr m_pSrcTexture2D_Decode;
Для чего вторая текстура?

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

И вот это задвоение зачем?
ЦитироватьDXGI_FORMAT m_srcDXGIFormat = DXGI_FORMAT_UNKNOWN;
UINT m_srcWidth = 0;
UINT m_srcHeight = 0;
...
DXGI_FORMAT m_D3D11_Src_Format = DXGI_FORMAT_UNKNOWN;
UINT m_D3D11_Src_Width = 0;
UINT m_D3D11_Src_Height = 0;
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 18 марта 2018, 13:20:05
А дело в том что размер в медиатипе и реальный размер с которым будет создаваться текстура могут отличаться, для DXVA2. Поэтому я ввел эти "дубли" - чтобы хранить и использовать при проверке при попытке создании текстур. ДЛя DX9 тоже самое.
[merge_posts_bbcode]Добавлено: 2018-03-18 20:20:05[/merge_posts_bbcode]

По поводу текстур - одна с поддержкой записи из CPU и она не может участвовать в VideoProcessorBlt(). Поэтому приходиться держать вторую, "нормальную" - в которую просто копируем из первой после ее заполнения.
Название: MPC Video Renderer
Отправлено: V0lt от 18 марта 2018, 13:22:48
Цитата: Aleksoid1978А дело в том что размер в медиатипе и реальный размер с которым будет создаваться текстура могут отличаться, для DXVA2. Поэтому я ввел эти "дубли" - чтобы хранить и использовать при проверке при попытке создании текстур. ДЛя DX9 тоже самое.
Как они могут отличаться для DX9? Почему бы просто не переписать правильным?
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 18 марта 2018, 13:38:56
Да потому что - посмотри в отладчике для FullHD, какие размеры указаны в медиа-типе, и какие потом получаются из поверхности. Для DXVA2 - размеры поверхности кратны 16, а для видео-размера это не обязательно.
Название: MPC Video Renderer
Отправлено: V0lt от 18 марта 2018, 14:19:10
Гляну...

В общем сейчас переименую класс в DX11VideoProcessor.
[merge_posts_bbcode]Добавлено: 2018-03-18 14:19:10[/merge_posts_bbcode]

Переименовал.

Предлагаю к 64-битной версии добавлять суффикс "64".
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 19 марта 2018, 04:18:13
В последнем билде статистика видео-рендерера выглядит урезанной, т.е. только вот это:
 Input
Format: NV12
Width : 1280
Height: 720
Название: MPC Video Renderer
Отправлено: V0lt от 19 марта 2018, 06:15:21
Evgeniy1990
Так и должно быть. Это будет сильно переделываться.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 19 марта 2018, 13:53:24
Прикольное наблюдение сделал:
вызов IDirect3DSurface9::LockRect() на 4K 10bit(HEVC), формат P010 - на моей Radeon RX460 занимает порядка 60-80мс, а на Nvidia 960 - 20-25мс. В итоге при использовании DX11 - DXVA2 HECV 10bit 4K на Radeon просмотр не возможен(весь процесс копирования данных в текстуру занимает иногда и более 100мс) а на Nvidia все спокойно переваривается(весь процесс занимает30-35мс).

Вот такие пироги. Получается что данный путь не вариант - а других я не вижу(перерыл уже весь интернет). Shared Handle(чтобы DX9 -> DX11) можно только для RGB типов делать. Можно конечно костыль - для конвертирования YUV в RGB использовать DXVA2 VP, а уже потом через Shared Handle брать данные и работать с DX11(для ресайза).
Название: MPC Video Renderer
Отправлено: V0lt от 19 марта 2018, 22:11:52
Aleksoid1978
Ты говоришь о программном декодировании?
Вот тут похожая проблема - https://gamedev.ru/code/forum/?id=59472
[merge_posts_bbcode]Добавлено: 2018-03-19 22:11:52[/merge_posts_bbcode]

Проверил на DX9 ролик H.264 4k. Не заметил особой проблемы.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 20 марта 2018, 12:19:37
HEVC 4K 10Bit, P010 формат. DXVA.
[merge_posts_bbcode]Добавлено: 2018-03-20 07:26:14[/merge_posts_bbcode]

И проверять надо на DX11, ибо на DX9 используется StretchRect

[merge_posts_bbcode]Добавлено: 2018-03-20 19:19:37[/merge_posts_bbcode]

По поводу DX11 + DXVA2 - предлагаю весь процесс конвертации в RGB и ресайза перенести на DX9, а потом просто текстуру выводить как есть в DX11. Тогда будет и деинтерлейс работать, и корректно обработка colorspace и.т.д.
Название: MPC Video Renderer
Отправлено: V0lt от 20 марта 2018, 21:26:38
Цитата: Aleksoid1978По поводу DX11 + DXVA2 - предлагаю весь процесс конвертации в RGB и ресайза перенести на DX9, а потом просто текстуру выводить как есть в DX11.
Тогда возникает вопрос. Зачем нам вообще DX11 ?
Ради шейдеров? Нет. Мы еще даже не выбрали возможностей PS 3.0.

Поэтому пусть DX11 будет просто дополнительным экспериментальным режимом.
[merge_posts_bbcode]Добавлено: 2018-03-20 20:25:24[/merge_posts_bbcode]

Evgeniy1990
Восстановлена и дополнена информация выводимая в окне настроек.

[merge_posts_bbcode]Добавлено: 2018-03-20 21:26:38[/merge_posts_bbcode]

По поводу StretchRect на доп. дисплее.
Как оказалось декодировало на Nvidia, а обрабатывало и выводило на Intel. Отсюда облом StretchRect.
Почему декодер так себя ведет - непонятно. Я думал декодер цепляется к адаптеру текущего окна. Баг декодера?
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 21 марта 2018, 00:07:26
Надо разбираться кто виноват, наверное декодер.
[merge_posts_bbcode]Добавлено: 2018-03-21 07:07:26[/merge_posts_bbcode]

Хотя - как декодер узнает что сменился дисплей/адаптер. Тут видео-рендерер должен реконнект делать.
Название: MPC Video Renderer
Отправлено: V0lt от 21 марта 2018, 06:26:26
Цитата: Aleksoid1978Хотя - как декодер узнает что сменился дисплей/адаптер. Тут видео-рендерер должен реконнект делать.
Я сразу запускаю на доп. мониторе, не перемещаю.
[merge_posts_bbcode]Добавлено: 2018-03-21 06:26:26[/merge_posts_bbcode]

Я предлагаю основными режимами для DX11 считать программный и D3D11 декод. Декод DXVA2 считать нетипичным для него и не обращать на скорость его работы.
Почему? Просто гнать все в RGB с помощью StretchRect - это как подготавливать цех для производства костылей.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 21 марта 2018, 11:50:34
Цитата: V0ltПо поводу StretchRect на доп. дисплее.
Как оказалось декодировало на Nvidia, а обрабатывало и выводило на Intel. Отсюда облом StretchRect.
Почему декодер так себя ведет - непонятно. Я думал декодер цепляется к адаптеру текущего окна. Баг декодера?

Вроде бы нашел причину и устранил. Проверяем и отписываемся.
[merge_posts_bbcode]Добавлено: 2018-03-21 18:50:34[/merge_posts_bbcode]

Вот интересно - а мы можем в нашем рендерере(это же не класс на основе окна) каким либо образом получать сообщения от клавиатуры. Почему спросил - ну вот как-то же madVr ловит нажатия клавиш и обрабатывает.
Название: MPC Video Renderer
Отправлено: V0lt от 21 марта 2018, 22:09:35
Не надо нашему VR ловить клавиатуру в принципе.
[merge_posts_bbcode]Добавлено: 2018-03-21 18:58:04[/merge_posts_bbcode]

Цитата: Aleksoid1978Вроде бы нашел причину и устранил. Проверяем и отписываемся.
Ситуация со статусами как будто не поменялась, но теперь воспроизведение не начинается.

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

Буду делать деинтерлейс с удвоением частоты. Пока через опцию, т.к. есть сомнения в том, что он будет корректно работать.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 22 марта 2018, 01:05:05
Хм, странно. Ну попробую разобраться что сейчас не так.
Название: MPC Video Renderer
Отправлено: V0lt от 24 марта 2018, 14:47:13
Сделал деинтерлейс с удвоением частоты кадров для DX9. Но на текущий момент хорошая плавность не гарантируется.
[merge_posts_bbcode]Добавлено: 2018-03-24 14:47:13[/merge_posts_bbcode]

Захотел Я что-нибудь нарисовать на кадре. На DX11 вроде можно рисовать сразу на поверхности с помощью Direct2D.

А вот с DX9 засада. Чтобы нормально рисовать, придется использовать функции D3DX c соответствующей привязкой к d3dx9_43.dll.
Второй вариант - использовать SubStream в DXVA2-VP.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 24 марта 2018, 16:48:38
Можешь рисовать с помощью GDI на поверхности, могу дать пример кода. Я в свое время хотел переделать вывод текста в EVR-CP.
Название: MPC Video Renderer
Отправлено: V0lt от 24 марта 2018, 18:52:16
GDI для EVR не годится из-за тормознутости, оно только для вывода статистики обновляемой не более 2 раз в секунду.
Напомни, каким образом там происходит наложение на кадр? Через AlphaBlt?
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 26 марта 2018, 07:05:30
Кстати по поводу Direct2D - тоже все не просто. Я так и не смог найти простой пример как на DX11 вывести текст.
Название: MPC Video Renderer
Отправлено: V0lt от 26 марта 2018, 21:07:29
ID2D1RenderTarget::DrawText не получилось завести?
У меня затык в CreateDxgiSurfaceRenderTarget на таком коде:
   if (filterState == State_Running) {
        hr = ProcessDX11(pBackBuffer, false);
    }

    {
        IDXGISurface* pDxgiSurface = nullptr;
        hr = pBackBuffer->QueryInterface(&pDxgiSurface);

        // Create the DXGI Surface Render Target.
        FLOAT dpiX;
        FLOAT dpiY;
        m_pD2dFactory->GetDesktopDpi(&dpiX, &dpiY);
        D2D1_RENDER_TARGET_PROPERTIES props = D2D1::RenderTargetProperties(D2D1_RENDER_TARGET_TYPE_DEFAULT, D2D1::PixelFormat(DXGI_FORMAT_UNKNOWN, D2D1_ALPHA_MODE_PREMULTIPLIED), dpiX, dpiY);

        CComPtr pD2dRT;
        hr = m_pD2dFactory->CreateDxgiSurfaceRenderTarget(pDxgiSurface, &props, &pD2dRT);
        if (S_OK == hr) {
            ID2D1SolidColorBrush* pD2dBrush = nullptr;
            hr = pD2dRT->CreateSolidColorBrush(D2D1::ColorF(D2D1::ColorF::Yellow), &pD2dBrush);
            if (S_OK == hr) {
                pD2dRT->BeginDraw();
                pD2dRT->DrawLine(D2D1::Point2F(0, 0), D2D1::Point2F(100, 100), pD2dBrush, 0.5f);
                pD2dRT->EndDraw();
            }
        }
    }

    hr = m_pDXGISwapChain1->Present(0, 0);
[merge_posts_bbcode]Добавлено: 2018-03-26 21:07:29[/merge_posts_bbcode]

Я тут ради эксперимента убрал ручную загрузку dxva2.dll. Теперь она загружается сразу при запуске рендерера (либо используется загруженная декодером/плеером). Если надо загружать только при первом обращении, то можно прописать в /DELAYLOAD (такое у нас используется в плеере для gdiplus.dll). Тоже самое можно без проблем проделать с d3d9.dll.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 27 марта 2018, 03:45:40
Надо вместо
IDXGISurface* pDxgiSurface = nullptr;
hr = pBackBuffer->QueryInterface(&pDxgiSurface);
делать
hr = m_pDXGISwapChain1->GetBuffer(0, IID_PPV_ARGS(&pDxgiSurface));
Название: MPC Video Renderer
Отправлено: V0lt от 27 марта 2018, 06:03:50
Сделал, но ничего не поменялось.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 27 марта 2018, 10:52:06
Вот патч. С ним все работает.
https://yadi.sk/d/Gdubwr783Tneht

В нем ессно все локально(по быстрому накидал) :)
[merge_posts_bbcode]Добавлено: 2018-03-27 17:52:06[/merge_posts_bbcode]

А вот с выводом текста - https://yadi.sk/d/51Q2Dg233To32d
Название: MPC Video Renderer
Отправлено: V0lt от 01 апреля 2018, 08:54:09
Хорошо посмотрю.
PS: Как же бесит этот git, банальный патч не может применить. Каждый раз руками переношу. :mad:
 
Для режима DX9 мне удалось вывести текст на полупрозрачном фоне через GDI+.
[merge_posts_bbcode]Добавлено: 2018-03-27 22:41:27[/merge_posts_bbcode]

Aleksoid1978
Твой код для DX11 у меня почему-то не работает. Обновись и проверь сам.

Если починим, то завтра буду писать метод для включения-выключения OSD.

[merge_posts_bbcode]Добавлено: 2018-04-01 08:48:31[/merge_posts_bbcode]

Включение-выключение OSD сделано через опцию. Надо подумать чем ее наполнить.

Случайно наткнулся на описание IDXGISwapChain4::SetHDRMetaData (https://msdn.microsoft.com/en-us/library/windows/desktop/mt732708(v=vs.85).aspx), поддерживает HDR10.

С поддержкой тоже интересно:
IDXGISwapChain1 - Win8
IDXGISwapChain2 - Win8.1
IDXGISwapChain3 - Win10
IDXGISwapChain4 - Win10+
Как с этим зоопарком нормально работать? :)
Есть только игнорировать Win8, чтобы полегче было. :|
[merge_posts_bbcode]Добавлено: 2018-04-01 08:54:09[/merge_posts_bbcode]

Типа
DX9 - Win7 и новее.
DX11 - Win8.1 и новее.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 01 апреля 2018, 12:39:22
Да спокойно работать. Если получаешь интерфейс - значит поддерживается. Нет - значит нет.
Название: MPC Video Renderer
Отправлено: V0lt от 01 апреля 2018, 14:02:49
Если создать IDXGISwapChain4, то после можно без проблем использовать методы предков и кастовать до предков, если потребуется. Но это не будет работать ни на чем, кроме свежей 10-ки (возможно даже LTSB 1607 в пролете).

Если у нас IDXGISwapChain1, мы сможем кастонуть его до потомка?
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 01 апреля 2018, 14:11:12
Если IDXGISwapChain* не поддерживается текущей системой - то ты его и не получишь. Именно так в данный момент с ID3D11VideoContext1 - если система его не поддерживает, то просто ты его не получаешь и все.
Название: MPC Video Renderer
Отправлено: V0lt от 29 апреля 2018, 14:45:21
Хочу добавить интерфейс IMFVideoProcessor. Не могу понять куда его добавлять: в CVideoRendererInputPin::GetService() или CMpcVideoRenderer::GetService()?
Вроде должен быть в самом фильтре, а не пине.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 29 апреля 2018, 14:55:50
Ну конечно в фильтр.
Название: MPC Video Renderer
Отправлено: V0lt от 30 апреля 2018, 08:08:54
В общем кое-что прикрутил, но дальше затык.

FGManager мой интерфейс находит и добавляетс в корзину m_pUnks.AddTail(pMFVP). Плеер ищет m_pGB->FindInterface(IID_PPV_ARGS(&m_pMFVP), TRUE), но обламывается на QueryInterface() в CFGManager::FindInterface().
В принципе логично. Я ведь IMFVideoProcessor сделал предком CMpcVideoRenderer, а так похоже не надо было делать.
[merge_posts_bbcode]Добавлено: 2018-04-29 16:28:01[/merge_posts_bbcode]

Типа интерфейсы полученные через от IMFGetService должны сами реализовывать QueryInterface, и не пересекаться с CMpcVideoRenderer::NonDelegatingQueryInterface().  :|

[merge_posts_bbcode]Добавлено: 2018-04-30 08:08:54[/merge_posts_bbcode]

В общем сделал регулировку яркости, контрасности и прочего (MPCVR_IMFVideoProcessor_1.diff (https://yadi.sk/d/u_CCjGJt3UxAoW)). Но теперь вылетает CUnknown при закрытии плеера. :(
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 30 апреля 2018, 08:15:58
Надо в конструктор CUnknown передавать GetOwner() от фильтра, а не NULL.
Типа так : CUnknown(L"CDX9VideoProcessor", pFilter->GetOwner())
[merge_posts_bbcode]Добавлено: 2018-04-30 15:15:58[/merge_posts_bbcode]

Ну или от CDX9VideoProcessor, сам уже проверь.
Название: MPC Video Renderer
Отправлено: V0lt от 02 мая 2018, 11:01:53
В первом случае регулировки не работают, во втором - падает на QueryInterface.
[merge_posts_bbcode]Добавлено: 2018-05-02 06:35:41[/merge_posts_bbcode]

Сделал регулировки для DX9, CUnknown не использовал. Позже будет для DX11.

У MS для одной и той же фичи каждый раз новый способ задания параметров. :(
Спойлер
VMR9typedef struct _VMR9ProcAmpControlRange
    {
    DWORD dwSize;
    VMR9ProcAmpControlFlags dwProperty;
    float MinValue;
    float MaxValue;
    float DefaultValue;
    float StepSize;
    }     VMR9ProcAmpControlRange;
DXVA2typedef struct _DXVA2_ValueRange
    {
    DXVA2_Fixed32 MinValue;
    DXVA2_Fixed32 MaxValue;
    DXVA2_Fixed32 DefaultValue;
    DXVA2_Fixed32 StepSize;
    }     DXVA2_ValueRange;
DXVA-HDtypedef struct _DXVAHD_FILTER_RANGE_DATA
    {
    INT Minimum;
    INT Maximum;
    INT Default;
    FLOAT Multiplier;
    }     DXVAHD_FILTER_RANGE_DATA;
D3D11typedef struct D3D11_VIDEO_PROCESSOR_FILTER_RANGE
    {
    int Minimum;
    int Maximum;
    int Default;
    float Multiplier;
    }     D3D11_VIDEO_PROCESSOR_FILTER_RANGE;
[свернуть]
[merge_posts_bbcode]Добавлено: 2018-05-02 11:01:53[/merge_posts_bbcode]

В общем на DX11 при прямом вызове m_pVideoContext->VideoProcessorSetStreamFilter() может падать.
D3D11 CORRUPTION: ID3D11DeviceContext::VideoProcessorSetStreamFilter: Two threads were found to be executing functions associated with the same Device[Context] at the same time. This will cause corruption of memory. Appropriate thread synchronization needs to occur external to the Direct3D API (or through the ID3D10Multithread interface). 252 and 5580 are the implicated thread ids. [ MISCELLANEOUS CORRUPTION #28: CORRUPTED_MULTITHREADING]Мютекс не помогает. Похоже придется делать через промежуточные параметры.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 03 мая 2018, 13:29:07
Значит надо не напрямую вызывать - а из кода рисования.
[merge_posts_bbcode]Добавлено: 2018-05-03 20:29:07[/merge_posts_bbcode]

К DX11 можно прикрутить вывод 3D, но нет нужного оборудования(а так понимаю там вывод во frame-packing)
Название: MPC Video Renderer
Отправлено: V0lt от 05 мая 2018, 22:39:04
К режиму DX9 удалось прикрутить детектор частоты дисплея. Он получился намного проще, чем в EVR-CP. Основной цикл выглядит так:
   if (0L != D3DKMTWaitForVerticalBlankEvent(&we)) {
        return;
    }
    m_Ticks[0] = GetPreciseTick();
    unsigned i = 1;

    while (0L == D3DKMTWaitForVerticalBlankEvent(&we)) {
        m_Mutex.lock();
        m_Ticks[i] = GetPreciseTick();
        bool stop = m_bStop;
        m_Mutex.unlock();

        Sleep(5); // need for Windows 7 :(

        if (stop) {
            break;
        }
        i ^= 1;
    }
Есть нехороший момент с Windows 7, без принудительного Sleep(5) отображение кадров стопориться. В Windows 8.1 нормально.
В режиме DX11 еще не проверял.
Название: MPC Video Renderer
Отправлено: V0lt от 27 ноября 2018, 19:18:58
Вести с полей.

Добавлена поддержка медиатипов с FORMAT_VideoInfo (нужно для Generate Still Video)
Добавлена поддержка ARGB32 и RGB24 на входе (теперь не нужен системный Color Space Converter).
DX9: Если на входе RGB, то на Nvidia и AMD используется шейдерная интерполяция. При отсутствии интерполяции используется StretchRect(D3DTEXF_POINT).

Замечания.
Режим DX11 в некоторых ситуациях может работать некорректно, им некогда было заниматься.
Подсчет частоты дисплея для DX9 из-за проблем временно отключен.

Добавлено: 2018-11-27 19:18:58

В планах сделать поддержку YCbCr 4:4:4 8-бит. Я пробовал сделать поддержку AYUV через DXVA2_VideoProcSoftwareDevice, картинка есть, но интерполяция ужасна. В общем тут есть варианты.
1. Использовать DXVA2_VideoProcSoftwareDevice только для преобразования в RGB, а изменять размеры шейдерами. Но этот вариант мне не нравиться, т.к. любого нестандарта (типа YCoCg) придется добавлять корректирующий прогон шейдером.
2. Преобразование в RGB делать программно (для 4:4:4 оно не шибко тяжелое). Изменять размеры шейдерами. Способ хорош, тем что процесс перегона в RGB можно перевести на стороннюю либу.
3. Засовывать картинку как есть в X8R8G8B8. Преобразовать в нормальный RGB и изменять размеры шейдерами.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 28 ноября 2018, 02:08:23
По хорошему - это входящие данные в RGB 4:4:4, 8 или 10 бит в зависимости от данных. Ну и потом уже шейдерами делать что душе угодно.

Но сишный код перевода в RGB 4:4:4 будет не быстр.
Название: MPC Video Renderer
Отправлено: V0lt от 28 ноября 2018, 06:41:20
Цитата: Aleksoid1978Но сишный код перевода в RGB 4:4:4 будет не быстр.
Перевод AYUV в XRGB производиться линейно, пиксель в пиксель и требует лишь несколько простых арифметических операций. Это не YV12 на входе, когда приходиться пиксели собирать по всему кадру и хрому восстанавливать.
Я пока планирую переводить AYUV в XRGB на шейдерах, а софтовый держу в уме как запасной и контрольный.

Добавлено: 2018-11-28 06:41:20

На работе заметил баг. Запускаю плеер (отладочная версия). Окно появляется на основном дисплее. Перетаскиваю окно на дополнительный дисплей. Запускаю воспроизведение - получаю исключение в системной dll.

Win8.1 x64, два одинаковых FullHD монитора, подключенные к одной видеокарте Nvidia.
Название: MPC Video Renderer
Отправлено: V0lt от 28 ноября 2018, 17:48:04
2-3 дня потерял из-за багов с ресурсами.

Баг 1. Есть баг с ресурсами из файла. Программа нормально компилируется, но функция FindResource дает ошибку.
Думал, что как-то связано с нумерацией, но нет.

Баг 2. Опять программа нормально компилируется, но вместо правильных данных функция LoadResource будет выдавать какой-то левак. Долго не мог понять почему элементарный шейдер не работает. Потом проверил, что выдает SizeofResource - размер не совпал с исходным файлом.

Даже не знаю чего и делать. Бред полный. Если только шейдеры ввести в основной проект.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 29 ноября 2018, 05:07:10
Ну так в MPC-BE же все работает, ты по аналогии сделал ??

P.S. Я сравнил ресурсы в собранном .ax - содержимое и размер идентично .cso файлам.
Название: MPC Video Renderer
Отправлено: V0lt от 29 ноября 2018, 06:20:46
Типа так и было, пока я test_shader.cso не добавил. И тут этот бред начался.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 29 ноября 2018, 06:38:45
Ну значит добавил как-то не так - 100%
Давай патч/код - гляну.
Название: MPC Video Renderer
Отправлено: V0lt от 29 ноября 2018, 06:45:50
Идеи.
1. Собирать все шейдеры батником, который засунуть предварительный этап сборки MpcVideoRenderer.
2. Так же через батник на предварительном этапе генерировать заголовочные файлы, а не объекты. Суть в том, что мы уходим от глючного компилятора ресурсов.

Добавлено: 2018-11-29 06:45:50

Патч дать не смогу, т.к. в очередной раз отменил все изменения. Вечером сделаю.
И нету там ничего такого, что было бы не так. Добавленный код для нового шейдера вообще ничем особенным не выделяется и написан был полностью с нуля раз 5.
Название: MPC Video Renderer
Отправлено: V0lt от 29 ноября 2018, 20:52:01
Патч после которого вылезает Баг 1 - https://yadi.sk/d/nVinwq1_-sTCZA
Ошибка проявляется при вызове FindResourceW для resid равным 790.
HRSRC hrsrc = FindResourceW(nullptr, MAKEINTRESOURCEW(resid), L"SHADER");
if (!hrsrc) {
    return E_INVALIDARG;
}

Баг 2 можно получить, если начать менять цифры в #define IDF_SHADER_*.
В данном случае SizeofResource начнет выдавать значения, не соответствующие размерам файлов .CSO.

На неизмененной ревизии от 29.11.2018 багов нет.
Название: MPC Video Renderer
Отправлено: V0lt от 30 ноября 2018, 09:19:01
В общем так.
Функции FindResource, LoadResource, SizeofResource при задании первого параметра nullptr загружают ресурсы приложения, а не текущего модуля.
Как сделать по другому - непонятно. MFC подключать не буду.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 30 ноября 2018, 09:51:51
Да все понятно, надо просто поискать хорошо :)

HRESULT CDX9VideoProcessor::CreateShaderFromResource(IDirect3DPixelShader9** ppPixelShader, UINT resid)
{
    if (!m_pD3DDevEx || !ppPixelShader) {
        return E_POINTER;
    }

    static const HMODULE hModule = (HMODULE)&__ImageBase;

    HRSRC hrsrc = FindResourceW(hModule, MAKEINTRESOURCEW(resid), L"SHADER");
    if (!hrsrc) {
        return E_INVALIDARG;
    }
    HGLOBAL hGlobal = LoadResource(hModule, hrsrc);
    if (!hGlobal) {
        return E_FAIL;
    }
    DWORD size = SizeofResource(hModule, hrsrc);
    if (size < 4) {
        return E_FAIL;
    }

    return m_pD3DDevEx->CreatePixelShader((const DWORD*)LockResource(hGlobal), ppPixelShader);
}
Название: MPC Video Renderer
Отправлено: V0lt от 30 ноября 2018, 13:02:24
Спасибо. Поправил. :-)
Решение не документировано в MSDN. "Спасибо" MS. :mad:

Тут была подстава в том, что идентификаторы уже добавленных шейдеров совпадали с аналогичными ресурсами MPC-BE (так проще перетягивать наработки). И соотвественно работало нормально. А вот что-то новое добавить и приехали. Реально не понимаешь, что вообще происходит. Все ведь по документации.
Название: MPC Video Renderer
Отправлено: V0lt от 28 декабря 2018, 21:55:35
Aleksoid1978
Есть вопрос по работе RGB32.
Когда мы создаем обычный медиатип с положительной высотой, то для RGB это означает обратный порядок строк (снизу вверх). Эта дичь прёт со времен появления формате BMP. Но в видеокарте нормальный порядок строк (сверху вниз). Для обхода этой проблемы есть разные решения

1. Рендерер сам переворачивает строки при копировании в видеопамять. Сейчас так сделано в экспериментальном видеорендерере. Наш декодер в этом случае тоже делает переворот на последней стадии преобразования. Все это не очень оптимально по скорости (хотя явных тормозов нет, наш код этого не допускает).

2. Рендерер соединятся с декодером и модифицирует медиатип. Высота становиться отрицательной, декодер это учитывает. Так сделано в EVR-ах. Лишних изменений порядка строк больше нет.
Вопрос: Как такое сделать в нашем рендерере?

3. Можно модифицировать сам декодер, чтобы тот создавал для RGB32 медиатип, у которого по умолчанию высота отрицательная.
Вопрос: Можно такое провернуть с нашем декодером? Мне для тестов нужно.
Название: MPC Video Renderer
Отправлено: V0lt от 03 января 2019, 22:21:11
Добавил поддержку DVD-Video совместно с декодером Mpeg2DecFilter и LAV Video Decoder.
Деинтерлейс не работает, меню не переключает (ходить только через навигацию в плеере или в свойствах DVD Navigator), но картинка есть. :-)
Microsoft DTV-DVD Video Decoder виснет.
DVD в формате PAL роняют Mpeg2DecFilter. :)
Название: MPC Video Renderer
Отправлено: V0lt от 10 января 2019, 08:54:15
Спасибо Aleksoid1978, работа с DVD более менее налажена.

Осталась проблема с Microsoft DTV-DVD Video Decoder. Как оказалась она вылазит и на обычных файлах.
Kubo-001.mkv (https://cloud.mail.ru/public/3igb/JCU9hNCrU)
Название: MPC Video Renderer
Отправлено: V0lt от 19 января 2019, 07:59:17
Я предлагаю убрать поддержку декодирования DXVA2 (временно?) при использовании видеопроцессора D3D11.
Причина: очень костыльный код, с которым тяжело работать.

Убрана в d52a699 (19.01.2019).
Название: MPC Video Renderer
Отправлено: V0lt от 28 января 2019, 20:42:37
Тормоза при воспроизведении DVD лечатся, если заменить предка CBaseRenderer на CBaseVideoRenderer.
Но в этом случае у нас 2 статистики. :)
Название: MPC Video Renderer
Отправлено: V0lt от 13 марта 2019, 19:17:33
Некоторые итоги.

Режим DX9
- Добавлен выбор методов ресайза.
- Добавлена поддержка субтитров

Режим DX11
- Добавлена обработка форматов RGB и YUV444 с помощью шейдеров

Добавлено: 2019-03-13 18:25:24

По поводу предложения убрать ресайз средствами видеопроцессора DXVA2.
Я категорически против этого. Одна из причин, по которой Я занялся разработкой видеорендерера, заключалась в том, что EVR-CP не умеет делать ресайз средствами DXVA2 (хак для Intel не в счет). Такое умеет делать обычный EVR, но он не дает нам дополнительных фич (субтитры, HDR). Использование видеопроцессором DXVA2 - это самый оптимальный по ресурсам способ получения картинки на экране. Урезать его возможности - неправильно. Я сомневаюсь, что мы сможем сделать более производительную обработку видео на шейдерах с сопоставимым качетсвом.
Я надеюсь моя позиция была услышана.


Добавлено: 2019-03-13 19:17:33

По поводу добавить вывод режима декодера.
Просто не хочу тащить тонны кода из EVR-CP в MpcVR. Все эти хуки и прочие извращения, чтобы показать то, что и так можно узнать в свойствах декодера или по наличию иконки "GPU". Вот делать больше нечего.
Название: MPC Video Renderer
Отправлено: V0lt от 20 апреля 2019, 20:09:17
О компиляции шейдеров в рантайм.
Microsoft рекомендует использовать функцию D3DCompile (https://docs.microsoft.com/ru-ru/windows/desktop/api/d3dcompiler/nf-d3dcompiler-d3dcompile). Она находиться в библиотеке D3dcompiler_47.dll. На Windows 7 эту библиотеку можно установить с помощью обновления KB4019990 (https://www.catalog.update.microsoft.com/Search.aspx?q=kb4019990). А вот на Windows 8.1 она похоже уже встроена в систему. Если это так, то получается, что для режима DirectX 11 нет проблем с компиляцией шейдеров на лету.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 21 апреля 2019, 05:13:33
Это же отлично. Тогда не надо будет хранить в ресурсах кучу шейдеров, ну как минимум для DX11.

Добавлено: 2019-04-21 12:13:33

А узнать встроена или нет легко - ставим по быстрому на виртуалку чистые Win8/8.1/10 и после установки в командной строке выполняем:
where D3dcompiler_47.dll
Название: MPC Video Renderer
Отправлено: V0lt от 30 апреля 2019, 20:32:52
С нашим рендерером Mpeg2DecFilter при декодировании DVD валиться при вызове BitBltFromI420ToNV12().
C EVR-CP при тех же входных параметрах все нормально. :(

Добавлено: 2019-04-30 20:32:52

Если отключить вывод в планарных YUV, то падает на BitBltFromI420ToYUY2Interlaced().

Похоже инициализация Mpeg2DecFilter для EVR-CP и MPC VR происходит по разному.
Название: MPC Video Renderer
Отправлено: V0lt от 03 мая 2019, 21:24:04
Падение Mpeg2DecFilter опять только на PAL дисках. Именно на них происходит переключение разрешения с 720x480 на 720x576.

Добавлено: 2019-05-03 20:52:52

Еще наблюдение
На NTSC и PAL дисках CCustomAllocator::SetProperties вызывается 2 раза. Оба раза запрашивается буфер 1x552960.

Если выбрать LAV декодер, то на NTSC дисках 2 раза запрашивается буфер 4x552960. А вот на PAL дисках появляется 3-й запрос 4x663552.

PS:
768*480*12/8 = 552 960
768*576*12/8 = 663 552

Добавлено: 2019-05-03 21:24:04

В общем Mpeg2DecFilter как-то фигово поддерживает механизм QueryAcept. Но EVR почему-то справляется.
LAV декодер нормально поддерживает механизм QueryAcept, поэтому наш VR работает корректно.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 04 мая 2019, 06:28:44
Вот патч - https://yadi.sk/d/DBKDbnwucoexfg
Корректно обрабатываем изменение медиа-типа и вызовы CCustomAllocator::SetProperties().
Название: MPC Video Renderer
Отправлено: V0lt от 04 мая 2019, 07:32:31
С эти патчем не падает. Но непонятно работает QueryAcept или нет.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 04 мая 2019, 08:27:23
Все отлично работает. Просто до этого получалось что "старый" размер задавался для буфера, в некоторых ситуациях. PAL DVD - одна из них.
Название: MPC Video Renderer
Отправлено: V0lt от 04 мая 2019, 11:42:11
Я о Connection media type рендерера. Если использовать LAV Video Decoder, то там всегда переопределенный медиатип (на всех рендерерах: EVR, Haali VR, madVR, MPC VR). А с нашими декодерами - либо исходный, либо переопределенный.

Добавлено: 2019-05-04 11:42:11

В этом месяце попробую реализовать опциональный ресайз шейдерами, когда активны видеопроцессоры DXVA2 и D3D11.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 05 мая 2019, 06:57:11
В графстудии с нашим VR нет видео-окна :)

P.S. Это проблема самой граф-студии, он просто не создает окно ну и все вытекающее.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 07 мая 2019, 00:13:41
V0lt, просьба, пожалуйста увеличьте немного длину окна статистики экспериментального видео-рендерера, иначе название графических адаптеров AMD просто не влезает в строчку и обрезается (https://yadi.sk/i/YX_55LLSIy25Gw), поскольку именно у AMD названия графических адаптеров достаточно длинные, ибо у них "серии" моделей видеокарт, по сравнению с графическими адаптерами от NVIDIA, где отображается конкретный графический адаптер.
Название: MPC Video Renderer
Отправлено: V0lt от 07 мая 2019, 05:36:38
Названия адаптеров, которые не влезают можно посмотреть во вкладке "Information".

PS: если вкладка "Information" отсутствует, необходимо убрать и вновь задать регистрацию фильтра.

Добавлено: 2019-05-07 05:36:38

Ну у тебя лишь пара букв не влезла, которые не критичны.
Буду ли увеличивать поле статистики, пока не знаю (на производительность может повлиять). Возможно шрифт уменьшу, когда дополнительную информацию буду добавлять.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 10 мая 2019, 11:07:06
V0lt
ЦитироватьПосмотри, что генерируется в "revision.h". Если чего не так, то пиши в теме на форуме.
Посмотрел. Генерируется только #pragma once. А должны быть еще и "дефайны", которых нет не знаю почему.

Добавлено: 2019-05-10 11:07:06

Разобрался. "Дефайны" генерируются только в том случае, если происходит клонирование. Если подача идет напрямую, то генерация не происходит вообще.
#define MPCVR_REV_DATE 2019.05.10
#define MPCVR_REV_HASH 40c0bb8
#define MPCVR_REV_NUM 531
Название: MPC Video Renderer
Отправлено: V0lt от 10 мая 2019, 14:15:15
Evgeniy1990
Я всегда обновляю так. Выбираю папку в кодом, затем ПКМ->TortoiseGit->Получить...(Pull...)->OK.
Название: MPC Video Renderer
Отправлено: V0lt от 11 мая 2019, 16:21:16
Заметил, что шейдерная интерполяция в режиме D3D11 работает некорректно (артефакты в виде лесенки). Придется разбираться.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 16 мая 2019, 08:21:47
Заметил такую вещь - иногда(но без какой-либо закономерности) при частой перемотке и использовании нашего VR проигрыватель(MPC-BE) просто намертво зависает.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 23 мая 2019, 22:33:47
Заметил косяк - все 10-битные видео файлы с Chroma subsampling 4:2:0 выводятся только через формат Y410 (10-bit 4:4:4). Т.е. форматы P010, P210, как и P016 и P216 не работают вообще.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 24 мая 2019, 00:52:15
Эти форматы работают только если их поддержка есть в драйвере и как следствие в DXVA2/DX11 видео-процессоре. Запусти DXVAChecker и проверь, или в самом VR в дебаг выводе.
Название: MPC Video Renderer
Отправлено: V0lt от 24 мая 2019, 06:10:08
Через шейдеры поддерживаются только RGB и YUV 4:4:4. Остальные форматы (YUV 4:2:0 и YUV 4:2:2) заработают, если есть поддержка в DXVA2 или D3D11.

PS: Форматы: P210, P216 не поддерживаются совсем. Остальное можно получить на Intel UHD 630.
Название: MPC Video Renderer
Отправлено: V0lt от 25 мая 2019, 22:15:51
Исправлен шейдерный ресайз по вертикали в двухпроходном режиме в r579-2019.05.25-cfd2448.
Название: MPC Video Renderer
Отправлено: Lord_D от 27 мая 2019, 07:34:12
Ошибка:
Размер кадра на полном экране равен разрешению рабочего стола.
Настроено так: рабочий стол - 1280x720, видео на полном экране - 1920x1080 (родное разрешение монитора): https://imgur.com/SAnN7BU
При переходе на полный экране видео отображается только в прямоугольнике 1280x720 в левом верхнем углу: https://imgur.com/uMeNdDf
С EVR была аналогичная проблема (исправлена): https://mpc-be.org/forum/viewtopic.php?id=243
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 27 мая 2019, 07:53:58
Тут ситуация сложнее чем с EVR-CP, т.к. сам VR не может обрабатывать смену разрешения.

Такой результат с размерами в DX9 или DX11 или в обоих вариантах ?
Название: MPC Video Renderer
Отправлено: Lord_D от 27 мая 2019, 07:58:11
Боюсь, не могу проверить DX11, у меня Win 7.
Галка в настройках активна (что смущает), но, судя по статистике, всё равно используется DX9.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 27 мая 2019, 08:28:20
Вопрос - а как блин можно работать при разрешении 1280 на мониторе с родным 1920. Там же все нечеткое, ибо монитор ресайзит картинку под 1920.
Название: MPC Video Renderer
Отправлено: Lord_D от 27 мая 2019, 08:35:01
Зависит от качества монитора. У меня как раз все элементы крупнее. На 1080 в венде для меня всё слишком мелкое. А алгоритмы масштабирования интерфейса, по крайней мере в 7, убоги - все приложения перекособочивает. И от рендеринга шрифтов в хроме на 1080 тошнит, когда подгоняешь размеры шрифта к физическим размерам в 720. А вот в линуксе почему-то таких проблем нет, там я спокойно работаю с родным 1080.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 28 мая 2019, 01:26:26
Я примерно знаю что надо делать, но на работе нет 2-ого монитора - а на одном рабочем не особо поиграешься с разрешениями :)

Добавлено: 2019-05-27 16:00:25

Вот пробуем - https://yadi.sk/d/jIX0PZ8yEsxLWA


Добавлено: 2019-05-28 08:26:26

Ну что, как результат с обрезкой вывода ?
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 31 мая 2019, 09:32:11
Вот еще одна версия - https://yadi.sk/d/gwjk3fG0lIH1UQ
Так же в ней добавлен режим Flip для DX9.
Название: MPC Video Renderer
Отправлено: Lord_D от 31 мая 2019, 10:12:35
Прошу прощения, не приходили уведомления.

Цитата: Aleksoid1978Добавлено: 2019-05-27 16:00:25

Вот пробуем - https://yadi.sk/d/jIX0PZ8yEsxLWA
Эта версия вылетает с ошибкой при разворачивании на полный экран.
https://imgur.com/UCXjDYh
Кстати, видео всё также в прамоугольнике в углу.

Цитата: Aleksoid1978Вот еще одна версия - https://yadi.sk/d/gwjk3fG0lIH1UQ
Эта версия вроде бы работает. Видео на весь экран. Благодарю.
Подожду 64-битную ночную сборку, чтобы протестировать в боевых условиях.

Цитата: Aleksoid1978Так же в ней добавлен режим Flip для DX9.
А вот эта штука не работает. Причём не работает настолько, что происходит откат на стандартный Video render. Даже до настроек не добраться. Сбросил через реестр.
Как я понимаю, это способ смены буфера кадра. Чем он лучше?
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 31 мая 2019, 10:25:48
У меня спокойно работает Flip. К сожалению Win7 нет и проверить на могу.
Эта версия - Debug, попробуй запустить сперва DbgView из набора SysInternals, а потом уже MPC-BE с этим VR и выставленным Flip. Ну и потом лог из DbgView выложи, посмотрим.
Название: MPC Video Renderer
Отправлено: Lord_D от 31 мая 2019, 14:11:34
00000001    0.00000000    [4720] Loading modified build of detours library designed for MPC-HC player (http://sourceforge.net/projects/mpc-hc/)    
00000002    14.89837551    [4720] MpcVideoRenderer.ax(tid 1c9c)       13 : CDX9VideoProcessor::Init()    
00000003    14.89860821    [4720] MpcVideoRenderer.ax(tid 1c9c)       13 : Graphics adapter: Radeon RX 590 Series (1002:67DF)    
00000004    14.89894676    [4720] MpcVideoRenderer.ax(tid 1c9c)       14 : Display Mode: 1280x720, 60p    
00000005    14.89905167    [4720] MpcVideoRenderer.ax(tid 1c9c)       14 : DeviceCaps:    
00000006    14.89905167    [4720]   MaxTextureWidth                 : 16384    
00000007    14.89905167    [4720]   MaxTextureHeight                : 16384    
00000008    14.89905167    [4720]   PresentationInterval IMMEDIATE  : supported    
00000009    14.89905167    [4720]   PresentationInterval ONE        : supported    
00000010    14.89905167    [4720]   Caps READ_SCANLINE              : supported    
00000011    14.89905167    [4720]   PixelShaderVersion              : 3.0    
00000012    14.89905167    [4720]   MaxPixelShader30InstructionSlots: 32768    
00000013    14.93541431    [4720] MpcVideoRenderer.ax(tid 1c9c)       50 :     => CreateDeviceEx() : 0x80070578
Название: MPC Video Renderer
Отправлено: V0lt от 02 июня 2019, 14:05:41
Lord_D, попробуй тестовую версию dx9flip_4 (https://yadi.sk/d/uwBu4owfK9vOwg).
Название: MPC Video Renderer
Отправлено: Lord_D от 02 июня 2019, 15:08:25
Работает. Но опять появилась надпись "DX11 only" рядом с опцией. Я к тому, что, если выключили для DX9, то лучше сделать опцию неактивной. А если нет, то надпись вводит в заблуждение.

Добавлено: 2019-06-02 18:50:09

Если включено масштабирование при помощи DXVA, опции алгоритма масштабирования не влияют на картинку?


Добавлено: 2019-06-02 19:08:25

Ещё заметил момент: надпись GPU рядом с кнопкой отключения звука не появляется для случая DXVA + MPC VR. Но это, конечно, мелочи.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 02 июня 2019, 16:04:11
"DX11 only" - чисто косметика, просто не трогали.

Значок GPU должен появляться. Если нет - значит и DXVA нет.

Добавлено: 2019-06-02 23:04:11

По поводу DXVA - да есть такое, после последних изменений. Поправим.
Название: MPC Video Renderer
Отправлено: Lord_D от 02 июня 2019, 16:34:46
Цитата: Aleksoid1978Значок GPU должен появляться. Если нет - значит и DXVA нет.
Перепроверил - в декодере написано что декодируется DXVA. По нагрузке проца - точно DXVA. Если отключить руками (оставить только программный), нагрузка вырастает раз в 5. А значка рядом с иконкой динамика нет. Если переключиться на EVR-CP - появится.
https://imgur.com/bSzFQdp
https://imgur.com/a1DClg0
Название: MPC Video Renderer
Отправлено: V0lt от 02 июня 2019, 21:04:58
Плеер определяет активацию декодера DXVA2 через перехват вызова определенной функции. Увы, но этот метод может не сработать.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 03 июня 2019, 02:17:57
Залил все наработки - и Flip добавил для DX9, и значок GPU отображается.
Название: MPC Video Renderer
Отправлено: Lord_D от 03 июня 2019, 08:09:08
Цитата: Aleksoid1978и значок GPU отображается.
Нет :) Но, повторюсь, это не важно.


Всё думал, писать или нет. Не сочтите за придирки. В cmd-файлах текст неправильный:
Please do not delete the MpcVideoRenderer64 folder.Здесь должно быть "MpcVideoRenderer64.ax file". В 32-битных - аналогично.

You need to right click "Install_MPCVR_64.bat" and choose "run as admin"."Install_MPCVR_64.cmd". Этот текст есть во всех cmd.
Название: MPC Video Renderer
Отправлено: V0lt от 03 июня 2019, 08:36:29
Lord_D, спасибо, поправил.

Добавлено: 2019-06-03 08:36:29

Писать об ошибках VR надо, эта тема как раз для этого создана.
Название: MPC Video Renderer
Отправлено: Lord_D от 03 июня 2019, 09:45:03
В r593 значок GPU появился. Спасибо.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 07 июня 2019, 08:32:55
V0lt

Желательно избавиться от выпадания текущего кадра в состоянии паузы, при сворачивании и разворачивании обратно окна плеера. Иначе говоря, вместо "черного экрана", должен быть виден кадр, находящийся в режиме ожидания (в режиме Паузы).

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

1. Открыть видео файл
2. Поставить на паузу
3. Свернуть окно плеера на панель задач
4. Тут же развернуть окно плеера обратно

По факту - "черный экран".
Ожидается - кадр, который был поставлен на паузу.

Добавлено: 2019-06-07 08:32:55

Появился Warning C4146, после commit\'a dfe50d0.

c:\\videorenderer\\videorenderer\\source\\helper.cpp(475): warning C4146: unary minus operator applied to unsigned type, result still unsigned [C:\\VideoRenderer\\VideoRenderer\\Source\\MpcVideoRenderer.vcxproj]
Название: MPC Video Renderer
Отправлено: V0lt от 07 июня 2019, 09:30:11
Evgeniy1990
Про черный экран отметил в первом сообщении. Пока не до него.
Предупреждение убрал в c068986.
Название: MPC Video Renderer
Отправлено: V0lt от 08 июня 2019, 14:40:45
В планах попробовать сделать более быстрое рисование статистики для режима DX11.

Нужно уйти от GDI и рисовать средсвами Direct3D11. Сделать текстуру с отрендеренными буквами, а затем каждая буква рендериться в нужную позицию кадра.

Примеры реализации.
SpriteFont из DirectXTK от Microsoft (https://github.com/Microsoft/DirectXTK/wiki/SpriteFont)
Tutorial 12: Font Engine (http://www.rastertek.com) (http://www.rastertek.com/dx11tut12.html)
DirectX 11 шаг за шагом:Текст (directx.fandom.com) (https://directx.fandom.com/ru/wiki/DirectX_11_%D1%88%D0%B0%D0%B3_%D0%B7%D0%B0_%D1%88%D0%B0%D0%B3%D0%BE%D0%BC:%D0%A2%D0%B5%D0%BA%D1%81%D1%82)

В коде MPC-BE есть похожая реализация для DX9 - CD3DFont::DrawText().
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 09 июня 2019, 02:42:07
Есть проблема на DX11.

Если включена опция "Use the DXVA2/D3D11 video processor for resizing (if possible)", то вместо нормального изображения просто "черный экран", или же "пустота". Если ее выключить, то появляется нормальное изображение.
Получается, что Resizing на DX11 не работает вообще.
Название: MPC Video Renderer
Отправлено: V0lt от 09 июня 2019, 09:02:57
Evgeniy1990, чето ты меня пугаешь.
Покажи окно настроек. Попробуй вывести статистику, если получиться, то сделай с ней скриншот.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 09 июня 2019, 10:57:16
Цитата: V0ltEvgeniy1990, чето ты меня пугаешь.
Покажи окно настроек. Попробуй вывести статистику, если получиться, то сделай с ней скриншот.
Да я и сам был удивлен. Пожалуйста, посмотрите на это.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 09 июня 2019, 14:25:07
Запусти Debug билд и выложи лог.
Название: MPC Video Renderer
Отправлено: V0lt от 09 июня 2019, 18:37:51
Выкладываю MPCVideoRenderer-r615_3D9FontLine_2 (https://yadi.sk/d/uwBu4owfK9vOwg).
Добавлен более быстрый рендеринг статистики. Возможно не поддерживает юникод, но он там вроде и не нужен.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 09 июня 2019, 19:43:35
Цитата: Aleksoid1978Запусти Debug билд и выложи лог.
Пожалуйста.
Название: MPC Video Renderer
Отправлено: V0lt от 09 июня 2019, 21:16:18
По логу все нормально. Лог при черном экране сделан?

Попробуй отключить декодер DXVA2.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 09 июня 2019, 22:25:31
Цитата: V0ltПо логу все нормально. Лог при черном экране сделан?

Попробуй отключить декодер DXVA2.
Разумеется, я делал лог именно при черном экране.

Дело не в аппаратном DXVA2, потому что даже в софте есть черный экран.

Выкладываю еще два лог-файла. Один сделан при DXVA2, другой - при софте.
Название: MPC Video Renderer
Отправлено: V0lt от 10 июня 2019, 08:16:26
Evgeniy1990
Ранее проблема с опцией "Use the DXVA2/D3D11 video processor for resizing (if possible)" была?

Добавлено: 2019-06-10 08:16:26

Еще без статистики попробуй, на всякий случай.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 10 июня 2019, 12:35:28
Цитата: V0ltРанее проблема с опцией "Use the DXVA2/D3D11 video processor for resizing (if possible)" была?

Ранее данной проблемы не было.

Цитата: V0ltЕще без статистики попробуй, на всякий случай.

Попробовал без статистики - также "черный экран" и в софте и в DXVA2.

Меня также удивляет тот факт, что после запуска видео файла, появляется первый кадр, а дальше сплошной "черный экран".

P.S. Попробую найти проблемное изменение...

Добавлено: 2019-06-10 12:35:28

V0lt

Начал поиск проблемного изменения:

Первый диапазон поиска: [r531 -> r614]

Нашел! Итоговый диапазон поиска: [r553 ->r554]

Изменение в GitHub - commit f894845 r554 является некорректным, из-за чего и проявляется "черный экран" на DX11, при Resize.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 июня 2019, 14:13:31
Вот только появляется почему то у тебя, больше ни у кого. А тот коммит нужен.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 10 июня 2019, 14:21:05
Цитата: Aleksoid1978Вот только появляется почему то у тебя, больше ни у кого. А тот коммит нужен.
А кто еще, кроме меня, так тщательно тестирует этот видео-рендерер?

Возможно, проблема проявляется из-за того что у меня AMD Radeon HD. Т.е. на видеокартах от AMD.
Видимо, на NVIDIA GeForce этот код (данный коммит r554) работает нормально, а вот на AMD - нет.
Название: MPC Video Renderer
Отправлено: V0lt от 10 июня 2019, 14:22:04
Evgeniy1990, обновись до f137dd2 и перепроверь.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 10 июня 2019, 14:39:00
Позже проверю у себя на NVIDIA...

Добавлено: 2019-06-10 14:27:13

Цитата: V0ltEvgeniy1990, обновись до f137dd2 и перепроверь.
Ок, сейчас обновлюсь, соберу рендерер и проверю у себя на AMD...


Добавлено: 2019-06-10 14:39:00

V0lt

Проверил билд r623 - другое дело. :)
Теперь изображение присутствует всегда, а не исчезает, после появления первого кадра. Да уж, черт бы этих AMD...

Доказательство.

Спасибо за внесенные изменения. :)

P.S. Но про NVIDIA я не забыл. Проверю позднее.
Название: MPC Video Renderer
Отправлено: V0lt от 11 июня 2019, 18:47:18
Evgeniy1990, проверь еще билд test_AMD_D3D11_VP_Resize (https://yadi.sk/d/uwBu4owfK9vOwg) на своей карте AMD. Будет ли черный экран.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 12 июня 2019, 01:47:16
Цитата: V0ltEvgeniy1990, проверь еще билд test_AMD_D3D11_VP_Resize на своей карте AMD. Будет ли черный экран.
V0lt

Проверил ваш тестовый билд. К сожалению, присутствует черный экран.
Также, создал лог-файл, с помощью вашего Debug-билда.

Добавлено: 2019-06-12 01:47:16

Причем, сейчас нет даже первого кадра, в отличие от предыдущей ситуации с черным экраном на AMD.
Иначе говоря, стало хуже, чем было. Хуже - в плане того, что вообще нет ни одного кадра, чистый черный экран.
Название: MPC Video Renderer
Отправлено: V0lt от 12 июня 2019, 08:13:40
Evgeniy1990
Я просто версию с альфа каналом проверял. Получается бекбуфер на AMD лишний раз не стоит трогать. :-)
Название: MPC Video Renderer
Отправлено: V0lt от 13 июня 2019, 21:38:33
Если после последних изменений не собирается из под VisuaStudio с ошибкой
Error HRESULT E_FAIL has been returned from a call to a COM component., то закройте студию и удалите все файлы *.vcxproj.user. Должно помочь.
PS: Путь запуска отладки естественно слетит на дефолтный, его нужно будет поправить.
Название: MPC Video Renderer
Отправлено: V0lt от 15 июня 2019, 14:21:47
Если имеется второй адаптер (у меня Intel HD 4000), к которому подключен дополнительный дисплей (ТВ), то в режиме DX11 не работают аппаратные декодеры DXVA2 и D3D11. Если сделать телевизор основным дисплеем, то нормально.
Записал в известные проблемы.
Исправлено в MPC-BE 1.5.4.4581.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 16 июня 2019, 08:37:09
V0lt

На AMD, при использовании DX11, есть очень неприятная проблема, связанная с очень (чрезмерной) высокой яркостью изображения, причем, как на видео файлах с полным цветовым диапазоном, так и на видео файлах с ограниченным цветовым диапазоном. Причем, данная проблема, в зависимости от цветового диапазона (Full/Limited), проявляется по разному.

Я сделал для вас две видеозаписи:

Первая (https://yadi.sk/i/kZaEF94HiePliA) - с видео файлом, имеющим полный цветовой диапазон,
Вторая (https://yadi.sk/i/QoLPqxnbT1GhXA) - с видео файлом, имеющим ограниченный цветовой диапазон.

Для того, чтобы вам было понятно и наглядно видно, как проявляется данная, очень неприятная, проблема.

P.S. Скажу сразу, что никакая переустановка драйверов к видеокарте тут не поможет.
Название: MPC Video Renderer
Отправлено: V0lt от 16 июня 2019, 08:46:29
Evgeniy1990
Можешь сделать сравнительные скриншоты одинаковых кадров со статистикой в режиме "Cтандартный" на 647 ревизии? По видео трудно ориентироваться.

Режим "Интенсивный" не стоит приводить в сравнение. Это чисто драйверная заморочка ничем не регламентированная.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 16 июня 2019, 09:12:27
Цитата: V0ltEvgeniy1990
Можешь сделать сравнительные скриншоты одинаковых кадров со статистикой в режиме "Cтандартный" на 647 ревизии? По видео трудно ориентироваться.

Я сделал для вас скриншоты двух видео файлов с разными цветовыми диапазонами, при условии - "Использовать параметры проигрывателя видео".

Full

Limited

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

Условие - "Использовать параметры проигрывателя видео"
1. Запустить видео файлы (Full/Limited)
2. Поставить воспроизведение на паузу
3. Возобновить воспроизведение

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

Добавлено: 2019-06-16 09:12:27

V0lt

Также, еще сделал для вас сравнительные кадры - до паузы и после паузы (возобновления).
Название: MPC Video Renderer
Отправлено: V0lt от 16 июня 2019, 09:13:16
Цитата: Evgeniy1990Условие - "Использовать параметры проигрывателя видео"
1. Запустить видео файлы (Full/Limited)
2. Поставить воспроизведение на паузу
3. Возобновить воспроизведение
Получается на любом видео такая ерунда? Тут к рендереру претензий быть не может. Явно драйвер чудит.

Глянь в настройках драйвера, нет ли там гадости типа "динамический контраст", "усиление цветов" и прочей ериси.

Цитата: Evgeniy1990Также, еще сделал для вас сравнительные кадры - до паузы и после паузы (возобновления).
Жесть какая-то.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 16 июня 2019, 09:24:45
Цитата: V0ltПолучается на любом видео такая ерунда?
Совершенно верно, на любом.
Цитата: V0ltТут к рендереру претензий быть не может. Явно драйвер чудит.
Я пробовал ставить другие драйвера - такая же проблема с высокой яркостью.
Причем, именно на DX11, на DX9 - все нормально.
Цитата: V0ltГлянь в настройках драйвера, нет ли там гадости типа "динамический контраст", "усиление цветов" и прочей ериси.
Посмотрел, ничего подобного у меня нет, разве что "Звонкий цвет" и "Повышение оттенков белого". Но даже если я их выключу - проблема не исчезнет.

Я больше склоняюсь к DX11 на AMD. Видимо, опять где-то косяк в самом DX11.

Добавлено: 2019-06-16 09:24:45

Цитата: V0ltЖесть какая-то.
Согласен! Та еще жесть! Я сам охренел, когда впервые это увидел на вашем тестовом билде.
После чего, стал искать проблемное изменение и перебирать десятки дров.
В итоге, проблема есть на любых билдах, и совершенно любых драйверах.
Отсюда я и сделал вывод, что где-то что-то не так в самом DX11 на AMD.
Название: MPC Video Renderer
Отправлено: V0lt от 16 июня 2019, 12:54:34
Evgeniy1990
Продублирую тут.

Можешь попробовать
1. Отключить декодеры DXVA2.
2. В дополнению к п.1, выключи все форматы YUV 4:2:0 и 4:2:2. Можно включить AYUV. В этом случае будет задействован шейдерный видеопроцессор, а не D3D11 VP.
3. Включить все назад и выключить поддержку субтитров в плеере.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 16 июня 2019, 15:22:19
Цитата: V0ltEvgeniy1990
Продублирую тут.

Можешь попробовать
1. Отключить декодеры DXVA2.
2. В дополнению к п.1, выключи все форматы YUV 4:2:0 и 4:2:2. Можно включить AYUV. В этом случае будет задействован шейдерный видеопроцессор, а не D3D11 VP.
3. Включить все назад и выключить поддержку субтитров в плеере.
Попробовал. В результате, у меня стал работать только AYUV, VideoProcessor: Shaders, изображение на DX11 всегда нормальное, при любых условиях.

Добавлено: 2019-06-16 15:22:19

V0lt
Еще одна проблема - не работает выходной формат YUY2 на AMD, при использовании "Direct3D 11 (DX11)", хотя должен работать. Если выключить все выходные форматы и оставить только YUY2 вместе с DX11, то при открытии видео файлов "MPC Video Renderer" даже не запустится. Вместо него, в графе фильтров будет "системный по умолчанию" видео-рендерер.
Название: MPC Video Renderer
Отправлено: V0lt от 16 июня 2019, 15:29:53
Evgeniy1990
Ну вот и локализовали проблему. Глючит именно D3D11 Video Processor.

Могу еще предложить после возникновения бага, не останавливая воспроизведение, зайти в настройки плеера и покрутить яркость, контрастность, насыщенность, а затем сбросить.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 16 июня 2019, 17:19:09
Цитата: V0ltEvgeniy1990
Ну вот и локализовали проблему. Глючит именно D3D11 Video Processor.

Могу еще предложить после возникновения бага, не останавливая воспроизведение, зайти в настройки плеера и покрутить яркость, контрастность, насыщенность, а затем сбросить.
Спасибо, за предложение! Да, согласен с вами, действительно помогает избавиться от чрезмерной контрастности и насыщенности изображения.

Только, в очередной раз, я снова обнаружил еще один ужас:

1. Проявился баг - изображение стало чрезмерно контрастным и насыщенным
2. Зашел в "Настройки" -> "Видео" -> "Коррекция цвета"
3. Нажал на кнопку "Сброс"

По факту: после нажатия на кнопку "Сброс", изображение стало полностью нормальным, каким и должно быть, но регуляторы "Контрастности" и "Насыщенности" не вернулись в исходное положение. Вместо этого, они одновременно вместе улетели влево.

В итоге, получились такие значения:

Яркость: 0
Контрастность: -99
Оттенок: 0
Насыщенность: -99

Вот такой ужас творится у нас с "коррекцией цвета". И вот при таких значения, изображение становится нормальным. Охренеть можно...

Ожидается: естественно, при правильной логике, после нажатия на кнопку "Сброс", все значения должны вернуться обратно на ноль.

Теперь понятно, что вызывает это чрезмерно контрастное и насыщенное изображение - наши настройки цветов, в разделе "Коррекция цвета".

Вот это явно баг и его надо устранять.
Название: MPC Video Renderer
Отправлено: V0lt от 17 июня 2019, 10:40:09
Завтра сделаю тестовый билд. Посмотрим что там прилетает от драйвера.

Добавлено: 2019-06-17 10:40:09

Исправил в r653. Проверь.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 17 июня 2019, 12:39:21
Цитата: V0ltЗавтра сделаю тестовый билд. Посмотрим что там прилетает от драйвера.

Добавлено: 2019-06-17 10:40:09

Исправил в r653. Проверь.
Проверил. Результаты:

1. Исправлено чрезмерно контрастное и насыщенное изображение на AMD, при использовании DX11, после возобновления воспроизведения на видео файлах с полным цветовым диапазоном, а также и на видео файлах с ограниченным цветовым диапазоном, которое проявлялось сразу же после открытия видео файлов, при условии, если использовалась опция "Использовать параметры проигрывателя видео".

2. Исправлен сброс цветовых настроек в разделе "Коррекция цвета", при использовании DX11. Теперь строго всегда, при нажатии на кнопку "Сброс", все значения настроек "яркости", "контрастности", "оттенка" и "насыщенности" возвращаются обратно в исходное состояние - ноль. Даже на видео файлах с полным цветовым диапазоном, где чаще всего возникала данная проблема.

Наконец-то, теперь больше нет этой "адской жести", которая творилась и проявлялась на видеокартах от AMD, при использовании "Direct3D 11 (DX11)".

V0lt, вы молодцы! :)
Название: MPC Video Renderer
Отправлено: V0lt от 17 июня 2019, 14:33:48
Evgeniy1990, когда будет время, глянь как у тебя проигрываются ролики HDR с опцией "Use the DXVA2/D3D11 video processor for resizing (if possible)" и без.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 17 июня 2019, 17:46:37
Цитата: V0ltEvgeniy1990, когда будет время, глянь как у тебя проигрываются ролики HDR с опцией "Use the DXVA2/D3D11 video processor for resizing (if possible)" и без.
Напомните, пожалуйста, какие именно ролики с HDR?
Название: MPC Video Renderer
Отправлено: V0lt от 17 июня 2019, 18:13:33
Вот эти попробуй - https://yadi.sk/d/mADzsqUnzEYfk
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 17 июня 2019, 20:31:57
Цитата: V0ltВот эти попробуй - https://yadi.sk/d/mADzsqUnzEYfk
Спасибо! Проверил ваши тестовые ролики с HDR.

Результаты неутешительные, имеются проблемы:

1. К сожалению, с нашим MPC Video Decoder они воспроизводятся некорректно. Во время воспроизведения присутствуют пропуски кадров. С LAV Video Decoder они воспроизводятся нормально, пропусков кадров нет.

2. По поводу опции "Use the DXVA2/D3D11 video processor for resizing (if possible)".
Если используются выходные форматы Y410 и Y416 и данная опция включена, то присутствует нормальное изображение.
Если выходные форматы Y410 и Y416 выключены и используется только NV12 и данная опция включена, то вместо нормального изображения, опять "черный экран".
Если данная опция выключена, то при любых выходных форматах присутствует нормальное изображение.
Название: MPC Video Renderer
Отправлено: V0lt от 18 июня 2019, 11:39:54
Выпущен релиз 0.2.0.658 (https://github.com/Aleksoid1978/VideoRenderer/releases/tag/0.2.0).

Добавлено: 2019-06-18 11:34:50

Evgeniy1990
Это режим DX11?

Очень странно. Похоже на твоей карте AMD видеопроцессор D3D11 очень капризный к рабочей текстуре. В режиме DX9 проблемы ведь нет?


Добавлено: 2019-06-18 11:39:54

Заводить HDR в рендерер в формате NV12 - это конечно тот еще изврат. После тон-маппинга вылезает очень заметный бандинг.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 19 июня 2019, 06:37:28
Цитата: V0ltЭто режим DX11?

Очень странно. Похоже на твоей карте AMD видеопроцессор D3D11 очень капризный к рабочей текстуре. В режиме DX9 проблемы ведь нет?

Я еще раз внимательно перепроверил ваши видео файлы с HDR, при использовании нашего MPC Video Decoder, так и при использовании внешнего LAV Video Decoder.

В результате, оба этих видео файла воспроизводятся с пропусками кадров, только при использовании выходных форматов Y410 и Y416 в обоих видео декодерах, как в MPC, так и в LAV, а также и в обоих DX, как в DX9, так и в DX11.

Видео файл "The Redwoods" способен нормально воспроизводится, без пропусков кадров, при использовании выходных форматов RGB32 и AYUV, а также и NV12 в обоих видео декодерах и в обоих DX.

Видео файл "The World in HDR" нормально воспроизводится, без пропусков кадров, только при использовании выходного формата NV12 в обоих видео декодерах и в обоих DX, в отличие от видео файла "The Redwoods", который мог воспроизводится нормально даже при RGB32/AYUV.

"Черный экран" присутствует на обоих видео файлах, при использовании выходного формата NV12, при работе DX11, с включенной опцией "Use the DXVA2/D3D11 video processor for resizing (if possible)". Если ее выключить, тогда "черного экрана" не будет, будет нормальное изображение.

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

"Черный экран" на DX11, при активной опции "Use the DXVA2/D3D11 video processor for resizing (if possible)" и выходном формате NV12 - это ненормально. Лучше избавиться от него.

Цитата: V0ltЗаводить HDR в рендерер в формате NV12 - это конечно тот еще изврат. После тон-маппинга вылезает очень заметный бандинг.
Может это и "изврат", но большинство таких видео файлов с HDR, в моем случае, способны нормально и плавно воспроизводиться, без пропусков кадров, только при использовании именно выходного формата NV12.

Все-таки выходные форматы Y410 и Y416 достаточно тяжелые для некоторых видеокарт.
Более облегченные - это RGB32 и AYUV. А самый быстрый - NV12.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 19 июня 2019, 09:00:13
Для 10-bit 4:2:0 - родной формат P010.
Название: MPC Video Renderer
Отправлено: V0lt от 19 июня 2019, 19:11:53
Evgeniy1990
Кадр Y410 занимает столько же сколько AYUV и RGB32.
Твоя карта, а точнее видеопроцессоры DXVA2 и D3D11, не умеют работать с P010, поэтому ты пытаешься использовать NV12, который для HDR недостаточен. Но большая проблема в том, что D3D11 VP у тебя слишком капризный. Добавляем дополнительную операцию, получаем черный экран. Просто предварительно заливаем бэкбуфер - опять черный экран.
Это очень странная ситуация. Я надеюсь, кто-нибудь еще с картой AMD сможет проверить воспроизведение HDR.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 19 июня 2019, 23:33:00
Цитата: Aleksoid1978Для 10-bit 4:2:0 - родной формат P010.
Это итак понятно. Зачем писать очевидные вещи?
"Видеопроцессоры DXVA2 и D3D11, не умеют работать с P010" - ответ вам от V0lt\'a.

Если бы работал P010, тогда все было бы нормально. Я не случайно писал вам ранее, что не работает P010 и все 10-битные видео файлы выводятся только через Y410.

Изначально, я надеялся и даже рассчитывал на то, что наш MPC Video Renderer будет поддерживать абсолютно все выходные форматы, по аналогии с madVR. Но после ответа от V0lt\'a, я понял, что зря на это надеялся и мне стало даже обидно.

Цитата: V0ltпоэтому ты пытаешься использовать NV12
Я пока ничего не пытаюсь использовать. Я всего лишь проверил поведение данных видео файлов при использовании разных доступных выходных форматах. Меня интересовало, в первую очередь, именно корректность и плавность самого воспроизведения этих видео файлов с HDR.

Цитата: V0ltНо большая проблема в том, что D3D11 VP у тебя слишком капризный. Добавляем дополнительную операцию, получаем черный экран. Просто предварительно заливаем бэкбуфер - опять черный экран.
Это очень странная ситуация.
Что тут странного? Вырубите вы полностью этот "бэкбуфер" нафиг для AMD и не будет этого "черного экрана".
Ясно же, что именно при его работе он возникает.

Если уж говорить про "капризность", то капризным пока, на данный момент, является сам "MPC Video Renderer".
В нем присутствует еще немало проблем (багов).

Для начала, вот парочка багов:

Баг #1 - "Пропуски кадров, при воспроизведении транспортных видео файлов".

Условие воспроизведения:

Наличие превью (опция - "использовать предпросмотр при поиске видеофрагмента")

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

1. Запустить транспортный видео файл
2. Во время его воспроизведения, навести курсор мышки на шкалу прогресса
3. После наведения курсора мышки на шкалу прогресса, плавно двигаем его в правую сторону именно по шкале самого прогресса

По факту: будет небольшое подвисание кадров и процесса воспроизведения, а также в статистике видео-рендерера будет виден рост пропущенных кадров.

Баг #2 - "Не стартует воспроизведение некоторых WMV-видео файлов".

Условие воспроизведения:

Фильтр-источник: "WM ASF Reader"

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

1. Скачать этот WMV-видео файл
2. Запустить его

По факту: после его открытия, воспроизведение не начинается вообще. Видео-рендерер просто стоит на месте.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 20 июня 2019, 05:26:03
По поводу проверки с HDR, если железо не поддерживет HEVC/VP9 4K 10-bit - то просто находим ролик HDR на youtube и качаем более легкий вариант, хоть в 720p. Такое видео спокойно и CPU вытянет.

Добавлено: 2019-06-20 12:26:03

По поводу Баг #1 - "Пропуски кадров, при воспроизведении транспортных видео файлов". - это на DX9 или DX11, DXVA2 декодер при это задействован ?
Название: MPC Video Renderer
Отправлено: V0lt от 20 июня 2019, 05:43:23
Evgeniy1990
ЦитироватьЧто тут странного? Вырубите вы полностью этот "бэкбуфер" нафиг для AMD и не будет этого "черного экрана".
Ясно же, что именно при его работе он возникает.
Ты не в теме. Бэкбуфер используется всегда и при любом видео. Это то, на чем формируется окончательный кадр. Проблема в D3D11 VP на твоей карте, которой работает только на девственно чистом бэкбуфере. Сейчас проблема с HDR, захотим добавить какую-нибудь постобработку - будет черный экран на обычном видео.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 20 июня 2019, 10:15:42
Цитата: Aleksoid1978По поводу Баг #1 - "Пропуски кадров, при воспроизведении транспортных видео файлов". - это на DX9 или DX11, DXVA2 декодер при это задействован ?
Это на обоих DX и на DX9 и на DX11. DXVA2, или Софт - не имеет значения.
И там и там присутствует данная проблема с нарастающим количеством пропущенных кадров.

Добавлено: 2019-06-20 09:51:22

Цитата: V0ltТы не в теме. Бэкбуфер используется всегда и при любом видео. Это то, на чем формируется окончательный кадр. Проблема в D3D11 VP на твоей карте, которой работает только на девственно чистом бэкбуфере. Сейчас проблема с HDR, захотим добавить какую-нибудь постобработку - будет черный экран на обычном видео.

Как все сложно и не просто с этим 3D. Теперь я даже понимаю, для чего нужен этот Flip - для того, чтобы просто поменяться местами данными бэкбуфера и самим изображением на мониторе.

Цитата: V0ltна девственно чистом бэкбуфере
Понятно, когда он вообще свободный.


Добавлено: 2019-06-20 10:15:42

V0lt

Баг #3 - "Черный экран в окне на транспортных интерлейсных видео файлах"

Условие воспроизведения:

Транспортные интерлейсные видео файлы (MPEG-TS)

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

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

По факту: вместо изображения - просто черный экран.

Баг #4 - "Не работает аппаратный деинтерлейс"

1. Включить опцию "Double the frame rate when deinterlacing"
2. Запустить транспортный видео файл (MPEG-TS)
3. Обратить внимание на само изображение

По факту: Удвоение кадров есть, но на изображении видны полосы.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 20 июня 2019, 11:03:11
У меня и с паузой все отлично, и деинтерлейс работает - проверял на DX11 с Discard/Flip режимами.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 20 июня 2019, 11:28:57
Цитата: Aleksoid1978У меня и с паузой все отлично, и деинтерлейс работает - проверял на DX11 с Discard/Flip режимами.
Вам срочно нужно обзавестись видеокартой от AMD, желательно именно Radeon HD и 5000 серии.
Ясно уже, что багов больше всего именно на видеокартах от AMD. Хотя, кто его знает, я еще не проверял пока тщательно свои видеокарты NVIDIA. Но и до них скоро доберусь, после того, как тщательно прогоню различные видео файлы на AMD, при различных возможных и доступных условиях.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 20 июня 2019, 11:49:42
Какой смысл проверять на старье. Ну не работает - не пользуйся.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 20 июня 2019, 16:07:52
Цитата: Aleksoid1978Какой смысл проверять на старье. Ну не работает - не пользуйся.
Началось - "старье"... Видеокарта с поддержкой DirectX 11 - это "старье". Да уж, чего я только не слышал.
Дело не в том, что не работает, а в том, что некорректно работает.

Из багов, что я вам пока написал, могу сказать следующее:

Баги #3, #4 присутствуют только на AMD Radeon HD 5770, только на MPC Video Renderer, только при использовании Direct3D 11 (DX11) и только на транспортных интерлейсных видео файлах, а также и на "MVC Full Sterero". Причем, баг #3 опять же проявляется из-за включенной опции "Use the DXVA2/D3D11 video processor for resizing (if possible)" и только на транспортных интерлейсных видео файлах.

Общая суть: если использовать MPC Video Renderer на AMD Radeon HD 5770, при использовании Direct3D 9Ex (DX9), то данных багов (проблем) нет. Ясно, что при использовании Direct3D 9Ex (DX9) никакого черного экрана быть не может, а также на нем полностью нормально работает аппаратный деинтерлейс (горизонтальных полос нет).

Баг #1 Присутствует только на AMD Radeon HD 5770, только на MPC Video Renderer, причем, при использовании как Direct3D 9Ex (DX9), так и Direct3D 11 (DX11), а также только на транспортных интерлейсных видео файлах и на "MVC Full Sterero".

Общая суть: большая часть багов относится именно к транспортным интерлейсным видео файлам, именно они некорректно работают на нашем MPC Video Renderer, особенно данный баг #1. Поскольку, в отличие от остальных двух, данная проблема присутствует даже при использовании Direct3D 9Ex (DX9), который является наиболее стабильным, быстрым и оптимальным.

Баги #2, #5 присутствуют только на нашем MPC Video Renderer, причем также при использовании как  Direct3D 9Ex (DX9), так и Direct3D 11 (DX11). Т.е. DX здесь роли не играет. Здесь конкретные проблемы в самом MPC Video Renderer. И их вы можете исправить.

Исходя из своего анализа и очень тщательного тестирования, я теперь понял слова, которые говорил мне V0lt.
А он ведь был прав. "D3D11 VP" действительно очень капризно себя ведет на данной модели видеокарты от AMD - Radeon HD 5770. Особенно, если еще раз взглянуть на баги #3, #4.

Что касается всех остальных проблем - баги #1, #2, #5, то их вполне реально исправить.

От себя добавлю: вот чего уж я действительно не ожидал, так это целую кучу проблем именно с транспортными интерлейсными видео файлами на видеокарте AMD Radeon HD 5770. Меня, конечно, удивил "черный экран" в окне на паузе. Я то думал, что его больше нет на обычных видео файлах, а он оказывается все еще может быть и присутствовать. Хотелось бы мне более подробнее услышать мнение V0lt\'a по этому поводу.
Название: MPC Video Renderer
Отправлено: V0lt от 20 июня 2019, 20:25:12
Evgeniy1990
В свете замеченных проблем с D3D11 VP на твоей Radeon HD 5770, Я посоветую не использовать режим DX11 на этой карте.

Все баги режима DX11, обнаруженные только на твоей Radeon HD 5770, исправляться не будут, т.к. не могут быть воспроизведены на других машинах. Тут либо баг драйвера, который надо лечить другой версией драйвера. Либо что-то не так с железом - это лечится только заменой.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 21 июня 2019, 04:12:56
Цитата: V0ltEvgeniy1990
В свете замеченных проблем с D3D11 VP на твоей Radeon HD 5770, Я посоветую не использовать режим DX11 на этой карте.

Все баги режима DX11, обнаруженные только на твоей Radeon HD 5770, исправляться не будут, т.к. не могут быть воспроизведены на других машинах. Тут либо баг драйвера, который надо лечить другой версией драйвера. Либо что-то не так с железом - это лечится только заменой.
D3D11 VP вполне нормально работает на AMD Radeon HD 5770.
От драйверов эти баги никак не зависят. Только не надо нести чушь про железо. Я же не идиот, чтобы сидеть и использовать нерабочее железо. Естественно, у меня полностью на все 100% рабочая видеокарта. Проходит все тесты, даже самые жесткие и горячие без проблем. Максимальная температура 67 градусов в FurMark.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 27 июня 2019, 10:33:14
По поводу :
Баг #2 - "Не стартует воспроизведение некоторых WMV-видео файлов".

Условие воспроизведения:

Фильтр-источник: "WM ASF Reader"

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

1. Скачать этот WMV-видео файл
2. Запустить его

По факту: после его открытия, воспроизведение не начинается вообще. Видео-рендерер просто стоит на месте.

madVR так же не стартует. Хз что не так - но тут на лицо траблы самого WM ASF Reader.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 27 июня 2019, 12:41:56
Цитата: Aleksoid1978madVR так же не стартует. Хз что не так - но тут на лицо траблы самого WM ASF Reader.
Да неужели?

EVR-CP - стартует
MPC VR - не стартует
madVR -  не стартует

Получается, что WM ASF Reader нормально работает только с EVR-видео рендерерами? о_О
Название: MPC Video Renderer
Отправлено: V0lt от 27 июня 2019, 22:18:24
Цитата: Evgeniy1990Получается, что WM ASF Reader нормально работает только с EVR-видео рендерерами? о_О
Ранее у EVR-CP тоже были проблемы с WM ASF Reader, что-то подкручивали, стало лучше.

Личное мнение
WM ASF Reader надо быть осторожно. Если там связано с тайм-кодами и синхронизациями, то лучше сейчас ничего не делать и пользоваться LAV Splitter Source. Сейчас никто не знает всех нюансов работы алгоритма синхронизации в MPC VR. Начнем подгонять под одно, сломаем другое. Обложим код костылями, и потом его вообще никто не поймет.
[свернуть]

Добавлено: 2019-06-27 19:15:40

Evgeniy1990, у тебя были проблемы с разной яркостью или гаммой в разных режимах MPC VR на одном и том же файле?


Добавлено: 2019-06-27 22:18:24

С шейдерной обработкой YUY2 есть проблема. Слишком темный кадр получается в режиме DX9.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 28 июня 2019, 00:29:54
Цитата: V0ltEvgeniy1990, у тебя были проблемы с разной яркостью или гаммой в разных режимах MPC VR на одном и том же файле?
Если вы имеете в виду ту самую "адскую жесть", то она была на разных видео файлах, в зависимости от цветового диапазона (Full/Limited).
Цитата: V0ltС шейдерной обработкой YUY2 есть проблема. Слишком темный кадр получается в режиме DX9.
Проблема только на NVIDIA. У меня на AMD нормальные цвета, при выводе через YUY2, даже в D3D11. А в DX9 данный формат YUY2 итак работает, даже без новой опции. Но она меня порадовала. Теперь хотя бы работает выходной формат YUY2 на D3D11, хоть и через шейдеры, но главное - работает! ;)
Название: MPC Video Renderer
Отправлено: V0lt от 28 июня 2019, 21:53:39
Цитата: Evgeniy1990Если вы имеете в виду ту самую "адскую жесть", то она была на разных видео файлах, в зависимости от цветового диапазона (Full/Limited).
Нет. Просто яркость немного разная.

С яркостью YUY2 разобрался. На одной из систем в настройках плеера было занижение, а в режиме DX11 ShaderVP это пока не учитывается.
Название: MPC Video Renderer
Отправлено: V0lt от 30 июня 2019, 16:32:42
Сделал регулировку цвета во всех режимах и применение регулировки после смены формата или VP.
Если где-то вылезет несоответствие на "нулевых значениях", пишите.

У меня наблюдается сильно заметная разница при увеличении уровня ярокости. На шейдерном VP выходит ярче, чем на DXVA2 или D3D11 VP.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 30 июня 2019, 16:38:54
Цитата: V0ltУ меня наблюдается сильно заметная разница при увеличении уровня ярокости. На шейдерном VP выходит ярче, чем на DXVA2 или D3D11 VP.

Ну так ясно - разные механизмы, на шейдерном свой код, на VP - там в драйвере :)
Название: MPC Video Renderer
Отправлено: V0lt от 01 июля 2019, 06:27:22
Откорректировал яркость в r702 коэффициентом 0,4, получилось довольно близко. Проверял на +50 и +100.

Добавлено: 2019-07-01 06:27:22

Более правильно откорректировал в r703.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 02 июля 2019, 06:56:17
V0lt
После commit 10c3254, при построении, сразу же выскакивает ошибка:
06:52:09.377     3>C:\\VideoRenderer\\VideoRenderer\\Source\\Shaders\\d3d11\\ps_convert_nv12.hlsl(37,29-39): error X4502: invalid vs_2_0 output semantic \'SV_Target\' [C:\\VideoRenderer\\VideoRenderer\\Source\\Shaders\\Shaders.vcxproj]
Название: MPC Video Renderer
Отправлено: V0lt от 03 июля 2019, 05:41:15
Evgeniy1990, после 81ed2df должно исправиться.

Добавлено: 2019-07-02 21:27:06

С поддержкой P010 через шейдеры может быть облом на картах, которые не принимают его на входе видеопроцессора D3D11.
У меня, например, P010 работает, но текстура в формате P016 уже не создается. Хотя P010 и P016 - это по сути один формат.

Можно реализовать альтернативный вариант с двумя текстурами для такого случая (все равно кадр в системной памяти). Но не в ближайшее время.

Добавлено: 2019-07-02 22:07:11

Изменения залил, но там еще будут доработки для HDR и билинейная интерполяция.

Добавлено: 2019-07-03 05:41:15

В r713 добавлена поддержка HDR и билинейная интерполяция для хромы.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 03 июля 2019, 23:19:29
Цитата: V0ltEvgeniy1990, после 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???
Название: MPC Video Renderer
Отправлено: V0lt от 04 июля 2019, 06:33:50
Цитата: Evgeniy1990А что означает это число "11" над входными форматами NV12 и P010/P016? DirectX11???
То что галка работает только для режима DX11.

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

С двумя текстурами пока не получилось.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 04 июля 2019, 10:15:09
Evgeniy1990
Запусти дебаг версию и выложи лог на 10 битном 4:2:0 видео, ессно на DX11 и сняв галку с P010 формата.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 04 июля 2019, 14:38:50
Цитата: Aleksoid1978Evgeniy1990
Запусти дебаг версию и выложи лог на 10 битном 4:2:0 видео, ессно на DX11 и сняв галку с P010 формата.
Пожалуйста.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 05 июля 2019, 01:12:03
Ну да - получается если карта не поддерживает DXVA 10-бит, то и P010 формат текстур тоже. Очень плохо.

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

А madVR поддерживает в таком случае 10 бит на вход ?
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 05 июля 2019, 05:25:01
Цитата: Aleksoid1978А madVR поддерживает в таком случае 10 бит на вход ?
Поддерживает.
Название: MPC Video Renderer
Отправлено: V0lt от 05 июля 2019, 22:04:41
В r719 реализовал поддержку P010 и P016 на шейдерах для видеокарт, которые не поддерживают эти форматы.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 06 июля 2019, 06:59:22
Цитата: V0ltВ r719 реализовал поддержку P010 и P016 на шейдерах для видеокарт, которые не поддерживают эти форматы.
Великолепно! ;)
Наконец-то заработали выходные форматы P010 и P016 через шейдеры на 10-битных видео файлах с хрома 4:2:0. ;)
Теперь не придется страдать из-за тормозов, плавающих рассинхронов, которые были при использовании выходных форматов Y410/Y416.

V0lt/Aleksoid1978

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

Условия воспроизведения:

1. Необходимо наличие двух видео файлов в одной папке.
2. Опция: "По окончании воспроизведения" -> "Перейти к след. в каталоге"

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

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

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

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

Оказывается, пользователь 0t5, который кричал про этот самый "тиринг", был прав и это не миф вовсе, а результат проявления данной проблемы.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 06 июля 2019, 07:32:25
Не надо держать открытым свойства. А то получается что файл закрылся, фильтр удалился - а окно со свойствами осталось. Я не уверен что это можно исправить, ибо сам фильтр знать не знает что было открыто окно свойств.
Название: MPC Video Renderer
Отправлено: V0lt от 06 июля 2019, 16:57:45
Цитата: Evgeniy1990Наконец-то заработали выходные форматы P010 и P016 через шейдеры на 10-битных видео файлах с хрома 4:2:0. ;)
Теперь не придется страдать из-за тормозов, плавающих рассинхронов, которые были при использовании выходных форматов Y410/Y416.
Это хорошо.
Лучше стало работать, потому что
1. Перевод 4:2:0 в 4:4:4 нагружал процессор и кушал память.
2. Форматы P010 и P016 требуют 24 бита на пиксель, а Y410 - 32 бита. Поэтому для Y410 копирование в память более ресурсоемкий процесс нежели для P010 и P016.

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

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

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

ЦитироватьP.S. Кстати, этот самый "тиринг", который проявляется даже при WDM, - это и есть признак того, что произошла проблема, называемая "Крыша-снос". У меня, на втором скриншоте, видно проявление этого самого "тиринга".
Оно играет видео так или просто замерло? Если второе, то это не тиринг.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 07 июля 2019, 05:56:15
Нашел способ закрытия окна свойств какого либо фильтра при закрытии файла, в самом MPC-BE.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 07 июля 2019, 20:32:41
Цитата: V0ltПодтвержаю, есть проблема. Добавил в список в первом сообщении.
В этот список также следует добавить и проблему с "черным экраном" в оконном режиме, при перемотке, если само воспроизведение было остановлено.

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

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

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

Aleksoid1978
Если фильтр "MpcVideoRenderer.ax" подключен напрямую, без регистрации в системе, то субтитры не работают и не отображаются вообще. Это надо исправить.
Название: MPC Video Renderer
Отправлено: V0lt от 07 июля 2019, 22:17:22
Цитата: Evgeniy1990Если фильтр "MpcVideoRenderer.ax" подключен напрямую, без регистрации в системе, то субтитры не работают и не отображаются вообще. Это надо исправить.
Чтобы субтитры и другие фичи работали видеорендерер должен быть выбран через панель настроек Video. Чтобы видеорендерер там появился, он должен быть зарегистрирован в системе.

Специальный обходной путь для MPC VR пока не планируется.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 08 июля 2019, 02:16:37
Цитата: Evgeniy1990В этот список также следует добавить и проблему с "черным экраном" в оконном режиме, при перемотке, если само воспроизведение было остановлено.

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

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

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

Хм - не подтверждаю. Запустил видео, поставил на паузу, перематываю - картинка обновляется.
Название: MPC Video Renderer
Отправлено: V0lt от 08 июля 2019, 05:59:41
Aleksoid1978, речь скорее всего не о паузе, а о стопе.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 08 июля 2019, 06:51:41
Цитата: Aleksoid1978Хм - не подтверждаю. Запустил видео, поставил на паузу, перематываю - картинка обновляется
1. Запустить видео
2. Остановить видео (нажать на кнопку "Стоп")
3. Перемотать видео в любое произвольное место

Результат - "черный экран" в придачу со статистикой видео-рендерера, если она до этого изначально была включена.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 08 июля 2019, 07:21:47
Если нажать стоп - то и с тем же EVR-CP будет черный экран после перемотки, не вижу проблем :)

P.S. Исправил :)
Название: MPC Video Renderer
Отправлено: V0lt от 10 июля 2019, 21:52:13
MPCVideoRenderer-v0.2.1.744_YV24_1 (https://yadi.sk/d/uwBu4owfK9vOwg)
Удалось реализовать поддержку планарного формата YV24 (YUV 4:4:4 8-бит). Кто-нибудь сможет сравнить его по скорости с AYUV на чем-нибудь маломощном или встройке?

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

У меня на GTX950 немного разгрузились CPU и GPU.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 11 июля 2019, 05:56:05
Сделал - заливай да и все. Лишним не будет :)
Название: MPC Video Renderer
Отправлено: V0lt от 14 июля 2019, 16:40:31
Некоторые планы:
1. Проверить и откорректировать chroma location при преобразовании из 4:2:0 в 4:4:4. Считаем, что на входе у нас chroma location типа MPEG-2 (самый распространенный). Попробовать сделать другие варианты.
2. Принять решение о рантайм компиляции шейдера преобразования цвета. Это позволит сильно уменьшить количество предварительно скомпилированных шейдеров.
3. Реализовать поддержку chroma location разных типов.
4. Попробовать реализовать бикубическую интерполяцию для хромы.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 15 июля 2019, 06:32:34
Я всеми руками и ногами за пункт 2. Вернее я бы вообще сделал построение ВСЕГО кода шейдера в рантайме(как это реализовано в том же vlc или mpv) и дальнейшую компиляцию.

Пункт 4 - ну как бы не лишнее :)
Название: MPC Video Renderer
Отправлено: V0lt от 15 июля 2019, 07:33:59
Цитата: Aleksoid1978Вернее я бы вообще сделал построение ВСЕГО кода шейдера в рантайме(как это реализовано в том же vlc или mpv) и дальнейшую компиляцию.
В чем глубинный смысл этого действия? Получать тормоза при каждой глобальной перекомпиляции?
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 15 июля 2019, 08:20:49
Тормоза ? И на сколько же это "тормознуто" ? Сколько по времени занимает построение текста шейдера и его компиляция ? Если это действительно "долго" - то ок.
Название: MPC Video Renderer
Отправлено: V0lt от 15 июля 2019, 10:42:35
Шейдеры уменьшения будут заметно тормозить при компиляции. Сейчас они самые долгие. Даже если мы оптимизируем скорость компиляции, то это куча работы ради "чтобы было как в...". Тут у меня хороших слов нет.

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

Что-то,  конечно, можно сгруппировать до 48 шейдеров (потеряв в эффективности). Но думаю, лучше замутить специальную функцию, которая будет обрабатывать входные параметры и выдавать готовый шейдер. C++ все-таки гибче и удобнее, чем батники и препроцессор.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 15 июля 2019, 11:24:09
Ну ок - оставим в покое шейдеры ресайза.
А вот все что касается шейдеров преобразования - я только за чтобы все в райнтайме, в зависимости от параметров генерить "строку шейдера" и компилить.
Название: MPC Video Renderer
Отправлено: V0lt от 15 июля 2019, 15:09:37
Прикол с видео без звука.

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

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

Это я так на будущее. :-)
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 15 июля 2019, 15:23:09
Ну как бы без нормальных часов оно так и будет, иногда рывками. Не стоит на это обращать внимание.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 16 июля 2019, 03:56:17
V0lt/Aleksoid1978
Иногда, при открытии различных видео файлов, может выскакивать ASSERT (https://yadi.sk/d/pwZmDtt-lUlzbQ).
Название: MPC Video Renderer
Отправлено: V0lt от 16 июля 2019, 10:40:18
Evgeniy1990
На отладочной версии такое бывает. Что-то не нравиться базовому классу.
Название: MPC Video Renderer
Отправлено: V0lt от 28 июля 2019, 15:12:10
Предварительные данные для рантайим компиляции шейдеров DX11.
Шейдер convert_color (для NV12) компилируется около 10 мс, шейдер convert_color_st2084 (для P010) - около 40 мс.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 28 июля 2019, 20:53:56
Цитата: V0ltНа отладочной версии такое бывает. Что-то не нравиться базовому классу.
Интересно, что такое проявляется только в паре с нашим MPC Video Decoder.

Если создать (построить) чистый граф фильтров, состоящий только из наших автономных фильтров с нашим же MPC Video Renderer, то можно даже получить ситуацию, когда "Scaling 0x0 -> 0x0", при этом нет никакого изображения, просто "черный экран".
Название: MPC Video Renderer
Отправлено: V0lt от 29 июля 2019, 10:45:19
Цитата: Evgeniy1990Если создать (построить) чистый граф фильтров, состоящий только из наших автономных фильтров с нашим же MPC Video Renderer, то можно даже получить ситуацию, когда "Scaling 0x0 -> 0x0", при этом нет никакого изображения, просто "черный экран".
Очень странно на входе 1280x720, на выходе окно тоже имеет размер. Посмотри, что в отладочная версия MPC VR пишет во вкладке "Information".
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 29 июля 2019, 12: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


Все эти строчки строго по нулям.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 30 июля 2019, 11:14:15
Значит не прилетает SetVideoRect
Название: MPC Video Renderer
Отправлено: V0lt от 02 августа 2019, 18:35:46
Ответы на вопросы о пропуск кадров в MPC VR

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

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

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

4. Каков алгоритм пропуска кадров для интерлейсного видео
Кадры первого поля выводятся как обычные кадры (см. предыдущий ответ). Кадры второго поля выводятся вслед за предыдущим, если они попадают в тот же диапазон. Для кадра 120 мс, второе поле будет выведено, если текущее время менее 160 мс, в противном случае оно будет отброшено. В данном случае механизм придерживания кадра отсутствует, т.к. не требуется для типичных ситуаций (первое поле уже использовало примерно половину времени).
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 05 августа 2019, 14:50:12
Есть возможность в окно свойств добавить как в EVR/EVR-CP(статистика вывода), что думаем ?
Название: MPC Video Renderer
Отправлено: V0lt от 05 августа 2019, 20:40:11
Aleksoid1978, о чем конкретно идет речь?

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

Речь о вкладке "Качество"?
(https://ibb.co/3mdZ0jg)
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 06 августа 2019, 02:30:26
Да - да, именно о ней.

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

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

Вкладка "Качество" располагается после всех "наших", перед Pin Info.
Название: MPC Video Renderer
Отправлено: V0lt от 06 августа 2019, 06:11:56
Aleksoid1978, обычно оно в конце располагается. Перед плеерским PinInfo. Вот скриншот для EVR-ов.
(https://ibb.co/YdkW432)

Патч не смотрел еще.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 21 августа 2019, 07:49:57
V0lt

Присутствует проблема (https://yadi.sk/i/THPbnrAp9rFiVA) с "Direct3D 9Ex".

Если, при "Direct3D 9Ex", мы откроем плейлист и будем растягивать его вверх, или налево, в зависимости от его расположения, то у нас резко начинает возрастать Sync Offset и появляются пропущенные кадры прямо во время воспроизведения видео файла. с Direct3D11 данной проблемы нет.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 21 августа 2019, 09:42:10
Странное поведение - значительно повышается время потраченное на обработку субтитров(хотя их там и нет). Но
то все вызвано принудительной перерисовкой по время ресайза видео-области. И из-за этого получается следующие кадры уже не успевают и пропускаются.

Кстати такое поведение только на Discard, на Flip нет(но картинка моргает при ресайзе).
Название: MPC Video Renderer
Отправлено: V0lt от 21 августа 2019, 18:17:37
Цитата: Evgeniy1990Если, при "Direct3D 9Ex", мы откроем плейлист и будем растягивать его вверх, или налево, в зависимости от его расположения, то у нас резко начинает возрастать Sync Offset и появляются пропущенные кадры прямо во время воспроизведения видео файла.
Рендерер не рассчитан на плавное воспроизведение, если его окно постоянно изменяют.
Появление пропущенных кадров зависит не только от DX, но и от режима презентации.
У меня на Win8.1 так
DX9, Discard - пропускаются.
DX9, FlipEx - выводится все.
DX11, Discard - выводится все.
DX11, Flip seqential - пропускаются.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 25 августа 2019, 12:35:40
Цитата: V0ltРендерер не рассчитан на плавное воспроизведение, если его окно постоянно изменяют.
Появление пропущенных кадров зависит не только от DX, но и от режима презентации.
О как...  Вот так новость...  о_О
Название: MPC Video Renderer
Отправлено: V0lt от 25 августа 2019, 14:47:30
Evgeniy1990
Поясню. При изменении окна рендерер постоянно рендерит имеющийся кадр под новый размер. Если декодер подготовил новый кадр, то ему придется подождать, когда рендерер освободиться. Но время идет, и может получиться так, что кадр от декодера уже устарел и нужен следующий. Поэтому кадр будет пропущен.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 25 августа 2019, 16:44:18
Цитата: V0ltEvgeniy1990
Поясню. При изменении окна рендерер постоянно рендерит имеющийся кадр под новый размер. Если декодер подготовил новый кадр, то ему придется подождать, когда рендерер освободиться. Но время идет, и может получиться так, что кадр от декодера уже устарел и нужен следующий. Поэтому кадр будет пропущен.
Понятно. Просто я удивлен тому, насколько жестко ведет себя этот самый "Direct3D 9Ex", который, как мне всегда казалось, так вести себя никогда не должен. Ведь на том же EVR-CP Direct3D9 так себя не ведет. А мерцание изображения (кадров) при Flip/FlipEx - это вообще нечто. Странно, что Direct3D11 так себя не ведет.

Я это к тому, что если используется "Direct3D9 Ex", то при различных взаимодействиях с окнами плеера и плейлистом очень резко и сильно возрастает нагрузка. Это не есть хорошо. Скажем так - не критично, но неприятно.

И еще - как получить этот "Flip seqential"? У меня всегда, при любых конфигурациях, только "Flip discard" работает.
Название: MPC Video Renderer
Отправлено: V0lt от 25 августа 2019, 18:02:03
Evgeniy1990
"Flip discard" доступен только для Windows 10 (https://docs.microsoft.com/en-us/windows/win32/api/dxgi/ne-dxgi-dxgi_swap_effect) и если при сборке использовался Win10SDK. Для остальных случаев для DX11+Flip будет использоваться "Flip seqential".
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 26 августа 2019, 18:51:29
Цитата: V0ltEvgeniy1990
"Flip discard" доступен только для Windows 10 и если при сборке использовался Win10SDK. Для остальных случаев для DX11+Flip будет использоваться "Flip seqential".
Ух ты, так это оказывается, еще и особенность Windows 10 и пакета Win10SDK. Здорово! Значит я не зря собираю сборки с использованием Win10SDK. :)
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 29 августа 2019, 11:32:41
По поводу "медленного" ресайза, по поводу моргания при ресайзе(DX9 + Flip) - проверяем
https://yadi.sk/d/v9IWDMoEp-FlUw

Добавлено: 2019-08-29 18:32:41

Хотя уже не актуально, собираем последний BE и VR и проверям
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 29 августа 2019, 22:25:39
Цитата: Aleksoid1978По поводу "медленного" ресайза, по поводу моргания при ресайзе(DX9 + Flip) - проверяем
https://yadi.sk/d/v9IWDMoEp-FlUw

Добавлено: 2019-08-29 18:32:41

Хотя уже не актуально, собираем последний BE и VR и проверям
Проверил тестовый билд, а также собрал и проверил последний SVN-билд вместе с последним MPC Video Renderer.
В результате, ресайз стал работать нормально, плавно и быстро, без пропусков кадров на "Direct3D 9Ex". Также пропало мерцание изображения при "Direct3D 9Ex" + "FlipEx". Великолепно! Вы меня удивили! Даже и не ожидал, что это можно исправить, но вам удалось! ;)
Название: MPC Video Renderer
Отправлено: V0lt от 04 сентября 2019, 06:03:56
В планах выделить видеопроцессор D3D11 в отдельный класс. С ним проще экспериментировать, чем с DXVA2 VP.

Для чего это нужно:
1. Я надеюсь это поможет организовать более гибкий конвейер.
2. Хочу попробовать использовать D3D11 VP только для деинтерлейса для NV12 и YUY2.
3. Хочу попробовать вообще отключить D3D11 VP и попробовать задействовать шейдеры DX11 на Windows 7.
Название: MPC Video Renderer
Отправлено: V0lt от 07 сентября 2019, 22:27:48
Собрал тестовую сборку MPCVR-v0.3.1.845_check_dxva2vp_output_format_1 (https://yadi.sk/d/uwBu4owfK9vOwg).
Причина в следующем. Видеопроцессор DXVA2 видеокарты AMD RX 460 умеет выводить только в X8R8G8B8, если на входе P010. Поэтому пришлось добавить проверку поддержки выходного формата для DXVA2 VP. В общем теперь делаем согласно спецификации.
Прошу проверить.

PS: Ранее вывод в A2R10G10B10 и A16B16G16R16F происходил без проверок, потому что DXVA2 VP Nvidia умеет так делать с дремучих времен вопреки тому, что сообщает DXVA2 API. Для старых AMD (до поддержки P010), насколько мне известно было аналогично. Intel не умел в EVR-CP, но научился, когда стали вызывать DXVA2 API напрямую. Но похоже этот "беспредел" закончился на AMD RX. :-)

Добавлено: 2019-09-07 13:01:30

Залил v0.3.1.847_git2019.09.07-7ef54e3 (https://yadi.sk/d/X0EVMKP4TcmnHQ) с изменениями для DXVA2 VP.


Добавлено: 2019-09-07 22:27:48

Залил v0.3.1.850_git2019.09.07-133a244 (https://yadi.sk/d/X0EVMKP4TcmnHQ).
Проблемы на AMD RX похоже устранены.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 17 сентября 2019, 01:49:49
"Проблемы" с бикубической chroma scaling при использовании DXVA2/D3D11 Native декодирования.
GPU - https://i.imgur.com/sUjpz3R.png
Софт - https://i.imgur.com/vFzxa3U.png
Обращаем внимание на границы красных элементов

Сэмпл - https://yadi.sk/i/xUBXqKgjX_LwJw + https://yadi.sk/i/WI4cD_d8EcDqKw
Название: MPC Video Renderer
Отправлено: V0lt от 17 сентября 2019, 21:00:36
Aleksoid1978
На DX9 c DXVA2 на Win7 не проявляется вроде. На DX11 проверю завтра.
Название: MPC Video Renderer
Отправлено: V0lt от 20 сентября 2019, 06:55:59
На DX11 после DXVA2 декодера проблему вижу. Похоже где-то проявляется неправильное значение высоты.

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

Исправлено в 76da2dc (https://github.com/Aleksoid1978/VideoRenderer/commit/76da2dc238b49933453460f1700a19a0225d4aa0).
Название: MPC Video Renderer
Отправлено: V0lt от 07 октября 2019, 09:10:59
mpcvr-v0.3.3.870_classD3D11VP_3 (https://yadi.sk/d/uwBu4owfK9vOwg)
Обновление сборки, где D3D11 VP в отдельном классе.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 07 октября 2019, 10:40:35
Да заливай и все. Если что и выплывет - по факту уже разбираться.
Название: MPC Video Renderer
Отправлено: V0lt от 07 октября 2019, 11:04:50
Залил в 097c10f.
Название: MPC Video Renderer
Отправлено: vitsat от 08 октября 2019, 15:11:48
Интерлейсные Full-HD ролики (спутниковые трансляции спорта с MBAFF или Чересстрочная) стали сильно стробить на последних билдах на Intel 4000 HD встройке. Последний беспроблемный билд - MPCVideoRenderer-v0.3.2.860
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 08 октября 2019, 15:48:29
Дай пример файла, и если можешь запиши видео "со стробом" - дабы понять что такое. Ну и скрин настроек/статистики.
Название: MPC Video Renderer
Отправлено: V0lt от 08 октября 2019, 16:20:30
У кого-то летать начало на DX9, у кого-то стробить.
vitsat, систему так же назови, пожалуйста.
Название: MPC Video Renderer
Отправлено: vitsat от 08 октября 2019, 17:28:29
Система - WIN10LTSB, видео - встройка в IVY BRIDGE I5-3570K - Intel HD Graphics 4000
Так стробит: https://radikal.ru/video/Yv1bfrNK5gA
Настройки: (https://radikal.ru)
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 08 октября 2019, 17:38:57
Цитата: Aleksoid1978Дай пример файла, и если можешь запиши видео "со стробом" - дабы понять что такое. Ну и скрин настроек/статистики.
Вот мой пример. Стробит не по-детски!
Вот видеозапись - это просто жесть, насколько сильно стробит.

Добавлено: 2019-10-08 17:38:57

vitsat
ЦитироватьТак стробит: https://radikal.ru/video/Yv1bfrNK5gA
Вот это жесть! Что на Intel, что на AMD - одни и те же проблемы, в большинстве случаев.
Название: MPC Video Renderer
Отправлено: vitsat от 08 октября 2019, 17:57:57
У меня застробило после уменьшения какой-то нагрузки для DXVA после v0.3.2.860 - на ру-борде обсуждалось. Мне бы ещё пару пожеланий то ли для рендерера, то ли для плеера:
1. Режим пропуска натурального HDR (без конвертации), как в madVR
2. Только на WebM роликах ReClock не определяет автоматом частоту кадров, приходится указывать вручную. Ролики качаю с пом. 3D Youtube Downloader всегда с правильным дробным fps. IDM качает MKV всегда с неверным fps, и ReClock в этом случае бессилен, т.к. считывает хоть и успешно, но заведомо ложные 60, 30 и 24 fps.
(https://radikal.ru)
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 08 октября 2019, 18:21:12
vitsat
В моем случае, на AMD-видеокарте, стробит только при работе DXVA2-декодера. В софте - все нормально.
Название: MPC Video Renderer
Отправлено: V0lt от 08 октября 2019, 19:06:08
vitsat, Evgeniy1990
Спасибо. Причина примерно понятна. Я сначала хочу доделать отдельный класс для DXVA2 VP, там будут небольшие изменения касательно взаимодействия с декодером. И если не поможет, то будем уже думать, как разруливать ситуацию для разных адаптеров.

Добавлено: 2019-10-08 19:06:08

Цитата: vitsatУ меня застробило после уменьшения какой-то нагрузки для DXVA после v0.3.2.860 - на ру-борде обсуждалось. Мне бы ещё пару пожеланий то ли для рендерера, то ли для плеера:
1. Режим пропуска натурального HDR (без конвертации), как в madVR
Выключить преобразование HDR->SDR мы можем, но мы не умеем отправлять метаданые в дисплей. Смысла от пропуска HDR не будет.

Второй вопрос не понял. Причем тут MPC VR? По твоим скриншотам видно, что IDM перепаковывает матрешки и портит свойства видеопотока.
Название: MPC Video Renderer
Отправлено: vitsat от 08 октября 2019, 19:37:24
Цитата: vitsatВторой вопрос не понял. Причем тут MPC VR? По твоим скриншотам видно, что IDM перепаковывает матрешки и портит свойства видеопотока.
Второй вопрос видимо связан с ReClock, устаревшая библиотека MediaInfo которого не определяет на автомате fps большинства WebM роликов (но треть моих роликов всё же определяет). Попробовал на других рендерерах - то же самое.  Поэтому этот вопрос закрываю.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 08 октября 2019, 20:33:02
Aleksoid1978
Увидеть строб достаточно просто. Как говорится, "Игромания" в помощь. Именно "Игромания" содержит в себе интерлейсные MP4-видео файлы. Прилагаю вам сэмплы (https://yadi.sk/d/eog4i2uR3RYX0w), которые вы правили в свое время, улучшая аппаратное декодирование DXVA2. Вот именно на них строб также присутствует. Т.е. вместо плавности воспроизведения, как положено, идут прерывания подряд. Это и есть строб, иначе говоря, - потеря плавности, дрожания во время воспроизведения.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 09 октября 2019, 02:41:27
Очень интересно - на Nvidia такой проблемы нет ))
Название: MPC Video Renderer
Отправлено: V0lt от 09 октября 2019, 10:04:50
MPC VR v0.3.3.878, окно Information
DirectX 9
Graphics adapter: NVIDIA GeForce GTX 950 (10DE:1402)
VideoProcessor  : DXVA2 {6CB69578-7617-4637-91E5-1C02DB810285}
DeinterlaceTech.: PixelAdaptive
ReferenceSamples: Backward 0, Forward 0
Display Mode    : 1680 x 1050, 60 Hz
DirectX 9
Graphics adapter: Intel(R) HD Graphics 4000 (8086:0162)
VideoProcessor  : DXVA2 {BF752EF6-8CC4-457A-BE1B-08BD1CAEEE9F}
DeinterlaceTech.: EdgeFiltering, InverseTelecine
ReferenceSamples: Backward 1, Forward 0
Display Mode    : 1920 x 1080, 60 Hz
Разница разных адаптеров в ReferenceSamples. Похоже один кадр Backward теряется.

Что интересно. Словил баг на Win7. Но на Win8.1 играет чисто. :)
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 09 октября 2019, 10:21:47
V0lt
ЦитироватьРазница разных адаптеров в ReferenceSamples. Похоже один кадр Backward теряется.
В моем случае, исходя из ваших слов, потери гораздо значительные. Backward = 2 (https://yadi.sk/i/EPDEt2S6BCTE_Q), Forward = 0
Я так понимаю, что это нехорошо, так ведь?
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 09 октября 2019, 12:29:03
Цитата: Evgeniy1990Я так понимаю, что это нехорошо, так ведь?

Нет конечно - это просто у каждого вендора/дров разные принципы/способы работы с деинтерлейсом.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 12 октября 2019, 12:13:31
V0lt
Aleksoid1978

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

Диапазоны поиска поломки:

Первоначальный: [v0.3.3.867 -> v0.3.3.881]
Второй: [v0.3.3.867 -> v0.3.3.877]

Итоговый: [v0.3.3.867 -> v0.3.3.870]

Поломка произошла в коммите: 9c65e14, (v0.3.3.870).

Начиная с v0.3.3.870, вместо кадров, при перемотке во время остановки воспроизведения, просто "черный экран".
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 13 октября 2019, 02:07:54
На Nvidia все гуд, есть картинка.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 13 октября 2019, 08:15:10
Цитата: Aleksoid1978На Nvidia все гуд, есть картинка.
На AMD отсутствует картинка, начиная с 870-ого билда. Т.е поломался код только для AMD-видеокарт.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 13 октября 2019, 09:30:47
Ну не повезло :)
Название: MPC Video Renderer
Отправлено: V0lt от 13 октября 2019, 14:25:42
Evgeniy1990
Для информации. Версия и git-хэш могут быть легко скопированы прямо из окна настроек MPC VR. Хэш очень ускоряет нахождение нужного комита. А то вот сижу вручную отчитываю 11 комитов (881-870) назад. :)
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 13 октября 2019, 19:35:16
Цитата: Aleksoid1978Ну не повезло :)
Вот так ответ...
Цитата: V0ltДля информации. Версия и git-хэш могут быть легко скопированы прямо из окна настроек MPC VR. Хэш очень ускоряет нахождение нужного комита. А то вот сижу вручную отчитываю 11 комитов (881-870) назад.
Спасибо за информацию. Учту. Но я же указал проблемный commit: 9c65e14.
Название: MPC Video Renderer
Отправлено: V0lt от 13 октября 2019, 19:50:49
Evgeniy1990
А точно, написал ранее.
В комите 870 лечили падение плеера (https://mpc-be.org/forum/viewtopic.php?id=508).

Покажи, что пишет во вкладке "Information".

Добавлено: 2019-10-13 19:50:49

Я наверное просто верну копирование, если девайсу видеопроцессора нужны вспомогательные кадры.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 13 октября 2019, 20:20:50
Цитата: V0ltВ комите 870 лечили падение плеера.
Падение было исправлено, но почему-то теперь перестали отображаться кадры при перемотке во время остановки воспроизведения. Да уж, не одно, так другое... После последнего релиза, явно пошли некорректные изменения, особенно для видеокарт AMD и Intel.
Цитата: V0ltПокажи, что пишет во вкладке "Information".
Вот что:
DirectX 9
Graphics adapter: AMD Radeon HD 5700 Series (1002:68B8)
VideoProcessor  : DXVA2 {3C5323C1-6FB7-44F5-9081-056BF2EE449D}
DeinterlaceTech.: PixelAdaptive
ReferenceSamples: Backward 2, Forward 0
Display Mode    : 1280 x 1024, 75 Hz

DEBUG info:
Source rect   : 0,0,1280,720 - 1280x720
Target rect   : 0,0,1280,720 - 1280x720
Video rect    : 0,0,1278,719 - 1278x719
Window rect   : 0,0,1278,719 - 1278x719
SrcRender rect: 0,0,1280,720 - 1280x720
DstRender rect: 0,0,1278,719 - 1278x719
Цитата: V0ltЯ наверное просто верну копирование, если девайсу видеопроцессора нужны вспомогательные кадры
Попробуйте, я потом проверю.
Название: MPC Video Renderer
Отправлено: V0lt от 13 октября 2019, 20:52:56
Залил v0.3.3.882_git2019.10.13-d666896. Должен починиться деинтерлейс и перемотка после стопа.

Добавлено: 2019-10-13 20:52:56

Тут еще проблема в том, что почти для любого видео приходится создавать DXVA2 VP с поддержкой деинтерлейса, который иногда требует дополнительные кадры.
Почему приходится так поступать? Потому изначально мы не знаем будет ли интерлейс в видео или нет. А он иногда может прилететь в середине видео.
Можно попробовать подключать два VP, чтобы не копировать на прогрессивных кадрах. Но скорее всего картинка будет хуже пару кадров после переключения на деинтерлейсный VP. Ну и муторно это в реализации.
Еще вариант дать возможность отключать деинтерлейс совсем. Это проще конечно.
В общем подождем результатов.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 13 октября 2019, 21:16:08
V0lt
ЦитироватьЗалил v0.3.3.882_git2019.10.13-d666896. Должен починиться деинтерлейс и перемотка после стопа.
Проверил последний коммит.

Результаты:

Падение, при перемотке матрешек - исправлено!
Деинтерлейс на TS/MTS/M2TS/MP4i - исправлено!
Перемотка после остановки воспроизведения - исправлено!

Браво! Великолепно! ;)

Но не обошлось без "ложки дегтя" - вернулся исправленный баг!

Баг-поломка: Если свойства "MPC Video Renderer" открыты и выполняется автоматический переход на следующий видео файл в папке (каталоге), то вместо нормального изображения (кадров видео) просто "черный экран".

Скриншот черного экрана (https://yadi.sk/d/BxV5J8eguBu0VA), после автоматического перехода на следующий видео файл в папке (каталоге), при открытых свойствах "MPC Video Renderer".

Поправьте это пожалуйста.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 14 октября 2019, 03:24:39
MPC-BE должен закрывать же окошки свойств при закрыти проигрывания.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 14 октября 2019, 04:00:59
Цитата: V0ltЗалил v0.3.3.882_git2019.10.13-d666896. Должен починиться деинтерлейс и перемотка после стопа.

Так не интересно - надо было разобраться, а так у кого было медленно - вернется, хоть и только на интерлейсе :)
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 14 октября 2019, 07:25:48
Цитата: Aleksoid1978MPC-BE должен закрывать же окошки свойств при закрыти проигрывания.
Он их закрывает, при переходе, но после него видео файл воспроизводится без изображения.

Кстати, в последнем коммите вернулся еще один исправленный баг - пропуски кадров, при расширении, или сужении плейлиста, во время воспроизведения видео файлов на "DX9" + "Discard".
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 14 октября 2019, 08:09:14
Да хрен его знает что там происходит при открытом окне свойств :)
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 15 октября 2019, 10:04:48
Цитата: Evgeniy1990Кстати, в последнем коммите вернулся еще один исправленный баг - пропуски кадров, при расширении, или сужении плейлиста, во время воспроизведения видео файлов на "DX9" + "Discard".
Очень интересно, на обычных видео файлах (большинстве типичных файлах), поведение интерфейса и различных окон плеера, при взаимодействии с видео - нормальное.

А вот на видео файлах, с частотой кадров 60 FPS, уже наблюдаются пропуски кадров, например, при сужении, или расширении плейлиста. Но это только на "DX9" + "Discard".
Цитата: Aleksoid1978Да хрен его знает что там происходит при открытом окне свойств smile
Странно. А как вы раньше это отлавливали?
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 15 октября 2019, 11:01:49
По поводу пропусков на 60 - думаю тут все верно, ибо при ресайзе видео-области происходит принудительная перерисовка. А т.к. частота видео и так равна частоте экрана - лишнее просто пропускается. Почему такое только на DX9 + Discard - тут видимо 100% из-за самого принципа этого самого Discard, точнее не скажет никто :)

По поводу окна свойств - да ничего я не ловил, я просто написал код в MPC-BE чтобы эти самые окна закрывались(если они были открыты).
Название: MPC Video Renderer
Отправлено: LongKick64 от 20 октября 2019, 01:41:26
Ого! Собственный рендерер. Круто! :cool:

Добавлено: 2019-10-20 01:41:26

А это нормально, что в режиме "Direct 3D11", не отображаются субтитры?
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 20 октября 2019, 02:56:53
У меня отображается
Название: MPC Video Renderer
Отправлено: LongKick64 от 20 октября 2019, 06:37:43
У меня ноут. Сабы действительно отображаются, если переключиться на встроенную графику Intel HD Graphics 3000. На дискретной графике, AMD Radeon HD 6490M, сабы не отображаются. :(
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 20 октября 2019, 07:03:16
Такое вполне может быть, т.к. у разрабов нет такого железа и нет возможности проверять/тестировать на гибридной графике.

Ну и ессно спонсировать такое дело никто не хочет :)
Название: MPC Video Renderer
Отправлено: LongKick64 от 22 октября 2019, 04:19:53
Еще, если видео 29,970 (30000/1001) кадров/сек, то оно как-то не плавно воспроизводится. Поначалу смотришь и вроде бы нормально все, но потом замечаешь небольшие подергивания через небольшие промежутки времени. С EVR (CP) таких проблем нет. Так же странно то, что средняя скорость кадров с MPC VR не подымается выше 30, а с EVR (CP) она под 60. Скрины:






ЗЫ Клип для теста: https://drive.google.com/uc?id=1Sxlc8JJ9CMBK_nI6PbcGGCtMEp9pYO3U&export=download
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 22 октября 2019, 04:25:24
Ткни в настройках галку чтобы работал деинтерлейс :)
Название: MPC Video Renderer
Отправлено: LongKick64 от 22 октября 2019, 04:37:40
Если в настройках рендера вкл. опцию "Double the frame rate when deinterlacing", средняя скорость кадров увеличится до 60, но начинают выпадать кадры. :(





Это справедливо для Direct3D 9. В режиме Direct3D 11, кадры перестают выпадать, но появляется интерлейс:
Название: MPC Video Renderer
Отправлено: V0lt от 22 октября 2019, 05:44:47
Цитата: LongKick64Если в настройках рендера вкл. опцию "Double the frame rate when deinterlacing", средняя скорость кадров увеличится до 60, но начинают выпадать кадры. :(
10 кадров на 2994? Это ни о чем. Возможно при запуске и манипуляциями с окном некоторые кадры не успели в свое время.

Добавлено: 2019-10-22 05:44:47

Скриншоты лучше делать со включенной статистикой. Так они более информативные.
Название: MPC Video Renderer
Отправлено: LongKick64 от 22 октября 2019, 06:40:20
Цитировать10 кадров на 2994? Это ни о чем. Возможно при запуске и манипуляциями с окном некоторые кадры не успели в свое время.
Неа, кадры выпадают по одному где-то каждые 8 секунд (замерял спецом с секундомером). То есть, прошло 8 секунд, кадр выпал, еще прошло 8 секунд, кадр выпал и так до конца воспроизведения. Выпадают как в режиме Direct3D 9Ex, так и в режиме Direct3D 11.

ЦитироватьСкриншоты лучше делать со включенной статистикой. Так они более информативные.
Насчет интерлейса: https://imgur.com/aKlMQXQ
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 22 октября 2019, 07:53:47
В других рендерерах вообще нормально работает деинтерлейс?
А то судя по скринам кадры двоятся - но толку от этого никакого :)
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 22 октября 2019, 20:26:43
Aleksoid1978
На D3D11 аппаратный деинтерлейс не работает и никогда не работал вообще, даже с опцией удвоения кадров, хотя по логике должен, тем более данная опция теперь включена по умолчанию.

Добавлено: 2019-10-22 20:26:43

Цитата: Aleksoid1978Да хрен его знает что там происходит при открытом окне свойств :)
А происходит то, что поверхность не очищается от предыдущего кадра, или кадров вообще, если открыты его свойства.

Вот как это выглядит, если используется Swap effect - Flip.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 23 октября 2019, 02:10:44
Цитата: Evgeniy1990Aleksoid1978
На D3D11 аппаратный деинтерлейс не работает и никогда не работал вообще, даже с опцией удвоения кадров, хотя по логике должен, тем более данная опция теперь включена по умолчанию.

У меня работает и работал всегда :)
Название: MPC Video Renderer
Отправлено: LongKick64 от 23 октября 2019, 17:43:10
ЦитироватьВ других рендерерах вообще нормально работает деинтерлейс?
В EVR(CP) работает "Top-Field First", "Bottom-Field First" тоже работает, но картинка дергаться начинает, "Прогрессив" выдает то, что на этом (https://mpc-be.org/forum/viewtopic.php?pid=5240#p5240) скрине. Подозреваю, что MPC VR тоже деинтерлейсит в прогрессив, от того и проблема. Может добавить опцию деинтерлейсить в "Top-Field First"? Не у всех ведь, современные супер видюхи с поддержкой супер шейдеров и прочей эзотерики. :)
Название: MPC Video Renderer
Отправлено: V0lt от 23 октября 2019, 18:20:33
Цитата: LongKick64В EVR(CP) работает "Top-Field First", "Bottom-Field First" тоже работает, но картинка дергаться начинает, "Прогрессив" выдает то, что на этом скрине.)
Т.е. вы намеренно задаете неправильное значение полей интерлейса и придираетесь к тому, что деинтерлейс начинает работать неправильно?
Ну нафиг, этот рендерер точно не для вас. :|
Название: MPC Video Renderer
Отправлено: LongKick64 от 23 октября 2019, 18:23:47
Я лишь написал при каких условиях у меня появляется интерлейс в EVR(CP). В режиме "Top-Field First" интерлейса нет. В вашем рендере есть, а в каком он там режиме работает я хз.
Название: MPC Video Renderer
Отправлено: V0lt от 23 октября 2019, 19:45:46
LongKick64
Эта опция не режим интерлейса. Ее вообще не надо трогать. На нормальном (не кривом) видео она всегда должна стоять на Auto.
А спрашивали тебя про другие рендереры. Никто не говорил крутить настройки декодеров.

Добавлено: 2019-10-23 19:45:46

Залил тестовый mpcvr-894_class_dxva2vp (https://yadi.sk/d/X0EVMKP4TcmnHQ/Test).
Перенес DXVA2 VP в отдельный класс. Прошу потестировать.
Название: MPC Video Renderer
Отправлено: LongKick64 от 23 октября 2019, 21:11:52
ЦитироватьЗалил тестовый mpcvr-894_class_dxva2vp.
Перенес DXVA2 VP в отдельный класс. Прошу потестировать.
Хммммм. Включил в настройках дров амд вот эту опцию:


И интерлейс пропал. Хотя с EVR(CP), интерлейса не наблюдается что с вкл. что с выкл. опцией. :rolleyes:

Добавлено: 2019-10-23 21:11:52

Кадры теперь выпадают в режиме Direct3D 9, в 11 не выпадают.
Название: MPC Video Renderer
Отправлено: V0lt от 25 октября 2019, 06:10:28
Цитата: LongKick64Хммммм. Включил в настройках дров амд вот эту опцию:
...
И интерлейс пропал. Хотя с EVR(CP), интерлейса не наблюдается что с вкл. что с выкл. опцией. :rolleyes:
1. У меня нет AMD.
2. Под фразой "интерлейса не наблюдается" люди могут подразумевать что угодно. Лучше говорить "гребенка присутсвует/отсутсвует", "частота кадров удваивается/не удваивается".

Добавлено: 2019-10-25 06:10:28

Залил 894 и 895. До и после использования отдельного класса для DXVA2 VP. Если заметите проблемы в режиме DX9 на 895 и новее - пишите.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 25 октября 2019, 07:35:00
V0lt
Цитировать1. У меня нет AMD.
Вот серьезно, вам очень необходима видеокарта от AMD и желательно HD-серии, вот прямо срочно, иначе нет смысла продолжать развивать видео-рендерер.
ЦитироватьЗалил 894 и 895. До и после использования отдельного класса для DXVA2 VP. Если заметите проблемы в режиме DX9 на 895 и новее - пишите.
Ну совершенно никакой разницы, на D3D11 как была гребенка, так и осталась, даже с опцией удвоения кадров.
Это говорит о том, что абсолютно никаких улучшений в сторону аппаратного деинтерлейса для видеокарт от AMD не наблюдается вообще, хоть кучу классов CDXVA2VP реализуй. DX9 трогать вообще нет смысла, на нем итак все более менее нормально работает на данный момент, за исключением некоторых багов, о которых я расписывал недавно в данной теме. Но вы их не видите и получить не можете. А все потому что у вас нет AMD.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 25 октября 2019, 07:40:06
Цитата: Evgeniy1990А все потому что у вас нет AMD.
И не надо нам такого счастья - тем более какие то старые модели :)
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 25 октября 2019, 07:52:41
Aleksoid1978
ЦитироватьИ не надо нам такого счастья - тем более какие то старые модели
Вы что собрались только под NVIDIA развивать видео-рендерер? О_о Тогда мне все ясно...

Старые? О_О Мда... С каких это пор видеокарты с поддержкой D3D11 стали старыми? Я что проспал 20 лет, уже DX20 вышел, или Windows избавился от своей никчемной вистовой архитектуры???

Думаете, что говорите! Как же надоело слышать такое от разработчиков - старый, старое, зато я - новый, я - идеал, я - продвинутый на все сто и т.д.

Как услышишь такое, думаешь, вот все кругом старое, даже 4К-старый. Что же вы до сих пор не приобрели 8К? Он же не старый.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 25 октября 2019, 09:17:00
"И шуток он не понимает" :)
Это я к тому что нет у нас AMD, вон у v0lt есть Intel, по реализации в плане деинтерлейса они похожи.
Ну а так - что есть на том и пишем. По другому не будет.

Добавлено: 2019-10-25 16:17:00

Если мне кто либо предоставит удаленный доступ к машине с Intel/Radeon 24/7 c Win10 - то думаю я смог бы понять/разобраться, ну или как минимум попробовать. Но я уверен на 100% что такого не случится.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 25 октября 2019, 12:16:51
Aleksoid1978
ЦитироватьЕсли мне кто либо предоставит удаленный доступ к машине с Intel/Radeon 24/7 c Win10 - то думаю я смог бы понять/разобраться, ну или как минимум попробовать. Но я уверен на 100% что такого не случится.
Да, пожалуйста, я готов вам предоставить свою машину с Radeon HD + Win 10 + VS2019 со всеми исходниками проекта.
Можете пробовать, сколько хотите, насколько у вас хватит времени.

Только у меня один вопрос - удаленно через что коннектиться будем? У меня есть TeamViewer. Или вы предпочтете другое предложение (свой вариант приложения удаленного доступа)?
Название: MPC Video Renderer
Отправлено: V0lt от 25 октября 2019, 18:53:40
Цитата: Evgeniy1990Вот серьезно, вам очень необходима видеокарта от AMD и желательно HD-серии, вот прямо срочно, иначе нет смысла продолжать развивать видео-рендерер.
У меня свои причины заниматься MPC VR, отсутствие какой-либо железки на это не влияет.
Карту AMD мне некуда сувать. Для второго компа тоже места нет.
ЦитироватьНу совершенно никакой разницы, на D3D11 как была гребенка, так и осталась, даже с опцией удвоения кадров.
В 895 ничего связанного с D3D11 не было. И вообще DXVA2 VP у нас используется только для D3D9.
ЦитироватьDX9 трогать вообще нет смысла,
Кому-то нет смысла, кто-то хочет возможность подключения внешних шейдеров. Я хочу когда-нибудь поворот кадра прикрутить и графики в статистике.

Добавлено: 2019-10-25 18:53:40

Цитата: Evgeniy1990Да, пожалуйста, я готов вам предоставить свою машину с Radeon HD + Win 10 + VS2019 со всеми исходниками проекта.
Такое лучше обсуждать в личке.
И надо заранее понимать, что удобное время для тебя и разработчика может не совпасть.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 25 октября 2019, 19:00:34
V0lt
ЦитироватьУ меня свои причины заниматься MPC VR, отсутствие какой-либо железки на это не влияет.
Звучит так, словно и не для пользователей он развивается, а для личного использования.
ЦитироватьКарту AMD мне некуда сувать. Для второго компа тоже места нет.
Вам, кстати, тоже готов предоставить доступ к своей машине с Radeon HD.
ЦитироватьКому-то нет смысла, кто-то хочет возможность подключения внешних шейдеров. Я хочу когда-нибудь поворот кадра прикрутить и графики в статистике.
Да я и не против, наоборот, я только - за! Как раз жду этих моментов, когда MPC VR достигнет уровня возможностей, как у EVR-CP, особенно с "Rotation 90". А то и вовсе превзойдет его.
ЦитироватьТакое лучше обсуждать в личке.
Я скинул свои данные для удаленного доступа через TeamViewer ему в личку. Вам тоже скинул.
Так что моя машина ждет - не дождется вас. :)

Добавлено: 2019-10-25 19:00:34

V0lt
ЦитироватьИ надо заранее понимать, что удобное время для тебя и разработчика может не совпасть.
Да я прекрасно это понимаю!
Название: MPC Video Renderer
Отправлено: LongKick64 от 26 октября 2019, 02:36:14
ЦитироватьЗалил 894 и 895. До и после использования отдельного класса для DXVA2 VP. Если заметите проблемы в режиме DX9 на 895 и новее - пишите.
895 в режиме DX9 кадры по одному стабильно выпадают при простом воспроизведении с включенной опции "Double the frame rate when deinterlacing", если откл. эту опцию, ничего не выпадает. Гребенки нет, что с вкл. что с выкл. опцией "Double the frame rate when deinterlacing". Все это справедливо как для Intel HD Graphics 3000, так и для AMD Radeon HD 6490M. Тестировал на обеих видюхах.
В режиме DX11 присутствует гребенка, как с вкл. опцией "Double the frame rate when deinterlacing", так и с выключенной, зато кадры не выпадают. :) Это с AMD Radeon HD 6490M. С Intel HD Graphics 3000 видео дерганно воспроизводится.
Тестировал на этом клипе (https://drive.google.com/uc?id=1Sxlc8JJ9CMBK_nI6PbcGGCtMEp9pYO3U&export=download).


ЗЫ Правильно я понимаю, что режим DX11 круче режима DX9? :)
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 26 октября 2019, 08:58:05
LongKick64
ЦитироватьЗЫ Правильно я понимаю, что режим DX11 круче режима DX9?
В какой-то степени это так, например, DX11 лучше работает со Swap Effect - Discard и Flip, по сравнению с DX9.
Т.е. выпадение кадров на нем полностью отстутствует и быть его не может, даже на видео файлах с высокими FPS, например от 60 FPS и более, вплоть до 120. Так что какие - никакие преимущества DX11 все-таки имеет. Это уж точно.

Другое дело, что пока, к сожалению, DX11 очень некорректно работает в некоторых ситуациях, особенно на видеокартах от AMD и Intel, т.к. у них похожие реализации.

Как мы с вами уже поняли и заметили, что на DX11, вопреки закону опции удвоения кадров, все же пока еще присутствует гребенка, несмотря на сдвоенную частоту кадров, которая должна избавлять нас от нее.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 26 октября 2019, 09:02:50
Гребенка и удвоение - никак не связаны. Просто(как оказалось) - у нас в D3D11 VP не совсем правильно реализована работа деинтерлейса. Так что ждите да и все :)
Название: MPC Video Renderer
Отправлено: V0lt от 26 октября 2019, 16:07:18
Evgeniy1990
Баг со старым кадром при переходе на следующий файл оказался непростым. Пока лишь найдена примерная причина (рендерер не может уничтожить окно на котором рисуются кадры). После 897 в логе будет следующее сообщение:
DestroyWindow(m_hWnd) failed with error E_ACCESSDENIED
Добавлено: 2019-10-26 16:07:18

Собрал 898 (https://yadi.sk/d/X0EVMKP4TcmnHQ). Возможно что-то поменялось с интерлейсом на DX11. Гляньте.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 26 октября 2019, 16:27:22
V0lt,
ЦитироватьСобрал 898. Возможно что-то поменялось с интерлейсом на DX11. Гляньте.
Глянул. Гребенка так и осталась на DX11. Пока ничего не поменялось.
Название: MPC Video Renderer
Отправлено: V0lt от 26 октября 2019, 16:48:53
Evgeniy1990
В общем Aleksoid1978 нашел пример кода (https://github.com/xbmc/xbmc/blob/master/xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender/DXVAHD.cpp), где реализован правильный деинтерлейс на D3D11. Но там  все не просто (опять вникать и переделывать), да еще появляются FutureFrames, без которых мы обходились на DXVA2.
Название: MPC Video Renderer
Отправлено: LongKick64 от 27 октября 2019, 04:30:05
ЦитироватьГлянул. Гребенка так и осталась на DX11. Пока ничего не поменялось.
И у меня гребенка осталась. :(


ЗЫ А насчет вот этой (https://mpc-be.org/forum/viewtopic.php?pid=5256#p5256) опции в драйверах каталиста, она действительно устраняет гребенку, но делает это не самым лучшим образом. Вот (https://imgur.com/r24UwcS) пример ее работы. :/ То есть, скорее всего обычная улутшалка.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 27 октября 2019, 06:05:50
Да блин я уже писал же - в данный момент в D3D11 режиме неправильно работает код для деинтерлейса. Ждите - когда будет готово(надеюсь когданить это случиться) вам сообщат :)
Название: MPC Video Renderer
Отправлено: LongKick64 от 27 октября 2019, 08:12:12
Aleksoid1978, ждем. :)

Добавлено: 2019-10-27 08:12:12

А такой вопрос. Можно-ли как-то исправить отображение в статистике инфы об используемой в данный момент видеокарте на правильное? А то сейчас, вне зависимости от того, какая видеокарта используется для декодирования видео, всегда отображается инфа о встроенной видюхе. У меня ноут с гибридной графикой. Видюхи: Intel HD Graphics 3000 и AMD Radeon HD 6490M.

Название: MPC Video Renderer
Отправлено: V0lt от 27 октября 2019, 08:49:06
LongKick64, эта информация отдается самим DirectX. Она по всем спецификациям правильная.
Название: MPC Video Renderer
Отправлено: LongKick64 от 27 октября 2019, 09:01:09
V0lt, и ничего с этим не поделать? Может можно как-то исхитрится? :)
Название: MPC Video Renderer
Отправлено: V0lt от 27 октября 2019, 09:28:53
LongKick64
Нет. Для DX9 там типа хака. Посоветую в настройках драйвера указать, какую видеокарту использовать для плеера.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 27 октября 2019, 09:38:36
V0lt

Для DX11, во вкладке "Information", отсутствует "VideoProcessor (https://yadi.sk/i/TkDJytlzim1Lcw)".
Название: MPC Video Renderer
Отправлено: V0lt от 27 октября 2019, 09:49:10
Evgeniy1990
Спасибо. Поправил в r903.
Название: MPC Video Renderer
Отправлено: LongKick64 от 27 октября 2019, 09:59:44
ЦитироватьПосоветую в настройках драйвера указать, какую видеокарту использовать для плеера.
Ну, это итак понятно. Для MPC-BE я всегда использую дискретную видеокарту, то есть AMD Radeon HD 6490M, но в статистике рендера, почему-ту написано что активна Intel HD Graphics 3000. :rolleyes:
Название: MPC Video Renderer
Отправлено: V0lt от 27 октября 2019, 10:12:29
LongKick64, в режиме DX11, тоже показывает встройку?
Название: MPC Video Renderer
Отправлено: LongKick64 от 27 октября 2019, 10:30:55
V0lt, да.

Добавлено: 2019-10-27 10:30:55

Ориентироваться приходится на мониторинг приложений в каталисте. Если в столбце "GPU" написано "Высокая производительность", значит приложение работает на дискретной видеокарте.

Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 27 октября 2019, 11:37:40
Нет у нас гибридной графики - поэтому не можем тестить такие нюансы.

Добавлено: 2019-10-27 18:37:40

А что показывает EVR-CP ?
Название: MPC Video Renderer
Отправлено: LongKick64 от 27 октября 2019, 11:57:13
ЦитироватьА что показывает EVR-CP ?
То же самое.
Название: MPC Video Renderer
Отправлено: V0lt от 27 октября 2019, 12:36:37
LongKick64
Скачай EnumDisplayDevices.zip (https://yadi.sk/d/UpbHoDU2n5x8o), распакуй, и запусти create_display_list.cmd. Получившийся display_list.txt выложи куда-нибудь.

Aleksoid1978
Я сомневаюсь, что там есть какие-то нюансы. Тупо хак на уровне дров и железа. :-)
Название: MPC Video Renderer
Отправлено: LongKick64 от 27 октября 2019, 13:16:46
V0lt, скачал, распаковал, запустил create_display_list.cmd и получаю такую ошибку:


Отсюда (https://support.microsoft.com/ru-ru/help/3179560/update-for-visual-c-2013-and-visual-c-redistributable-package) скачал обновление для x64.exe, но все равно ошибку пишет и создает пустой файл display_list.txt.
Название: MPC Video Renderer
Отправлено: V0lt от 27 октября 2019, 13:44:26
Добавил msvcr120.dll и перезалил.

Добавлено: 2019-10-27 13:44:26

PS: Нашел еще такое Microsoft Visual C++ 2013 Update 5 Redistributable Package (https://support.microsoft.com/ru-ru/help/4032938/update-for-visual-c-2013-redistributable-package).
Название: MPC Video Renderer
Отправлено: LongKick64 от 27 октября 2019, 13:57:41
Получилось! Вот что в файле display_list.txt:

======= Display Device 0 =======
DeviceName: \\\\.\\DISPLAY1
DeviceString: Intel(R) HD Graphics 3000
StateFlags: ACTIVE MODESPRUNED PRIMARY_DEVICE
DeviceID: PCI\\VEN_8086&DEV_0116&SUBSYS_167D103C&REV_09
   Total display modes: 298

   ======= Display Device 0,0 =======
   DeviceName: \\\\.\\DISPLAY1\\Monitor0
   DeviceString: Generic PnP Monitor
   StateFlags: ACTIVE
   DeviceID: MONITOR\\GSM5A61\\{4d36e96e-e325-11ce-bfc1-08002be10318}\\0002
      Total display modes: 0

   Total display outputs: 1

======= Display Device 1 =======
DeviceName: \\\\.\\DISPLAY2
DeviceString: Intel(R) HD Graphics 3000
StateFlags: MODESPRUNED
DeviceID: PCI\\VEN_8086&DEV_0116&SUBSYS_167D103C&REV_09
   Total display modes: 0

   Total display outputs: 0

Total display devices: 2
Done.
Название: MPC Video Renderer
Отправлено: V0lt от 27 октября 2019, 14:42:17
LongKick64
Ну вот. Одна видеокарта Intel HD Graphics 3000 с двумя выходами. К одному выходу подключен Generic PnP Monitor, ко второму ничего (это наверное внешний порт). И все, никаких других видеокарт софт не видит. А драйвер сам чего-то там переключает в зависимости от своих настроек.
Название: MPC Video Renderer
Отправлено: LongKick64 от 27 октября 2019, 15:40:03
То есть, ничего не подделать?
Название: MPC Video Renderer
Отправлено: V0lt от 27 октября 2019, 16:06:35
LongKick64
Ты похоже не понимаешь. Для любого софта у тебя только Intel HD Graphics 3000 и других видеокарт нет. Что там подключено реально, знает только драйвер и спец. софт от AMD. Идти на подвиги, чтобы решить твою косметическую проблему, никто не будет.
Название: MPC Video Renderer
Отправлено: LongKick64 от 27 октября 2019, 16:23:15
V0lt, понятно, благодарю за разъяснение.
Название: MPC Video Renderer
Отправлено: V0lt от 27 октября 2019, 18:51:45
Но если кому-то интересно, то начиная с Win10.1803 придумали IDXGIFactory6::EnumAdapterByGpuPreference (https://docs.microsoft.com/en-us/windows/win32/api/dxgi1_6/nf-dxgi1_6-idxgifactory6-enumadapterbygpupreference) и есть вот некий D3D12 xGPU sample (https://github.com/Microsoft/DirectX-Graphics-Samples/tree/develop/Samples/Desktop/D3D12xGPU), который данную функцию использует. Соберите кто-нибудь и проверьте на гибридной графике с последней 10-кой. :p И расскажите потом, видит второй адаптер или нет.

Еще ссылки с примерами:
https://stackoverflow.com/a/49716826
https://github.com/walbourn/directx-vs-templates/blob/master/d3d11game_win32_dr/DeviceResources.cpp#L535
Название: MPC Video Renderer
Отправлено: LongKick64 от 27 октября 2019, 19:47:59
Я такое не умею, увы. :( Может кто-то возьмется?
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 27 октября 2019, 21:22:31
LongKick64
ЦитироватьЯ такое не умею, увы. sad Может кто-то возьмется?
Проверь (https://yadi.sk/d/zEbZtPnY5nVIOA).
Название: MPC Video Renderer
Отправлено: LongKick64 от 27 октября 2019, 21:49:13
Evgeniy1990, какой-то ворох ошибок посыпался:





Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 27 октября 2019, 22:01:15
LongKick64

Ошибки, потому что у вас не установлены необходимые пакеты "VS Redist".

Вам надо установить, как минимум, этот пакет (https://www.microsoft.com/ru-ru/download/details.aspx?id=53840).
Название: MPC Video Renderer
Отправлено: LongKick64 от 27 октября 2019, 22:03:49
Установил, осталась только вот эта ошибка:

Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 27 октября 2019, 22:11:37
LongKick64

Для устранения последней ошибки вам нужно установить пакет VS2015-2019 Redist (https://support.microsoft.com/ru-ru/help/2977003.).
Название: MPC Video Renderer
Отправлено: LongKick64 от 27 октября 2019, 22:15:28
Evgeniy1990, пакет установил, что дальше? Запускаю файл D3D12xGPU.exe, но ничего не происходит.
Название: MPC Video Renderer
Отправлено: V0lt от 28 октября 2019, 05:31:58
LongKick64, у тебя наверное DX12 не может или винда не самая свежая. :)
На неделе соберу простую консольную утилиту, с ней попробуешь.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 28 октября 2019, 05:41:37
Вот пробуем - консольное приложение, что выдаст.
https://yadi.sk/d/ARamZPHdQjuRFg

Только помним что нужна Win10 1803 или новее.
Название: MPC Video Renderer
Отправлено: LongKick64 от 28 октября 2019, 14:16:32
Цитата: Aleksoid1978Вот пробуем - консольное приложение, что выдаст.
https://yadi.sk/d/ARamZPHdQjuRFg

Только помним что нужна Win10 1803 или новее.
Тоже самое, при запуске EnumAdapterByGpuPreference.exe, ничего не происходит. Винда 1903 (Сборка ОС 18362.449).
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 28 октября 2019, 14:53:50
Запусти из командной строки - это консольная программа.
Название: MPC Video Renderer
Отправлено: LongKick64 от 28 октября 2019, 15:49:46
Вот что она выдала:
"Direct3D11 Adapter (0): VID:8086, PID:0116 - \'Intel(R) HD Graphics 3000\'
    (0): \'\\\\.\\DISPLAY1\', AttachedToDesktop - Yes"
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 28 октября 2019, 15:51:14
А если на эту программу назначить Radeon ?
Название: MPC Video Renderer
Отправлено: LongKick64 от 28 октября 2019, 15:59:33
То же самое выдает.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 28 октября 2019, 16:08:12
Ну вот
Название: MPC Video Renderer
Отправлено: LongKick64 от 28 октября 2019, 16:09:57
Значит это приговор)
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 28 октября 2019, 16:29:20
Да и ладно - это же чисто визуально.
Название: MPC Video Renderer
Отправлено: V0lt от 28 октября 2019, 18:30:24
LongKick64
Вот еще EnumDXGIAdaptersTest.zip (https://yadi.sk/d/qp3c3I1e7d9Ldw), который скорее всего отработает так же, как вариант Aleksoid1978.

В общем фи Chuck Walbourn, который лезет в вопросы по гибридной графике со своей функцией EnumAdapterByGpuPreference, которая кроме сортировки адаптеров ничего не умеет.
Название: MPC Video Renderer
Отправлено: LongKick64 от 28 октября 2019, 18:44:07
Graphics adapters received using the IDXGIFactory1::EnumAdapters1

  Direct3D Adapter (0): VID:8086, PID:0116 - Intel(R) HD Graphics 3000

Graphics adapters received using the IDXGIFactory6::EnumAdapterByGpuPreference
DXGI_GPU_PREFERENCE_UNSPECIFIED
  Direct3D Adapter (0): VID:8086, PID:0116 - Intel(R) HD Graphics 3000

Graphics adapters received using the IDXGIFactory6::EnumAdapterByGpuPreference
DXGI_GPU_PREFERENCE_MINIMUM_POWER
  Direct3D Adapter (0): VID:8086, PID:0116 - Intel(R) HD Graphics 3000

Graphics adapters received using the IDXGIFactory6::EnumAdapterByGpuPreference
DXGI_GPU_PREFERENCE_HIGH_PERFORMANCE
  Direct3D Adapter (0): VID:8086, PID:0116 - Intel(R) HD Graphics 3000
Название: MPC Video Renderer
Отправлено: V0lt от 29 октября 2019, 19:09:36
Собрал mpcvr_907_d3d11_pastframes_1 (https://yadi.sk/d/uwBu4owfK9vOwg).
Теперь старые кадры участвуют получении текущего.
Просьба проверить работу на интерлейсных роликах на AMD. Хочется знать, стало лучше-хуже или без изменений.
Название: MPC Video Renderer
Отправлено: LongKick64 от 30 октября 2019, 00:21:33
Цитата: V0ltСобрал mpcvr_907_d3d11_pastframes_1.
Теперь старые кадры участвуют получении текущего.
Просьба проверить работу на интерлейсных роликах на AMD. Хочется знать, стало лучше-хуже или без изменений.
Все так же, ничего не поменялось.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 30 октября 2019, 09:18:21
А проверьте как в Pot на DX11 работает деинтерлейс ?
Название: MPC Video Renderer
Отправлено: LongKick64 от 30 октября 2019, 10:07:46
Не могли-бы вы ткнуть меня носом, где в этом PotPlayer это настраивается? Сложно что-то найти в такой свалке настроек. :rolleyes:
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 30 октября 2019, 13:58:12
Где то в настройках видео, в выборе рендереров.
Название: MPC Video Renderer
Отправлено: V0lt от 30 октября 2019, 17:58:37
Собрал mpcvr_907_d3d11_pastfutureframes_2 (https://yadi.sk/d/uwBu4owfK9vOwg).
Просьба проверить работу на интерлейсных роликах на картах AMD. Стало лучше-хуже или без изменений?

Добавлено: 2019-10-30 17:52:23

На моей Nvidia GTX 950 тестовый ролик Slicies MPEG2 PAL 1080i 25.ts (https://cloud.mail.ru/public/51Uu/4kNQb5LGf) на D3D11 VP воспроизводится визуально приятнее, чем если использовать DXVA2 VP или просто системный EVR. :)

Добавлено: 2019-10-30 17:58:37

На Intel HD 4000 этот ролик так же по разному воспроизводиться на D3D11 VP и DXVA2 VP, но разница менее заметна.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 31 октября 2019, 04:30:32
Ну раз даже на Nvidia стало приятнее - заливай код.
Название: MPC Video Renderer
Отправлено: V0lt от 31 октября 2019, 06:27:50
Я не говорил, что стало лучше. Я лишь сказал, что на этом ролике видно разницу между видеопроцессорами DXVA2 и D3D11.

Во втором билде была добавленa поддержка FutureFrames. Судя по отзывам (мало правда), это ни на что не повлияло. Но текущая поддержка FutureFrames немного ломает последовательность вывода кадров. Сегодня аккуратно (через #if) отключу блоки, которые использую FutureFrames и залью код вечером.
Название: MPC Video Renderer
Отправлено: LongKick64 от 31 октября 2019, 14:04:03
Цитата: Aleksoid1978Где то в настройках видео, в выборе рендереров.
Если речь об это:



То при попытке воспроизвести деинтерлейсное видео, получаю вот такое сообщение об ошибке:



ЦитироватьСобрал mpcvr_907_d3d11_pastfutureframes_2.
Просьба проверить работу на интерлейсных роликах на картах AMD. Стало лучше-хуже или без изменений?
Без изменений. В режиме D3D11 гребенка на месте.
Название: MPC Video Renderer
Отправлено: V0lt от 31 октября 2019, 22:24:09
LongKick64, спасибо.

Выложил mpcvr_908_d3d11_deinterlace_4 (https://yadi.sk/d/uwBu4owfK9vOwg). Просьба проверить.

Добавлено: 2019-10-31 22:24:09

Еще залил MPCVideoRenderer-v0.3.3.909/910 (https://yadi.sk/d/X0EVMKP4TcmnHQ). Вдруг поможет.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 01 ноября 2019, 09:03:54
По поводу работы DX11 + деинтерлейс на Radeon - а хоть кто вообще видел что оно работает ?
Проверил работу встроенного в 10 "Кино и ТВ"(использует DX112), проверил работу VLC с выводом в DX11, проверил работу Pot с выводом в DX11.

На Nvidia - "Кино и ТВ" и VLC все норм, Pot - гребенка.
На Radeon - "Кино и ТВ" и VLC гребенка, Pot - вообще поперли артефакты.

Так что сдается мне что тут вопросы к самим вендорам. Если у кого проблемы на Radeon/Intel - проверяем так же и отписываемся.

Проверял на Radeon R7 200.
Название: MPC Video Renderer
Отправлено: LongKick64 от 01 ноября 2019, 13:23:32
ЦитироватьВыложил mpcvr_908_d3d11_deinterlace_4. Просьба проверить.
В режиме D3D11, гребенка на месте.

ЦитироватьЕще залил MPCVideoRenderer-v0.3.3.909/910. Вдруг поможет.
Проверил оба билда и 909 и 910, гребенка на месте.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 01 ноября 2019, 13:24:28
Я выше написал что надо проверить.
Название: MPC Video Renderer
Отправлено: LongKick64 от 01 ноября 2019, 13:52:53
"Кино и ТВ" у меня только на Intel HD 3000 работает и назначить на радеон возможности нет. :( Сейчас VLC проверю. ;)

Добавлено: 2019-11-01 13:40:46

Странно, но vlc я тоже не могу назначить работу на радеон. :rolleyes:



Добавлено: 2019-11-01 13:52:53

Могу завтра проверить на Radeon RX Vega M GH. :) Комп правда не мой, а брата, но думаю он разрешит проверить. :) Проверю посл. версию MPC VR (v0.3.3.910) и "Кино и ТВ". На установку Pot и VLC он вряд-ли согласится.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 01 ноября 2019, 13:55:48
Pot/VLC можно portable версии и все, надо же только проверить разово.
Название: MPC Video Renderer
Отправлено: LongKick64 от 01 ноября 2019, 13:56:41
Aleksoid1978, ну, если есть portable, то и их проверю. ;)
Название: MPC Video Renderer
Отправлено: yan.sarkiss от 01 ноября 2019, 21:30:40
LongKick64,
Цитироватьназначить на радеон возможности нет
Вообще то есть. Надо поставить мод дров от leshcatlabs
и больше не будет запрета на переключение графики
Кстати не напишете, какая карточка от АМД используется у вас?

Господа разработчики
Заметил такую проблему: цвета немного уходят в зеленый (боль, печаль)
Что думаете/скажете по этому поводу? Мб есть шейдер исправляющий эту проблемку?
тестил на встроенной/дискретной юзал обе версии x32/x64
смотрел в mpc-hc/mpc-be/pot player относительно новых версий
смотрел с Lav и ffdshow
https://i87.fastpic.ru/big/2019/1101/e4/e4ded7c9fcb05eaa6fa6f1b2685941e4.gif
"MediaInfo"
Complete name               : D:\\Videos\\_Anime Collection\\Serials\\__Violet Evergarden Sub 10bit\\Violet_Evergarden 02.mkv
Format                      : Matroska
Format version              : Version 4
File size                   : 471 MiB
Duration                    : 23 min 44 s
Overall bit rate            : 2 771 kb/s
Encoded date                : UTC 2019-02-26 08:43:26
Writing application         : mkvmerge v31.0.0 (\'Dolores In A Shoestand\') 64-bit
Writing library             : libebml v1.3.6 + libmatroska v1.4.9
Attachments                 : New York Plain.ttf / New York.ttf / Open Sans Semibold Italic.ttf / Open Sans Semibold.ttf / OpenSans-Semibold.ttf / PT Sans.ttf / RH-Sans.ttf / RH-Sans-Italic.ttf / Segoe Print Bold.ttf / Segoe Print.ttf / Trebuchet MS Bold Italic.ttf / Trebuchet MS Bold.ttf / Trebuchet MS Italic.ttf / Trebuchet MS.ttf / Antikvarika.ttf / Cabin-Bold.ttf / Cabin-BoldItalic.ttf / Chicago Plain.ttf / Gunny Rewritten.ttf / Hortensia.ttf / IrinaCTT.ttf / IwaOMinPro-Bd-Fate.ttf / Nautilus.otf / NautilusPompilius.otf / pt-sans.ttf / Cabin-Regular.otf / segoepr.ttf / segoeprb.ttf / trebuc.ttf / trebucbd.ttf / trebucbi.ttf / trebucit.ttf / IwaMinPro-Md-Kami.ttf / justs.ttf / Cabin-Bold.otf / Cabin-BoldItalic.otf / FOT-KleePro-DB-Str.otf

Video
ID                          : 1
Format                      : AVC
Format/Info                 : Advanced Video Codec
Format profile              : High 10@L5.1
Format settings             : CABAC / 16 Ref Frames
Format settings, CABAC      : Yes
Format settings, Reference  : 16 frames
Codec ID                    : V_MPEG4/ISO/AVC
Duration                    : 23 min 39 s
Bit rate                    : 2 489 kb/s
Width                       : 1 920 pixels
Height                      : 1 080 pixels
Display aspect ratio        : 16:9
Frame rate mode             : Constant
Frame rate                  : 23.976 (24000/1001) FPS
Color space                 : YUV
Chroma subsampling          : 4:2:0
Bit depth                   : 10 bits
Scan type                   : Progressive
Bits/(Pixel*Frame)          : 0.050
Stream size                 : 421 MiB (90%)
Writing library             : x264 core 148 r2762+56 7979737 t_mod_Custom [10-bit@all X86_64]
Encoding settings           : cabac=1 / ref=16 / deblock=1:0:0 / analyse=0x3:0x133 / me=umh / subme=10 / psy=1 / fade_compensate=0.80 / psy_rd=0.85:0.00 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=12 / lookahead_threads=3 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / fgo=0 / bframes=16 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=23 / scenecut=40 / intra_refresh=0 / rc_lookahead=60 / rc=crf / mbtree=1 / crf=16.3000 / qcomp=0.65 / qpmin=0:0:0 / qpmax=81:81:81 / qpstep=4 / ip_ratio=1.40 / aq=3:0.80 / aq-sensitivity=10.00 / aq-factor=1.00:1.00:1.00 / aq2=0 / aq3=0
Language                    : English
Default                     : Yes
Forced                      : No
Color range                 : Limited
Matrix coefficients         : BT.709
[свернуть]
И еще пару вопросов
Что значит, если пишет в информации настроек рендера - filter is not active (причем всегда, хотя он работал, в информации на экране видно было)
Как прикрутить xysubfilter с MPC VR?
Есть ли разница между качеством хромы lancoz vs catmull rom? стоит выбирать второе?
Что лучше flip Или discard? dx9 или dx11?

Кстати, если нужно еще железо для тестов могу предоставить core2duoE6500/GT240/Win10LTSB
либо ноут с переключаемой графикой, как в подписи

P.S. Качество, конечно, зачетное.
Название: MPC Video Renderer
Отправлено: LongKick64 от 01 ноября 2019, 22:01:16
ЦитироватьВообще то есть. Надо поставить мод дров от leshcatlabs
Насколько мне известно, автор уже давно забросил свой проект. :rolleyes:

ЦитироватьКстати не напишете, какая карточка от АМД используется у вас?
AMD RADEON HD 6490M (https://www.notebook-center.ru/video_293.html).
Название: MPC Video Renderer
Отправлено: yan.sarkiss от 01 ноября 2019, 22:23:43
LongKick64, ну да, забросил
Там делать по сути нечего, что автор и говорил
Название: MPC Video Renderer
Отправлено: V0lt от 01 ноября 2019, 22:25:42
Цитата: yan.sarkissЧто значит, если пишет в информации настроек рендера - filter is not active
Ты открыл окно настроек неактивной копии фильтра.

ЦитироватьКак прикрутить сабы в mpc?
В MPC никак и можно не ждать
Сабы поддерживаются в MPC-BE, если выбрать MPC VR в настройке выбора видеорендерера. Во внешних фильтрах естественно убрать.
Вроде появилась поддержка в тестовых версиях MPC-HC (те, что после 1.8.8).

ЦитироватьЕсть ли разница между качеством хромы lancoz vs catmull rom? стоит выбирать второе?
Lancoz не используется для Chroma scaling. Параметры scaling по умолчанию оптимальны. Стоит или не стоит накручивать, каждый решает сам. Все зависит от контента, дисплея и зрения юзера.

ЦитироватьЧто лучше flip Или discard? dx9 или dx11?
Там нет вариантов лучше-хуже. Системы и железо разные у людей. Кто хочет экспериментировать, меняет стандартную настройку, смотрит результат и делает свой личный вывод.
Название: MPC Video Renderer
Отправлено: yan.sarkiss от 01 ноября 2019, 22:41:36
UPD
ЦитироватьВ MPC никак
короч потестил с DirectVobSub в MPC 1.7.16 - сабы пашут, цвета выровнялись, градиент стал заметен сильно
Отсюда вывод, с VSfilters  имеем 8 бит
Без сабов имеем 10, но с кривыми цветами

MPC-BE сабы прикрутил, спасибо


Осталось узнать, что делать с зеленкой?
Название: MPC Video Renderer
Отправлено: V0lt от 02 ноября 2019, 09:30:26
Ситуация с деинтерлейсом D3D11 на AMD непонятная. Возможно баг.

Для проверки можно установить VLC 3.0.8 зайти в Инструменты -> Настройки -> Видео -> Вывод = Вывод видео через Direct3D11 и сохранить настройки. Открыть файл и посмотреть будет ли гребенка.

Еще в расширенных настройка можно принудительно включить Direct3D11 deinterlace filter. Вдруг поможет. Но не забудьте отключить эту опцию после тестов.

Добавлено: 2019-11-02 09:30:26

Кстати, еще есть ночнушки VLC 3.0.9 и 4.0.0.
https://nightlies.videolan.org/build/win64/last-3/
https://nightlies.videolan.org/build/win64/last/
Название: MPC Video Renderer
Отправлено: LongKick64 от 02 ноября 2019, 12:28:10
В общем, проверил работу деинтерлейса на Radeon RX Vega M GH. Проверил на MPC VR v0.3.3.912, на "Кино и ТВ" и на ночнушке VLC 3.0.9-20191102-0510, везде присутствовала гребенка. На поте проверить не удалось, но не думаю что там было бы что-то другое. Это по ходу действительно какой-то баг amd. :rolleyes:
Название: MPC Video Renderer
Отправлено: V0lt от 02 ноября 2019, 13:01:17
Цитата: yan.sarkissОсталось узнать, что делать с зеленкой?
Я вижу два разных темных кадра упакованных в GIF. Второй кадр естественно хуже. Это не сравнение, а ерунда какая-то.
Название: MPC Video Renderer
Отправлено: yan.sarkiss от 03 ноября 2019, 00:52:08
V0lt, прошу простить
Кадр статичный если что.
MediaInfo
Video
ID                          : 1
Format                      : AVC
Format/Info                 : Advanced Video Codec
Format profile              : High 10@L5.1
Format settings             : CABAC / 16 Ref Frames
Format settings, CABAC      : Yes
Format settings, Reference  : 16 frames
Codec ID                    : V_MPEG4/ISO/AVC
Duration                    : 23 min 39 s
Bit rate                    : 2 489 kb/s
Width                       : 1 920 pixels
Height                      : 1 080 pixels
Display aspect ratio        : 16:9
Frame rate mode             : Constant
Frame rate                  : 23.976 (24000/1001) FPS
Color space                 : YUV
Chroma subsampling          : 4:2:0
Bit depth                   : 10 bits
Scan type                   : Progressive
Bits/(Pixel*Frame)          : 0.050
Stream size                 : 421 MiB (90%)
Writing library             : x264 core 148 r2762+56 7979737 t_mod_Custom [10-bit@all X86_64]
Encoding settings           : cabac=1 / ref=16 / deblock=1:0:0 / analyse=0x3:0x133 / me=umh / subme=10 / psy=1 / fade_compensate=0.80 / psy_rd=0.85:0.00 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=12 / lookahead_threads=3 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / fgo=0 / bframes=16 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=23 / scenecut=40 / intra_refresh=0 / rc_lookahead=60 / rc=crf / mbtree=1 / crf=16.3000 / qcomp=0.65 / qpmin=0:0:0 / qpmax=81:81:81 / qpstep=4 / ip_ratio=1.40 / aq=3:0.80 / aq-sensitivity=10.00 / aq-factor=1.00:1.00:1.00 / aq2=0 / aq3=0
Language                    : English
Default                     : Yes
Forced                      : No
Color range                 : Limited
Matrix coefficients         : BT.709
[свернуть]
https://drive.google.com/drive/folders/1OskBEFhMXwTCrB3tAalUuCgk_1KF2jt2?usp=sharing
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 03 ноября 2019, 06:12:41
V0lt

Проверил все ваши тестовые билды - на всех присутствует гребенка на DX11 + AMD.

LongKick64

У меня иная ситуация в PotPlayer. (https://yadi.sk/i/vLsuYCluG2O5gw) На D3D11-видео-рендерере ошибки нет, но и гребенки тоже нет и даже правильно работает "block change", в отличие от MPC VR. Да уж, я удивлен.

"Block change" в MPC VR работает некорректно, или не работает вообще.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 03 ноября 2019, 06:16:19
Цитата: Evgeniy1990V0lt

Проверил все ваши тестовые билды - на всех присутствует гребенка на DX11 + AMD.

LongKick64

У меня иная ситуация в PotPlayer. На D3D11-видео-рендерере ошибки нет, но и гребенки тоже нет и даже правильно работает "block change", в отличие от MPC VR. Да уж, я удивлен.

"Block change" в MPC VR работает некорректно, или не работает вообще.

Покажи скрин с Pot с включённой инфой(Tab).

И что ещё за "Block change" ? :)
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 03 ноября 2019, 06:51:44
Aleksoid1978
ЦитироватьПокажи скрин с Pot с включённой инфой(Tab).
Скриншот статистики D3D11-рендерера в PotPlayer (https://yadi.sk/i/_LyuOFmFCuCgNw).
ЦитироватьИ что ещё за "Block change" ?
Детектирование смены кадров видео. В MPC VR оно не работает вообще, потому что если я его включу, начнется такое...
В общем, скажу в двух словах - на DX11 субтитры начнут мерцать, чего естественно быть не должно.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 03 ноября 2019, 06:59:05
Ну видно же на скрине что нет «хардварного» деинтерлейса, частота не удваивается. К тому же какой-то DXVAHD, что говорит о том что DX11 только для вывода, а-ля madVR.

Добавлено: 2019-11-03 13:59:05

А что ещё за «детектирование смены кадра» ? Наверное какая то галка в драйвере ?

Но опять же - судя по скрину для обработки юзается DX9, DX11 тупо для вывода.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 03 ноября 2019, 07:16:59
Aleksoid1978,
ЦитироватьНу видно же на скрине что нет «хардварного» деинтерлейса
В PotPlayer имеется свой деинтерлейсинг. Я его включил, выбрал - аппаратный, но частота кадров все равно не удваивается. Это говорит о том, что в PotPlayer он не работает вообще.

Добавлено: 2019-11-03 07:16:59

Aleksoid1978
Цитироватькакой-то DXVAHD
Это видеопроцессор так-то.
ЦитироватьА что ещё за «детектирование смены кадра» ? Наверное какая то галка в драйвере ?

Но опять же - судя по скрину для обработки юзается DX9, DX11 тупо для вывода.
Да, это галка в драйвере, которая включена в нем по умолчанию. И в MPC VR имеется с ней проблема, но только на DX11. Мне пришлось перебрать абсолютно все билды вплоть до самого первого, чтобы разгадать откуда она взялась.
Если она включена, то субтитры начинают мерцать, т.к. идут вслед за кадрами видео. Чем чаще меняются кадры, тем сильнее мерцают субтитры. Я думаю, что вам понятно, что произойдет в конечном итоге...
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 03 ноября 2019, 07:19:20
Ну с этим мерцанием хз что сделать можно.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 03 ноября 2019, 07:20:07
Ох, рассмешили вы меня - такое сказали прямо - "какой-то DXVAHD". )))))
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 03 ноября 2019, 07:23:55
Это я сказал в том смысле - какое отношение имеет к DX11. И проверь в DXVAChecker - на твоей карте он вообще поддерживается, DXVAHD ?
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 03 ноября 2019, 08:01:39
Aleksoid1978
Цитата: Aleksoid1978Это я сказал в том смысле - какое отношение имеет к DX11. И проверь в DXVAChecker - на твоей карте он вообще поддерживается, DXVAHD ?
Проверил. Судя по DXVAChecker, DXVA-HD не поддерживается. Так что, вот вам и "хваленый PotPlayer" - кусок говна, в котором врет даже статистика видео-рендереров. А аппаратный его родной деинтерлейсинг так и вообще не пашет.
Название: MPC Video Renderer
Отправлено: yan.sarkiss от 03 ноября 2019, 08:19:26
Evgeniy1990, лол, чем же тебя корейский друг обидел?
Я думаю дело в самой карте
Все работает и аппаратно и программно, и кадры нормально удваиваются
Если есть тестовое видео, я с удовольствием попробую

Лично у меня HD 7650m, так она вообще dx11 не хочет запускать (черный экран)
Так что думаю, дело в самой карте и реализованной в нем dx11
https://drive.google.com/open?id=1oKRmvoUT0xQhmxJnSbbp5vTiB7-hHtnH

A интерполяцию в настройках рендера можно поменять
И сабы норм работают, только что проверил
UPD: добавил видос для наглядности
UPD2: сменил интерполяцию, и все завелось на AMD, чудеса)
вот только уровни неправильно определяет: показывает 16-235, когда должен 0-255
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 03 ноября 2019, 08:48:17
yan.sarkiss

ЦитироватьEvgeniy1990, лол, чем же тебя корейский друг обидел?
Лично меня, сам кореец, ничем не обидел. Но, занимается он не тем, чем нужно. Ему бы, в первую очередь, исправить бы проблемы со статистикой, размерами текса в ней, чтобы умещалась в экран монитора, да и деинтерлейсинг пофиксить.
А чем он занят? Правильно - хренотенью - добавляет всякие там браузеры и прочую ерунду никому нафиг ненужную.
Нет бы взять и избавить свой проект от наглой лжи, но зачем? Браузер же никому ненужный куда интереснее.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 03 ноября 2019, 08:53:13
Оффтоп конечно - но он в первую очередь для Кореи делает.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 03 ноября 2019, 08:55:01
yan.sarkiss,
ЦитироватьЯ думаю дело в самой карте
Я так не думаю. Думаю, что проблема банально в коде, но не уверен точно. Могу сказать так, что раз уже v0lt сделал столько тестовых билдов и никакого улучшения в сторону исчезновения гребенки они не дали, значит, возможно дело и не в коде самого MPC VR. Но и говорить абсолютно точно, что проблема в драйверах AMD тоже нельзя, ибо я вижу отличия "MPC VR" и "Кино и ТВ".

Добавлено: 2019-11-03 08:55:01

Цитата: Aleksoid1978Оффтоп конечно - но он в первую очередь для Кореи делает.
"Для Кореи делает"... ))))))
Название: MPC Video Renderer
Отправлено: yan.sarkiss от 03 ноября 2019, 09:03:01
Evgeniy1990, так автору виднее, что там нужнее)))
нам остается только пользоваться

Попробуй интерполяцию поменять на бикубическую хотя бы
Все должно нормально заработать
Если будут проблемы с 16-235/0-255
Шейдер поставь соответствующий

Я конечно понимаю, что все должно работать из коробки
Но все же, если карта на входе не понимает что делать
То дело скорее в ней, это дело конечно можно настроить,


например в MadVR все работает прекрасно из коробки

DX11 с AMD оказывается, теперь работает, надо было только интерполяцию поменять
осталось понять, почему 16-235 вместо 0-255,
Опять же замечу, на HD 4000 все нормально с диапазоном
думаю дело опять в самой карте


Кто подскажет параметры, когда эта гребенка возникает в MPC VR
вроде смотрел на DX11 на обеих картах, гребенки замечено не было
Название: MPC Video Renderer
Отправлено: V0lt от 03 ноября 2019, 09:13:25
Evgeniy1990,
Для тестов деинтерлейса используй Bon Jovi - It\'s My Life.vob (https://bayfiles.com/24z7K790n4/Bon_Jovi_-_It_s_My_Life_vob). В нем много движухи и размер кадра небольшой. Если гребенка есть, то ее сразу будет видно особенно если развернуть окно на весь экран.

Добавлено: 2019-11-03 09:13:25

Цитата: yan.sarkissV0lt, прошу простить
Кадр статичный если что.
MediaInfo
Video
ID                          : 1
Format                      : AVC
Format/Info                 : Advanced Video Codec
Format profile              : High 10@L5.1
Format settings             : CABAC / 16 Ref Frames
Format settings, CABAC      : Yes
Format settings, Reference  : 16 frames
Codec ID                    : V_MPEG4/ISO/AVC
Duration                    : 23 min 39 s
Bit rate                    : 2 489 kb/s
Width                       : 1 920 pixels
Height                      : 1 080 pixels
Display aspect ratio        : 16:9
Frame rate mode             : Constant
Frame rate                  : 23.976 (24000/1001) FPS
Color space                 : YUV
Chroma subsampling          : 4:2:0
Bit depth                   : 10 bits
Scan type                   : Progressive
Bits/(Pixel*Frame)          : 0.050
Stream size                 : 421 MiB (90%)
Writing library             : x264 core 148 r2762+56 7979737 t_mod_Custom [10-bit@all X86_64]
Encoding settings           : cabac=1 / ref=16 / deblock=1:0:0 / analyse=0x3:0x133 / me=umh / subme=10 / psy=1 / fade_compensate=0.80 / psy_rd=0.85:0.00 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=12 / lookahead_threads=3 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / fgo=0 / bframes=16 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=23 / scenecut=40 / intra_refresh=0 / rc_lookahead=60 / rc=crf / mbtree=1 / crf=16.3000 / qcomp=0.65 / qpmin=0:0:0 / qpmax=81:81:81 / qpstep=4 / ip_ratio=1.40 / aq=3:0.80 / aq-sensitivity=10.00 / aq-factor=1.00:1.00:1.00 / aq2=0 / aq3=0
Language                    : English
Default                     : Yes
Forced                      : No
Color range                 : Limited
Matrix coefficients         : BT.709
[свернуть]
https://drive.google.com/drive/folders/1OskBEFhMXwTCrB3tAalUuCgk_1KF2jt2?usp=sharing
У меня наверное монитор не очень, но принципиальной разницы не вижу. На уровне шумов есть небольшая разница и все.
Название: MPC Video Renderer
Отправлено: yan.sarkiss от 03 ноября 2019, 11:00:30
V0lt,
Цитироватьно принципиальной разницы не вижу
но она есть, не так ли?
ЦитироватьНа уровне шумов есть небольшая разница
мне все равно на шумы, мне кажется общий цветовой тон немного к зеленому сместился
Я на досуге еще сделаю пару скринов, с разными версиями файлов
Мб там будет заметней, я как бы это случайно смог заметить)
Моник у меня тоже обычный 8битный ЖК экран

ЦитироватьДля тестов деинтерлейса
Я потестил, короч
https://drive.google.com/open?id=1CSLRU5AaD7JGaUz7KXgxe7_0aQGrUB_k
тестил с DX11 на
AMD hd 7650m / intel hd 4000
кодеки : встроенные dxva / ffmpeg, внешние Lav video (h/w deint / yadif)

Короче тест провалил только IntelHD+FFMPEG, независимо от настроек деинтерлейса (auto/progressive/top first/bot firts).
С таким конфигом гребенка была явно видна невoоруженным глазом

Остальные сочетания более-менее справляются
По сугубо личному мнению лучше картинка с Lav Video
Название: MPC Video Renderer
Отправлено: V0lt от 03 ноября 2019, 12:09:47
yan.sarkiss, в рамках текущей темы нас интересует только деинтерлейc в MPC Video Renderer в режиме D3D11.
У тебя похоже он работает, правда версия у тебя старая.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 03 ноября 2019, 12:46:47
V0lt
ЦитироватьДля тестов деинтерлейса используй Bon Jovi - It\'s My Life.vob. В нем много движухи и размер кадра небольшой. Если гребенка есть, то ее сразу будет видно особенно если развернуть окно на весь экран.
Гляньте пожалуйста на скриншот (https://yadi.sk/d/PvOhz6vYxe2gTw). Вроде как работает аппаратный деинтерлейс, судя по статистике D3D11-рендерера этого PotPlayer. (29.97 -> 60 FPS) И гребенки нет.

Добавлено: 2019-11-03 12:46:47

V0lt

На MPC VR отчетливо видна гребенка, причем как в окне, так и в полноэкранном режиме.

Музыкальная движуха - самое то, для тестирования и проверки работы аппаратного деинтерлейса. :)
Спасибо вам за один из любимых клипов в интерлейсном виде. :)
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 03 ноября 2019, 12:55:00
Цитата: Evgeniy1990Вроде как работает аппаратный деинтерлейс, судя по статистике D3D11-рендерера этого PotPlayer. (29.97 -> 60 FPS) И гребенки нет.

Да не работает - там опять в статистике DXVA-HD, которого там в принципе быть не должно. Если же подразумевается просто DXVA2 VP - то тогда для деинтерлейса используется DX9 а не DX11.

P.S. Хотя нет - используется именно ID3D11VideoContext::VideoProcessorBlt(), значит работает D3D11 VP. Но вот что странно - на Nvidia гребенка в Pot в режиме вывода DX11. И почему то для каждого кадра аж 4 раза делается вызов данной функции, очень странно. Должно быть 2 вызова :)
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 03 ноября 2019, 12:56:31
Цитата: Aleksoid1978
Цитата: Evgeniy1990Вроде как работает аппаратный деинтерлейс, судя по статистике D3D11-рендерера этого PotPlayer. (29.97 -> 60 FPS) И гребенки нет.

Да не работает - там опять в статистике DXVA-HD, которого там в принципе быть не должно. Если же подразумевается просто DXVA2 VP - то тогда для деинтерлейса используется DX9 а не DX11.
Да плевать на DXVA-HD - это ЛОЖЬ! Главное 29.97-> ~ 60 FPS.
Название: MPC Video Renderer
Отправлено: V0lt от 03 ноября 2019, 13:15:26
Evgeniy1990
А на 10-очном плеере есть возможность проверить?
ПотПлеер под капотом может мудрить, вплоть до подключения своего деинтерлейса. А виндовый плеер скорее всего сделает все по спекам.
Название: MPC Video Renderer
Отправлено: LongKick64 от 03 ноября 2019, 14:54:04
yan.sarkiss, по поводу зелени, монитор калибровали? Похоже на фокусы с цветовым профилем. Я свой Spyder5Express калибрую.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 03 ноября 2019, 17:17:22
Цитата: V0ltА на 10-очном плеере есть возможность проверить?
Да я бы с радостью проверил, вот только этот десяточный плеер  "Кино и ТВ" не понимает формат VOB.
<негатив удален модератором>
Цитата: V0ltПотПлеер под капотом может мудрить, вплоть до подключения своего деинтерлейса. А виндовый плеер скорее всего сделает все по спекам.
Да я уже понял, как ведет себя этот хваленый ПотПлеер - нагло врет, <негатив удален модератором>. А это плохо и грустно.

По поводу виндового плеера, я с вами полностью согласен - он то уж точно действовать будет строго по спекам.
Название: MPC Video Renderer
Отправлено: LongKick64 от 03 ноября 2019, 17:57:53
ЦитироватьДа я бы с радостью проверил, вот только этот десяточный плеер  "Кино и ТВ" не понимает формат VOB.
Можешь на моем клипе (https://mega.nz/#!T9BFDSIL!eeixxo7lrDPXV0DQquKy0EVLbvPbqZ7thhZNU9v9nPk) проверить, он тоже гребенчатый на amd + d3d11. ;)
Название: MPC Video Renderer
Отправлено: V0lt от 03 ноября 2019, 18:08:03
Цитата: Evgeniy1990Да я бы с радостью проверил, вот только этот десяточный плеер  "Кино и ТВ" не понимает формат VOB.
Попробуй эти (поддержка m2ts заявлена):
Автомобили.m2ts
Токио.m2ts
японка на веревке.m2ts
В них гребенка даже при уменьшении хорошо заметна.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 03 ноября 2019, 18:39:42
LongKick64
ЦитироватьМожешь на моем клипе проверить, он тоже гребенчатый на amd + d3d11.
Проверил ваш клип в плеере "Кино и ТВ".
Действительно, абсолютно точно, присутствует гребенка на D3D11(DX11) + AMD.

V0lt
ЦитироватьПопробуй эти (поддержка m2ts заявлена):
Автомобили.m2ts
Токио.m2ts
японка на веревке.m2ts
В них гребенка даже при уменьшении хорошо заметна.
Огромное спасибо вам, ребята, за предоставленные тестовые сэмплы. :)
Аналогично, также присутствует гребенка в приложении "Кино и ТВ" на D3D11(DX11) + AMD.

Эх, горе, горе AMD и с AMD...

Вот почему многие пользователи отказываются от покупки нового железа, а все из-за таких вот подлянок со стороны великих якобы вендоров железа.

И не нужно потом доказывать, что десятка лучше и круче XP. Это далеко не так. XP - Forever!
Название: MPC Video Renderer
Отправлено: yan.sarkiss от 04 ноября 2019, 02:05:05
V0lt,
Цитироватьyan.sarkiss, в рамках текущей темы нас интересует только деинтерлейc в MPC Video Renderer в режиме D3D11.
я использовал разные декодеры, т.к за деинтерлейс ведь отвечают
они, а не mpc vr, поправьте если не прав.


Evgeniy1990,
ЦитироватьГляньте пожалуйста на скриншот.
Я вижу что вместо MPC-VR, запущен DX11 Video Renderer с неподдерживаемой интерполяцией (хотя к деинтерлейсу никакого отношения она не имеет)
(https://fastpic.ru/view/91/2019/1104/df02c696996b4cae72ec27e9982b82ee.png.html)
ЦитироватьВроде как работает аппаратный деинтерлейс, судя по статистике D3D11-рендерера этого PotPlayer. (29.97 -> 60 FPS) И гребенки нет.
поиграйтесь с настройками в деинтерлейсе, выбирайте методы(аппаратный). Если что-то меняется - значит аппаратный работает. Там есть режимы и для обычных, так и для удвоения кадров
И почему черные грани серые? такое ощущение будто юзается 16-235
И почему обязательно нужно 60fps, когда на выходе должно быть это
Frame rate                  : 29.970 (30000/1001) FPS

ЦитироватьНа MPC VR отчетливо видна гребенка
Это с FFmpeg, а с DXVA DX9/DX11 или LAV Video software/dx9/dx11/copyback, как обстоят дела?

Добавлено: 2019-11-04 02:51:44

Aleksoid1978,  
ЦитироватьЕсли же подразумевается просто DXVA2 VP - то тогда для деинтерлейса используется DX9 а не DX11.
не могу понять, что за рендер такой, которого у меня в системе нет
Мб декодер все-таки? Если так, то в поте по умолчанию в DXVA стоит dx9 auto
можно поменять на DX11 auto
(https://fastpic.ru/view/91/2019/1104/_191611c96ea8fd1a5398d61a73352d46.png.html)
ЦитироватьНо вот что странно - на Nvidia гребенка в Pot в режиме вывода DX11
опять же, гребенка возникает с каким декодером?

Добавлено: 2019-11-04 03:01:04

LongKick64,
Цитироватьпо поводу зелени, монитор калибровали? Похоже на фокусы с цветовым профилем. Я свой Spyder5Express калибрую.
не калибровал. У меня 2 монитора. Один внешний/ второй на ноуте
там такая же проблема


Добавлено: 2019-11-04 03:05:05

Цитироватьтакже присутствует гребенка в приложении "Кино и ТВ" на D3D11(DX11) + AMD.
Народ, если вам так надо использовать этот недоплеер
То пожалуйста, юзаете вместе с LAV video + LAV splitter, я думаю все будет работать

У меня конечно 10, но там стандартный WMP, который все открывает и без гребенок. Только без понятия dx9 или dx11 там
хотя зачем он, когда есть pot/mpc-be/kmp
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 04 ноября 2019, 07:17:28
yan.sarkiss

О боже, давненько я с новичками не общался. Ну ладно, пообщаюсь, а то они даже не понимают, что вообще такое деинтерлейс и как он должен правильно работать.

Цитироватьпоиграйтесь с настройками в деинтерлейсе, выбирайте методы(аппаратный). Если что-то меняется - значит аппаратный работает. Там есть режимы и для обычных, так и для удвоения кадров
Да уже давным давно игрался с ними, все правильно установил и включил. Так что вы, опоздали со своим ответом.
Ваш ответ очень забавный, а то я не знаю, какой нужно выбирать деинтерлейс.
ЦитироватьИ почему черные грани серые? такое ощущение будто юзается 16-235
Спросите свой любимый и дряной ПотПлеер. Пусть он вам истину глаголит. Хотя, он только врать и умеет.
ЦитироватьИ почему обязательно нужно 60fps, когда на выходе должно быть это
Frame rate                  : 29.970 (30000/1001) FPS
Вот сразу видно, что вы не понимаете, как работает аппаратный деинтерлейс. Он должен устранять интерлейс (эффект гребенки). А для этого кадры должны быть удвоены. Вместо 29.97, должно быть или сразу ~ 60 FPS, или надпись именно на выходе: 29.97 -> ~60 FPS.
Название: MPC Video Renderer
Отправлено: yan.sarkiss от 04 ноября 2019, 07:49:23
Evgeniy1990,
ЦитироватьВаш ответ очень забавный, а то я не знаю, какой нужно выбирать деинтерлейс.
я не сомневаюсь. Я имел в виду если использовать разные режимы, то можно увидеть разницу.
ЦитироватьСпросите свой любимый и дряной ПотПлеер
ну-ну, не надо гнать на пот. У меня все нормально, поэтому и спросил (вот если с амд юзать то там как у вас будет, но это к карте претензии а не к поту))) )
я же не могу винить EVR за то что он PO10 не понимает, т.к картой аппаратно не поддерживается
ЦитироватьВот сразу видно, что вы не понимаете, как работает аппаратный деинтерлейс
Ну я понимал его так, что если из двух полукадров создать один - то будет 30фпс вместо 60. Хотя и от видео тоже зависит. где-то реально 60 даст гладкое воспроизведение. А где-то будет как в том муз клипе, имеем 60 - а на деле 30
Цитироватьнадпись именно на выходе
опять же, зависит от метода.
Название: MPC Video Renderer
Отправлено: V0lt от 04 ноября 2019, 08:04:02
yan.sarkiss
Цитироватья использовал разные декодеры, т.к за деинтерлейс ведь отвечают
они, а не mpc vr, поправьте если не прав.
Да, некоторые декодеры сами умеют делать деинтерлейс, но это всего лишь доп. фича, которая в рамках данной темы нам неинтересна.

Видеорендереры могут использовать DXVA2 VP (DX9) или D3D11 VP (DX11), которые делают деинтерлейс за счет фич железа/драйвера.

Добавлено: 2019-11-04 07:58:26

PotPlayer предлагаю больше не обсуждать. Что в нем достоверно происходит никто не знает. А гадать можно до бесконечности.


Добавлено: 2019-11-04 08:04:02

WMP использует EVR в варианте MediaFondation, это тот же DX9. Не интересен.
Название: MPC Video Renderer
Отправлено: yan.sarkiss от 04 ноября 2019, 08:17:53
V0lt,
ЦитироватьВидеорендереры могут использовать DXVA2 VP (DX9) или D3D11 VP (DX11), которые делают деинтерлейс за счет фич железа/драйвера.
T.e DXVA Native?
ЦитироватьPotPlayer предлагаю больше не обсуждать.
согласен

Вопрос такой, какой метод дитеринга используется в встроенном декодере?
Как заставить рендерить MPC VR и деинтерлейсить на программном уровне?


UPD: протестил видео с машинами
Int HD 4000 DX11 FFmpeg - есть гребенка
Int HD 4000 DX11 DXVA - гребенку удалил, но частота кадров на выходе 19-21, много пропусков
Int HD 4000 DX9 любой декодер - Полет нормальный
AMD 7650m DX11 DXVA - гребенку убрал, хотя на выходе и имеем 60 фпс(в статистике 29.997>59.9-60), но в реальности видео 30fps
AMD 7650m DX11 FFmpeg - аналогично что и выше
АMD 7650m DX9 Любой декодер - полет нормальный

все настройки по дефолту, кроме галки DX11 и double frame rate (включены)
Если убрать галки с NV12/P010/YUV появляется гребенка независимо от настроек и выбора карты

вечером проверю на последнем тестовом билде
Название: MPC Video Renderer
Отправлено: V0lt от 04 ноября 2019, 08:40:09
Цитата: yan.sarkissT.e DXVA Native?
Нет. Забудь о декодерах вообще.
DXVA2 VP - это DirectX Video Acceleration Video Processor device.
Название: MPC Video Renderer
Отправлено: vitsat от 04 ноября 2019, 21:23:49
Баг-тикет: Внешний CyberLink Video Decoder (CLCvd.ax_v2.0.5940.6918) (https://www.upload.ee/files/10544390/VideoFilter_x64_CyberLink_PowerDVD_20.0.0925.62.zip.html) работает исключительно в SW-режиме на встройке Intel HD Graphics 4000 ; на встроенных рендерерах работает в DXVA
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 05 ноября 2019, 01:28:51
Цитата: vitsatБаг-тикет: Внешний CyberLink Video Decoder (CLCvd.ax_v2.0.5940.6918) работает исключительно в SW-режиме на встройке Intel HD Graphics 4000 ; на встроенных рендерерах работает в DXVA
Подтверждаю, посмотрим.

P.S. Такое чувство что прикол с самим PowerDVD декодером, с madVR тоже не работает. Ну и я глянул по коду и работе нашего VR - PowerDVD декодер просто "не делает" того что должен для работы DXVA2 декодера. На 100% уверен что у него просто зашит список видео-рендереров с которыми будет работать DXVA :)
Название: MPC Video Renderer
Отправлено: V0lt от 05 ноября 2019, 06:45:27
Выкладываю mpcvr_922_d3d9_discard_1 (https://yadi.sk/d/X0EVMKP4TcmnHQ/Test).
Просьба проверить режим DX9 c Swap Effect = Discard.Сильно ли стала тормозить картинка при изменении окна?
Так же прошу проверить поворот кадра в режиме DX9 (в режиме DX11 поворот кадра проверять не надо, он не доделан).
PS: Для корректной поддержки поворота кадра требуется MPC-BE v1.5.4.4876 или новее.
Название: MPC Video Renderer
Отправлено: vitsat от 05 ноября 2019, 10:40:46
Aleksoid1978
ЦитироватьНа 100% уверен что у него просто зашит список видео-рендереров с которыми будет работать DXVA :)
Интересно, что на MPEG-2 включается GPU
(https://d.radikal.ru/d07/1911/d8/4207b8f0c6e8.png)
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 05 ноября 2019, 14:58:11
Цитата: vitsatИнтересно, что на MPEG-2 включается GPU
Ну это вопрос уже не ко мне :)
Название: MPC Video Renderer
Отправлено: LongKick64 от 06 ноября 2019, 00:49:36
ЦитироватьПросьба проверить режим DX9 c Swap Effect = Discard.Сильно ли стала тормозить картинка при изменении окна?
У меня норм все.

ЦитироватьТак же прошу проверить поворот кадра в режиме DX9 (в режиме DX11 поворот кадра проверять не надо, он не доделан).
Поворот кадра это где?
Название: MPC Video Renderer
Отправлено: V0lt от 06 ноября 2019, 15:13:27
Цитата: LongKick64Поворот кадра это где?
В телефоне. :) Снимаешь видео в разных положениях, а потом смотришь на компе.
Либо Alt+Num3, Alt+Num1.

Добавлено: 2019-11-06 09:55:06

Выложил MPCVideoRenderer-v0.3.3.933_git2019.11.06-b55f36e.
Снова прошу проверить деинтерлейс на AMD с удвоением кадров.

Сэмплы для тестов:
Автомобили.m2ts
Токио.m2ts
японка на веревке.m2ts

Добавлено: 2019-11-06 15:13:27

Версия обновлена до 0.3.3.933.
Исправлен поворот кадра в режиме DX11.
Название: MPC Video Renderer
Отправлено: LongKick64 от 07 ноября 2019, 03:12:58
ЦитироватьТак же прошу проверить поворот кадра в режиме DX9 (в режиме DX11 поворот кадра проверять не надо, он не доделан).
PS: Для корректной поддержки поворота кадра требуется MPC-BE v1.5.4.4876 или новее.
Проверил. У меня работает.

ЦитироватьВыложил MPCVideoRenderer-v0.3.3.933_git2019.11.06-b55f36e.
Снова прошу проверить деинтерлейс на AMD с удвоением кадров.
Гребенка на месте.

Добавлено: 2019-11-07 03:12:58

Что насчет субтитров? Почему они не отображаются в режиме D3D11?
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 07 ноября 2019, 05:19:02
Все отображаются субтитры - зачем вносить смуту :)
Название: MPC Video Renderer
Отправлено: V0lt от 07 ноября 2019, 05:36:56
LongKick64
Спасибо за тесты.
Субтитры у меня отображаются. Если у тебя не так, то покажи настройки субтитров в плеере и выложи небольшой проблемный файл.
Название: MPC Video Renderer
Отправлено: LongKick64 от 07 ноября 2019, 15:40:52
Цитата: Aleksoid1978Все отображаются субтитры - зачем вносить смуту :)
У меня не отображаются. Зачем мне врать? :rolleyes:

ЦитироватьСубтитры у меня отображаются. Если у тебя не так, то покажи настройки субтитров в плеере и выложи небольшой проблемный файл.
Все настройки по умолчанию. Версия плеера 1.5.4.4878. Версия MPC VR 0.3.3.933. Субтитры не отображаются в режиме D3D11. Не отображаются не внешние, не вшитые сабы. Раздачи на рутрекере, где сабы не отображаются:

https://rutracker.org/forum/viewtopic.php?t=1435677 (внешние сабы)
https://rutracker.org/forum/viewtopic.php?t=4886940 (вшитые сабы)


PS Так же любопытно то, что сабы не отображаются ни на встроенной (Intel HD Graphics 3000), ни на дискретной (AMD Radeon HD 6490M) видеокартах. :|
Название: MPC Video Renderer
Отправлено: V0lt от 07 ноября 2019, 17:44:44
LongKick64
Выложи один AVI+SRT из первой раздачи куда-нибудь. По DHT устанешь пиров ждать.

Добавлено: 2019-11-07 17:41:50

А лучше на этом проверь.
СубтитрыТест.mkv (https://cloud.mail.ru/public/mkGo/5cjyiKm6K)


Добавлено: 2019-11-07 17:44:44

И этом
[FTV-subs] Touhou - Bad Apple!! PV [960x720] v2.mkv (http://www.mediafire.com/file/034nc4enq1o35t1/%255BFTV-subs%255D_Touhou_-_Bad_Apple%2521%2521_PV_%255B960x720%255D_v2.mkv/file)
Название: MPC Video Renderer
Отправлено: LongKick64 от 07 ноября 2019, 18:47:55
ЦитироватьА лучше на этом проверь.
СубтитрыТест.mkv


Добавлено: 2019-11-07 17:44:44

И этом
[FTV-subs] Touhou - Bad Apple!! PV [960x720] v2.mkv
Проверил. В режиме Direct3D11, субтитры не отображаются.
Название: MPC Video Renderer
Отправлено: V0lt от 07 ноября 2019, 19:03:41
LongKick64, сделай лог тогда.
Используй отладочную (DEBUG) версию MPC VR. Запусти DebugView (https://docs.microsoft.com/en-us/sysinternals/downloads/debugview) перед началом воспроизведения файла СубтитрыТест.mkv. После завершения воспроизведения (там  всего 10 секунд) сохрани лог в файл и выложи куда-нибудь.
Название: MPC Video Renderer
Отправлено: LongKick64 от 07 ноября 2019, 19:12:58
Вот: https://mega.nz/#!GkJmVaBD!p5B2YXhnSAW9FtW5fWtLjo61a8FyVFTNLDUy-Tk3Gaw
Название: MPC Video Renderer
Отправлено: V0lt от 07 ноября 2019, 20:12:36
В логе мало информации. Если рядом положить вот эти DLL (https://yadi.sk/d/1LurZiRLY2_l7g) соответствующей разрядности, станет ли лог жирнее?
Название: MPC Video Renderer
Отправлено: LongKick64 от 07 ноября 2019, 21:30:16
Завтра проверю. ;)
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 08 ноября 2019, 04:29:48
Возможно это все из-за гибридной графики. У нас такого железа нет - проверить не можем :)

P.S. Вот попробуй - https://yadi.sk/d/ZXkdO-ANwue4Mg
Название: MPC Video Renderer
Отправлено: LongKick64 от 08 ноября 2019, 21:50:34
Цитата: V0ltВ логе мало информации. Если рядом положить вот эти DLL соответствующей разрядности, станет ли лог жирнее?
Бросил эти файлы в папку с плеером MPC-BE.1.5.4.4878.x64 и субтитры появились! MPC VR был такой: MPCVideoRenderer-v0.3.3.934_git2019.11.08-e04319e_Debug. Вот получившийся лог: https://mega.nz/#!WlgHzA6R!0M8T-aXUAr-rvszXWIRHrvIkJuKWVFlAbmWKez9wtgo


PS Если использовать НЕ Debug версию MPC VR (MPCVideoRenderer-v0.3.3.934_git2019.11.08-e04319e), то субтитры не будут отображаться.

Добавлено: 2019-11-08 21:50:34

С этими файлами, субтитры появляются, но в режиме DirectX 9.
Название: MPC Video Renderer
Отправлено: V0lt от 08 ноября 2019, 21:59:24
Рендерер видит эти DLL, но использовать не получается. DX11 отваливается и MPC VR в итоге работает в режиме DX9. Поэтому и субтитры есть.
Без установки WinSDK расширенный лог для DX11 похоже не получить. DLL-ки можешь удалить.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 09 ноября 2019, 03:16:12
А то что я выложил для проверки выше - как на нем ?
Название: MPC Video Renderer
Отправлено: LongKick64 от 09 ноября 2019, 05:53:48
Цитата: Aleksoid1978А то что я выложил для проверки выше - как на нем ?
Никак, сабы по прежнему не отображаются( Создается такое впечатление, что субтитры на встроенной графике (Intel HD Graphics 3000) пытаются отрисовываться, но так, как она не поддерживает DirectX 11, только DirectX 10.1, то и субтитров нет. С другой стороны, в дровах AMD, видно что задействована дискретная видеокарта (AMD Radeon HD 6490M), а она как раз таки поддерживает DirectX 11.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 09 ноября 2019, 05:55:09
Там все сложнее, но без такого железа - без шансов понять.
Название: MPC Video Renderer
Отправлено: vitsat от 09 ноября 2019, 15:20:12
Испытал работу на своём бывшем компе со встройкой Intel Graphics 4600 HD : любые форматы, декодируемые с пом. DXVA до 4K/60P включительно, софтовое декодирование HEVC и AV1 до 1440/60P включительно и VP9 до 4K/60P включительно идут без пропуска кадров в режиме Direct3D 11
И только лишь для софтового декодирования тяжёлых HEVC и AV1 4K/60P надо снять галку с "Use Direct3D 11" , тогда в режиме "Direct3D 9Ex" MPC Video Renderer просто идеален для любого видео вплоть до 4K/60P
(https://c.radikal.ru/c20/1911/9e/36c54462efc5.png)
С любыми интерлейсными и MBAFF роликами на Intel Graphics 4600 HD (и на 4000 HD) в последнее время проблем тоже нет.
Благодарю за работу!
Название: MPC Video Renderer
Отправлено: V0lt от 10 ноября 2019, 09:57:33
В KMP наш рендерер начал падать после 895 (https://github.com/Aleksoid1978/VideoRenderer/commit/1c52ca1859db3dd0a841c6439d5c1f1b42a88ad5) (класс CDXVA2VP появился) вот в этом месте
STDMETHODIMP CMpcVideoRenderer::Run(REFERENCE_TIME rtStart)
{
    ...
    return CBaseVideoRenderer2::Run(rtStart);

STDMETHODIMP CBaseRenderer::Run(REFERENCE_TIME StartTime)
{
    ...
    SetRepaintStatus(FALSE);

void CBaseRenderer::SetRepaintStatus(BOOL bRepaint)
{
    CAutoLock cSampleLock(&m_RendererLock) // вот тут !
Ошибка такая
(https://jpegshare.net/)
Плеер KMP (есть портабл установка). (https://www.upload.ee/files/10547089/kmp3.0.0.1442.exe.html)
Сэмплы и видео проблемы (https://yadi.sk/d/5kew59uAOMdJRw).

Падает в зависимости от размера кадра. 1020x566 - не падает, 1022x568 - падает. Нормально отладить KMP не получается, только через DebugView.
У меня идей нет, что еще проверять.

Да. Я понимаю, что плеер левый, но ошибка очень странная, которая появилась после использования класса CDXVA2VP. Хотелось бы понять, почему.


Исправлено в MPCVideoRenderer-v0.3.3.937_git2019.11.10-e60af23. Спасибо Aleksoid1978 за помощь.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 ноября 2019, 11:24:15
Чето нифигу у меня не качает с яндекса ((
Название: MPC Video Renderer
Отправлено: LongKick64 от 10 ноября 2019, 22:43:20
А что значит Direct3D 9Ex в статистике? Что за Ex?

Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 11 ноября 2019, 05:33:25
Не обращай внимание - это просто DX9 :)
Название: MPC Video Renderer
Отправлено: V0lt от 11 ноября 2019, 05:39:27
LongKick64
Вот чего гугл выдает - Direct3D 9Ex Improvements (https://docs.microsoft.com/en-us/windows/win32/direct3darticles/direct3d-9ex-improvements).
Название: MPC Video Renderer
Отправлено: V0lt от 25 ноября 2019, 19:52:49
Релиз 0.3.4 мы типа выпустили (https://github.com/Aleksoid1978/VideoRenderer/releases/tag/0.3.4), но пока не анонсирую на форумах, т.к. наблюдаю серьезный баг в релизной версии. В отладочной все хорошо.

Сбрасываю настройки. Включаю режим DX11 и статистику. Запускаю плеер, начинаю воспроизведение, закрываю плеер и тут же получаю ошибку. Версия v0.3.4.956 x64, Win8.1.

Прошу проверить.
Название: MPC Video Renderer
Отправлено: LongKick64 от 25 ноября 2019, 19:57:08
ЦитироватьРелиз 0.3.4 мы типа выпустили
А где скачать можно?
Название: MPC Video Renderer
Отправлено: V0lt от 25 ноября 2019, 19:57:59
Ссылку добавил.
Название: MPC Video Renderer
Отправлено: LongKick64 от 25 ноября 2019, 20:01:12
Проверил, у меня нет никаких ошибок.
Название: MPC Video Renderer
Отправлено: V0lt от 25 ноября 2019, 20:58:24
LongKick64
Какая винда? Какая разрядность рендерера?
Название: MPC Video Renderer
Отправлено: LongKick64 от 25 ноября 2019, 21:11:37
10. x64.
Название: MPC Video Renderer
Отправлено: V0lt от 25 ноября 2019, 21:24:42
Скриншот падения релизной версии (но отладочного плеера) для Aleksoid1978.
(https://ibb.co/pw4bmJq)
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 26 ноября 2019, 02:01:41
Win10, x86 - все отлично.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 26 ноября 2019, 05:33:16
V0lt,
ЦитироватьСбрасываю настройки. Включаю режим DX11 и статистику. Запускаю плеер, начинаю воспроизведение, закрываю плеер и тут же получаю ошибку. Версия v0.3.4.956 x64, Win8.1.

Прошу проверить.
Проверил релизную версию видео-рендерера. По вашему алгоритму, при закрытии плеера, нет никаких ошибок.
Проверял на Windows 10, x64. Естественно, плеер и видео-рендерер были "Release", а не "Debug".
Название: MPC Video Renderer
Отправлено: V0lt от 26 ноября 2019, 05:40:46
А у меня падают все наши Релизы - https://github.com/Aleksoid1978/VideoRenderer/releases
На работе тоже падал последний релиз.
От файла не зависит. Падает и японка на веревке.m2ts (https://bayfiles.com/X7waM49cnf/_m2ts), и СубтитрыТест.mkv (https://cloud.mail.ru/public/mkGo/5cjyiKm6K).
Причем может быть сразу две ошибки при закрытии подряд.

Ладно сделаю анонс. :-)
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 26 ноября 2019, 05:45:53
V0lt,
ЦитироватьА у меня падают все наши Релизы - https://github.com/Aleksoid1978/VideoRenderer/releases
Вот это новость!
ЦитироватьПричем может быть сразу две ошибки при закрытии подряд.
Вот это жесть!

Получается, что у вас падают только релизные версии, а бета-версии не падают вообще. Я правильно понял?
Название: MPC Video Renderer
Отправлено: V0lt от 26 ноября 2019, 05:54:48
Релиз MPC Video Renderer v0.3.4.956 (https://github.com/Aleksoid1978/VideoRenderer/releases/tag/0.3.4).
Описание на русском (https://mpc-be.org/forum/viewtopic.php?id=381).
Описание на английском (https://github.com/Aleksoid1978/VideoRenderer/blob/0.3.4/Readme.md).

Изменения:
Используем поверхности после декодера DXVA2 непосредственно, если видеопроцессор DXVA2 не требует дополнительных кадров.
Настройка "Double the frame rate when deinterlace" теперь включена по умолчанию.
Добавлена возможность получить версию фильтра с помощью интерфейса IExFilterConfig.
Исправлено деинтерлейс в режиме DX11. Теперь используются прошлые кадры. Исправлен вывод при удвоении кадров.
Добавлена информация о видеопроцессоре D3D11 в окне «Информация».
Добавлена поддержка поворота кадра.
Оптимизирована работа режима Discard swap effect для DX9.
Улучшена совместимость с некоторыми плеерами.
Исправлено зависание при навигации по шкале времени в некоторых ситуациях.
Рекомендуется версия MPC-BE v1.5.4.4876 или более поздняя.
Добавлена дополнительная отладочная информация.
Название: MPC Video Renderer
Отправлено: V0lt от 26 ноября 2019, 13:25:04
Цитата: Evgeniy1990Получается, что у вас падают только релизные версии, а бета-версии не падают вообще. Я правильно понял?
У меня падают любые сборки. И официальные релизы и беты. Не падают только отладочные (DEBUG) версии.

Под релизной сборкой подразумевается сборка с настройкой "Release" в студии, со всеми оптимизациями и без лога.

Добавлено: 2019-11-26 13:25:04

MPC-HC с нашем рендерером падает при переходе на другой файл. При закрытии плеера не падает.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 27 ноября 2019, 01:34:14
Т.к. падение только на 8.1 - надо что бы другие пользователи у кого 8.1 проверили, на 10 все норм.
Название: MPC Video Renderer
Отправлено: LongKick64 от 27 ноября 2019, 03:09:01
V0lt, надо бы первый пост в теме обновить, добавить ссылку на новый релиз.
Название: MPC Video Renderer
Отправлено: V0lt от 28 ноября 2019, 11:10:00
Ссылку обновил.

Еще замечание по падению в Win8.1. Перестает падать, если в настройках выбрать "Flip". Падает только, если выбран стандартный "Discard".

Добавлено: 2019-11-28 09:35:04

Еще наблюдение. Если используется декодер D3D11, то так же нет падения. Спасибо MPCfan за подсказку.


Добавлено: 2019-11-28 11:10:00

MPCVideoRenderer-v0.3.5.965_git2019.11.28-520b11c (https://yadi.sk/d/X0EVMKP4TcmnHQ)
Устранено падение при выходе из плеера или переходе на следующий файл в режиме Discard для Windows 8/8.1.

Просьба проверить.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 28 ноября 2019, 19:49:38
V0lt,
Commit 372deed - некорректный. После него, перестала работать отладочная версия видео-рендерера. При попытке зарегистрировать (установить) Debug-версию в операционную систему, выскакивает ошибка переменной HW_AVX (https://yadi.sk/i/219FBuHJ0dcgBw), которая используется без инициализации.

Для чего вообще эти нововеденные переменные? А если они не поддерживаются, то что тогда?
Название: MPC Video Renderer
Отправлено: V0lt от 29 ноября 2019, 09:32:28
Evgeniy1990
Ошибку исправил.
Я переписал CPUInfo, чтобы сделать его более адекватным для реальности. В будущем планирую использовать этот код в MPC-BE.

Добавлено: 2019-11-28 20:41:38

Новость из мира DirectShow-плееров :)
(https://ibb.co/YW86knk)


Добавлено: 2019-11-29 09:32:28

Релиз MPC Video Renderer v0.3.6.970 (https://github.com/Aleksoid1978/VideoRenderer/releases/tag/0.3.6).
Описание на русском (https://mpc-be.org/forum/viewtopic.php?id=381).
Описание на английском (https://github.com/Aleksoid1978/VideoRenderer/blob/0.3.6/Readme.md).

Изменения:
Исправлен вывод субтитров с помощью XySubFilter в некоторых ситуациях.
Устранено падение при выходе из плеера или переходе на следующий файл в режиме Discard для Windows 8/8.1.
Название: MPC Video Renderer
Отправлено: V0lt от 14 декабря 2019, 06:57:20
Статьи по рендерингу текста в DX11:
http://www.rastertek.com/dx11tut12.html
https://directx.fandom.com/ru/wiki/DirectX_11_%D1%88%D0%B0%D0%B3_%D0%B7%D0%B0_%D1%88%D0%B0%D0%B3%D0%BE%D0%BC:%D0%A2%D0%B5%D0%BA%D1%81%D1%82
https://directx.fandom.com/ru/wiki/DirectX_11_%D1%88%D0%B0%D0%B3_%D0%B7%D0%B0_%D1%88%D0%B0%D0%B3%D0%BE%D0%BC:_%D0%9E%D0%B1%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D1%84%D1%80%D0%B5%D0%B9%D0%BC%D0%B2%D0%BE%D1%80%D0%BA%D0%B0
http://www.d3dcoder.net/resources.htm
https://www.unknowncheats.me/forum/d3d-tutorials-and-source/73082-d3d11-text-drawing.html
Название: MPC Video Renderer
Отправлено: V0lt от 30 декабря 2019, 07:27:25
Релиз MPC Video Renderer v0.3.8.1060 (https://github.com/Aleksoid1978/VideoRenderer/releases/tag/0.3.8).
Описание на русском (https://mpc-be.org/forum/viewtopic.php?id=381).
Описание на английском (https://github.com/Aleksoid1978/VideoRenderer/blob/0.3.8/Readme.md).

Изменения:
Улучшена совместимость с другими проигрывателями.
Исправлено включение-выключение поддерживаемых форматов для видеопроцессоров DXVA2 и D3D11 во время воспроизведения.
Ускорен рендеринг статистики для DX9 и DX11. Используется заранее сгенерированая текстура с символами.
Название: MPC Video Renderer
Отправлено: V0lt от 13 января 2020, 05:54:07
MPCVideoRenderer-v0.4.0.1089_git2020.01.12-7c2fbac (https://yadi.sk/d/X0EVMKP4TcmnHQ)
Устранены зависания при частой перемотке.
Добавлена возможность добавлять шейдеры после масштабирования (шейдеры окна) в режиме DX9.
Требуется MPC-BE 1.5.5.4998 или новее.
Название: MPC Video Renderer
Отправлено: V0lt от 17 января 2020, 10:57:25
Отвечаю на вопросы по внешним шейдерам для режима DX11.

1. "Модель" шейдеров для DX11 изменится на "ps_4_0". Будут другие привязка к регистрам, описание доп. параметров, параметры в main и получения пикселей.
Для сравнения шейдер correction_ycgco для D3D9 (https://github.com/Aleksoid1978/VideoRenderer/blob/master/Shaders/d3d9/correction_ycgco.hlsl) и D3D11 (https://github.com/Aleksoid1978/VideoRenderer/blob/master/Shaders/d3d11/ps_correction_ycgco.hlsl).

2. Автоматической конвертации шейдров не будет.

3. Шейдеры для DX11 будут лежать в папке Shaders11.
Название: MPC Video Renderer
Отправлено: V0lt от 20 января 2020, 15:24:49
MPCVideoRenderer-v0.4.0.1106_git2020.01.20-2e3f8f9 (https://yadi.sk/d/X0EVMKP4TcmnHQ).
Добавлена поддержка шейдеров в режиме DX11. Для использования загрузки шейдеров понадобиться MPC-BE v1.5.5.5025 или новее.
Устранены утечки памяти.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 24 января 2020, 11:57:06
V0lt

В последних версиях MPC VR, во время воспроизведения потоковых видео файлов, присутствуют пропуски кадров видео. При этом, сама частота кадров очень нестабильная, постоянно прыгает.
Прилагаю видеозапись (https://yadi.sk/i/DBIRhkXWyUCGkw). На EVR-CP все нормально.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 24 января 2020, 13:56:48
Да не может быть это связано с VR, давай ссылку(ссылки) - проверю/сравню.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 24 января 2020, 14:07:56
Цитата: Aleksoid1978Да не может быть это связано с VR, давай ссылку(ссылки) - проверю/сравню.
Вот ссылка.

Тогда почему на EVR-CP нормально? Странно...
Название: MPC Video Renderer
Отправлено: V0lt от 24 января 2020, 15:47:06
Evgeniy1990Erf
Воспроизводится видео 60 fps. Декодируется аппаратно, кодек неизвестен. Шейдеры надеюсь не добавлены.
Ответ почему можно дать, если будут скриншоты GPU-Z после 10 секунд воспроизведения с одинаковым размером окна:
1) для EVR-CP или старого MPC VR (v0.3.8.1060);
2) для свежего MPC VR.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 24 января 2020, 16:34:19
Цитата: V0ltВоспроизводится видео 60 fps. Декодируется аппаратно, кодек неизвестен. Шейдеры надеюсь не добавлены.
Ответ почему можно дать, если будут скриншоты GPU-Z после 10 секунд воспроизведения с одинаковым размером окна:
1) для EVR-CP или старого MPC VR (v0.3.8.1060);
2) для свежего MPC VR.
Шейдеры я не добавлял.

Прилагаю два скриншота:

1. Свежий MPC VR
2. EVR-CP
Название: MPC Video Renderer
Отправлено: V0lt от 24 января 2020, 22:04:23
Evgeniy1990
Очень странно, нагрузка в MPC VR меньше получается.

1. Какой аудиорендерер используется?
2. Если файлы скачать и воспроизвести локально будет ли проблема?
3. В стабильном MPC VR v0.3.8.1060 проблема есть?

Добавлено: 2020-01-24 22:04:23

mpcvr_1113_d3d11_win7 (удалено)
Для тех у кого Windows 7 SP1 + Platform Update.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 25 января 2020, 00:02:53
Цитата: V0ltОчень странно, нагрузка в MPC VR меньше получается.

1. Какой аудиорендерер используется?
2. Если файлы скачать и воспроизвести локально будет ли проблема?
3. В стабильном MPC VR v0.3.8.1060 проблема есть?
1. Используется MPC Audio Renderer
2. Будет даже локально. Тут не имеет значения софт или же DXVA2.
3. К сожалению, проблема есть даже в стабильнолй версии.

В общем, я более тщательно протестировал и проверил несколько драйверов и выяснилось следующее - оказывается данная проблема есть только на видео файлах с высокой частотой кадров (50/60 FPS) и только на "AMD Adrenalin 2020 Edition" - драйерах. На драйверах "AMD Crimson Edition" данной проблемы нет.

Но, что интересно и очень странно, так это то, что проблема не в самих драйверах Adrenalin, а именно в нашем MPC VR, поскольку на том же EVR-CP данной проблемы, при использовании Adrenalin, нет и не наблюдается вообще.

Т.е. какая-то, скажем так, "несовместимость" нашего MPC VR с драйверами  AMD Adrenalin Edition.
С "Адреналином" наш MPC VR работает и ведет себя некорректно на видео файлах с высокими частотами кадров.

Очень жаль... Возможно есть какой-нибудь способ подружить MPC VR с Adrenalin.

DASH@50/60 FPS на "Adrenalin" + "MPC VR" смотеть невозможно, картинка дерганная.

Добавлено: 2020-01-25 00:02:53

V0lt,
Цитироватьmpcvr_1113_d3d11_win7
Для тех у кого Windows 7 SP1 + Platform Update.
Круто, DX11 на Windows 7!

Только вот изображение почему-то зеленое.
И видеопроцессор используется шейдерный.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 25 января 2020, 02:09:45
Цитата: Evgeniy1990Возможно есть какой-нибудь способ подружить MPC VR с Adrenalin.
DASH@50/60 FPS на "Adrenalin" + "MPC VR" смотеть невозможно, картинка дерганная.

Нет ни у кого Radeon.
Название: MPC Video Renderer
Отправлено: V0lt от 26 января 2020, 13:18:18
Цитата: Evgeniy1990Круто, DX11 на Windows 7!

Только вот изображение почему-то зеленое.
И видеопроцессор используется шейдерный.
Не особо там и круто :-).
Да. Есть проблема при активном декодере DXVA. Что-то не так копируется.

Добавлено: 2020-01-25 07:39:56

Цитата: Evgeniy19901. Используется MPC Audio Renderer
2. Будет даже локально. Тут не имеет значения софт или же DXVA2.
3. К сожалению, проблема есть даже в стабильнолй версии.
Попробуй на DirectSound и локально.

Добавлено: 2020-01-25 09:29:29

mpcvr_1113_d3d11_win7_v2 (удалено)
Исправил работу D3D11 на Win7 совместно с декодером DXVA.

Ограничения D3D11 на Win7.
1. Видеодекодер и видеопроцессор D3D11 отсутствуют. Встройки скорее всего будут тупить.
2. Деинтерлейса не будет.
3. Swap effect Flip отсутствует.

Добавлено: 2020-01-25 13:20:56

mpcvr_1113_d3d11_win7_v3 (удалено)
Опцию "Use Direct3D 11" в этой сборке возможно включить только начиная на Win7SP1. На простой Win7 не включится.
При включении "Use Direct3D 11" на Win7SP1, опции которые не могут работать на этой системе становятся неактивными. Отключенные настройки не меняются, чтобы потом можно было спокойно вернуться на DX9.

Добавлено: 2020-01-26 13:18:18

MPCVideoRenderer-v0.4.0.1116_git2020.01.26-4298231
Добавлена поддержка режима D3D11 для Windows 7 SP1.
Для D3D11 на Win7 cкорее всего понадобиться Platform update (KB2670838).
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 27 января 2020, 10:33:21
V0lt,
ЦитироватьПопробуй на DirectSound и локально.
Попробовал. К сожалению, частота кадров прыгает от 57 до 62 FPS, т.е она нестабильная.
Из-за этого, во время воспроизведения, постепенно увеличивается количество пропущенных кадров.
Аналогично и на WASAPI Audio Renderer.

Непонятно, что такого корпорация AMD изменила в Adrenalin - драйверах, что MPC VR стал так некорректно воспроизводить видео файлы с высокими частотами кадров. Просто загадка какая-то... При этом на EVR-CP все нормально, никаких пропусков кадров. Может быть это связано с синхронизацией кадров?

Adrenalin, по сути, - тот же Crimson, только интерфейс более красивый и навороченный стал, понты для графолюбителей.

ЦитироватьMPCVideoRenderer-v0.4.0.1116_git2020.01.26-4298231
Проблема с зеленым экраном при DXVA2 исправлена.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 27 января 2020, 10:56:38
Какие настройки синхронизации на EVR-CP ? Попробуй без галок вообще и сравни.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 27 января 2020, 11:24:44
Aleksoid1978
Цитата: Aleksoid1978Какие настройки синхронизации на EVR-CP ? Попробуй без галок вообще и сравни.
Так я и проверял с настройками по умолчанию, без галочек, связанных с синхронизацией кадров.

EVR-CP без настроек синхронизации воспроизводит нормально, без пропусков кадров.
MPC VR вообще не имеет настроек синхронизации кадров. По умолчанию на нем, во время воспроизведения, наблюдается постепенный рост пропусков кадров.

Я также сравнил настройки драйверов Crimson и Adrenalin в плане видео. По сути - одно и тоже.
Также попробовал поиграться с некоторыми настройками, относящимися к видео, но они ничего не дали.

Единственное, что я еще заметил, так это скорость роста пропущенных кадров во время воспроизведения видео на MPC VR. Получается так - чем выше частота дисплея, тем ниже рост скорости кадров во время воспроизведения на MPC VR.

Частота видео: 60 FPS, частота дисплея 60 Гц - быстрый рост скорости пропущенных кадров во время воспроизведения видео на MPC VR.

Частота видео: 60 FPS, частота дисплея 72 Гц - средний рост скорости пропущенных кадров во время воспроизведения видео на MPC VR.

Частота видео: 60 FPS, частота дисплея 75 Гц - медленный рост скорости пропущенных кадров во время воспроизведения видео на MPC VR.

Аналогично и на видео файлах с частотой кадров = 50 FPS. В общем, именно так на "MPC VR" + "Adrenalin".
Конечно, все зависит еще и от самих видео файлов, но в целом картина именно такая.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 27 января 2020, 11:33:15
Бред какой то.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 27 января 2020, 11:54:34
Aleksoid1978
Цитата: Aleksoid1978Бред какой то.
Увы, но это не бред. Это чистая правда.

Пожалуйста, посмотрите сами:

1. 60 Гц
2. 75 Гц
Название: MPC Video Renderer
Отправлено: V0lt от 27 января 2020, 18:27:29
У меня ощущение, что где-то в DWM или драйвере кадры придерживаются на +1 обновление экрана.
Название: MPC Video Renderer
Отправлено: V0lt от 29 января 2020, 05:40:12
Вернулась старая проблема с проигрыванием DVD.
У меня на DVD NTSC на входе частота 9.990i. Найду время - буду искать проблемное изменение.

Добавлено: 2020-01-29 05:30:59

Плохо то, что баг нестабильный.


Добавлено: 2020-01-29 05:35:53

Например заменяю отладочную версию на релизную подменой файла и баг изчезаю. Думаю, ага, вот в чем причина. Возращаю файл обратно и на отладочной версии нормально становиться. :mad:

Добавлено: 2020-01-29 05:40:12

Более менее надежная зацепка, это то что "Microsoft DTV-DVD Video Decoder" перестал подключаться совсем... Или это от другого зависит...
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 29 января 2020, 08:50:38
V0lt,
ЦитироватьБолее менее надежная зацепка, это то что "Microsoft DTV-DVD Video Decoder" перестал подключаться совсем... Или это от другого зависит...
У меня всегда подключается Microsoft DTV-DVD Video Decoder.
ЦитироватьВернулась старая проблема с проигрыванием DVD.
У меня на DVD NTSC на входе частота 9.990i. Найду время - буду искать проблемное изменение.
У меня вообще 8.065i на входе и 20.854 на выходе (https://yadi.sk/i/XQeWzuJ3u5i4vA) вместо 50i, как должно быть с учетом флага интерлейса.
Название: MPC Video Renderer
Отправлено: V0lt от 29 января 2020, 20:31:26
Цитата: Evgeniy1990У меня вообще 8.065i на входе и 20.854 на выходе вместо 50i, как должно быть с учетом флага интерлейса.
Спасибо.

Добавлено: 2020-01-29 19:06:57

В общем у меня сегодня на Win7 баг относительно стабильный.

v0.3.7.1059 (git-2019.12.29-6505dfd) - норм
v0.3.8.1060 - норм
v0.4.0.1084 (git-2020.01.11-f8d946f) - баг

Добавлено: 2020-01-29 20:13:00

Это очень странно, но у меня получается следующее:
v0.4.0.1066 (git-2019.12.30-38a3d46) - норм.
v0.4.0.1067 (git-2019.12.30-7a81052) - ловлю баг с 1-3 попытки.

Добавлено: 2020-01-29 20:15:11

Изменение 7a81052


Добавлено: 2020-01-29 20:31:26

В общем сделал частичный откат 7a81052. Собирайте v0.4.0.1122 и проверяйте на своих системах. Мне похоже помогло на Win7.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 30 января 2020, 04:01:56
V0lt,
ЦитироватьВ общем сделал частичный откат 7a81052. Собирайте v0.4.0.1122 и проверяйте на своих системах. Мне похоже помогло на Win7.
Проверил на Windows 10. Теперь Microsoft DTV-DVD Video Decoder отказывается подключаться совсем.
А при использовании Microsoft DTV-DVD Audio Decoder вообще отсутствует звук. О как... (О_о)
Название: MPC Video Renderer
Отправлено: V0lt от 30 января 2020, 05:13:35
Вопрос был о частоте кадров.

Microsoft DTV-DVD Video Decoder - это отдельная тема.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 30 января 2020, 05:17:49
Microsoft DTV-DVD Video Decoder - на Win 8.1/10 не подключается к MPEG1/2, убрали эту возможность после 7.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 30 января 2020, 05:34:35
Aleksoid1978,
ЦитироватьMicrosoft DTV-DVD Video Decoder - на Win 8.1/10 не подключается к MPEG1/2, убрали эту возможность после 7.
Да что вы говорите... Я воспроизводил баг с частотой кадров на DVD-Video как раз при помощи Microsoft DTV-DVD Video Decoder. Т.е. в моем случае он проявлялся при смене видео декодера. Так же как и у V0lt\'а, баг был нестабильным.
После частичного отката одного изменения, Microsoft DTV-DVD Video Decoder.теперь у меня не подключается совсем, поэтому мне точно не проверить, ушла проблема, или нет, поскольку на встроенном MPC DVD Video Decoder она не проявляется. Вернее - проявляется, но только после обратного возвращения с внешнего видео декодера на встроенный.

V0lt,
ЦитироватьВопрос был о частоте кадров.
После частичного отката проблемного изменения, частота на входе и выходе стала нормальной.
Пример: Вход - 25.000i -> Выход - 50.000 FPS. Это правильно, с учетом флага интерлейса.
Название: MPC Video Renderer
Отправлено: V0lt от 30 января 2020, 05:40:09
Цитата: Evgeniy1990После частичного отката проблемного изменения, частота на входе и выходе стала нормальной.
Спасибо. Сборку 1122 залил.
ЦитироватьДа что вы говорите... Я воспроизводил баг с частотой кадров на DVD-Video как раз при помощи Microsoft DTV-DVD Video Decoder.
Работа этого декодера перепроверяется просто. Подключается обычный EVR или EVR-CP и запускается DVD-Video.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 30 января 2020, 08:43:58
V0lt,
ЦитироватьРабота этого декодера перепроверяется просто. Подключается обычный EVR или EVR-CP и запускается DVD-Video.
Впервые в своей жизни слышу про такой способ. (О_о) Они что связаны (взаимосвязаны)???
Очень странно. Прям чудеса какие-то...  У меня всегда, на любой системе работал Microsoft DTV-DVD Video Decoder. Причем, неважно какой был формат, будь то DVD-Video, или же H.264. Но он всегда подключался к графу фильтров и работал строго в аппаратном режиме. И как вообще EVR-ы с ним могут быть связаны? А если будет тот же VMR-9, или madVR...
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 30 января 2020, 09:07:06
Еще раз повторюсь - начиная с 8(или 8.1) Microsoft DTV-DVD Video Decoder перестал подключатся и декодировать MPEG1/2, DVD в том числе.

Проверяется легко - в графстудии.
Название: MPC Video Renderer
Отправлено: V0lt от 30 января 2020, 17:25:47
Цитата: Evgeniy1990Впервые в своей жизни слышу про такой способ. (О_о) Они что связаны (взаимосвязаны)???
EVR-CP или EVR - это штатные рендереры MPC-BE и MPC-HC уже более десятка лет. Если с этими рендерарами не работает Microsoft DTV-DVD Video Decoder при воспроизведении DVD-Video, то с любым другим не будет и подавно.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 01 февраля 2020, 20:27:56
V0lt,
ЦитироватьEVR-CP или EVR - это штатные рендереры MPC-BE и MPC-HC уже более десятка лет. Если с этими рендерарами не работает Microsoft DTV-DVD Video Decoder при воспроизведении DVD-Video, то с любым другим не будет и подавно.
Ясно, значит EVR и Microsoft DTV-DVD Video Decoder все же связаны между собой. Все-таки как никак у них один создатель - корпорация Майкрософт. Странно, что до этого последнего изменения, в моем случае он всегда подключался к DVD-Video, иначе я бы просто напросто не увидел (не воспроизвел) бы баг с урезанной частотой кадров до 8 FPS вместо 25 и т.д.

EVR-CP - это вообще не штатный и даже не системный видео-рендерер. Он лишь "штатный", т.е. по умолчанию только для всех этих плееров, вроде MPC-HC, MPC-BE, PotPlayer, Light Alloy, начиная с Windows Vista и выше. Но в каждом из них (из данных плееров) он работает по своему (по-разному). Это очень хорошо заметно во время воспроизведения различных видео файлов, а также видно по свойствам и его статистике. Например, в одном - строго 0, 0, 0, в другом - 1, 0, 1, в третьем 16, 0, 0 и т.д. Казалось бы, вроде как один и тот же видео-рендерер, а в разных плеерах выдает совершенно разные результаты. А значит, это совершенно разные EVR-CP-видео-рендереры. У каждого плеера они свои собственные и имеют свои алгоритмы, которые отличаются, иначе бы везде (во всех случаях) были бы совершенно одинаковые результаты.

Просто раньше я не знал и даже не задумывался о том, что поддержку видео декодера можно проверять с помощью видео-рендерера.

Странно тогда, что корпорация Майкрософт оставила аналогичный Microsoft DTV-DVD Audio Decoder, который хоть и подключается к графу фильтров, но совершенно бесполезный, потому что при его использовании просто напросто полностью отсутствует сам звук. Его просто не слышно. Нет его и все на этом.

Непонятно, то ли это проблема самого данного аудио декодера, то ли проблема со стороны наших фильтров, например аудио переключателя, или же аудио рендерера. Но что-то я в этом сомневаюсь. В MPC-HC, кстати, при его же LAV Filters, также нет звука, если в графе фильтров присутствует этот Microsoft DTV-DVD Audio Decoder.
Название: MPC Video Renderer
Отправлено: Saturn3 от 02 февраля 2020, 12:10:57
Microsoft DTV-DVD Audio Decoder умеет проигрывать ас3.

Не умеет DTS-HD.

Смысла им пользоваться мало.
Название: MPC Video Renderer
Отправлено: lexxx от 03 февраля 2020, 13:23:25
Попробовал Ваш рендерер с MPC-HC (Windows 10, GTX 660 или UHD 630).
DXVA2 Flip кажется наименее ресурсоемким. Заметил только моргание видео, при изменении размера окна, но это не критично.
Я не пользуюсь никакой постобработкой. Правильно я понимаю, что в моем случае использование Direct3D11 не даст никаких преимуществ, а только более загруженный GPU?
В описании не понятно, с точки зрения пользователя есть ли разница (Дополнительные возможности режима DirectX 11: - Умеет работать с аппаратным декодером D3D11 - что это дает, не понятно. Разве что DXVA2 перестанет поддерживаться).
Название: MPC Video Renderer
Отправлено: V0lt от 03 февраля 2020, 17:27:42
Принципиальных преимущество режим Direct3D11 пока не дает.
Название: MPC Video Renderer
Отправлено: V0lt от 09 февраля 2020, 14:38:50
Кусок градиента под "лупой" без дизеринга (MPC VR) и с дизерингом (madVR)


Тоже самое увеличено в 4 раза методом ближайшего соседа.
без дизеринга (MPC VR) (https://jpegshare.net/images/16/e6/16e69ec2a114872862a6a0552e5a9764.png) и с дизерингом (madVR) (https://jpegshare.net/images/14/20/14203828a1ccdfb03b0082ddd5f55dc4.png)

Картинки получены следующим образом. Открыл Gradient-16bit.png (https://forum.doom9.org/showthread.php?t=172128) в плеере с помощью MPC ImageSourceFilter (https://mpc-be.org/forum/viewtopic.php?id=539). Чтобы кадр не масштабировался, задал Вид->Видеокадр->Нормальный размер. Использовал в 16-битные текстуры в MPC VR, madVR по умолчанию. Сделал скриншот окна плеера. В графическом редакторе с помощью фильтра "Уровни" задал вход 120-135. Вырезал кусочек из середины.

PS: Дизеринг EVR-CP честно проверить таким способом не получиться, т.к. RGB48 он не понимает и выдает какую-то фигню. Будет время проверю на формате P010.

Добавлено: 2020-02-09 14:38:50

PPS: Проверялось на Windows 7. MPC VR был в режиме Direct3D 9.
Название: MPC Video Renderer
Отправлено: V0lt от 10 февраля 2020, 09:35:31
Выпущен релиз MPC Video Renderer v0.4.1.1130 (https://github.com/Aleksoid1978/VideoRenderer/releases/tag/0.4.1).

Изменения:
Исправлено зависание после частых перемещений по временной шкале.
Добавлена поддержка шейдеров после масштабирования.
Некоторые изменения в статистике.
Устранены некоторые утечки памяти.
Добавлена поддержка режима D3D11 для Windows 7 SP1.
Добавлена поддержка формата ARGB64 (BRA[64]).
Исправлено воспроизведение форматов Y8 и Y800 с нечетной шириной.
Рекомендуемая версия MPC-BE v1.5.5.5044 или новее.
Название: MPC Video Renderer
Отправлено: kingofpower от 12 февраля 2020, 15:05:00
MPC Video Renderer v0.4.1.1130 has a bug

When Texture format set to 16-bit floating point, dark screen appear
Название: MPC Video Renderer
Отправлено: V0lt от 12 февраля 2020, 18:33:29
kingofpower
Я не подтверждаю.
(https://ibb.co/P6VJKYn)
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 12 февраля 2020, 21:24:01
kingofpower,
I don\'t confirm! (https://yadi.sk/i/Uu_KlEYeLrbq6g)
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 13 февраля 2020, 01:41:37
AMD ?
Название: MPC Video Renderer
Отправлено: kingofpower от 13 февраля 2020, 15:29:03
Yes,
1. AMD
2. MPC video renderer (D3D11/16-bit floating point)
3. LAV filter (D3D11)

Not all video appear black screen, some video have this problem (MPCVideoRenderer-v0.3.8.1060 don\'t have this problem)

when texture format set to 8-bit integer, the video play normally

Potplayer\'s internal D3D11 video renderer have the same bug 1 year before, it fixed now

The video quality of MPC video renderer is much better than potplayer internal d3d11 VR
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 13 февраля 2020, 15:43:35
Looks like bug in driver.

1. 16-bit floating is not necessary - use Auto.
2. Try uncheck "DXVA2 and D3D11 video processor" -> "Use for:" -> "P010/P016" and "Texture format" set to "Auto..."
Название: MPC Video Renderer
Отправлено: kingofpower от 13 февраля 2020, 15:52:13
Texture format set to Auto : black screen appear

only when texture format set to 8 bit integer, it plays normally

i really know that 16 bit floating pt is not necessary

The same bug appear in potplayer internal D3d11 VR one year before, this is definitely not display driver problem

Now, i use MPCVideoRenderer-v0.3.8.1060, no problem at all
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 13 февраля 2020, 16:43:46
Try uncheck "DXVA2 and D3D11 video processor" -> "Use for:" -> "NV12", "P010/P016" and "other".

Show screenshot with statistics on MPCVideoRenderer-v0.3.8.1060

Добавлено: 2020-02-13 23:43:46

And - we don't have such hardware and can't test/debug.
Название: MPC Video Renderer
Отправлено: kingofpower от 13 февраля 2020, 17:16:53
black screen don\'t appear when uncheck "DXVA2 and D3D11 video processor" -> "Use for:" -> "NV12", "P010/P016" and "other".

but cannot use D3D11 video processor seriously affect video quality

Anyway thx, i will stay on 3.8.1060
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 14 февраля 2020, 01:55:55
Where is screenshot with statistics using old VR ?

Добавлено: 2020-02-14 08:55:55

About Pot DX11 VR - it\'s support selecting 8/10/16 bit texture format ?
Название: MPC Video Renderer
Отправлено: djpete79 от 14 февраля 2020, 14:37:21

Скажите пожалуйста,как узнать точно, включился hdr или нет? Просто цветастая картинка становится и все. С Madvr все переключается,но картинка блеклая.
Название: MPC Video Renderer
Отправлено: V0lt от 14 февраля 2020, 19:01:29
djpete79
Что конкретно подразумевается под "включился hdr"?
В первом сообщении темы расписаны возможности рендерера, там и про HDR есть одна строчка.
Название: MPC Video Renderer
Отправлено: djpete79 от 14 февраля 2020, 23:55:29
Увеличил картинку,посмотрите пожалуйста на настройки рендера, монитор в Hdr не переключается,хотя он включен в настройках монитора.

А полноценный HDR рендер не воспроизводит? смотреть через madvr тогда? просто нравится ваш рендер.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 15 февраля 2020, 07:10:35
Переключать в HDR режим и передавать HDR метаданные на устройство - этого нет, т.к. у разработчиков просто нет ТВ/монитора с поддержкой HDR.

Я тут как то кинул кличь для сбора средств на покупку данного оборудования - но в ответ тишина :)
Название: MPC Video Renderer
Отправлено: V0lt от 15 февраля 2020, 07:15:57
djpete79
Чтобы скриншоты можно было читать, они должны быть полноразмерными (без уменьшения). Показывать большую картинку в сообщении не нужно, достаточно дать ссылку.

Рендерер умеет делать "Автоматическое преобразование HDR в SDR".
Рендерер не умеет делать "HDR passthrough".
Название: MPC Video Renderer
Отправлено: djpete79 от 15 февраля 2020, 11:33:52
Все понял,спасибо! Буду Коди тогда просматривать,но ваш рендер очень крутой! Успехов!!
Название: MPC Video Renderer
Отправлено: V0lt от 15 февраля 2020, 18:09:20
Нашел очень странный баг видеопроцессора D3D11.

Есть файлы test_10bit_bt601.mp4 и test_10bit_bt709.mp4 (https://cloud.mail.ru/public/UJJ2/4zq7tRPrT), которые отличаются лишь TransferMatrix. Открываю каждый файл и переключаю в рендерере формат текстуры.
test_10bit_bt601.mp4 - яркость стабильная.
test_10bit_bt709.mp4 - яркость заметно меняется

Windows 8.1, MPC VR v0.4.2.1131 x64, Nvidia GTX 950.

Прошу проверить на других конфигурациях.

Вот тут есть картинки (https://github.com/Aleksoid1978/VideoRenderer/issues/6) как это может выглядеть.
Название: MPC Video Renderer
Отправлено: MPCfan от 15 февраля 2020, 19:43:13
V0lt,
На Win8 и на hd4000 и на gt730m c яркостью всё нормально с bt709.
Название: MPC Video Renderer
Отправлено: V0lt от 15 февраля 2020, 19:54:27
MPCfan
Там 10-битный источник и декодирование в P010. Твои видеокарты не смогут задействовать видоепроцессор D3D11 на этих сэмплах.
Я попробую сделать 8-битные сэмплы и проверить.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 15 февраля 2020, 20:05:30
V0lt,
ЦитироватьНашел очень странный баг видеопроцессора D3D11.
Проверил файлы на своих конфигурациях:

1. Windows 10 + MPC VR v0.4.2.1131 x64 + NVIDIA GeForce GTX 1050 Ti

test_10bit_bt601.mp4 - стабильная яркость, при переключении формата текстуры не изменяется.
test_10bit_bt709.mp4 - нестабильная яркость, при переключении на формат текстуры 16 bit FLOAT, изображение становится более темным, особенно сам фон. В остальных случаях, кроме FLOAT, яркость остается неизменной (стабильной).

2. Windows 7 SP1 (Platform Update) + MPC VR v0.4.2.1131 x64 + AMD Radeon RX 580 Series

test_10bit_bt601.mp4 - стабильная яркость, при переключении формата текстуры не изменяется.
test_10bit_bt709.mp4 - стабильная яркость, при переключении формата текстуры не изменяется.

При воспроизведении обоих видео файлов, наблюдаются пропуски кадров в режиме D3D11. Это ненормальное поведение. На первой конфигурации воспроизведение полностью нормальное, без пропусков кадров.

Выводы:

1. На NVIDIA присутствует данный очень странный баг D3D11 видеопроцессора.
2. На AMD + Win7 SP1 + D3D11 присутствуют пропуски кадров на видеопроцессоре Shaders, при этом яркость в обоих видео файлах всегда стабильная, т.е. не меняется при переключении форматов текстуры.

В итоге, имеем, по сути, два совершенно разных бага (две проблемы).

Добавлено: 2020-02-15 20:05:30

V0lt,
ЦитироватьВот тут есть картинки как это может выглядеть.
Интересные картинки, особенно те, что более тусклые (бледные) (https://user-images.githubusercontent.com/60872236/74169519-ca28b380-4c6e-11ea-9171-a5707d6e8e3e.png).

Надо будет мне у себя поставить Win10 на машину с видеокартой "Radeon RX 580 Series" и проверить.
Название: MPC Video Renderer
Отправлено: MPCfan от 15 февраля 2020, 20:10:19
V0lt,
Проверил ещё на одном девайсе с hd5500, Win8.1, dx11native+dx11 videoprocessor(если верить статистике), всё ОК с яркостью.
Название: MPC Video Renderer
Отправлено: V0lt от 15 февраля 2020, 20:28:34
MPCfan
На 8-битных источниках проблемы нет. Я добавил сэмплов (https://cloud.mail.ru/public/UJJ2/4zq7tRPrT).

Evgeniy1990
Спасибо. По крайней мере баг повторяется на Nvidia на Win8.1 и Win10.

На Windows 7 проверять бессмысленно. В ней отсутствует видеопроцессор D3D11.

Кстати, в том Issue 6 (https://github.com/Aleksoid1978/VideoRenderer/issues/6) пишут, что на прошлой стабильной версии проблемы нет.
Проверю свои сэмплы...

Добавлено: 2020-02-15 20:28:34

Проверил. Действительно, v0.3.8.1060 воспроизводит test_10bit_bt709.mp4 нормально.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 15 февраля 2020, 20:33:25
V0lt,
ЦитироватьНа Windows 7 проверять бессмысленно. В ней отсутствует видеопроцессор D3D11.
Понятно, что бессмысленно, но зато я увидел баг (проблему) с пропуском кадров во время воспроизведения этих 10-битных видео файлов на D3D11 при работе видеопроцессора Shaders, который вполне можно и желательно бы исправить.
Название: MPC Video Renderer
Отправлено: V0lt от 16 февраля 2020, 08:22:14
Evgeniy1990
Недостаточная производительность D3D11 на Win7 - это не баг. Если считаешь, что "вполне можно" исправить, то напиши как.

Добавлено: 2020-02-15 20:58:37

В общем проблема с яркостью появилась в v0.4.0.1094_git2020.01.17-aaeb993 (https://github.com/Aleksoid1978/VideoRenderer/commit/aaeb9938572ecbde18d6a0b27b7f10912167be37). Буду разбираться...


Добавлено: 2020-02-16 08:22:14

Чуток разобрался. В 1093 было такое же поведение, если использовать шейдерный ресайз. Если шейдерный ресайз не использовался, то D3D11 VP рисовал сразу на бэкбуфере, который всегда 8-битный.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 16 февраля 2020, 08:47:13
Похожая ситуация была - когда сам вывод(SwapChain) пытались сделать 16bit float - так же картинка "портилась".
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 16 февраля 2020, 08:50:30
V0lt,
ЦитироватьНедостаточная производительность D3D11 на Win7 - это не баг.
Что-то не похоже это на естественное поведение самого D3D11 на Win7. Уж больно чрезмерно высокая нагрузка присутствует во время воспроизведения. Настолько высокая, что даже интерфейс с курсором мышки еле двигаются.
Хоть это и не утечка памяти, но поведение именно такое, как будто бы вся память забита подчистую.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 16 февраля 2020, 09:07:33
Ну память можно помониторить. А так - возможно шейдеры "тупят". Все бы ничего - но вот студию в 7 не запустить ))
Название: MPC Video Renderer
Отправлено: V0lt от 16 февраля 2020, 10:26:43
Evgeniy1990
Сравниваем режим D3D11 для Win7 и Win8.1/10 в одинаковых условиях (не используем видеопроцессор D3D11, все на шейдерах). Если на Win7 тупит, а на других системах нормально, то вопрос можно закрыть.

Напомню. Поддержка D3D11 для Win7 сделана ради галочки, работает как работает, код такой же как для других систем. Если тупит, то тупит.

Добавлено: 2020-02-16 10:26:43

MPCVideoRenderer-v0.4.2.1132_git2020.02.16-5a11686 (https://yadi.sk/d/X0EVMKP4TcmnHQ)
Немного разрулил проблему с изменением яркости. Теперь видеопроцессор D3D11 выводит только в целочисленные форматы текстур (8 и 10 бит).
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 16 февраля 2020, 11:42:43
Aleksoid1978,
ЦитироватьВсе бы ничего - но вот студию в 7 не запустить ))
Чего??? О_о У меня на Windows 7 без проблем запускается 2019 студия, к тому же она имеет поддержку Win7 SP1.
Непонятно, откуда у вас такие проблемы...

V0lt,
ЦитироватьMPCVideoRenderer-v0.4.2.1132_git2020.02.16-5a11686
Немного разрулил проблему с изменением яркости. Теперь видеопроцессор D3D11 выводит только в целочисленные форматы текстур (8 и 10 бит).
Теперь яркость всегда стабильная, не меняется, при изменении форматов текстуры. :)
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 16 февраля 2020, 12:00:56
Ну если студия запускается на 7 - то берем ее и смотрим через профайлер кто дает нагрузку, правда сперва надо выяснить нагрузка на что - CPU или GPU.
Название: MPC Video Renderer
Отправлено: V0lt от 16 февраля 2020, 14:10:51
mpcvr_1133_dev11.1 (https://yadi.sk/d/uwBu4owfK9vOwg)
Прошу проверить на разных старых видеокартах режим DX11. Работает или нет.
От видеокарты требуется поддержка DX10 и новее. Система Win7SP1+PlatformUpdate и новее.
В общем чем дремучее будет система, тем интереснее результат.

Что сделано. Интерфейсы ID3D11Device и ID3D11DeviceContext заменены на ID3D11Device1 и ID3D11DeviceContext1.
По идее эта сборка в работе не должна отличаться от предыдущей (https://yadi.sk/d/X0EVMKP4TcmnHQ).
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 16 февраля 2020, 14:21:50
Aleksoid1978,
ЦитироватьНу если студия запускается на 7 - то берем ее и смотрим через профайлер кто дает нагрузку, правда сперва надо выяснить нагрузка на что - CPU или GPU.
Выяснил. Бешеная нагрузка идет именно на GPU, он всегда под 100%.
Если отключить DXVA2 для HEVC, то воспроизведение нормальное, без пропусков кадров.
Значит, проблема, связанная с аппаратным ускорением 10-битных HEVC-файлов на Win7 SP1 + D3D11 + Shaders.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 16 февраля 2020, 14:50:07
Ну не хватает видимо "мощей" одновременно крутить HEVC 10bit + DX11 shaders.
Название: MPC Video Renderer
Отправлено: V0lt от 16 февраля 2020, 15:01:32
Я думаю там на копирование много ресурсов тратиться. Но тогда на Win8.1/10 при тех же условиях ситуация должна быть похожая.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 16 февраля 2020, 15:07:03
Aleksoid1978
Цитата: Aleksoid1978Ну не хватает видимо "мощей" одновременно крутить HEVC 10bit + DX11 shaders.
Это смешно... Быть такого не может, чтобы в аппаратном режиме не хватало мощностей.

Посмотрите, пожалуйста, видеозапись. На ней видно, что частота кадров не соответствует действительной.
Причем, в режиме DXVA2 идет достаточно много копирования данных.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 16 февраля 2020, 15:20:03
Так, разберёмся - декодер же DXVA2. Если так - то смотрим сколько времени занимает копирование, которое для связки DXVA2 + DX11 сделано «для галки», обычным копированием из GPU памяти в локальную, а это очень медленная операция. Видно же сразу по статистике. Уже блин 100500 раз поднимали этот вопрос и опять одно и тоже.

DXVA2 + DX9, либо LAV DX11 Native + DX11 - вот оптимальные связки. Софтовое декодирование одинаково будет работать с DX9/DX11.
Название: MPC Video Renderer
Отправлено: V0lt от 16 февраля 2020, 15:44:23
У Nvidia c копированием все хорошо :)
(https://ibb.co/jTkYFGS)

Добавлено: 2020-02-16 15:44:23

Хотя вот тут пишут (https://gpu.userbenchmark.com/Compare/Nvidia-GTX-950-vs-AMD-RX-580/3510vs3923), что GTX 950 должна быть слабее RX 580. :)

Evgeniy1990, какие у тебя процессор и оперативная память? Память в двухканальном режиме работает?
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 16 февраля 2020, 17:48:05
Aleksoid1978,
ЦитироватьLAV DX11 Native + DX11
Ага, как же... на Win7 эта связка не прокатит.

V0lt,
ЦитироватьEvgeniy1990, какие у тебя процессор и оперативная память? Память в двухканальном режиме работает?
Характеристики системы (https://yadi.sk/i/0nOz6k0L4tpO-Q)
Память у меня работает в двухканальном режиме (MEMORY RUNS AT DUAL CHANNEL INTERLEAVED MODE).
ЦитироватьУ Nvidia c копированием все хорошо
Вот именно, только у NVIDIA. С AMD наш MPC VR работает в разы хуже, чем должен работать.
Складывается такое ощущение, что текущий код совсем не подходит для работы на AMD. Потому что имеются такие неприятные баги, которых быть не должно. Да и машины у меня не настолько слабые, чтобы не вытянуть какой-то элементарный HEVC в аппаратном режиме. Также, обе машины немного разогнаны. Если даже с разгоном выскакивают такие баги, тот тут вывод только один - наш MPC VR не приспособлен для нормальной работы на AMD.
Это я еще проверяю на стабильном сертифицированном (WHQL) драйвере - кримсоне. Про Адреналин я вообще молчу, там творится та еще дичь, я уже говорил ранее. И все сводится именно к коду нашего MPC VR.

Я готов вам оставить свою машину с AMD -видеокартой для отладки программного кода MPC VR.
Название: MPC Video Renderer
Отправлено: V0lt от 16 февраля 2020, 20:09:45
Evgeniy1990
Я не услышал ответ на вопрос. На Win8.1/10 так же тупит или нет? Есть возможность проверить?
ЦитироватьХарактеристики системы (https://yadi.sk/i/0nOz6k0L4tpO-Q)
DDR2, допустим там скорость 6400 МБ/с.
У меня DDR3, судя по CPU-Z скорость 14200 МБ/с. Это в 2,2 раза быстрее. Где-то еще теряется...

Добавлено: 2020-02-16 20:09:45

Evgeniy1990, попробуй сборки mpcvr_1133_upsr_1 и mpcvr_1133_upsr_2 (https://yadi.sk/d/uwBu4owfK9vOwg).
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 17 февраля 2020, 00:29:23
V0lt,
ЦитироватьЯ не услышал ответ на вопрос. На Win8.1/10 так же тупит или нет? Есть возможность проверить?
Я же сказал, поставлю Windows 10 на машину с AMD Radeon RX 580 Series и проверю.

В общем, установил и проверил поведение на Windows 10. Также присутствуют пропуски кадров на 10-битных HEVC-видео файлах в режиме D3D11 в аппаратном режиме DXVA2 на видеопроцессоре D3D11.

Добавлено: 2020-02-17 00:29:23

V0lt,
ЦитироватьEvgeniy1990, попробуй сборки mpcvr_1133_upsr_1 и mpcvr_1133_upsr_2.
Проверил ваши тестовые сборки.

1. "mpcvr_1133_upsr_1" - также как и на Git-сборках присутствуют пропуски кадров.
2. "mpcvr_1133_upsr_2" - гораздо лучше работает воспроизведение с незначительными пропусками кадров, т.е. пропуски кадров во время воспроизведения есть, но они появляются постепенно (периодически), спустя несколько секунд.

Единственная неприятность, в вашей второй тестовой сборке "mpcvr_1133_upsr_2", во время воспроизведения присутствует зеленый экран.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 17 февраля 2020, 05:01:07
Ну значит на радеоне слишком затратный прямой доступ к GPU памяти, ну и то что DDR2 тоже может сказаться.

Добавлено: 2020-02-17 12:01:07

Evgeniy1990
Могу подсказать что посмотреть дабы увидеть причину такого длительного копирования данных.
DX11VideoProcessor.cpp - строка 1444 ставишь бряку, запускаешь проигрывание того 10-битного видео. Когда студия останавливается - жмешь F10(один шаг) - и студия покажет сколько времени занял этот кусок кода. Тоже самое на строке 1446.

Проверять ессно надо в релизной версии.
Название: MPC Video Renderer
Отправлено: V0lt от 17 февраля 2020, 08:42:05
Evgeniy1990
Про зелень непонятно. Нужен скриншот статистики.

Собрал mpcvr_1137_upsr_3 (https://yadi.sk/d/uwBu4owfK9vOwg). Эта версии должна быть более совместимая с разными входными форматами.

Добавлено: 2020-02-17 08:29:01

Зелень увидел на Win8.1.


Добавлено: 2020-02-17 08:42:05

Выкладываю mpcvr_1137_upsr_4 (https://yadi.sk/d/uwBu4owfK9vOwg). Зелень вроде убрал.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 17 февраля 2020, 08:48:33
V0lt,
ЦитироватьВыкладываю mpcvr_1137_upsr_4. Зелень вроде убрал.
Ха, зелень так и осталась.
И еще поломался D3D11 видеопроцессор. Работает только Shaders.
Название: MPC Video Renderer
Отправлено: V0lt от 17 февраля 2020, 10:19:01
Evgeniy1990
Спасибо.

Пойдем по более простому варианту. Прелагаю сборку mpcvr_1137_nv12p010_d3d11vp (https://yadi.sk/d/uwBu4owfK9vOwg). В рендерере должен быть включен режим D3D11 и статистика, остальные настройки по умолчанию.

В этой сборке должно ускориться для NV12 и P010. Хорошо заметно на встройках.

Добавлено: 2020-02-17 10:19:01

Decoder DXVA + видеопроцессор D3D11
Было:
D3D9.LockRect/UnlockRect -> D3D11.Map/Unmap -> memcpy -> D3D11.CopyResource
Стало:
D3D9.LockRect/UnlockRect -> D3D11.UpdateSubresource

Програмный декодер + видеопроцессор D3D11
Было:
D3D11.Map/Unmap -> memcpy -> D3D11.CopyResource
Стало:
D3D11.UpdateSubresource
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 17 февраля 2020, 19:35:06
V0lt,
ЦитироватьПойдем по более простому варианту. Прелагаю сборку mpcvr_1137_nv12p010_d3d11vp. В рендерере должен быть включен режим D3D11 и статистика, остальные настройки по умолчанию.
Проверил вашу сборку. Увы, пока не помогло...

Результат печальный.

1. Присутствует зеленый экран на ваших 10-битных HEVC.
2. Во время воспроизведения, присутствуют пропуски кадров.
3. D3D11-видеопроцессор работает.

Прилагаю короткую видеозапись (https://yadi.sk/i/b1v_0kyVDoCgPw).
Обратите пожалуйста внимание на статистику MPC VR в данной сборке.
Название: MPC Video Renderer
Отправлено: V0lt от 17 февраля 2020, 20:54:50
Evgeniy1990
Даже не знаю что сказать. Сделай лог для mpcvr_1138_nv12p010_d3d11vp_Debug с помощью DebugView, пожалуйста. Находится там же.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 17 февраля 2020, 21:37:27
Цитата: V0ltДаже не знаю что сказать. Сделай лог для mpcvr_1138_nv12p010_d3d11vp_Debug с помощью DebugView, пожалуйста. Находится там же.
Сделал. Пожалуйста.
Название: MPC Video Renderer
Отправлено: V0lt от 18 февраля 2020, 06:44:15
Evgeniy1990, судя по логу все хорошо. Почему у тебя зелень в этом билде, мне непонятно.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 18 февраля 2020, 06:51:52
V0lt,
ЦитироватьEvgeniy1990, судя по логу все хорошо. Почему у тебя зелень в этом билде, мне непонятно.
Вот и мне непонятно. Что самое странное, так это то что зелень присутствует только в ваших тестовых билдах, на Git-билдах ее и близко нет.
Название: MPC Video Renderer
Отправлено: V0lt от 18 февраля 2020, 06:56:27
Evgeniy1990
На этой машине студия установлена? Это может повлиять на полноту лога.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 18 февраля 2020, 07:06:02
V0lt,
ЦитироватьНа этой машине студия установлена?
Конечно, установлена.

Я предлагаю вам сделать проще, подключиться ко мне удаленно через TeamViewer (https://www.teamviewer.com/ru/) и удаленным способом разобраться. Данные для входа могу отправить вам в личку.
Студия, все исходники и весь инструментарий у меня установлены и настроены.
Название: MPC Video Renderer
Отправлено: V0lt от 18 февраля 2020, 09:08:50
В общем все очень странно. У тебя на AMD UpdateSubresource() просто не работает и никаких ошибок не выдает.

Nvidia не советует использовать UpdateSubresource() для часто изменяемых ресурсов, но если не использовать, то приходится делать дополнительное копирование, т.к. D3D11 VP хочет текстуру определенного типа. А на встройках Intel лишнее копирование заметно тормозит процесс передачи кадра в D3D11 VP. Такая вот ерунда.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 18 февраля 2020, 15:47:25
V0lt,
ЦитироватьВ общем все очень странно. У тебя на AMD UpdateSubresource() просто не работает и никаких ошибок не выдает.

Nvidia не советует использовать UpdateSubresource() для часто изменяемых ресурсов, но если не использовать, то приходится делать дополнительное копирование, т.к. D3D11 VP хочет текстуру определенного типа. А на встройках Intel лишнее копирование заметно тормозит процесс передачи кадра в D3D11 VP. Такая вот ерунда.
Да уж, ну и ерунда... Один не требует, другой - требует, третьему хуже с требуемой функцией...
Получается, что для каждого вендора (производителя графического процессора) требуется свой собственный определенный алгоритм (программный код). Выходит, что реализовать некий универсальный алгоритм сразу для трех вендоров не получится.
Название: MPC Video Renderer
Отправлено: V0lt от 19 февраля 2020, 09:11:32
Сейчас способ копирования как раз универсальный. Но он на встроенных видеокартах тормозит. Я попытался сделать быстрее, но на AMD не прокатило.

В общем обновил сборку mpcvr_1144_d3d11vp_UpdateSubresource (https://yadi.sk/d/uwBu4owfK9vOwg). Вдруг кто-нибудь еще захочет потестировать на Intel.
Название: MPC Video Renderer
Отправлено: lexxx от 19 февраля 2020, 09:33:25
С какими-нибудь новым драйвером на AMD вдруг заработает, или новым драйвером НЕ AMD вдруг сломается. Может имеет смысл вынести такие неоднозначные оптимизации в опцию, типа как раньше было в винде: отключить аппаратное ускорение, или уровень аппаратного ускорения. А значения опций в сборке по умолчанию ставить подходящим для вендора на момент выхода сборки. Конечно, у кого оптимизация работает, не хотелось бы ее терять.
Название: MPC Video Renderer
Отправлено: MPCfan от 19 февраля 2020, 12:37:04
V0lt,
В  mpcvr_1144_d3d11vp_UpdateSubresource однозначно есть улучшение на Intel hd4000. По крайней мере удалось воспроизвести фуллэйчдишный файл h264 30fps c dxva2 + dx11 без дроппов и скоростью примерно = 30fps. Например этот же файл в mpcvr_1141 воспроизводится примерно со скоростью в 20fps и кучей дроппов. Также в некоторых случаях уменьшились показания в "copy" почти вдвое при софтовом и dxva2 декодировании. С dx11native изменений не заметил.
Название: MPC Video Renderer
Отправлено: V0lt от 19 февраля 2020, 14:05:09
lexxx
Это не оптимизация. Это просто другой способ записи кадра в текстуру D3D11.

MPCfan
Спасибо.

Краткий отчет.
1. Intel HD 4000. Использование UpdateSubresource заментно уменьшает время копирования.
2. Nvidia GTX 950. Время копирования осталось прежним.
3. Nvidia GT 1030. Время копирования немного увеличилось.
4. AMD RX 580. Время копирования осталось прежним, вместо кадра зелень.

В общем способ имеет смысл внедрять для Intel, но сначала хорошо бы проверить на видеокартах разных поколений (HD 3000, UHD 630), а так же на гибридной графике.
Название: MPC Video Renderer
Отправлено: lexxx от 19 февраля 2020, 17:03:37
Интересно как поведет себя этот механизм на дискретной видеокарте от intel, если она появится. И работает ли такое на встройке от AMD. Я поэтому и подумал делать опционально.
Название: MPC Video Renderer
Отправлено: V0lt от 22 февраля 2020, 09:26:36
В версии v0.4.2.1152 (https://yadi.sk/d/X0EVMKP4TcmnHQ) добавлен дизеринг при финальном уменьшении разрядности цвета с 10/16 битн до 8 бит. Это должно улучшить плавные переходы на качественном 10-битном видео.

Добавлено: 2020-02-22 09:26:36

Я провел некоторые тесты в режиме DX9 и заметил, что время "Render" практически всегда 0. Subs также редко бывает больше 0. Меняется лишь Stats. Скорее всего все команды улетают в D3D9 без ожиданий, и лишь SetRenderTarget и PresentEx работают с ожиданием.
В общем вывод таймингов надо будет переделать...
Название: MPC Video Renderer
Отправлено: V0lt от 23 февраля 2020, 15:55:07
В режиме DX11 заметил странность.
Видео тормозит, пропусков кадров почему-то нет. Сабы отключены. SynсOffset естественно растет, но кадры упорно не выбрасываются.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 24 февраля 2020, 05:44:21
Так нагрузить Present не смог - но в других случаях у меня норм пропускаются кадры.
Название: MPC Video Renderer
Отправлено: V0lt от 24 февраля 2020, 09:57:15
Aleksoid1978
Нагрузить просто. Добавить шейдеров "Adaptive sharpen" от 3 до 5 шт и сделать размер окна побольше.

Добавлено: 2020-02-24 08:10:25

Хотя это только для встройки легко. Для GTX 950 и 20 шейдеров нипочем, потупит при инициализации, но потом вытянет.

Добавлено: 2020-02-24 09:57:15

Дропается кадр или отображается отвечают функции базового рендерера. Там сложный механизм, который разруливает кучу ситуаций.

Пока только одна версия. DX9 у нас в отдельном потоке, а DX11 - нет.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 24 февраля 2020, 13:35:38
Вызов Render() у нас идет в основном потоке на DX9/11, тут нет никакой разницы.

Добавлено: 2020-02-24 20:35:38

С эмулировал "долгий" Present(выставил просто Sleep() после вызова) - все равно все ок, кадры пропускаются.
Название: MPC Video Renderer
Отправлено: V0lt от 24 февраля 2020, 19:35:11
Немного потестировал на Intel HD 4000 и окне на весь рабочий стол..
Добавляю один шейдер Nightvision и несколько Adaptive sharpen.
1+5 - нормально.
1+(6-8) - растет Sync offset, дропов нет, видео отстает от звука.
1+9 - появляются дропы, Sync offset не растет, нормально.

В коде есть условия, которые заставляют выводить кадр принудительно. Это иногда бывает нужно, но не в этом случае. Надо будет еще поизучать и потестировать.
Название: MPC Video Renderer
Отправлено: krmit от 25 февраля 2020, 17:23:07
MPC-VR 1148/1165, MPC-BE 5092/5095, Win7x64.
С включенным режимом DX11 на видео с субтитрами при появлении первой строки экран мигает белым, видно только строку субтитра.
На DX9 такого нет.
Название: MPC Video Renderer
Отправлено: V0lt от 25 февраля 2020, 18:51:42
krmit
Белый экран не видел. Если хочется нормального воспроизведения субтитров, то посоветую использовать режим DX9.

Добавлено: 2020-02-25 18:51:42

Тем более в Win7, режим DX11 чисто для галочки сделан.
Название: MPC Video Renderer
Отправлено: Angel от 25 февраля 2020, 18:54:49
V0lt, а в WIN 10?
а то мб я зря включаю его в своей 10 x64 LTSB.
Название: MPC Video Renderer
Отправлено: V0lt от 25 февраля 2020, 20:01:58
Цитата: Angelа то мб я зря включаю его в своей 10 x64 LTSB.
Люди! У вас же есть глаза! :)
Я не могу ответить, лучше у вас режим DX11 или такой же как DX9. :)

Я уже писал, что DX11 - перспективный режим для Win10 (и возможно для Win8.1), но что-то радикально лучшего в нем сейчас нет.

Добавлено: 2020-02-25 20:01:58

Режим D3D11 медленнее работает с декодером DXVA.
Режим D3D11 медленнее выводит субтитры.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 25 февраля 2020, 21:21:38
V0lt,
ЦитироватьЛюди! У вас же есть глаза! smile
Я не могу ответить, лучше у вас режим DX11 или такой же как DX9. smile
Да, у меня есть глаза, а кроме них, есть еще и великолепная внимательность, которая мне говорит, что режим DX11 лучше всего работает на видеокартах от NVIDIA и хуже всего работает на видеокартах от AMD.
Что касается режима DX9, то он нормально работает на видеокартах обоих крупных производителей (NVIDIA/AMD).
ЦитироватьЯ уже писал, что DX11 - перспективный режим для Win10 (и возможно для Win8.1
<удалено модератором>

Еще раз перечислю основные проблемы режима DX11 на видеокартах от AMD:

1. Не работает аппаратный деинтерлейс. Ни с какими драйверами вообще. Гребенка присутствует всегда.
2. Пропуски кадров на 10-битных видео файлах в режиме аппаратного ускорения DXVA2.
3. Любимая проблема AMD с древнейших времен - зеленый экран, если что-то пошло не так, или что-то идет не по спекам (спецификациям). Т.е. чуть что - сразу зелень на все видео.
4. Discard работает отвратительно на видео файлах с высокими частотами кадров (50/60 FPS)
5. Масштабирование AMD GPU приводит к фризам видео кадров и снижению их частоты.
6. Зависимость от частоты обновления экрана (дисплея). Чем она меньше, тем больше пропусков кадров.
7. Мерцание субтитров на AMD в режиме DX11. Особенно проявляется при выходе из спящего режима.
8. Возможен некорректный расчет памяти в режиме FlipEx / Flip Discard / Flip Sequential, из-за чего может вылететь BSOD с ошибкой "0x19 BAD POOL HEADER".
9. Dither под вопросом. Работает он, или нет - одному только богу AMD известно.

Исходя из данных проблем, можно смело подтвердить слова V0lt\'a - а именно вот эти:
"Режим D3D11 медленнее работает с декодером DXVA".

Что касается наличия медленного вывода субтитров, то тут, лично я, не увидел совершенно никакой разницы, по сравнению с режимом DX9. На обоих режимах субтитры выводятся одинаково.

<удалено модератором>
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 26 февраля 2020, 04:06:17
Цитата: krmitMPC-VR 1148/1165, MPC-BE 5092/5095, Win7x64.
С включенным режимом DX11 на видео с субтитрами при появлении первой строки экран мигает белым, видно только строку субтитра.
На DX9 такого нет.

Можешь хоть скрин показать как это выглядит ?

Добавлено: 2020-02-26 11:06:17

Нашел тут простые сабы но хорошо видно плавность в движении - https://yadi.sk/d/HFGmW4lI6ViH4A
На MPC VR что DX9, что DX11 - вывод рывками. EVR-CP(никаких галок VSync не выставлено)/madVR - намного плавнее.

P.S. Вроде как после коммита 4714f04 стало плавнее.
Название: MPC Video Renderer
Отправлено: Angel от 26 февраля 2020, 17:17:36
господа, всем большое спасибо за ваши ответы!
простите что не слежу за форумом и задаю повторные вопросы. (которые уже были)
Evgeniy1990, насчёт навидии интересная инфа: я всегда был сторонником их продукции и сейчас у меня 1070 gtx.
---
насчёт сабов к сожалению я вам ничем помочь не могу, тк исползую XySubFilter.
раньше пока я сидел на встроенном рендере субтитров, но жизнь вынудила поставить внешний фильтр, тк анимешники народ не следующий стандартам написания сабов и зачастую их творения отображались во встроенном движке как минимум некорректно (я писал об этом пару раз на руборд в наш профильный топик).
в итоге устал бороться и просто поставил фильтр, 99% проблем с сабами исчезли.

вот и сейчас
ЦитироватьРежим D3D11 медленнее выводит субтитры.
как пишет V0lt, на XySubFilter в директ 11 я этого никогда не замечал.
Название: MPC Video Renderer
Отправлено: V0lt от 27 февраля 2020, 19:55:09
Выложил MPCVideoRenderer-v0.4.2.1168. В этой сборке у меня для веб-камеры стало выдавать нормальные данные в статистике.

Добавлено: 2020-02-27 19:53:35

Цитата: Evgeniy19909. Dither под вопросом. Работает он, или нет
Работу дизеринга на типовом мониторе врядли можно увидеть.
Имхо, нужен большой телевизор с честной 8-битной (или лучше) матрицей, работающий в режиме "ПК", "Рабочий стол" или другом подобном, который минимизирует обработку картинки самим телевизором. Смотреть на нем надо видео с плавными градиентами (закаты там всякие или просто тестовые картинки). И вот в некоторых случаях, градиент с дизерингом будет плавнее, чем без него.


Добавлено: 2020-02-27 19:55:09

PS: Дизеринг не удаляет существующий бандинг.
Название: MPC Video Renderer
Отправлено: lexxx от 29 февраля 2020, 12:32:06
MPC Video Renderer v0.4.2.1166 (git-2020.02.26-4714f04) x64 (K-Lite_Codec_Pack_1540_Standard)
Windows 10, GTX660, показания в диспетчере задач

Загрузка GPU для неинтерлейсного видео:
DX11 Discard 28 - лучший режим
DX9 Discard 32
DX11 Flip 30
DX9 Flip 30

Загрузка GPU для интерлейсного видео:
DX11 Discard 46
DX9 Discard 50
DX11 Flip 43 - лучший режим
DX9 Flip 43 - лучший режим

Худшим режимом оказался режим по-умолчанию DX9 Discard, а лучший неоднозначный, но склоняюсь к любому Flip.
В DX11 при включении субтитров заметна пауза.
Название: MPC Video Renderer
Отправлено: V0lt от 29 февраля 2020, 17:20:21
lexxx
При замерах загрузки GPU всегда надо смотреть еще и частоту чипа.
Например: 40% при 600 МГц будут меньше нагружать видеокарту чем 30% при 1200 Мгц.

Добавлено: 2020-02-29 17:20:21

Сделал описание настроек MPC VR (https://mpc-be.org/forum/viewtopic.php?pid=3522#p3522). В будущем будет дополняться.
Название: MPC Video Renderer
Отправлено: V0lt от 01 марта 2020, 08:30:00
Я разобрался с проблемой отсутствия пропуска кадров и последующим рассинхроном видео и звука.

В "базовом рендерере" считается среднее время рендеринга. Это время потом учитывается при решении пропускать кадр или нет. В коде есть фильтр от случайных больших всплесков рендеринга. Например, из последовательности 5 6 5 110 5 7 будет проигнорировано значение 110. Если таких значений будет несколько подряд, то второе и последующее большие значения будут приняты. Например, в проследовательности 5 6 5 110 105 106 7 значение 110 будет проигнорировано, а 105 и 106 учтены.
В моем случае значения постоянно менялись с меньшего на большее. Получалась вот такая последовательность 5 125 6 127 5 126 5 128. Алгоритм игнорировал все большие значения (125 127 126 128) и оставались только малые (5 6 5 5). Рендерер думает, что работает быстро и пропускать кадры не нужно.

Обошел проблему в v0.4.2.1172 git-ea4eb9 (https://github.com/Aleksoid1978/VideoRenderer/commit/ea4eb9eb7a8668feb71644ff7a2eb71dd0c167d0). Почему время рендеринга так сильно мотает мне непонятно.
Название: MPC Video Renderer
Отправлено: lexxx от 01 марта 2020, 09:47:51
V0lt
Все на одной минимальной частоте. Когда увидел, как выстрелил DX11 Discard (интересно, почему это произошло), подумал, что вот и настало время переходить на DX11. Но т.к. на интерлейсном видео этого не происходит, пока остался на DX9 Flip.
Название: MPC Video Renderer
Отправлено: V0lt от 05 марта 2020, 08:49:37
Aleksoid1978
+ SubRenderIntf.h
m_pSubCallBack -> bUseInMPCBE
Был простой рабочий код. Теперь костыли ради кривого кода в второнних плеерах? :|
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 05 марта 2020, 09:09:20
В том то и дело - что m_pSubCallBack не дает никакой гарантии. Свой то код(MPC-BE) мы знаем, в нашем коде уже есть вызовы Paint() -> ReDraw(). А как оно там в других программах - нет. Поэтому я и сделал так - и это правильно.
Название: MPC Video Renderer
Отправлено: V0lt от 07 марта 2020, 13:18:55
Хмм... допустим. Тогда мне непонятно зачем для MPC-BE и других плееров разный код поддержки. Комментриев в коде по использованию bUseInMPCBE нет. Эта переменная просто меняет логику 3 функций. Я не понимаю, как такое поддерживать.

Добавлено: 2020-03-07 13:18:55

Например CMpcVideoRenderer::SetMediaType() в которой есть такой код:
if (!bUseInMPCBE) {
    Redraw();
}
У меня нет ни одной идеи, зачем понадобился этот костыль именно в этой фукции.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 07 марта 2020, 15:29:33
Чем мешает ? :)

Ну а по факту - честно говоря я даже не знаю зачем в CMpcVideoRenderer::SetMediaType() вызов принудительной отрисовки.
Название: MPC Video Renderer
Отправлено: V0lt от 10 марта 2020, 18:21:50
Проблему с поворотом добавил в "Известные проблемы" (https://mpc-be.org/forum/viewtopic.php?pid=3523#p3523).

Нашел баг округления в расчетах. Суть в следующем. Имеем маленькую квадратную картинку (например, 18x18). Раскрываем окно на весь экран, слева и вправа картинки черные поля. Нажимаем Num9, и вместо равномерного увеличения, картинка некоторое время увеличивается только по ширине.

Добавлено: 2020-03-10 18:21:50

Радикально устранил ошибку округления в mpcvr_1180_fix_geometry_1 (https://yadi.sk/d/X0EVMKP4TcmnHQ/Test) для режима DX9. В результате чего рендерер стал намного больше кушать при сильном зуме.
Название: MPC Video Renderer
Отправлено: MPCfan от 14 марта 2020, 20:50:31
V0lt,
На паузе в статистике mpc-vr некоторые элементы реагируют на движение мышки в зоне видео-области в полно-экранном режиме > https://yadi.sk/i/Rm2fNSjiINoSlg Так должно быть?
Название: MPC Video Renderer
Отправлено: V0lt от 14 марта 2020, 21:36:46
MPCfan
Да так и должно быть, т.к. рендерер перерисовает кадр и статистику.

Ранее статистика еще считала кадры при любой перерисовке, но это некоторым сильно не понравилось (типа "некрасиво") и данную фичу урезали.
Название: MPC Video Renderer
Отправлено: MPCfan от 14 марта 2020, 21:42:13
V0lt,
Спасибо. Понял.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 15 марта 2020, 06:22:21
На самом деле надо глянуть в коде MPC-BE - зачем при каждом движении мыши вызывается отрисовка.

P.S. Оптимизировал это дело, теперь не будет вызова перерисовки при простом движении мыши.
Название: MPC Video Renderer
Отправлено: Prog от 24 марта 2020, 13:12:10
А где бы описание интерфейсов посмотреть? У меня (ProgDVB) чёрный экран только.
Название: MPC Video Renderer
Отправлено: V0lt от 24 марта 2020, 18:26:51
Prog
Все стандартные интерфейсы на скриншоте (GraphStudioNext).
(https://ibb.co/9NNFnyy)
Описание можно найти по ссылкам, которые дает GraphStudioNext или поиском на сайта Microsoft.
Название: MPC Video Renderer
Отправлено: Prog от 24 марта 2020, 19:54:42
Смог получить картинку, разбирваюсь дальше....
1. put_MessageDrain не реализован? как мышиные события перехватывать?
2. Какой способ для вывода битмапов поверх? (osd)
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 25 марта 2020, 08:28:47
OSD нет. А по поводу сообщений - разве они неловяться в основном приложении ? Ибо в MPC-BE, MPC-HC и Pot все нормально.
Название: MPC Video Renderer
Отправлено: Prog от 26 марта 2020, 11:20:31
А как можно получить события миши в другом окне? Может забыл чего..
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 26 марта 2020, 11:38:48
Ну в том же MPC-BE/HC все просто - получаем события в окне вывода видео(то окно, чей HWND передается в VR). И все.
Так что я не совсем понимаю суть вопроса.
Название: MPC Video Renderer
Отправлено: Prog от 26 марта 2020, 14:36:43
А как именно? Есть окно VRWindow, которое своим WndProc получает события мыши. Мне как получить? Перехватывать WndProc? Целый хак, вместо стандартного put_MessageDrain
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 26 марта 2020, 15:44:52
А что, в своём окне ты разве не получаешь эти события ? В MPC-BE/HC так и есть, без всяких хаков.
Название: MPC Video Renderer
Отправлено: Prog от 26 марта 2020, 17:52:38
Нет. Их получает то окно в которое события приходят. WM_LBUTTONDOWN,WM_MOUSEMOVE,...
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 27 марта 2020, 05:58:59
Ну вот пробуем - реализовал поддержку put_MessageDrain() и последующий PostMessage() в получаемый HWND внутри WndProc. Правда не смог проверить в MPC-BE(не приходят сообщения по клавиатуре/мыше), видимо потому что основное окно(видео-окно) перехватывает сообщения.

https://yadi.sk/d/fu0iMyvbxvfdMg
Название: MPC Video Renderer
Отправлено: oliv77@r159 от 27 марта 2020, 21:59:29
Привет команда,спасибо за вашу прекрасную работу

статистика всегда равна нулю,они ничего не указали
https://zupimages.net/viewer.php?id=20/13/knny.jpg
Я пробовал других читателей, цветовое пространство, варианты, всегда ноль,в чем проблема?
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 28 марта 2020, 04:16:49
Никакой проблемы - все отлично. По нулям - значит столько тратиться на эти операции.
Название: MPC Video Renderer
Отправлено: Prog от 28 марта 2020, 14:11:10
put_MessageDrain вроде работает. Спасибо.
Если интересно, опубликовал у себя пререлизах.
https://www.progdvb.com/download_progdvb_prerelease.html

Видео рендерер можно настроить в Options->Video->Codecs а потом на закладке OSD включить GUI режим, что бы оно было.
Название: MPC Video Renderer
Отправлено: MPCfan от 28 марта 2020, 23:36:53
Aleksoid1978,
V0lt,
 https://yadi.sk/d/deYPFLXMqWBRig >здесь видеоролик и три скриншота сравнения между evr-cp, madvr и mpc-vr. В принципе везде использовались одинаковые условия(софтовое декодирование и shaders как видеопроцессор). Mpc-vr всегда дроппит в отличии от evr-cp и madvr.
Название: MPC Video Renderer
Отправлено: oliv77@r159 от 28 марта 2020, 23:38:21
Цитата: Aleksoid1978Никакой проблемы - все отлично. По нулям - значит столько тратиться на эти операции.
Спасибо Aleksoid,да, я видел это прошлой ночью с фильмом 2160p 4k статистика отображает результаты кроме нуля.
Вы не хотите отображать статистику как пользовательский EVR в виде графика?
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 29 марта 2020, 04:59:32
Цитата: MPCfanAleksoid1978,
V0lt,
 https://yadi.sk/d/deYPFLXMqWBRig >здесь видеоролик и три скриншота сравнения между evr-cp, madvr и mpc-vr. В принципе везде использовались одинаковые условия(софтовое декодирование и shaders как видеопроцессор). Mpc-vr всегда дроппит в отличии от evr-cp и madvr.

Всегда дропит или только в начале ? Тут бы посмотреть на сам процесс воспроизведения со включенной статистикой, чтобы увидеть что с показателями во время дропов.

Ну а так вполне что шейдеры в madVR более оптимальные, с EVR-CP сравнивать некорректно, там используется DXVA2 VP.
Название: MPC Video Renderer
Отправлено: MPCfan от 29 марта 2020, 07:01:24
Aleksoid1978,
В процессе воспроизведения. Насчёт оптимальности шейдеров в madvr не знаю, а вот CPU он(MadVr) ест больше c софт декодом, да и вообще. В evr-cp использую формат текстуры 10bitinteger и интерполяцию catmull-rom, не dxva2 vp. Сделеал видео всего процесса с mpc-vr  https://yadi.sk/i/0KFxXI_YTNn38A
Название: MPC Video Renderer
Отправлено: V0lt от 29 марта 2020, 07:37:25
Цитата: oliv77@r159Вы не хотите отображать статистику как пользовательский EVR в виде графика?
Я планирую сделать график, но как в EVR он не будет.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 29 марта 2020, 07:49:56
EVR-CP использует DXVA VP для цветового преобразования.
Название: MPC Video Renderer
Отправлено: V0lt от 29 марта 2020, 07:55:17
MPCfan, Aleksoid1978
У EVR на входе NV12, так P010 карта GT 730М не умеет.
P010 занимает в 2 раза больше места, чем NV12, от этого нагрузка выше.

9 пропущеных кадров из 18000. Я бы не заморачивался. :-)
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 29 марта 2020, 08:36:18
Ну и получается что копирование данных вручную, так как карта не поддерживает работу напрямую с P010
Название: MPC Video Renderer
Отправлено: MPCfan от 29 марта 2020, 11:39:11
Aleksoid1978,
V0lt,
30% GPU это разве критично? 70-100%, тут понятное дело. Взять хотя бы gt840m, тут даже dxva2 vp подключается, при 80% GPU дропов куча. Хотя не понял, почему в madvr, если включить dxva для интерполяции и цвета(в статистике p010/chroma=dxva/image=dxva), то на GPU нагрузка в два раза меньше, естественно и пропусков нет(жульничество?). Вот сравнение mpc-vr и madr c dxva2 процессингом на gt840m  https://yadi.sk/d/cyBQEEj_NazWTA
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 29 марта 2020, 13:03:52
Мне кажется тут дропы не из-за нагрузки.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 30 марта 2020, 06:12:20
Цитата: MPCfanAleksoid1978,
V0lt,
30% GPU это разве критично? 70-100%, тут понятное дело. Взять хотя бы gt840m, тут даже dxva2 vp подключается, при 80% GPU дропов куча. Хотя не понял, почему в madvr, если включить dxva для интерполяции и цвета(в статистике p010/chroma=dxva/image=dxva), то на GPU нагрузка в два раза меньше, естественно и пропусков нет(жульничество?). Вот сравнение mpc-vr и madr c dxva2 процессингом на gt840m  https://yadi.sk/d/cyBQEEj_NazWTA

Вот попробуй Debug версию, вывод смотреть в DbgView - после окончания проигрывания выложи лог из DbgView, глянем.
https://yadi.sk/d/cztDlcl0WT4NKg
Название: MPC Video Renderer
Отправлено: V0lt от 30 марта 2020, 09:17:58
MPCVideoRenderer-v0.4.2.1214_git2020.03.30-800fd4c (https://yadi.sk/d/X0EVMKP4TcmnHQ)
Планируется релиз. Прошу попробовать эту версию. Сообщите, если заметите проблемы по сравнению с предыдущим релизом v0.4.1.1130 (https://github.com/Aleksoid1978/VideoRenderer/releases/tag/0.4.1).

PS: Заменил 1213 на 1214, т.к. была проблема в режиме DX9.
Название: MPC Video Renderer
Отправлено: MPCfan от 30 марта 2020, 12:56:34
Aleksoid1978,
Вот три лога https://yadi.sk/d/QfqpW5DDgQkUBQ Пробовал ещё с dx11, разницы нет.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 30 марта 2020, 15:07:01
Вот еще проверь - так же с логом https://yadi.sk/d/AL4lN2dCP6pbSA

Добавлено: 2020-03-30 22:07:01

Ну а так могу сказать только одно - мы используем(в отличии от EVR-CP/madVR) готовое решение для очереди/планировщика в виде базовых классов DirectShow, и при большой нагрузке на CPU он дает сбой(работает не совсем оптимально). Переделывать очередь/планировщик - думаю вряд ли будем в ближайшее время(если вообще решимся).
Название: MPC Video Renderer
Отправлено: MPCfan от 30 марта 2020, 23:21:05
Aleksoid1978,
https://yadi.sk/d/SOYClg7z0ScljA Спасибо за разъяснение. В любом случае не критично.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 31 марта 2020, 03:40:10
Дополню - в базовом классе вообще нет никакой очереди, т.е. когда приходит очередной сэмпл фильтр просто ждет когда наступит его время(ну примерно), поэтому при высокой нагрузке на CPU такой метод не совсем хорош :)
Название: MPC Video Renderer
Отправлено: V0lt от 01 апреля 2020, 08:19:50
Релиз MPC Video Renderer v0.4.3.1215 (https://github.com/Aleksoid1978/VideoRenderer/releases/tag/0.4.3).
Описание на русском (https://mpc-be.org/forum/viewtopic.php?id=381).
Описание на английском (https://github.com/Aleksoid1978/VideoRenderer/blob/0.4.3/Readme.md).

Изменения:
Исправлена яркость кадра для 10-битных видео на выходе видеопроцессора D3D11.
Добавлен дизеринг. Он используется при финальном уменьшении глубины цвета с 10/16 бит до 8 бит.
Исправлена работа статистики при воспроизведении некоторых устройств.
Исправлен пропуск кадров в некоторых редких случаях.
Улучшено отображение субтитров.
Улучшена совместимость с другими плеерами.
Добавлена возможность получения отображаемого изображения.
Добавлена возможность изменения настройки "Swap effect" во время воспроизведения.
Исправлены проблемы с поворотом и зумом в некоторых ситуациях.
Добавлена поддержка вызовов IVideoWindow::put_MessageDrain and IVideoWindow::get_MessageDrain.
Рекомендуемая версия MPC-BE v1.5.5.5125 или новее.
Название: MPC Video Renderer
Отправлено: lexxx от 06 апреля 2020, 11:25:14
MPC Video Renderer v0.4.4.1220 (git-2020.04.05-6e13546) x64 (K-Lite_Codec_Pack_1544_Standard)
Сравнивал без учета субтитров: DX11 Discard - самая маленькая загрузка GPU в неинтерлейсном видео, DX9 Flip/DX11 Flip - практически не отличаются по загрузке GPU и самая маленькая загрузка в интерлейсном видео. Оставил DX11 Flip.
При тестировании режимов словил баг:
Настроить LAV video decoder и MPC VR на DX11 Flip.
Запустить проигрывание видеофайла, остановить его, зайти в настройки MPC VR через контекстное меню на черном экране и изменить Swap effect, сохранить настройки.
Затем снова попытаться зайти в контекстное меню настроек, то пропадает указатель мыши, хотя пункты меню по-прежнему подсвечиваются. Указатель перестает быть виден во всем окне плеера.
Название: MPC Video Renderer
Отправлено: V0lt от 06 апреля 2020, 12:38:14
lexxx, какой плеер (версия) используется?
Название: MPC Video Renderer
Отправлено: lexxx от 06 апреля 2020, 12:51:40
Я пользуюсь стандартным который идет в пакете K-Lite.
MPC-HC (Nightly, 64-bit)
------------------------

Build information:
    Version:            1.9.2.12 (943e342dd)
    Compiler:           MSVC v19.16.27035
    Build date:         Apr  5 2020

LAV Filters:
    LAV Splitter:       0.74.1.34
    LAV Video:          0.74.1.34
    LAV Audio:          0.74.1.34
    FFmpeg compiler:    MinGW-w64 GCC 9.2.0

Operating system:
    Name:               Windows NT 10.0 (build 18363)
    Version:            10.0 (64-bit)

Hardware:
    CPU:                Intel(R) Core(TM) i5-3570 CPU @ 3.40GHz
    GPU:                NVIDIA GeForce GTX 660 (driver version: 26.21.14.4219)
Название: MPC Video Renderer
Отправлено: V0lt от 06 апреля 2020, 13:19:52
Полноценая поддержка имеется только в свежих MPC-BE.

Я думаю, надо будет убрать возможность изменения Swap effect во время воспроизведения, слишком на многое она влияет.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 06 апреля 2020, 14:46:40
Цитата: lexxxНастроить LAV video decoder и MPC VR на DX11 Flip.
Запустить проигрывание видеофайла, остановить его, зайти в настройки MPC VR через контекстное меню на черном экране и изменить Swap effect, сохранить настройки.
Затем снова попытаться зайти в контекстное меню настроек, то пропадает указатель мыши, хотя пункты меню по-прежнему подсвечиваются. Указатель перестает быть виден во всем окне плеера.

А если точно так же на последнем MPC-BE ?
А если не на паузе ?
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 06 апреля 2020, 16:17:38
Цитата: V0ltЯ думаю, надо будет убрать возможность изменения Swap effect во время воспроизведения, слишком на многое она влияет.

Выражусь фразой из известного мультика - "А Баба-Яга против". Не надо ничего убирать, этот же код/принцип в будущем будет использоваться для полноэкранного эксклюзивного режима.
Название: MPC Video Renderer
Отправлено: V0lt от 06 апреля 2020, 17:05:04
Цитата: Aleksoid1978Не надо ничего убирать, этот же код/принцип в будущем будет использоваться для полноэкранного эксклюзивного режима.
Я говорил лишь об отключении возможности изменения Swap effect юзером через настройки во время воспроизведения.

Юзер будет менять настройку, но действовать она будет только в следующей сессии, или если произойдет что-то глобальное. Дергать туда-сюда юзер не сможет.
Название: MPC Video Renderer
Отправлено: lexxx от 06 апреля 2020, 18:27:13
Я говорил не про паузу, а про остановку (СТОП, черный экран), т.к. мне надо сравнить работу разных режимов на одном участке видео - проще на начальном.
Проверил сделать все тоже самое не прерывая проигрывание - проблема повторяется.

Скачал портативную версию MPC-BE
1.5.5 (build 5179) beta
MSVC v19.25.28612
GCC 9.3.0
58.76.100 / 56.42.101
LAV decoder она не видит (не знаю может он на это вообще влиять), DXVA2 работает. Проблема как в MPC-HС не воспроизводится. Есть эффект при остановке видео (СТОП) и изменении Swap в этот момент, то на месте черного экрана появляются кадры из предыдущего режима (если я правильно понимаю). В процессе воспроизведения если сделать то же самое, также мелькают устаревшие кадры. На MPC-HС эффект при остановке не такой выраженный, там остается черный экран, а при смене в процессе воспроизведения тоже заметны мерцания предыдущих кадров.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 07 апреля 2020, 02:15:45
Ну я хз - проверил в MPC-BE, и на стоп и во время проигрывания - все ок, ни какого черного экрана или моргания кадров, с мышкой все отлично :)

Можешь записать видео всего процесса, включив статистику в VR.
Название: MPC Video Renderer
Отправлено: lexxx от 07 апреля 2020, 12:40:07
Здесь пропадание указателя MPC-HC и заполнение черного экрана MPC-BE.
https://yadi.sk/d/OXGIRZ3pgxWo6A
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 07 апреля 2020, 12:42:37
Ок, проверю.
Название: MPC Video Renderer
Отправлено: MPCfan от 07 апреля 2020, 12:51:22
Aleksoid1978,
Ещё добавлю в копилку приколов переключения swap effect на стопе. Прошу помимо проскакивания кадра обратить внимание на переход с flip на discard, здесь почему-то включается нижняя панель инструментов, когда плеер в FS >  https://yadi.sk/i/J3CcJSMGCFCYig
Название: MPC Video Renderer
Отправлено: lexxx от 07 апреля 2020, 13:49:25
Здесь возврат к предыдущим кадрам при переключении в Discard (такое хорошо заметно на уменьшенной скорости воспроизведения в MPC-HC, в MPC-BE я не разобрался как уменьшить скорость)
https://yadi.sk/i/g7v0YX1ZBmjJdA
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 07 апреля 2020, 14:33:12
Так - последний кадр и так моргает, после нажатия стоп и потом на проигрывание, переключение Swap на это не влияет.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 08 апреля 2020, 03:31:49
Цитата: MPCfanAleksoid1978,
Ещё добавлю в копилку приколов переключения swap effect на стопе. Прошу помимо проскакивания кадра обратить внимание на переход с flip на discard, здесь почему-то включается нижняя панель инструментов, когда плеер в FS >  https://yadi.sk/i/J3CcJSMGCFCYig

Исправил.
Название: MPC Video Renderer
Отправлено: V0lt от 17 апреля 2020, 07:12:09
Релиз MPC Video Renderer v0.4.5.1242 (https://github.com/Aleksoid1978/VideoRenderer/releases/tag/0.4.5).
Описание на русском (https://mpc-be.org/forum/viewtopic.php?id=381).
Описание на английском (https://github.com/Aleksoid1978/VideoRenderer/blob/0.4.5/Readme.md).

Изменения:
Исправлена проблема c выводом старого кадра после play-stop-play.
Устранена зеленая линия с правой стороны кадра при использовании видеопроцессора DXVA2 или D3D11 и программного декодера на видеокартах AMD.
Добавлена поддержка интерфейса IMFVideoMixerBitmap. Теперь некоторые плееры смогут накладывать изображения поверх видео (OSD).
Рекомендуемая версия MPC-BE v1.5.5.5183 или новее.
Название: MPC Video Renderer
Отправлено: V0lt от 19 апреля 2020, 09:46:05
Посмотрел возможности втройки AMD Radeon Vega 8 Graphics (Picasso).
1. HEVC 10-бит 4k HDR 60 fps - тянет.
2. VP9 10-бит 4k HDR 60 fps - не тянет.
3. VP9 8-бит 4k HDR 60 fps - не тянет.
4. Копирование п.1 из DXVA2 в D3D11 - не тянет (ожидаемо от втройки).
Название: Re: MPC Video Renderer
Отправлено: V0lt от 02 мая 2020, 20:52:03
MPCVideoRenderer-v0.4.6.1276_git2020.05.02-310ee97 (https://yadi.sk/d/X0EVMKP4TcmnHQ)
Добавлен вывод графика Sync Оffset.
PS: Доработанная версия графика.
Название: Re: MPC Video Renderer
Отправлено: oliv77@r159 от 04 мая 2020, 22:25:30
Спасибо за графическое изображение, появившееся в V.1280, я давно его жду, может быть, вы сможете добавить индикаторы на правильное положение красной трассы. ;)
Название: Re: MPC Video Renderer
Отправлено: V0lt от 05 мая 2020, 06:28:47
Цитата: oliv77@r159 от 04 мая 2020, 22:25:30вы сможете добавить индикаторы на правильное положение красной трассы.
Я ничего не понял.
Название: Re: MPC Video Renderer
Отправлено: oliv77@r159 от 05 мая 2020, 22:38:46
(https://zupimages.net/viewer.php?id=20/19/v282.png)
https://zupimages.net/viewer.php?id=20/19/v282.png
Название: Re: MPC Video Renderer
Отправлено: V0lt от 06 мая 2020, 09:05:24
oliv77@r159
Картинка не открывается. Скажите словами, что такое "правильное положение" и "индикаторы".
Название: Re: MPC Video Renderer
Отправлено: Angel от 06 мая 2020, 17:30:49
мне кажется человеку нужны цифры со значениями у этих полосок, и цифры рядом с красной кривой? /имхо/
для информативности.
Название: Re: MPC Video Renderer
Отправлено: oliv77@r159 от 06 мая 2020, 22:37:00
мне кажется человеку нужны цифры со значениями у этих полосок, и цифры рядом с красной кривой? /имхо/
для информативности.
Да спасибо вот что я имел ввиду ;)
синяя линия соответствует значению частоты изображения,было бы неплохо показать это на графике.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 07 мая 2020, 09:18:15
Светло синяя линия 0 мс.
График показывает последние 120 замеров Sync Offset. Текущий Sync Offset можно посмотреть в статистике.
В общем случае, чем меньше высота всплесков графика, тем лучше.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 24 мая 2020, 08:11:58
Предлагаю вернуть возможность получать кадры с исходным размером с помощью IBasicVideo::GetCurrentImage, как это делают стандартные видеорендереры Windows.

Если нужно получать кадры с измененным размером, то предлагаю запланировать специальную функцию для этого.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 24 мая 2020, 08:33:55
Повторю свой вопрос - зачем(не теоретически, а практически) получать кадры с исходным размером с помощью IBasicVideo::GetCurrentImage() ?
Название: Re: MPC Video Renderer
Отправлено: V0lt от 24 мая 2020, 11:19:26
В очередной раз отвечаю. Потому что так правильно и единообразно. Потому что изначально Я специально так сделал, но потом сломали. Потому что мне нужна возможность получать кадр без ресайза, например для анализа кадра (нужен оригинальный размер) или для последующего ресайза (двойной ресайз мне не нужен).
Больше на вопрос "Зачем?" отвечать не буду, объяснений уже достаточно.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 24 мая 2020, 13:56:43
Это все теория, практического применения мы так и не услышали. А если надо "в коде" в самом VR, для каких то своих целей - так кто мешает написать доп. функцию ?
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 25 мая 2020, 12:52:01
V0lt

При переключении с Discard на FlipEx во время воспроизведения (на лету) и обратно, при активной статистике, ломается отображение графика. Т.е. сам график полностью пропадает и остается только зеленая линия.

В оконном режиме, в случае обратного возвращения, вместо синих линий, получается какая-то "мазня".
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 25 мая 2020, 14:55:18
Подтверждаю, но что самое интересно - только на DX9, на DX11 все ровно. Посмотрю - но позже, щас другим процессов занят.

P.S. Исправлено.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 25 мая 2020, 16:52:16
Aleksoid1978,

Статистика видео-рендерера не знает границ  (https://yadi.sk/i/YG5Vn6QzRiWmKw)!

При полноэкранном режиме, она может выходить за пределы экрана монитора.

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

1. Открыть видео файл
2. Открыть статистику видео-рендерера
3. Открыть плейлист (Он должен быть в состоянии по умолчанию)
4. Открепить плейлист от основного экрана плеера
5. Закрыть Flybar, нажав на "замочек"
6. Перетащить плейлист в самый верх и закрепить его с основным окном плеера
7. Открепить плейлист и, не отпуская его, перетащить его в самый низ и тут же закрепить с основным окном плеера.

В итоге, статистика видео-рендерера выйдет за пределы экрана монитора.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 25 мая 2020, 18:09:21
ЦитироватьПри полноэкранном режиме, она может выходить за пределы экрана монитора.
Проверь на версии 0.4.6.1285 (https://yadi.sk/d/X0EVMKP4TcmnHQ)
Похоже там весь кадр уехал вверх, а не статистика.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 26 мая 2020, 02:49:39
Наверное я что-то делаю не так - не смог у себя воспроизвести :) Ну или не понял алгоритма.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 26 мая 2020, 06:23:27
Aleksoid1978,
ЦитироватьНаверное я что-то делаю не так - не смог у себя воспроизвести :) Ну или не понял алгоритма.
Сделал для вас два видео-алгоритма. Один - полный (https://yadi.sk/i/vgplxeYWtUtelw), другой - простой (https://yadi.sk/i/zigL3zKMluL9Eg). Так вам будет нагляднее и понятнее.

V0lt,
ЦитироватьПроверь на версии 0.4.6.1285
Похоже там весь кадр уехал вверх, а не статистика.
Проверил. Баг также присутствует. Кстати, вы правы, похоже сам кадр улетает вверх, вот только сразу это не бросается в глаза, я даже не сразу это заметил на широкоформатном видео. Но если присмотреться снизу, то можно это увидеть.
Получается, что улетает кадр вместе со статистикой.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 26 мая 2020, 08:30:13
Пытаюсь реализовать поддержку мульти-мониторных(мульти-адаптерных) конфигураций, а конкретнее - пересоздание D3D9/D3D11 устройств при смене монитора/адаптера(при перемещении окна или переключение в полный экран и обратно). И столкнулся с проблемой - D3D9 требует чтобы окно, на которое выводим, в режиме Flip так же было пересоздано. И вот тут, как говорится, пошли нюансы - либо подвисание всего проигрывателя, либо вообще странности с окном(окно создается, но потом куда-то исчезает). Все эти проблемы из-за того что мы создаем child окно в другом потоке, чем его родитель. Получается тупик ...

Что можно - либо оставить как есть и забыть про нормальную поддержку мульти-мониторных систем, либо отказаться от режима Flip для D3D9.

Или можно еще координальнее поступить - на DX9 оставить Discard, а на DX11 - Flip.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 26 мая 2020, 08:37:06
D3D11 спокойно позволяет пересоздавать SwapChain даже в режиме Flip без пересоздания окна, с этим все отлично.
Название: Re: MPC Video Renderer
Отправлено: lexxx от 26 мая 2020, 18:36:26
MPC Video Renderer 0.4.6.1285 (git-2020.05.14-adb18c1) x64
MPC-BE 1.5.5 (build 5290) beta
MPC-HC 1.9.2.33 (325a7d4ab) (K-Lite_Codec_Pack_1548_Standard)

DX11 Flip
Если в полноэкранном режиме поставить видео на паузу, переключиться через ALT+TAB на окно например блокнота, напечатать или не печатать там какой-нибудь текст. Затем через ALT+TAB попытаться вернуться в плеер, то на экране останется "след" от списка окон/приложений. Чтобы он исчез надо сделать еще один переход по ALT+TAB в блокнот и возврат по ALT+TAB в плеер или в плеере отжать паузу.
(раньше не обращал внимания, такое было или нет?)
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 27 мая 2020, 02:00:25
Проверь на самой последней SVN версии MPC-BE.
И можно скрин такого "эффекта".
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 27 мая 2020, 11:18:47
Aleksoid1978,
ЦитироватьЧто можно - либо оставить как есть и забыть про нормальную поддержку мульти-мониторных систем, либо отказаться от режима Flip для D3D9.
Хочу напомнить, что на AMD Radeon некорректно работает D3D9 Discard, при воспроизведении видео файлов с частотами кадров: 50/59.94/60 FPS. Так вот, если вы устраните данную проблему, тогда еще можно будет отказаться от Flip для D3D9.

Но тут мне непонятно еще одно, вы же сначала планировали реализовать эксклюзивный полноэкранный режим для MPC Video Renderer, в котором без Flip явно не обойтись. И вдруг решили сразу же перейти к мультимониторности. Получается, что мультимониторность - в приоритете, а эксклюзив отправлен в долгий ящик.

Прошу прощение, просто вспомнил ваши же слова: "... да кому он тогда нужен будет без эксклюзива".
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 27 мая 2020, 11:45:55
Ну мало ли что планировалось :) А так - может быть без всех этих пересозданий окон и эксклюзив заработает, кто знает - все сразу не могу проверить, а просто так убирать/добавлять особого нет желания :)
Название: Re: MPC Video Renderer
Отправлено: lexxx от 27 мая 2020, 21:01:39
Aleksoid1978,
Icecream Screen Recorder не фиксирует этот эффект, также не получается сделать скриншот. Они не берут эту "поверхность", на которой остается след. Только если на телефон заснять и скинуть по WhatsApp.

Дайте ссылку откуда скачивать самую последнюю SVN версию MPC-BE. Я обычно наугад качал портативную бету.

В общем когда я пытаюсь вернуться в приостановленное видео с другого окна (держу ALT и TABом добираюсь до плеера). То если отжать ALT, след останется на экране, но скриншот его уже не возьмет. Но если ALT не отпускать то Print Screen сработает и вот что будет на экране:
https://yadi.sk/i/E12aUjY-E9NjmQ
Это почти тоже самое, что и при отпускании ALT я вижу глазами на экране, только рамки, которую я пометил стрелкой не будет.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 27 мая 2020, 21:17:52
Я не понимаю смысла в последних изменениях. Зачем пересоздавать окно? Перемещение окна плеера на другой дисплей, подключенного к другой видеокарте, у меня не создавало никаких серьезных проблем. Как играло видео, так и играет, и даже аппаратный HEVC декодер не отваливался. Можно даже расположить окно одновременно на двух дисплеях, и ничего страшного не произойдет. А скоро похоже все мигать будет.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 27 мая 2020, 21:22:19
lexxx,
ЦитироватьДайте ссылку откуда скачивать самую последнюю SVN версию MPC-BE. Я обычно наугад качал портативную бету.
Пожалуйста (https://yadi.sk/d/AjAXDDHtHRIELg/Beta%20(Nightly)/1.5.5).
Ну и альтернативная ссылка (https://cloud.mail.ru/public/V1rp/2iqNDT5Rx/Beta%20(Nightly)/1.5.5/), если на первой вдруг будет превышен лимит скачивания. Поэтому не надо качать наугад. Любые проблемы проверяйте всегда на последних актуальных сборках, прежде чем сообщать о них.
Название: Re: MPC Video Renderer
Отправлено: lexxx от 27 мая 2020, 21:41:57
Evgeniy1990,
Не воспроизводится. Ясно.
Интересно, сборщики K-Lite понимают, что MPC-НС может поддерживать ваш рендер с оговорками? Всмысле надеяться, что он там полноценно может заработать это бесполезно?
В пакете K-Lite идет декодер DX11, а у Вас используется DXVA. В вашем плеере можно использовать DX11 декодер?
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 27 мая 2020, 22:10:24
lexxx,
ЦитироватьНе воспроизводится. Ясно.
Значит, проблема уже была устранена.
ЦитироватьИнтересно, сборщики K-Lite понимают, что MPC-НС может поддерживать ваш рендер с оговорками?
Им все равно. А вообще наш видео-рендерер вполне нормально работает с MPC-HC. К тому же, была улучшена совместимость его работы с другими плеерами. Так что можете не переживать. Вы даже сами можете проверить его работу, если вам это интересно.
ЦитироватьВ пакете K-Lite идет декодер DX11, а у Вас используется DXVA. В вашем плеере можно использовать DX11 декодер?
В нашем плеере нет встроенного аппаратного DX11-декодера. Зато он есть в LAV Video Decoder. Сам DX11-декодер в нашем плеере использовать можно в паре с D3D11-видео-рендерером. Только для его работы требуется необходимая видеокарта и операционная система, начиная с Windows 8.1 и выше.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 28 мая 2020, 01:56:13
Цитата: V0lt от 27 мая 2020, 21:17:52
Я не понимаю смысла в последних изменениях. Зачем пересоздавать окно? Перемещение окна плеера на другой дисплей, подключенного к другой видеокарте, у меня не создавало никаких серьезных проблем. Как играло видео, так и играет, и даже аппаратный HEVC декодер не отваливался. Можно даже расположить окно одновременно на двух дисплеях, и ничего страшного не произойдет. А скоро похоже все мигать будет.

Ну а интересно зачем так сделано, опционально, в EVR-CP, зачем так сделано даже без опций в madVR ?
Это еще норм когда несколько мониторов/ТВ к одной карте подключены, а если к разным - то получиться что декодирует одна, а выводит другая.
Другой вопрос - субтитры, размер "Desktop" задается под текущий монитор, и если разные - ну и качество рендеринга будет разным.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 28 мая 2020, 03:07:00
Так что мое предложение:
1 - убрать переключение swap effect, оставив для DX9 - discard, для DX11 - flip.
2 - далее реализую(ессно опционально) - реинициализацию при смене монитора.
3 - далее пробую реализовать эксклюзивный режим(в начале для DX9, потом можно пробовать DX11).

Если нет - ну и ладно, тогда не бывать нормальной поддержке мультимониторности, ну и эксклюзивного полноэкранного режима наверное тоже.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 28 мая 2020, 07:05:24
Aleksoid1978,
Цитата: Aleksoid1978 от 28 мая 2020, 03:07:00
Так что мое предложение:
1 - убрать переключение swap effect, оставив для DX9 - discard, для DX11 - flip.

У меня такой вопрос. Здесь сам факт наличия возможности переключения swap effect является проблемой, или же не дать пользователю по-переключать, чтобы потом не было нюансов. Уже упоминалось о проблемах с discard на amd c 50,59,60fps. Могу то же сказать и про intel, как раз с мульти-дисплейностью у discard при выводе на тв проблемы как в evr-cp, так и в mpc-vr dx9 и dx11. Картинка получается дёрганная, с flip - плавная.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 28 мая 2020, 07:16:46
Ну если оставить Flip для DX9 - то все что я описывал(мультимониторность, эксклюзив) будет невозможно внедрить.

А проверьте еще в madVR, встроенные видео-рендереры в Pot с discard - там есть похожие проблемы как у EVR-CP/MPCVR с discard ?
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 28 мая 2020, 08:33:56
Цитата: Aleksoid1978 от 28 мая 2020, 07:16:46
Ну если оставить Flip для DX9 - то все что я описывал(мультимониторность, эксклюзив) будет невозможно внедрить.

А проверьте еще в madVR, встроенные видео-рендереры в Pot с discard - там есть похожие проблемы как у EVR-CP/MPCVR с discard ?
С madVR всё нормально и с dx9, и с dx11. А вот в поте discard тоже дёргает видео в evr-cp и dx11. Проверял на файлах с 59,970 и 60fps. Видно, не судьба с дискардом на интелке. Герцы, разумеется, на тв включал согласно fps
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 28 мая 2020, 08:41:43
На телеке надо смотреть исключительно в эксклюзивном режиме :)
Название: Re: MPC Video Renderer
Отправлено: lexxx от 28 мая 2020, 14:41:17
Evgeniy1990,
Я уже попробовал его c MPC-HC.
При переключении Swap при проигрывании пропадает указатель мыши (об этом сообщил на форуме).
Поскольку Flip более производительный в интерлейсном видео, я использовал его.
Теперь появилась проблема с ALT+TAB с Flip. Я начал использовать DX11 Discard - он более производительный в неинтерлейсном видео.
Теперь вижу предложения убрать переключение Swap, а для DX11 использовать Flip.
Главное, чтобы не получилось так, что рендер нельзя будет использовать с каким-нибудь другим плеером из-за невозможности его настроить. Тем более телевизор я не использую, отдельный монитор тоже, и особой критичности в наличии эклюзивного режима тоже не вижу, я сомневаюсь, что увижу на глаз повышение плавности видео.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 28 мая 2020, 15:04:51
Цитата: MPCfan от 28 мая 2020, 08:33:56
Цитата: Aleksoid1978 от 28 мая 2020, 07:16:46
Ну если оставить Flip для DX9 - то все что я описывал(мультимониторность, эксклюзив) будет невозможно внедрить.

А проверьте еще в madVR, встроенные видео-рендереры в Pot с discard - там есть похожие проблемы как у EVR-CP/MPCVR с discard ?
С madVR всё нормально и с dx9, и с dx11. А вот в поте discard тоже дёргает видео в evr-cp и dx11. Проверял на файлах с 59,970 и 60fps. Видно, не судьба с дискардом на интелке. Герцы, разумеется, на тв включал согласно fps

А ты на EVR-CP как проверял - сразу запускал на ТВ или переносил/переходил в полный экран с монитора ?
Название: Re: MPC Video Renderer
Отправлено: V0lt от 28 мая 2020, 20:58:38
Цитата: Aleksoid1978 от 28 мая 2020, 01:56:13Это еще норм когда несколько мониторов/ТВ к одной карте подключены, а если к разным - то получиться что декодирует одна, а выводит другая.
Я про это как раз и написал. Запускаю видео HEVC на мониторе, подключенный к GTX 950, и перетаскиваю на телевизор, подключенный к Intel HD 4000. И в целом все нормально. Транслировать окно на нужный дисплей для DWM не проблема.
Если же устройство пересоздать, то декодер, получается, уйдет в софт? Думаю, это не очень удачное решение.

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

ЦитироватьДругой вопрос - субтитры, размер "Desktop" задается под текущий монитор, и если разные - ну и качество рендеринга будет разным.
Это вопрос уже к рендереру субтитров и плееру.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 28 мая 2020, 23:06:40
Aleksoid1978
Проверил-сравнил ещё раз evr-cp/discard и в поте и в mpc-be: и перетаскивал с воспроизведением, и без, а запускал уже на ТВ, и запускал через настройку с выводом на ТВ с основного монитора. Одинаково - что в поте, что в mpc-be. Есть периодическое дрожание. С флипом - плавно.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 29 мая 2020, 02:01:36
Так если мы хотим со временем добавить 3d frame packing, HDR passthrough - тот тут в любом случае надо будет отслеживать изменения монитора и пересоздание, ну как минимум SwapChain - правда DX9 это не грозит.
Или захотим сделать свой VSync - так же надо будет как-то отслеживать изменения монитора.

Короче я так понял что никому это не надо - ну значит MPC VR остается как VR для просмотра на мониторе, ни о каком использовании более масштабно и речи нет.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 29 мая 2020, 02:24:50
Предлагаю обсудить как мы все видим MPCVR - как VR для просмотра на экране монитора - тогда оставляем все как и есть, в принципе дальше уже и делать почти ничего и не надо, или как VR с поддержкой мультимониторности, с поддержкой VSync и все что я до этого писал ?
Название: Re: MPC Video Renderer
Отправлено: V0lt от 29 мая 2020, 05:44:35
Цитата: Aleksoid1978 от 29 мая 2020, 02:01:36...в любом случае надо будет отслеживать изменения монитора и пересоздание, ну как минимум SwapChain - правда DX9 это не грозит.
Это уже сделано через IExFilterConfig::SetBool("displayChange", true).
ЦитироватьИли захотим сделать свой VSync - так же надо будет как-то отслеживать изменения монитора.
Не знаю что подразумевается под "свой VSync", но Я не планировал изменение D3DPRESENT_PARAMETERS::PresentationInterval. Текущее значение D3DPRESENT_INTERVAL_ONE, меня полностью устраивает.
Особую поддержку классической темы Win7 делать так же не планирую. Пусть будет вечный Issue.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 29 мая 2020, 06:16:50
Ну и как, все отлично идет если запустить на мониторе - потом перейти на полный экран ТВ с разной частотой ? Все плавно ?
Мы тут всегда используем эксклюзивный режим что плавности - а тут прям раз и все отлично ? Как-то не вериться ...
Название: Re: MPC Video Renderer
Отправлено: V0lt от 29 мая 2020, 18:04:06
Цитата: Aleksoid1978 от 29 мая 2020, 06:16:50Ну и как, все отлично идет если запустить на мониторе - потом перейти на полный экран ТВ с разной частотой ? Все плавно ?
Допустим ситуация, когда на основном дисплее 60 Гц, на дополнительном 23,976 Гц, и мы смотрим видео 23,976 fps на дополительном дисплее. Эксклюзивный режим не используется.
В этом случае нормальная синхронизация не получиться. DWM все наши потуги обнулит.
Название: Re: MPC Video Renderer
Отправлено: lexxx от 30 мая 2020, 02:03:24
Заработал ALT+TAB на паузе в MPC-HC с DX11 Flip.
Я снес Windows 10, поставил Windows 10 2004 и последний драйвер на видеокарту.
Это был плановый снос, не думал, что после этого заработает, какой-то глюк.


UPD: На следующий день, все обратно не работает (хотя ничего не менял). Оставляю Discard.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 30 мая 2020, 07:00:42
Цитата: Evgeniy1990 от 27 мая 2020, 11:18:47
Aleksoid1978,
ЦитироватьЧто можно - либо оставить как есть и забыть про нормальную поддержку мульти-мониторных систем, либо отказаться от режима Flip для D3D9.
Хочу напомнить, что на AMD Radeon некорректно работает D3D9 Discard, при воспроизведении видео файлов с частотами кадров: 50/59.94/60 FPS. Так вот, если вы устраните данную проблему, тогда еще можно будет отказаться от Flip для D3D9.

Просьба проверить у себя на этих самых видео с 50/59.94/60 FPS на AMD Radeon на DX9.
https://yadi.sk/d/6gBug75dSEL4og

P.S. А в MPC-BE на EVR-CP при Copy - нормально эти видео проигрываются ?
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 30 мая 2020, 07:14:03
Вот тестовая версия с добавленным реинициализацией при смене дисплея(таймаут проверки - 2 секунды).
https://yadi.sk/d/3PvUzRn083UsJg

Просьба кто может погонять - что да как будет.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 30 мая 2020, 08:19:08
А вот и тестовая версия с поддержкой D3D9 Exclusive режима(в самом MPC-BE галку не сменить, но работает через Ctrl+F).
https://yadi.sk/d/O087I7oBbZ0KVg
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 30 мая 2020, 09:20:37
Aleksoid1978,
ЦитироватьПросьба проверить у себя на этих самых видео с 50/59.94/60 FPS на AMD Radeon на DX9.
https://yadi.sk/d/6gBug75dSEL4og
Проверил первый тестовый билд. Проблема пока присутствует.
ЦитироватьP.S. А в MPC-BE на EVR-CP при Copy - нормально эти видео проигрываются ?
Нормально, полностью стабильно. Частота кадров строго 59.94 FPS. В MPC-VR она скачет аж за 61 FPS, при этом нестабильна.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 30 мая 2020, 10:05:15
Aleksoid1978,
ЦитироватьА вот и тестовая версия с поддержкой D3D9 Exclusive режима(в самом MPC-BE галку не сменить, но работает через Ctrl+F).
https://yadi.sk/d/O087I7oBbZ0KVg
Проверил тестовый билд. D3D9 Exclusive работает также, как и работал тогда, т.е. при первом запуске и переходе - мертвое зависание, при втором и последующих, при переходе в FSE, нет самого окна FSE, т.е. просто окно плеера с черным экраном.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 30 мая 2020, 10:54:43
Да уж ...
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 30 мая 2020, 11:29:20
Тогда вот debug x86 версия, проверить с получением debug лога в DbgView. Лучше сделать отдельные логи - когда виснет, и когда нет FSE окна.
https://yadi.sk/d/sfmVHvnj56GU5Q
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 30 мая 2020, 11:57:20
А вот еще одна версия для проверки FSE - https://yadi.sk/d/y1uaODWWjhPozQ
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 30 мая 2020, 12:08:28
Aleksoid1978,
ЦитироватьТогда вот debug x86 версия, проверить с получением debug лога в DbgView. Лучше сделать отдельные логи - когда виснет, и когда нет FSE окна.
https://yadi.sk/d/sfmVHvnj56GU5Q
Сделал лог (https://yadi.sk/d/nXC4jGWGunnFGA) без самого окна FSE.
Беда в том, что мертвое зависание проявляется всего лишь один раз и как его получить повторно - непонятно. Поэтому сделать лог для этого случая пока невозможно.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 30 мая 2020, 12:12:28
Aleksoid1978,
ЦитироватьА вот еще одна версия для проверки FSE - https://yadi.sk/d/y1uaODWWjhPozQ
Проверил. Также нет самого окна FSE, при переходе в полный экран. По прежнему остается окно самого MPC-BE с черным экраном.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 30 мая 2020, 12:14:24
В своё время ловил зависание - только при первом запуске после включения или перезагрузки системы.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 30 мая 2020, 12:16:36
Цитата: Evgeniy1990 от 30 мая 2020, 12:08:28
Aleksoid1978,
ЦитироватьТогда вот debug x86 версия, проверить с получением debug лога в DbgView. Лучше сделать отдельные логи - когда виснет, и когда нет FSE окна.
https://yadi.sk/d/sfmVHvnj56GU5Q
Сделал лог (https://yadi.sk/d/nXC4jGWGunnFGA) без самого окна FSE.

В логе все отлично, странно.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 30 мая 2020, 12:19:44
Aleksoid1978,
ЦитироватьВ своё время ловил зависание - только при первом запуске после включения или перезагрузки системы.
Аналогично, вот только не все так легко и просто. Так как зависание проявляется всего лишь один раз, то для повторного его воспроизведения нужно, что называется вернутся "к истокам", "к началу времен". Т.е. нужна чистая система, сам MPC-BE, а также и отладочный билд MPC-VR. Суть в том, что нужна система, на которой еще ни разу не был запущен MPC-VR. Вот только тогда на все 100% можно получить это мертвое зависание.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 30 мая 2020, 12:20:41
Мне хватало просто ребута системы:)
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 30 мая 2020, 12:21:56
Aleksoid1978,
ЦитироватьВ логе все отлично, странно.
Да, странно, алгоритм был выполнен успешно, вот только само окно FSE не появилось. Его просто тупо нет.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 30 мая 2020, 12:35:41
Aleksoid1978,
ЦитироватьМне хватало просто ребута системы:)
И мне хватило прямо сейчас. :) Перезагрузил систему и воспроизвел зависание.

В общем, сделал лог (https://yadi.sk/d/JUV1CefvR2Omuw) при зависании во время перехода в режим FSE.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 30 мая 2020, 12:46:11
Цитата: Evgeniy1990 от 30 мая 2020, 12:35:41
Aleksoid1978,
ЦитироватьМне хватало просто ребута системы:)
И мне хватило прямо сейчас. :) Перезагрузил систему и воспроизвел зависание.

В общем, сделал лог (https://yadi.sk/d/JUV1CefvR2Omuw) при зависании во время перехода в режим FSE.

Вот же блин - как и в прошлый раз, зависание при создании D3D9 устройства, где-то в дебрях DirectX9, не в нашем коде ...

P.S. Ну чую что очередная попытка так же не удалась ...
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 30 мая 2020, 12:52:35
Aleksoid1978,
ЦитироватьВот же блин - как и в прошлый раз, зависание при создании D3D9 устройства, где-то в дебрях DirectX9, не в нашем коде ...
Странно, тогда почему с EVR-CP ничего подобного не происходит? При использовании EVR-CP, при переходе в режим FSE, присутствует само окно FSE, да и сам переход работает нормально туда и обратно. Такое чувство, что наш MPC VR не способен нормально работать с DirectX9. Вот только почему- непонятно?
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 30 мая 2020, 12:57:20
Странно то что у меня отлично работает переход в FSE и обратно :)
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 30 мая 2020, 12:59:55
Aleksoid1978,
ЦитироватьСтранно то что у меня отлично работает переход в FSE и обратно
Предлагаю вам подключиться ко мне удаленно, через TeamViewer (https://www.teamviewer.com/ru/%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F-%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-teamviewer/?utm_source=yandex&utm_medium=cpc&utm_content=teamviewer_brand&utm_campaign=ru%7Cb%7Cpr%7C19%7Cmar%7Cexact-new-sn%7Cfree%7Ct0%7C0&yclid=2976188574337359308). Думаю, что только таким способом, мы решим все эти проблемы гораздо быстрее. Вы сами сможете все наглядно увидеть и воспроизвести. Пожалуйста, не отказывайтесь. Данные для подключения отправил вам в личку. Будем разбираться, что не так.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 30 мая 2020, 13:08:15
Обновил debug билд, ссылка таже - просьба еще раз проверить с логом, не будет ли там ошибок связанных с PresentEx().

P.S. Я ессно все проверяю на Win10, если у вас нет - просьба проверить так же на 10.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 30 мая 2020, 13:11:04
Цитата: Evgeniy1990 от 30 мая 2020, 12:59:55
Aleksoid1978,
ЦитироватьСтранно то что у меня отлично работает переход в FSE и обратно
Предлагаю вам подключиться ко мне удаленно, через TeamViewer (https://www.teamviewer.com/ru/%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F-%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-teamviewer/?utm_source=yandex&utm_medium=cpc&utm_content=teamviewer_brand&utm_campaign=ru%7Cb%7Cpr%7C19%7Cmar%7Cexact-new-sn%7Cfree%7Ct0%7C0&yclid=2976188574337359308). Думаю, что только таким способом, мы решим все эти проблемы гораздо быстрее. Вы сами сможете все наглядно увидеть и воспроизвести. Пожалуйста, не отказывайтесь. Данные для подключения отправил вам в личку. Будем разбираться, что не так.
1 - нет времени
2 - нужна система с выводом на второй экран чтобы FSE шел на второй экран и не мешал сидеть в отладчике.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 30 мая 2020, 13:12:57
Aleksoid1978,
ЦитироватьP.S. Я ессно все проверяю на Win10, если у вас нет - просьба проверить так же на 10.
Я проверяю на Windows 7. Хотя на Windows 10 у меня тоже самое абсолютно, также нет окна FSE и также криво работает Discard с 59.94 и выше и все остальное, включая мультимонитрность и реинициализацию дисплеев.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 30 мая 2020, 13:20:26
Aleksoid1978,
Цитировать1 - нет времени
Жаль конечно...
Цитировать2 - нужна система с выводом на второй экран чтобы FSE шел на второй экран и не мешал сидеть в отладчике.
Ясно. Мне нужно подключить второй монитор. Вот только есть проблема - каким образом? на RX580 всего один DVI, остальные - HDMI и DP(DisplayPort). У меня нет мониторов с такими разъемами, есть только с VGA и DVI. Мда,.. Нужен переходник HDMI->VGA, чтобы подключить монитор с VGA хотя бы.

P.S. Как обидно, что производители напрочь убрали VGA в новых моделях видеокарт. И это при том, что мониторы с HDMI и DP стоят просто конских денег.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 30 мая 2020, 13:30:47
HDMI->VGA - только "активные", стоят дорого. А вот HDMI -> DVI вполне реально, либо кабель сразу, либо кабель HDMI -> HDMI + переходник HDMI -> DVI.

А производители убрали VGA - да просто нафига нужен уже этот аналог :)
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 30 мая 2020, 13:35:26
Aleksoid1978,
ЦитироватьОбновил debug билд, ссылка таже - просьба еще раз проверить с логом, не будет ли там ошибок связанных с PresentEx().
Проверил второй отладочный обновленный билд. Сделал лог-файл. Посмотрел и увидел просто кучу ошибок такого плана:

00000213 14.33731651 [4924] MpcVideoRenderer.ax(tid 92c)     5024 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000214 14.33739090 [4924] MpcVideoRenderer.ax(tid 92c)     5024 : CDXVA2VP::Process() : VideoProcessBlt() failed with error E_INVALIDARG
00000215 14.33747196 [4924] MpcVideoRenderer.ax(tid 92c)     5024 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000216 14.34396362 [4924] MpcVideoRenderer.ax(tid 17f8)     5031 : CMpcVideoRenderer::Run()
00000217 14.35892582 [4924] MpcVideoRenderer.ax(tid 92c)     5046 : CDXVA2VP::Process() : VideoProcessBlt() failed with error E_INVALIDARG
00000218 14.35903645 [4924] MpcVideoRenderer.ax(tid 92c)     5046 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000219 14.35911369 [4924] MpcVideoRenderer.ax(tid 92c)     5046 : CDXVA2VP::Process() : VideoProcessBlt() failed with error E_INVALIDARG
00000220 14.35919857 [4924] MpcVideoRenderer.ax(tid 92c)     5046 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000221 14.41170311 [4924] MpcVideoRenderer.ax(tid 92c)     5098 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000222 14.41344070 [4924] MpcVideoRenderer.ax(tid 92c)     5100 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000223 14.43977356 [4924] MpcVideoRenderer.ax(tid 92c)     5127 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000224 14.44110394 [4924] MpcVideoRenderer.ax(tid 92c)     5128 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000225 14.48081970 [4924] MpcVideoRenderer.ax(tid 92c)     5168 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000226 14.48206711 [4924] MpcVideoRenderer.ax(tid 92c)     5169 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000227 14.51986027 [4924] MpcVideoRenderer.ax(tid 92c)     5207 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000228 14.52109909 [4924] MpcVideoRenderer.ax(tid 92c)     5208 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000229 14.56002331 [4924] MpcVideoRenderer.ax(tid 92c)     5247 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000230 14.56127262 [4924] MpcVideoRenderer.ax(tid 92c)     5248 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000231 14.66068459 [4924] MpcVideoRenderer.ax(tid 92c)     5288 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000232 14.66071987 [4924] MpcVideoRenderer.ax(tid 92c)     5289 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000233 14.66931629 [4924] MpcVideoRenderer.ax(tid 92c)     5356 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000234 14.67036819 [4924] MpcVideoRenderer.ax(tid 92c)     5357 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000235 14.68079472 [4924] MpcVideoRenderer.ax(tid 92c)     5368 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000236 14.68221283 [4924] MpcVideoRenderer.ax(tid 92c)     5369 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000237 14.71996117 [4924] MpcVideoRenderer.ax(tid 92c)     5407 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000238 14.72125626 [4924] MpcVideoRenderer.ax(tid 92c)     5408 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000239 14.76084900 [4924] MpcVideoRenderer.ax(tid 92c)     5448 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000240 14.76236725 [4924] MpcVideoRenderer.ax(tid 92c)     5449 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000241 14.80188465 [4924] MpcVideoRenderer.ax(tid 92c)     5489 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000242 14.80325413 [4924] MpcVideoRenderer.ax(tid 92c)     5490 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000243 14.84086227 [4924] MpcVideoRenderer.ax(tid 92c)     5528 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000244 14.84225178 [4924] MpcVideoRenderer.ax(tid 92c)     5529 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000245 14.87977600 [4924] MpcVideoRenderer.ax(tid 92c)     5567 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000246 14.88125134 [4924] MpcVideoRenderer.ax(tid 92c)     5568 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000247 14.91994381 [4924] MpcVideoRenderer.ax(tid 92c)     5607 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000248 14.92125511 [4924] MpcVideoRenderer.ax(tid 92c)     5608 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000249 14.95897579 [4924] MpcVideoRenderer.ax(tid 92c)     5646 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000250 14.96032619 [4924] MpcVideoRenderer.ax(tid 92c)     5647 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000251 14.99691105 [4924] MpcVideoRenderer.ax(tid 92c)     5684 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000252 14.99829483 [4924] MpcVideoRenderer.ax(tid 92c)     5685 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000253 15.03776360 [4924] MpcVideoRenderer.ax(tid 92c)     5725 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000254 15.03931046 [4924] MpcVideoRenderer.ax(tid 92c)     5726 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000255 15.08382988 [4924] MpcVideoRenderer.ax(tid 92c)     5764 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000256 15.08454132 [4924] MpcVideoRenderer.ax(tid 92c)     5765 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000257 15.11903667 [4924] MpcVideoRenderer.ax(tid 92c)     5806 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000258 15.12047768 [4924] MpcVideoRenderer.ax(tid 92c)     5807 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000259 15.15781116 [4924] MpcVideoRenderer.ax(tid 92c)     5845 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000260 15.15923214 [4924] MpcVideoRenderer.ax(tid 92c)     5846 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000261 15.19773960 [4924] MpcVideoRenderer.ax(tid 92c)     5885 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000262 15.19916630 [4924] MpcVideoRenderer.ax(tid 92c)     5886 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000263 15.23802090 [4924] MpcVideoRenderer.ax(tid 92c)     5925 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000264 15.23936844 [4924] MpcVideoRenderer.ax(tid 92c)     5926 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000265 15.27985954 [4924] MpcVideoRenderer.ax(tid 92c)     5967 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000266 15.28131771 [4924] MpcVideoRenderer.ax(tid 92c)     5968 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000267 15.31979179 [4924] MpcVideoRenderer.ax(tid 92c)     6007 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000268 15.32122612 [4924] MpcVideoRenderer.ax(tid 92c)     6008 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000269 15.35782623 [4924] MpcVideoRenderer.ax(tid 92c)     6045 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000270 15.35925770 [4924] MpcVideoRenderer.ax(tid 92c)     6046 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000271 15.39814377 [4924] MpcVideoRenderer.ax(tid 92c)     6085 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000272 15.39944649 [4924] MpcVideoRenderer.ax(tid 92c)     6086 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000273 15.43709087 [4924] MpcVideoRenderer.ax(tid 92c)     6124 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000274 15.43858433 [4924] MpcVideoRenderer.ax(tid 92c)     6125 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000275 15.47790909 [4924] MpcVideoRenderer.ax(tid 92c)     6165 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000276 15.47926807 [4924] MpcVideoRenderer.ax(tid 92c)     6166 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000277 15.51807213 [4924] MpcVideoRenderer.ax(tid 92c)     6205 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000278 15.51942921 [4924] MpcVideoRenderer.ax(tid 92c)     6206 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000279 15.55788517 [4924] MpcVideoRenderer.ax(tid 92c)     6245 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000280 15.55939102 [4924] MpcVideoRenderer.ax(tid 92c)     6246 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000281 15.59861374 [4924] MpcVideoRenderer.ax(tid 92c)     6285 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000282 15.59953594 [4924] MpcVideoRenderer.ax(tid 92c)     6286 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000283 15.64117813 [4924] MpcVideoRenderer.ax(tid 92c)     6328 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000284 15.64256668 [4924] MpcVideoRenderer.ax(tid 92c)     6329 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000285 15.67912674 [4924] MpcVideoRenderer.ax(tid 92c)     6366 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000286 15.68063641 [4924] MpcVideoRenderer.ax(tid 92c)     6367 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000287 15.71702003 [4924] MpcVideoRenderer.ax(tid 92c)     6404 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000288 15.71837902 [4924] MpcVideoRenderer.ax(tid 92c)     6405 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000289 15.75785923 [4924] MpcVideoRenderer.ax(tid 92c)     6445 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000290 15.75929642 [4924] MpcVideoRenderer.ax(tid 92c)     6446 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000291 15.79799271 [4924] MpcVideoRenderer.ax(tid 92c)     6485 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000292 15.79967880 [4924] MpcVideoRenderer.ax(tid 92c)     6486 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000293 15.83788681 [4924] MpcVideoRenderer.ax(tid 92c)     6525 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000294 15.83930874 [4924] MpcVideoRenderer.ax(tid 92c)     6526 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000295 15.87786102 [4924] MpcVideoRenderer.ax(tid 92c)     6565 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000296 15.87928963 [4924] MpcVideoRenderer.ax(tid 92c)     6566 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000297 15.91732693 [4924] MpcVideoRenderer.ax(tid 92c)     6604 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000298 15.91892719 [4924] MpcVideoRenderer.ax(tid 92c)     6606 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000299 15.95845699 [4924] MpcVideoRenderer.ax(tid 92c)     6645 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000300 15.95958328 [4924] MpcVideoRenderer.ax(tid 92c)     6646 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000301 15.99777699 [4924] MpcVideoRenderer.ax(tid 92c)     6684 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000302 15.99899960 [4924] MpcVideoRenderer.ax(tid 92c)     6686 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000303 16.03821754 [4924] MpcVideoRenderer.ax(tid 92c)     6725 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000304 16.03941154 [4924] MpcVideoRenderer.ax(tid 92c)     6726 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000305 16.07720566 [4924] MpcVideoRenderer.ax(tid 92c)     6764 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000306 16.07861137 [4924] MpcVideoRenderer.ax(tid 92c)     6765 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000307 16.11815453 [4924] MpcVideoRenderer.ax(tid 92c)     6805 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000308 16.11943245 [4924] MpcVideoRenderer.ax(tid 92c)     6806 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000309 16.15787697 [4924] MpcVideoRenderer.ax(tid 92c)     6845 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000310 16.15932655 [4924] MpcVideoRenderer.ax(tid 92c)     6846 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000311 16.19787788 [4924] MpcVideoRenderer.ax(tid 92c)     6885 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000312 16.19941711 [4924] MpcVideoRenderer.ax(tid 92c)     6886 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000313 16.23792458 [4924] MpcVideoRenderer.ax(tid 92c)     6925 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000314 16.23931313 [4924] MpcVideoRenderer.ax(tid 92c)     6926 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000315 16.27994919 [4924] MpcVideoRenderer.ax(tid 92c)     6967 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000316 16.28134727 [4924] MpcVideoRenderer.ax(tid 92c)     6968 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000317 16.32018089 [4924] MpcVideoRenderer.ax(tid 92c)     7007 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
00000318 16.32122040 [4924] MpcVideoRenderer.ax(tid 92c)     7008 : CDX9VideoProcessor::Render() : PresentEx() failed with error D3DERR_INVALIDCALL
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 30 мая 2020, 13:41:23
Как я и думал. Теперь надо думать дальше, искать причину.

Отдал наработки v0lt - у него та же ошибка, может найдет причину.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 30 мая 2020, 13:54:25
Aleksoid1978,
ЦитироватьА производители убрали VGA - да просто нафига нужен уже этот аналог
Ага, при этом, видимо, далеко не все производители мониторов это знают и понимают.
Иначе, я понять не могу, зачем они выпускают FullHD-мониторы только с одним единственным VGA.

P.S. Просто смотрю сейчас и прихожу в шок (дикий ужас). Для квадратных мониторов DVI- не жалко, добавим, пусть будет и VGA и DVI, а вот для мониторов, уже более широкоформатных, с разрешениями 1920х1200 и выше, вплоть до полного HD, - DVI уже жалко. Что за логика такая у производителей? Или они серьезно считают, что VGA гораздо лучше для более высоких разрешений, нежели DVI? О_о

Однако, для материнских плат, особенно 1155, 1151, VGA - как грязи. Их даже целых три - и VGA и DVI и даже HDMI на одной материнской плате. Зашибись! Подключай любой монитор, чего не скажешь про видеокарты. Все-таки два HDMI и два DP - это перебор для одной платы. Лучше бы был VGA. 
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 30 мая 2020, 14:02:54
VGA - Это дополнительный блин для преобразования сигнала цифры в аналог. А все остальные - это цифры, лишний разьем - буквально чуть-чуть запчастей и распайка на плате.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 30 мая 2020, 14:03:51
Evgeniy1990 - проверь на Win10 FSE.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 30 мая 2020, 14:08:14
А, ну да, производителям видимо вообще без разницы, что лепить и куда лепить. Простой пример. На сокете 1155 присутствуют до сих пор COM-порты, LPT-порт, PS/2-порты. И место не остается для тех же USB3.0. Гениально! (FACEPALM) "Гениальность" производителей просто поражает! -> Зачем добавлять USB3.0, COM-порты гораздо более необходимы.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 30 мая 2020, 14:20:50
Заканчиваем оффтоп.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 30 мая 2020, 15:27:55
Aleksoid1978,
ЦитироватьEvgeniy1990 - проверь на Win10 FSE.
Переключился на Windows 10. Машина та же самая. Проверил работу FSE в MPC VR на Win10.

Результаты такие:

1. При первом переходе в режим FSE, получаю мертвое зависание.
2. При втором переходе и последующих - нормальную работу FSE (https://yadi.sk/i/N8ErSfRqrkgeOg), как ни странно. (О_о)

Также, сделал два лога (https://yadi.sk/d/hfzlRTj-8cC-1g) - при зависании и нормальной работе.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 30 мая 2020, 15:40:13
Aleksoid1978,

В целом, я могу вам сказать, что прогресс есть. Раньше на Win10, у меня работал FSE только при Swap Effect: Flip/Ex.
Сейчас на Win10 он работает, но только со второго и последующих раз запусков и переходов.

К сожалению, на Windows 7 режим FSE в MPC VR не работает совсем. Раньше работал также только при наличии Swap Effect: Flip/Ex. Сейчас на Win7 - тупик.

Но, не стоит забывать про ту кучу ошибок, связанных с " PresentEx() failed with error D3DERR_INVALIDCALL".
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 30 мая 2020, 15:57:39
Aleksoid1978,

Начал я гонять этот FSE на Win10 и обнаружил, что он работает не совсем корректно. Если видео - широкоформатное, то при переходе в режим FSE, оно превращается в квадратное (https://yadi.sk/i/PMF0XkBcHMAPIA). Вместо 16:9, преобразуется в 4:3 (5:4). А все потому, что разрешение видео становится равным разрешению экрана монитора.

Scaling: 1280x720 -> 1280x1024 - это неправильно.

EVR-CP в режиме FSE сохраняет как соотношение сторон (16:9), так и разрешение видео (1280x720).
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 30 мая 2020, 16:03:05
Aleksoid1978,

Мало того, что видео становится квадратным, так еще и субтитры отображаются где попало и как попало, противоречив своим позициям (pos: x/y). )))
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 30 мая 2020, 16:04:53
FSE - всегда используется Flip режим.
По поводу соотношения сторон - возможно, это мелочи :)
Название: Re: MPC Video Renderer
Отправлено: V0lt от 30 мая 2020, 22:24:10
В MPC VR добавил либу fmt как "Подмодуль" и она уже местами используется.
Это был первый эта перехода на std::[w]string. Будут еще этапы.

Evgeniy1990, если будут проблемы с обновлением подмодуля - пиши.
Иногда бывает что проще удалить старую папку и выкачать весь проект заново вместе с внешними модулями.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 31 мая 2020, 05:51:03
Ну еще одна попытка - debug билд https://yadi.sk/d/HIYH7llCaPNBIQ
Если что - жду лог.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 31 мая 2020, 07:04:19
V0lt,
ЦитироватьВ MPC VR добавил либу fmt как "Подмодуль" и она уже местами используется.
Внешние подмодули имеет смысл добавлять только в том случае, если они сами периодически обновляются и развиваются.
ЦитироватьEvgeniy1990, если будут проблемы с обновлением подмодуля - пиши.
Пока никаких проблем не возникло, достаточно было просто извлечь внешний подмодуль "fmt" из хранилища и запустить построение.
В итоге, компиляция была выполнена успешно.
ЦитироватьИногда бывает что проще удалить старую папку и выкачать весь проект заново вместе с внешними модулями.
Я так и делаю, перед каждым построением выполняю заново "Git Clone". Вот только теперь еще придется заного извлекать внешний подмодуль "fmt". Хорошо, что он пока всего один, а если их будет несколько, то тут только лишние действия выполнять.

Вообще, подмодули - вещи интересные, дополняющие основной проект, но от них толк будет только в том случае, если они также будут периодически обновляться и развиваться, иначе толку от них будет мало.

Для примера, возьмем тот же Sanear Audio Renderer. Он также содержит несколько подмодулей. Да, знаю, что сам он уже давно не развивается, а вот его подмодули обновляются. И если собрать его с обновленными подмодулями, то можно заметить разницу в звуке, причем довольно ощутимую, особенно с хорошей звуковой картой, вроде тех же ASUS Xonar, или Creative X-Fi.

Aleksoid1978,
ЦитироватьНу еще одна попытка - debug билд https://yadi.sk/d/HIYH7llCaPNBIQ
Если что - жду лог.
Проверил отладочный билд. Никакой разницы, по сравнению со вчерашним отладочным билдом.
Проверял пока на Win7 - ничего не изменилось. При первом переходе в режим FSE, - мертвое зависание, при втором и последующих - нет самого окна FSE. Также сделал два лога (https://yadi.sk/d/Ik4nzEiZVWSa9w), при двух этих ситуациях.

Чуть позже перейду (переключусь) на Windows 10 и еще раз проверю там поведение данного отладочного билда.
Но уже предполагаю, что скорее всего никакой разницы, по сравнению с предыдущим билдом, я не увижу. Но, в любом случае, буду смотреть.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 31 мая 2020, 07:25:48
По поводу git и модулей - самое просто выполнить в командной строке git pull(обновление самого проекта) и затем git submodule update --init --recursive(обновление всех внешних модулей, рекурсивно). Так же в том же TortoiseGit есть отдельная команда для обновления модулей.

И не надо каждый раз заново "клонировать" проект.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 31 мая 2020, 07:36:02
Evgeniy1990
fmt::format - это по сути прототип std::format C++20. Либа fmt стабильная, поэтому постоянно обновлять подмодуль не нужно.
Я один раз скачиваю fmt и потом вообще его не трогаю.

По идее надо цеплять релиз подмодуля, чтобы не менялся совсем, но Я не копал в этом направлении.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 31 мая 2020, 09:33:31
Aleksoid1978,

Проверил сегодняшний отладочный билд на Windows 10. И, как я и предполагал, ничего не изменилось.
При первом переходе - мертвое зависание, при втором и последующих - нормальный переход в режим FSE, также присутствует само окно FSE.

Что общего:

На Win7 и Win10 присутствует мертвое зависание, при первом переходе в режим FSE.

В чем отличие:

На Win7, при втором и последующих переходах в режим FSE, отсутствует само окно FSE.
На Win10, при втором и последующих переходах в режим FSE, присутствует само окно FSE.

P.S. Для начала надо избавиться от этого проклятого мертвого зависания. А уже потом разбираться с отсутствием самого окна FSE на Win7.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 31 мая 2020, 09:36:19
Aleksoid1978,
Прилагаю два лога (https://yadi.sk/d/wHysM6rK5S4P2g) с Windows 10.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 31 мая 2020, 11:02:37
Да все понятно... что ничего непонятно)))
Название: Re: MPC Video Renderer
Отправлено: V0lt от 31 мая 2020, 14:52:20
Evgeniy1990
Моя версия 5 без доп. фокусного окна (https://yadi.sk/d/X0EVMKP4TcmnHQ/Test/ExclusiveFullscreen). Если не кликать на другом дисплее, то работает. :-)
Но при первом запуске все равно зависает.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 31 мая 2020, 16:06:08
V0lt,
ЦитироватьМоя версия 5 без доп. фокусного окна. Если не кликать на другом дисплее, то работает. :-)
Но при первом запуске все равно зависает.
Проверил вашу 5-ую версию на Win7. Действительно, все именно так, как вы сказали. При первом переходе - мертвое зависание, при втором и последующих - нормальный переход и сам режим FSE.

Наконец-то! Первая тестовая версия, в которой работает режим FSE на Windows 7, хоть и со второго раза. :)
Спасибо, что предоставили мне ее для проверки. Получается, что всему виной - дополнительное фокусное окно.

Но вот это мертвое зависание просто бесит. Нужно избавиться от него раз и навсегда. Приятно видеть, что прогресс продвигается в этом направлении. Думаю, что скоро вы решите эту проблему с этим мертвым зависанием. :)
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 01 июня 2020, 04:19:54
Вот еще просьба проверить - https://yadi.sk/d/6DKd_n7pndfnuQ
В архиве 2 версии(debug x86). Зависание при первом запуске никуда не делось - главное это наличие FSE окна и нормальное проигрывание и переключение в FSE и обратно.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 01 июня 2020, 05:49:41
Aleksoid1978,
ЦитироватьВот еще просьба проверить - https://yadi.sk/d/6DKd_n7pndfnuQ
В архиве 2 версии(debug x86). Зависание при первом запуске никуда не делось - главное это наличие FSE окна и нормальное проигрывание и переключение в FSE и обратно.
Вы предоставили мне Release-версии, вместо Debug, которые ведут себя одинаково, как и все ваши прежние билды.
На Win7 отсутствует окно FSE. На Win10 присутствует окно FSE.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 01 июня 2020, 06:00:39
Вот же блин, тогда позже перевыложу :)

P.S. перезалил, ссылка та же.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 01 июня 2020, 07:55:19
Aleksoid1978,
ЦитироватьP.S. перезалил, ссылка та же.
Проверил оба отладочных билда. К сожалению, без изменений.
На Win7 нет окна FSE. На Win10 есть окно FSE.

И тут я полез "во все тяжкие"... Решил, ради интереса,  проверить, а вообще, как обстоят дела на других машинах, с другими видеокартами, с теми же Win7 и Win10.

Результаты были аналогичные. Но было и одно исключение на одной из машин, на которой, в отличие от других, где просто нет самого окна FSE, при переходе в режим FSE, проявился ASSERT, а затем просто произошло падение плеера. Причем, ASSEERT и дальнейшее падение проявляются всегда, т.е. они стабильные.

В общем, для всех случаев, для каждой из машин, сделал лог-файлы (https://yadi.sk/d/BzuSEjwE6D8DIg).
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 01 июня 2020, 08:02:43
Вот же пля ...
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 01 июня 2020, 09:30:08
Вот еще одна попытка - https://yadi.sk/d/AHqzMmu-IE8vcA
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 01 июня 2020, 09:54:07
Aleksoid1978,
ЦитироватьВот еще одна попытка - https://yadi.sk/d/AHqzMmu-IE8vcA
Проверил второй отладочный билд. Теперь мертвое зависание происходит всегда, при первом разе и при последующих. (О_о)
Прилагаю лог-файлы (https://yadi.sk/d/0kRX_hTPWoUbGw).
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 01 июня 2020, 11:37:55
Ну вот еще одна попытка - https://yadi.sk/d/w9udLKU0a9UeSg
Думаю если и это не поможет - тогда можно забросить и забыть ))
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 02 июня 2020, 09:58:08
По MPC VR + FSE - пробуем еще вот так - https://yadi.sk/d/_LSyLmGP6G331Q
В архиве немного измененный mpc-be + сам mpc vr.

Ну и если что - логи в студию.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 02 июня 2020, 13:15:41
Aleksoid1978,
Цитировать
По MPC VR + FSE - пробуем еще вот так - https://yadi.sk/d/_LSyLmGP6G331Q
В архиве немного измененный mpc-be + сам mpc vr.

Ну и если что - логи в студию.
К сожалению, теперь нет самого окна FSE. Плюс, вдобавок, появилась уже другая ошибка: "S_PRESENT_OCCLUDED ERROR".
Прилагаю лог-файл (https://yadi.sk/d/Rq9Zd1W56gM7rg).
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 02 июня 2020, 13:21:28
Ну ясно. Все, забываем о FSE, по крайней мере как это реализовано в самом MPC-BE, отдельным окном. Возможно в будущем попробую сделать как в madVR, когда рендерер сам переходит в FSE.
Но лично мне такой FSE уже совершенно не привычен, на столько понравился и прижился способ в MPC-BE/HC, отдельным окном.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 02 июня 2020, 18:12:58
Цитата: Aleksoid1978 от 02 июня 2020, 13:21:28
Ну ясно. Все, забываем о FSE, по крайней мере как это реализовано в самом MPC-BE, отдельным окном. Возможно в будущем попробую сделать как в madVR, когда рендерер сам переходит в FSE.
Но лично мне такой FSE уже совершенно не привычен, на столько понравился и прижился способ в MPC-BE/HC, отдельным окном.
Не спешите с выводами. На Win8 FSE есть как положено. Есть нюансы, но перехвата фокуса на мульти-дисплейности на этот раз нет, чего и добивались. Значит, первый нюанс с одним монитором: запускаем плеер, потом файл, далее FSE и всё это успешно, но выход из FSE заканчивается зависом, и так каждый раз >лог https://yadi.sk/d/qfLz9m-TtdatmQ С мульти-дисплейностью переход на ТВ в FSE успешен, причём на основном мониторе можно делать что угодно, фокус не перехватывается. Но вот если выйти из FSE и опять перейти в FSE, то тогда окна FSE уже нет, но в этом случае плеер не зависает в отличии от моно-дисплейности > лог https://yadi.sk/d/vLoqb9kT5b6hcg
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 02 июня 2020, 19:20:56
Aleksoid1978,
ЦитироватьНу ясно. Все, забываем о FSE, по крайней мере как это реализовано в самом MPC-BE, отдельным окном.
Рано еще сдаваться. Я перепроверил поведение сегодняшнего отладочного билда вместе с тестовым плеером.

В общем так, окно FSE то есть, то его нет. Вот так вот.

Т.е. при первом (втором) переходе сначала его нет, если выйти из него и заново перейти, то окно FSE уже есть, но если выйти и переходить все дальнейшие разы, в течении текущей сессии, то больше само окно FSE не появится.

Вывод: окно FSE нестабильно, проявляется всего лишь один раз и то только после второго перехода текущей сессии. Если выйти из окна FSE и попробовать несколько раз перейти в него обратно, в течении одной сессии, то его больше не будет, вернее оно будет невидимым.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 04 июня 2020, 06:28:36
Так - пробуем первую попытку(поэтому сильно надеяться не надо :) ) полноэкранного эксклюзива без отдельного окна FSE, т.е. по аналогии с madVR - при переходе в полный экран автоматом будет переключение в эксклюзив.
Версии дебажные, если что - выложить логи.
https://yadi.sk/d/rvcxs6BQb0sUHw
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 04 июня 2020, 07:12:14
Aleksoid1978,
Результаты по первому AX. > https://yadi.sk/d/bemdhdEmJQn99Q Там 2 лога, первый без включённого FSE, второй с включённым. В обоих случаях плеер падает при попытке перейти в FS.
Второй AX более удачен, в принципе работает, но при перехвате фокуса падает как на одном мониторе, так и на двух. Вот 2 лога > https://yadi.sk/d/tPp6_OKt0DNoPA
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 04 июня 2020, 07:56:35
Короче ясно - такой же отстой, в 10 все великолепно :) Забываем про FSE - реально надоело уже тупить с этим ...
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 04 июня 2020, 09:33:24
Aleksoid1978,
ЦитироватьТак - пробуем первую попытку(поэтому сильно надеяться не надо :) ) полноэкранного эксклюзива без отдельного окна FSE, т.е. по аналогии с madVR - при переходе в полный экран автоматом будет переключение в эксклюзив.
Версии дебажные, если что - выложить логи.
https://yadi.sk/d/rvcxs6BQb0sUHw
Проверил два отладочных билда. Первый падает, при переходе в режим FSE. Второй нормально переходит в режим FSE и обратно в оконный режим.

Хочу сказать, что сперва я проверял данный отладочные билды на тестовом MPC-BE, а уже после на текущей SVN.
Так вот, на тестовом билде MPC-BE оба отладочных билда MPC-VR вели себя совершенно ужасно, первый намертво зависал, при переходе в режим FSE, еще и что-то грузил до бесконечности. Второй на тестовом вел себя нестабильно, с одной стороны нормально переходил в режим FSE, с другой - обратно выйти из него уже не мог и дальше также мертвое зависание.

Что касается текущего SVN, то тут все куда лучше, первый отладочный билд просто падает стабильно при переходе в режим FSE, второй нормально переходит в режим FSE туда и обратно, причем строго всегда.

Сделал лог-файлы (https://yadi.sk/d/cBaDKtZ3huBNZg) на каждый случай как для тетстового, так и для SVN-билдов.
Что у меня удивило так это вот такая странная и непонятная ошибка в логе:

00000135 9.64786720 [3864] MpcVideoRenderer.ax(tid 410)     3219 : CDX9VideoProcessor::Render() : PresentEx() failed with error ?^?a?e?i?j?o?l?n?u?t?z?z?{?}?p?j?n?n?d???????????????????????˜???????????????????????????????????˜??????????????????? ? ?????¤???¦?©?¬???­?¬???«???°?????µ???·?????????????????????¤???˜???¬? ?¦?­?µ?????¶?????§?«?A?A?A?A?A???A?A?E?E?E?E?I?C?E?E?E?I?I???A?C?E?N?N?O?O?O???O?O?N?U???E?I?O?U?O???N???O???a?a?a???a?e?i?c?i?i???n?o?o?o?u?u?u?y

Aleksoid1978
ЦитироватьКороче ясно - такой же отстой, в 10 все великолепно :) Забываем про FSE - реально надоело уже тупить с этим ...
Вот опять начинается... Это была всего лишь первая попытка, а вы уже сдаетесь. Второй отладочный билд работает нормально, значит шанс еще есть.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 04 июня 2020, 09:49:09
Evgeniy1990,
Второй работает стабильно, да. Одна мелочь - фокус. Нажать хотя бы Alt+Tab и плеер закрывается.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 04 июня 2020, 10:29:44
MPCfan,
ЦитироватьВторой работает стабильно, да. Одна мелочь - фокус. Нажать хотя бы Alt+Tab и плеер закрывается.
Да, действительно, если в режиме FSE нажать "Alt+Tab", то плеер просто стабильно падает.
Причем, падение происходит именно в самом "MpcVideoRenderer.ax".
Решил я проверить где конкретно падает, так отладчик требует его *.pdb, говорит "...Not Loaded", которого у меня нет.

Теперь по поводу мелочи - "фокус". Вот знаете, я всегда думал, что процесс развития и отладки происходит поэтапно, но в нашем случае - это далеко не так. Мы еще толком не добились нормальной работы режима FSE, даже не определились как он будет реализован - как внешнее отдельное окно, или со стороны самого видео-рендерера, так уже сразу полезли одновременно реализовывать фокусы, мультимониторности и прочее. Я, конечно, не настаиваю, но хочу просто еще раз сказать - давайте действовать поэтапно, закончим и отладим одно, а после уже приступим к следующему. Но не надо одновременно делать и то и другое, так конечно мы будем вечность тут получать зависания и ошибки.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 04 июня 2020, 14:39:29
 Evgeniy1990,
На моей памяти уже 3 теста(включая этот) работают корректно с переходами. Всем им свойственно два нюанса: первый запуск и потеря фокуса. Мне казалось, что именно это пытались разрешить. Насколько я понял, на десятке проблем нет.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 04 июня 2020, 15:23:33
На 10 вообще почти все попытки удачны :) А вот на 7- все fail ((
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 04 июня 2020, 15:41:52
Цитата: Aleksoid1978 от 04 июня 2020, 15:23:33
На 10 вообще почти все попытки удачны :) А вот на 7- все fail ((
Почему же? Ведь именно последний тест и на семёрке, и на восьмёрке стабилен с переходами.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 04 июня 2020, 15:48:31
Но ... офигенные проблемы при потере фокуса :)
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 04 июня 2020, 15:58:28
Aleksoid1978,
Но вот здесь же > https://yadi.sk/d/_LSyLmGP6G331Q проблема с фокусом была решена. Да, не ладилось с выходом из FSE при воспроизведении, но фокус же не перехватывался.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 05 июня 2020, 05:30:58
Вот еще пробуем - https://yadi.sk/d/vh0QvU0XKDWHdQ и https://yadi.sk/d/ar9nCVhZNfyJiw
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 05 июня 2020, 07:06:02
Цитата: Aleksoid1978 от 05 июня 2020, 05:30:58
Вот еще пробуем - https://yadi.sk/d/vh0QvU0XKDWHdQ и https://yadi.sk/d/ar9nCVhZNfyJiw
Второй вариант работает, c фокусом всё OK. Из нюансов: такое явление как "первый запуск" есть как и во всех тестах, ну и при включённой статистике при выходе из FSE плеер закрывается > https://yadi.sk/d/Qholx9FmX0NH3w А вообще отличный вариант!
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 05 июня 2020, 07:11:31
Зависание при первом запуске да - это я вообще хз с чем связано. А по статистике - странно, у меня норм :)
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 05 июня 2020, 07:16:45
Вот еще одна версия - https://yadi.sk/d/eMGjXUCOd70tuQ
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 05 июня 2020, 08:35:57
Aleksoid1978,
ЦитироватьВот еще одна версия - https://yadi.sk/d/eMGjXUCOd70tuQ
Проверил третий отладочный билд.

Первый раз - зависание при выходе из режима FSE. Прилагаю лог-файл (https://yadi.sk/d/zpKunYoVqxWDXg).
Второй раз и все последующие - нормальный переход в режим FSE и обратно.
При нажатии "Alt+Tab" в режиме FSE, ничего не происходит. Тут я не знаю, или так и должно быть, т.е. было задумано, или должен быть ваш "фокус". Но в целом, никаких падений нет. Убрать бы мертвое зависание при выходе из режима FSE, которое проявляется в самый первый раз и было бы вообще супер. Ну и скажу, что ситуация улучшается, прогресс идет.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 05 июня 2020, 09:17:53
Зависание при выходе из FSE - наверное из той же истории что зависание при первом запуске и переходе в FSE :)
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 05 июня 2020, 12:53:02
Вроде бы выяснил причину зависания при первом запуске и переходе в FSE, буду пробовать обойти. Причина не в нашем коде, придётся использовать хуки:)
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 05 июня 2020, 16:02:39
Aleksoid1978,
Проверил третий тест на сегодня. При выходе из FSE c включённой статистикой теперь всё OK. Но а как же без нюансов то! Есть, но это уже задел на будущее. Значит с включенной авто-переключалкой + статистикой при переключении на другую частоту отличной от 60Hz(по умолчанию) на ТВ плеер падает как на одном ТВ, так и на ТВ+монитор ноутбука. Избежать такого поведения можно или отключить статистику, или переключалку. Позже выложу логи, если конечно они нужны.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 05 июня 2020, 16:43:57
Логи не надо. У меня(на Win10) все норм с переходом и со статистикой и  авто-перекелючалкой(не берем во внимание первый запуск).
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 05 июня 2020, 18:01:30
Evgeniy1990,
Решил я перепроверить ещё раз третий тест, нажимаю этот Alt+Tab и на тебе, FSE исчезло. Ведь проверял же, не было такого. Нажимаю опять Alt+Tab, опять появилось FSE. Открываю статистику, а там уже просто FS. Вот такие дела. Стал я это дело тщательно проверять и понял в чём дело. Ведь когда проверял третий сегодняшний тест, окно браузера было свёрнуто и я решил это повторить. Действительно, при свёрнутом или нет окне браузера, да и вообще любом окне, Alt+Tab не перехватывает фокус, а когда не открыто(свёрнуто) ни одно окно, фокус теряется. Да уж, да плюс приколы со статистикой и авто-переключалкой.......  Win8=OUT.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 05 июня 2020, 19:59:16
MPCfan,
ЦитироватьРешил я перепроверить ещё раз третий тест, нажимаю этот Alt+Tab и на тебе, FSE исчезло. Ведь проверял же, не было такого. Нажимаю опять Alt+Tab, опять появилось FSE. Открываю статистику, а там уже просто FS. Вот такие дела.
Я десяток раз нажимал "Alt+Tab" в режиме FSE и ничего не произошло, хоть убейте меня. Пробовал открывать дополнительные папки, сворачивал их, переходил в режим FSE и пробовал на них переключиться через "Alt+Tab" - ничего не произошло, плеер так и остается работать в режиме FSE. Я хз, как получить такую ситуацию с пропаданием FSE  на Windows 7.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 06 июня 2020, 05:03:47
Пробуем еще - https://yadi.sk/d/IXeTXlCFM0Ctig
Вроде бы смог обойти проблемы зависания при первом запуске и FSE - проверяем и отписываемся.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 06 июня 2020, 05:30:15
Aleksoid1978,
ЦитироватьПробуем еще - https://yadi.sk/d/IXeTXlCFM0Ctig
Вроде бы смог обойти проблемы зависания при первом запуске и FSE - проверяем и отписываемся.
Проверил отладочный билд. При первом запуске, плеер нормально переходит в режим FSE, а вот при выходе из него уже происходит стабильное падение. При втором и последующих переходах, при выходе из режима FSE в окно, виснет намертво в самом FSE, даже в окно переключиться не может, по сравнению с самым первым разом.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 06 июня 2020, 05:34:33
Aleksoid1978,

*** Exception 0xC0000005 occured ***

C:\Program Files\MPCVideoRenderer\MpcVideoRenderer.ax : DllRegisterServer()
C:\Program Files\MPCVideoRenderer\MpcVideoRenderer.ax : DllRegisterServer()
C:\Program Files\MPCVideoRenderer\MpcVideoRenderer.ax : DllRegisterServer()
C:\Program Files\MPCVideoRenderer\MpcVideoRenderer.ax : DllRegisterServer()
C:\Program Files\MPCVideoRenderer\MpcVideoRenderer.ax : DllRegisterServer()
C:\Program Files\MPCVideoRenderer\MpcVideoRenderer.ax : DllRegisterServer()
C:\Program Files\MPCVideoRenderer\MpcVideoRenderer.ax : DllRegisterServer()
C:\Program Files\MPCVideoRenderer\MpcVideoRenderer.ax : DllRegisterServer()
C:\mpc-be\src\ExtLib\BaseClasses\amfilter.cpp(2696) : CBaseOutputPin::Deliver()
C:\mpc-be\src\filters\transform\MPCVideoDec\DXVADecoder\DXVA2Decoder.cpp(118) : CDXVA2Decoder::DeliverFrame()
C:\mpc-be\src\filters\transform\MPCVideoDec\MPCVideoDec.cpp(3072) : CMPCVideoDecFilter::DecodeInternal()
C:\mpc-be\src\filters\transform\MPCVideoDec\MPCVideoDec.cpp(3258) : CMPCVideoDecFilter::Decode()
C:\mpc-be\src\filters\transform\MPCVideoDec\MPCVideoDec.cpp(3366) : CMPCVideoDecFilter::Transform()
C:\mpc-be\src\filters\transform\BaseVideoFilter\BaseVideoFilter.cpp(124) : CBaseVideoFilter::Receive()
C:\mpc-be\src\ExtLib\BaseClasses\transfrm.cpp(763) : CTransformInputPin::Receive()
C:\mpc-be\src\ExtLib\BaseClasses\amfilter.cpp(2696) : CBaseOutputPin::Deliver()
C:\mpc-be\src\filters\parser\BaseSplitter\BaseSplitterOutputPin.cpp(493) : CBaseSplitterOutputPin::DeliverPacket()
C:\mpc-be\src\filters\parser\BaseSplitter\BaseSplitterOutputPin.cpp(321) : CBaseSplitterOutputPin::ThreadProc()
C:\mpc-be\src\ExtLib\BaseClasses\wxutil.cpp(124) : CAMThread::InitialThreadProc()
minkernel\crts\ucrt\src\appcrt\startup\thread.cpp(97) : thread_start<unsigned int (__stdcall*)(void *),1>()
C:\Windows\syswow64\kernel32.dll : BaseThreadInitThunk()
C:\Windows\SysWOW64\ntdll.dll : RtlInitializeExceptionChain()
C:\Windows\SysWOW64\ntdll.dll : RtlInitializeExceptionChain()
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 06 июня 2020, 06:06:55
Странно - у себя я смог избавиться от падения/зависания при переходе из FSE в окно.

А что это за лог ?
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 06 июня 2020, 06:20:23
Aleksoid1978,
ЦитироватьА что это за лог ?
Это stacktrace. Просто скинул на всякий случай, вдруг поможет. Это при падении.

Самое странное - это то, что в режим FSE нормально переходит, а вот выйти из него нормально уже не может, тупо виснет намертво.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 06 июня 2020, 06:28:36
Нужен лог самого MPC VR.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 06 июня 2020, 06:41:20
Aleksoid1978,
ЦитироватьНужен лог самого MPC VR.
Пожалуйста (https://yadi.sk/d/Mnt_EbWCLHa0yw).
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 06 июня 2020, 06:45:03
Странно, с логом все отлично. Ладно - попробую еще "подебажить", в MPC-HC тоде получаю падение при переходе из FSE в окно :)
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 06 июня 2020, 06:46:38
Цитата: Aleksoid1978 от 06 июня 2020, 05:03:47
Пробуем еще - https://yadi.sk/d/IXeTXlCFM0Ctig
Вроде бы смог обойти проблемы зависания при первом запуске и FSE - проверяем и отписываемся.
https://yadi.sk/d/FJ1NK6KWM9gwBw При выходе из FSE есть небольшой фриз, потом уже нет ни FSE, ни плеера.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 06 июня 2020, 07:20:15
Да я понял, MPC-HC тоже вылетает при переходе в окно, попробую понять.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 06 июня 2020, 10:31:46
Вот пробуем - https://yadi.sk/d/ids8Yt0MfkeG0w
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 06 июня 2020, 11:13:25
Aleksoid1978,
ЦитироватьВот пробуем - https://yadi.sk/d/ids8Yt0MfkeG0w
Проверил второй отладочный билд. Теперь полный порядок. При первом запуске плеер нормально переходит в режим FSE и выходит обратно из него. При втором и последующих - аналогично, все нормально.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 06 июня 2020, 11:32:55
Ну теперь надо погонять получше, в одномониторной и мультимониторной конфигурациях.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 06 июня 2020, 11:42:31
Aleksoid1978,
ЦитироватьНу теперь надо погонять получше, в одномониторной и мультимониторной конфигурациях.
ОК. Вот видите, вы все же смогли реализовать нормальную работу режима FSE. :)
По поводу фокуса через "Alt+tab" - в режиме FSE ничего не происходит, т.е. нельзя переключиться (перейти) на другое окно папки, или же приложения.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 06 июня 2020, 11:53:19
Aleksoid1978,

По поводу прогонки режима FSE - необходимо улучшить (отладить) работу Discard, потому что с ним творится какая-то хрень.
Во-первых, видео файлы с частотами 59.94, 59.97, 60 FPS работают некорректно. И эта некорректность сильно сказывается на работе режима FSE. Достаточно просто открыть статистику видео-рендерера. И что я вижу - по началу вроде бы нормально, на первый взгляд, а при переходе в режим FSE, уже сразу же получаем  произвольное (рандомное) количество пропущенных кадров, например такие вот значения: 6, 17, 3, 6, 5, 11 и т.д. При выходе из режима FSE получаем также аналогичные произвольные значения пропущенных кадров. В момент перехода и выхода из режима FSE, видно как зеленый график времени кадра становится очень острым и высоким до самой верхушки экрана монитора.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 06 июня 2020, 11:54:13
По Alt Tab - это на одном мониторе, а как на EVR-CP ?
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 06 июня 2020, 11:55:46
График и пропуски - это нормально, происходит пересоздание устройства и вслед за этим много ещё чего.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 06 июня 2020, 11:59:39
Aleksoid1978,
ЦитироватьПо Alt Tab - это на одном мониторе, а как на EVR-CP ?
Решил я проверить поведение "Alt+Tab" на EVR-CP в режиме FSE и что обнаружил - теперь на EVR-CP не работает режим FSE. Теперь на нем невидимое окно FSE. Зашибись! (О_о)
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 06 июня 2020, 12:01:57
Ага, учитывая что там код не тронулся очень долгое время и уж тем более MPC VR тут не при чем :)
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 06 июня 2020, 12:03:24
Aleksoid1978,
ЦитироватьГрафик и пропуски - это нормально, происходит пересоздание устройства и вслед за этим много ещё чего.
Я бы так не сказал, на FlipEx их нет вообще.

Основная проблема - это постепенные пропуски кадров видео во время его воспроизведения, при условии, что используется Swap effect: Discard. Не должно быть пропусков кадров во время воспроизведения видео. Вот это и надо устранить, тогда их не будет и при переходах туда и обратно.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 06 июня 2020, 12:07:00
100500 раз уже писал - FSE использует Flip режим. При чем здесь discard, и что значит пропуски во время воспроизведения? Не в момент перехода в FSE или обратно а уже после пропуски, просто во время проигрывания?
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 06 июня 2020, 12:07:39
Короче пока не ведём речь про обычное проигрывание.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 06 июня 2020, 12:09:40
Aleksoid1978,
Цитата: Aleksoid1978 от 06 июня 2020, 12:01:57
Ага, учитывая что там код не тронулся очень долгое время и уж тем более MPC VR тут не при чем :)
Да знаю я прекрасно, что код давным давно не менялся, но не работает FSE, нет его.

P.S. Update: черт его знает, что это "такое" было... Перезапустил плеер, вроде бы проблема исчезла. Да уж... Пошли странности какие-то...
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 06 июня 2020, 12:18:06
Aleksoid1978,
Цитировать100500 раз уже писал - FSE использует Flip режим. При чем здесь discard, и что значит пропуски во время воспроизведения? Не в момент перехода в FSE или обратно а уже после пропуски, просто во время проигрывания?
О боже... Вы меня понять не можете... Я вам тоже 100500 раз говорил, да причем здесь FSE и Flip, если я говорю пока только про обычное воспроизведение видео. У нас MPC VR имеет два swap-эффекта - это Discard и FlipEx.
Так вот, если используется Discard, при воспроизведении видео файлов с частотами 59.94, 59.97 и 60 FPS, во время самого процесса воспроизведения происходит постепенное нарастание (увеличение) количества пропущенных кадров видео. Вот что я пытаюсь вам уже в который раз сказать. Но, ладно, пока отложим эту проблему. Сначала закончим с режимом FSE.

И мне интересно, почему это вдруг перестал у меня работать FSE на EVR-CP и вдруг снова заработал, что-то у меня нехорошее предчувствие... Да потому что это больше смахивает на плавающую проблему (плавающий баг).
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 06 июня 2020, 12:21:21
Я понял поэтому и сказал - пока не трогаем обычное проигрывание и discard, тем более что тут может быть ничем и не помочь, пока не переделать работу с очередью, а это неизвестно когда будет и неизвестно будет ли вообще.

P.S. Тем более у себя такого не наблюдаю. Да и вообще - юзаем Flip/FlipEx как более современный, не зря же его рекомендуют использовать.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 06 июня 2020, 12:28:12
Aleksoid1978,
Цитата: Aleksoid1978 от 06 июня 2020, 12:21:21
Я понял поэтому и сказал - пока не трогаем обычное проигрывание и discard, тем более что тут может быть ничем и не помочь, пока не переделать работу с очередью, а это неизвестно когда будет и неизвестно будет ли вообще.

P.S. Тем более у себя такого не наблюдаю. Да и вообще - юзаем Flip/FlipEx как более современный, не зря же его рекомендуют использовать.
Потому что у вас видеокарта NVIDIA. А проблема с пропусками кадров во время воспроизведения проявляется только на видеокартах от AMD, причем именно на новых моделях и последних новейших драйверах.

Тогда почему не сделать по умолчанию Swap effect - FlipEx, если он более современный?
Единственная просьба - это убрать видимость окна плеера при переходе на следующий файл. Реально выглядит странно.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 06 июня 2020, 12:33:23
Что ещё за видимость при переходе, покажи ?
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 06 июня 2020, 12:41:21
Aleksoid1978,

Мда... И все же, как бы смешно это не звучало, а проблема с работой режима FSE все-таки есть на EVR-CP, несмотря на то, что его код давным давно не менялся. Увы и ах, к сожалению, проблема есть. Я смело это подтверждаю! Причем, она плавающая, если смогу разгадать алгоритм проявления, то сможем ее устранить.

Вот посмотрите, пожалуйста, на это зрелище (https://yadi.sk/i/_6P-xFSFwiJ1Iw).
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 06 июня 2020, 12:46:35
Aleksoid1978,
ЦитироватьЧто ещё за видимость при переходе, покажи ?
Откройте у себя любой видео файл, выберете эффект FlipEx, перейдите в обычный полноэкранный режим, перемотайте почти в конец и ждите переход на следующее видео в папке. В момент перехода, на пару секунд можно будет увидеть окно самого MPC-BE, как при его старте (запуске). Вот этого быть не должно. Почему? Да потому что ни на одном видео-рендерере нет такого явления, который смахивает на "некую недоработку".
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 06 июня 2020, 12:50:14
А какие другие рендереры используют FlipEx ?
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 06 июня 2020, 12:51:57
Aleksoid1978,
Цитировать
А какие другие рендереры используют FlipEx ?
Тот же EVR-CP.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 06 июня 2020, 12:59:14
Нет в счёт - он встроен, и сильно пересекается с самим проигрывателем:)
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 06 июня 2020, 13:10:26
Aleksoid1978,

Разгадал алгоритм проявления проблемы с отсутствием окна FSE на EVR-CP. Он простой, касается вашего последнего второго отладочного билда.

1. Открыть плеер
2. Выбрать MPC VR
3. Запустить видео
4. Включить режим FSE
5. Перейти режим FSE
6. Выйти из режиме FSE
7. Не закрывая плеер (текущую сессию), выбрать EVR-CP
8. Запустить видео
9. Перейти в режим FSE

В итоге, самого окна FSE не будет. Вернее, оно есть, только невидимое.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 06 июня 2020, 13:17:15
Так не при чем EVR-CP
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 06 июня 2020, 23:58:41
Aleksoid1978,

В общем, прогнал более тщательно ваш второй отладочный билд на разных машинах. В целом, режим FSE на MPC VR работает нормально, за исключением того случая, когда он становится невидимым на EVR-CP, если выполнить алгоритм, который я расписал выше.

P.S. Вот только как всегда есть одно НО! Дело в том, что во втором отладочном билде были добавлены "хуки" для корректной работы режима FSE на MPC VR, особенно касаемые переходов туда и обратно. Так вот, к сожалению, это не прошло без последствий. Как только я решил проверить его работу на машине с ATI Radeon HD 3650, я был в ужасе от увиденного.
А все потому, что на данной машине, при переходе в режим FSE, плеер виснет намертво, причем само окно FSE присутствует, только оно черное на весь экран. Я бы не удивился этому, если бы не увидел то, что привело меня в ужас - это полный отказ видео-рендерера вообще переходить в полноэкранный режим. Я еще могу понять, что при переходе в режим FSE, плеер виснет намертво, но когда плеер виснет намертво, при переходе в обычный (простой) полноэкранный режим, ту у меня просто нет слов...

Я сделал лог-файлы (https://yadi.sk/d/Jrp9badt6UWf2w) для каждого случая зависания, как при переходе в режим FSE, так и при обычном переходе в полноэкранный режим. Также, для вас, сделал видеозапись (https://yadi.sk/i/WFCyv9Bb8eO9ig), чтобы вы смогли наглядно увидеть данную ситуацию, а она совершенно неприятная.
Также, сделал лог-файл (https://yadi.sk/d/8xEtsVYDNkizrw) для ситуации, когда окно FSE становится невидимым на EVR-CP.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 07 июня 2020, 00:06:25
Aleksoid1978,
ЦитироватьПо Alt Tab - это на одном мониторе, а как на EVR-CP ?
Что касается горячего сочетания клавиш "Alt+Tab", так оно работает на EVR-CP точно также, как и на MPC VR в режиме FSE, т.е. при его нажатии совершенно ничего не происходит. Я пробовал много раз нажимать данное сочетание в режиме FSE. В конечном итоге, ничего не происходит, ничего не меняется. Пока плеер в режиме FSE, переключиться на другое окно никак нельзя.
Поведение сочетания клавиш "Alt+Tab" абсолютно одинаковое, что на EVR-CP в режиме FSE, что на MPC VR в режиме FSE.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 07 июня 2020, 04:04:52
Так - ну предлагаю "окончательный вариант" уже с опцией включения FSE в самом VR. Думаю различные нюансы уже можно будет по ходу дела дорабатывать/исправлять.
https://yadi.sk/d/md-kEqcuXe3-Lw

Опция FSE в MPC-BE не имеет никакого отношения, влияет только опция в самом MPC VR.

P.S. Надо будет еще OSD и прорисовку полосы прокрутки сделать, тут надо будет совместно с MPC-BE вносить изменения.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 07 июня 2020, 05:02:38
Ситуацию с отсутствием окна FSE на EVR-CP после использования MPC VR FSE подтверждаю, потом разберемся.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 07 июня 2020, 07:54:12
И вот еще одна версия с FSE - https://yadi.sk/d/iFTB7WDPjyrXPA
В ней переход в FSE происходит не сразу же по переключению в полный экран, а по таймеру в 2 сек, по мне так даже по лучше - если случайно ткнул переход в полный экран можно быстро выйти обратно, ну и при переходе в полный экран картинка "не рвется".
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 07 июня 2020, 09:14:35
Aleksoid1978,
ЦитироватьТак - ну предлагаю "окончательный вариант" уже с опцией включения FSE в самом VR. Думаю различные нюансы уже можно будет по ходу дела дорабатывать/исправлять.
https://yadi.sk/d/md-kEqcuXe3-Lw

Опция FSE в MPC-BE не имеет никакого отношения, влияет только опция в самом MPC VR.
Проверил первый отладочный билд. В целом, работает точно также, как и вчерашний второй отладочный билд.
Но, к сожалению, на машине с ATI Radeon HD 3650 по прежнему мертвое зависание, при переходе в режим FSE, а также и само черное окно FSE. Во время перехода выскакивает ASSERT, если я выберу продолжение отладки, тогда зависание пропадет, но при этом будет обрыв видео-рендерера, т.е. ни видео, ни даже аудио работать не будет, будет просто черный экран, как в полноэкранном режиме, так и в оконном.

Aleksoid1978,
Цитировать
И вот еще одна версия с FSE - https://yadi.sk/d/iFTB7WDPjyrXPA
В ней переход в FSE происходит не сразу же по переключению в полный экран, а по таймеру в 2 сек, по мне так даже по лучше - если случайно ткнул переход в полный экран можно быстро выйти обратно, ну и при переходе в полный экран картинка "не рвется".
Проверил второй отладочный билд. Интересная задумка, прямо как в madVR, когда FSE работает после исчезновения различных панелей управления. Только в нашем случае - это простой таймер. Да, согласен, что так может быть даже и лучше, даже есть одно самое главное преимущество - это отсутствие рваного изображения, что больше актуально именно для AMD-видеокарт, т.к. на NVIDIA оно итак не рвется пре переходе в режим FSE туда и обратно.  Но, есть и довольно неприятный и существенный недостаток - это сам переход в полноэкранном режиме в режим FSE, согласно таймеру. Дело в том, что не на всех конфигурациях такая задумка будет работать стабильно - это 100% я вам скажу. На той же машине с ATI Radeon HD 3650, мало того, что сам FSE не работает, а при такой логике с быстрым переходом в полноэкранном режиме в режим FSE, падает видео-драйвер и вылетает BSOD. А это уже плохо, как минимум. Вот если вам удастся исправить поведение и работу режима FSE на более ранних моделях видеокарт, тогда данная задумка имеет место быть, иначе это просто боль. Падение драйвера - тот еще ужас, после восстановления он не всегда продолжает стабильно работать.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 07 июня 2020, 09:22:54
Aleksoid1978,
ЦитироватьОпция FSE в MPC-BE не имеет никакого отношения, влияет только опция в самом MPC VR.
Спасибо, что наконец-то реализовали отдельную опцию конкретно для самого MPC VR. Теперь, хотя бы, на машине с ATI Radeon HD 3650, плеер нормально переходит в обычный полноэкранный режим. До этого, был конфликт, из-за которого при выключенном режиме FSE, плеер все равно переходил именно в него. Но такое явление было только на этой самой машине. Т.е. думаю, что вы сами прекрасно уже видите и понимаете, что конфигурации разные и далеко не на всех из них будет строго одинаковое поведение.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 07 июня 2020, 12:57:29
Если падает драйвер - это вопросы к драйверу.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 07 июня 2020, 15:31:08
Надо решить какой вариант лучше, с таймером мне больше нравиться.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 07 июня 2020, 15:53:53
Мне нравиться без таймера. Не раздражает.

С какой-то версии был убран таймер в madVR и тогда стало возможно нормально пользоваться эксклюзивным режимом без лишней дерготни.

Прошу собрать версию x64.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 07 июня 2020, 16:04:48
В madVR по дефолту тоже таймер - 3 секунды(смотрим настройку эксклюзива). Ну можно тогда и нам добавить опцию ?
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 07 июня 2020, 16:57:57
Aleksoid1978,
ЦитироватьЕсли падает драйвер - это вопросы к драйверу.
Он упал всего лишь один раз, после чего, спустя 2 сек., согласно таймеру, также завис намертво при переключении на FSE-режим. Т.е. просто черный экран самого FSE. Т.е. надо разбираться почему так. Здесь дело вовсе не в драйвере.

Aleksoid1978,
ЦитироватьВ madVR по дефолту тоже таймер - 3 секунды(смотрим настройку эксклюзива). Ну можно тогда и нам добавить опцию ?
Я предлагаю сделать таймер опционально, просто добавить отдельную опцию. Пусть будут оба варианта работа режима FSE, а там посмотрим.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 08 июня 2020, 09:40:14
Aleksoid1978,

Зависание и падение, при переходе в режим FSE, происходит в этом месте (https://yadi.sk/i/pZyo6e1QEAgyKA).
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 08 июня 2020, 10:11:12
Покажи(там же в стеке падения) - CBaseRenderer::Pause().
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 08 июня 2020, 10:52:39
Aleksoid1978,
ЦитироватьПокажи(там же в стеке падения) - CBaseRenderer::Pause().
Пожалуйста (https://yadi.sk/i/ZMkpfBEAKzkWxg).
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 08 июня 2020, 11:10:51
Ну это не падение - это ASSERT в debug версии. Собери релизную версию и проверь на ней.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 08 июня 2020, 12:11:54
Aleksoid1978,
ЦитироватьНу это не падение - это ASSERT в debug версии. Собери релизную версию и проверь на ней.
Проверил релизную версию. Также, черный экран FSE, при переходе в режим FSE.

Если в черном экране FSE попробовать перемотать видео, то оно даже появится и продолжит воспроизведение и даже будет работать сам режим FSE. Но, стоит только выйти из него, а потом опять попробовать перейти в него, так снова просто черный экран FSE и снова приходится вручную перематывать видео вперед.  Ключевым фактом является именно перемотка вперед. Если в черном экране FSE перемотать видео назад, то он так и останется, кадры видео не появятся. А если в этот момент выйти из него в оконный режим, то получим обрыв цепи видео-рендерера.

Обрыв цепи видео-рендерера и видео декодера выглядит вот так (https://yadi.sk/i/WWm8hTpXQFgtaQ).
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 08 июня 2020, 12:17:52
Ну тут я хз :)
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 08 июня 2020, 12:40:53
Aleksoid1978,
ЦитироватьНу тут я хз :)
Это я проверяю на машине с ATI Radeon HD 3650. Именно на данной машине режим FSE ведет себя очень странно и некорректно, т.е. то работает, то не работает. Суть в том, что не на всех конфигурациях (машинах), режим FSE работает нормально и корректно. Да, знаю, что в целом, данный режим реализован корректно и на новом современном, или относительно современном железе (конфигурациях машин), он работает нормально, без проблем. А вот я решил пойти дальше и задал себе такой вопрос - а что если конфигурация не совсем современная, по сегодняшним меркам, как интересно тогда будет работать данный режим. И вот для таких случаев, я и собрал машину с ATI Radeon HD 3650, чтобы быть на все 100% уверенным, что любая реализация какого либо функционала, абсолютно точно, на все 100%, работает совершенно на любом железе и на любых конфигурациях. И в случае с режимом FSE, я убедился, что увы, далеко не на всех конфигурациях он работает корректно и стабильно. А я уверен, что найдутся такие пользователи, у которых как раз вот такие не очень современные конфигурации железа. И они не смогут нормально использовать данный режим. Вот в чем беда и огромный недостаток. Хотелось бы конечно его устранить, чтобы его не было вообще. Именно поэтому я и прошу вас обратить на это внимание, что не стоит вот так просто закрывать на это глаза, говоря о том, что у меня работает, значит оставляем как есть.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 08 июня 2020, 12:42:48
EVR-CP, madVR(в режиме DX9) - корректно работает FSE ?
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 08 июня 2020, 12:51:24
Aleksoid1978,
ЦитироватьEVR-CP, madVR(в режиме DX9) - корректно работает FSE ?
Режим FSE нормально и корректно работает на EVR-CP на машине с ATI Radeon HD 3650.
Режим FSE нормально и корректно работает на madVR на машине с ATI Radeon HD 3650.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 08 июня 2020, 12:53:20
А можешь запустить на debug версии MPC-BE и перейти в FSE на EVR-CP ? Ну и потом лог выложи.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 08 июня 2020, 13:40:58
Aleksoid1978,
ЦитироватьА можешь запустить на debug версии MPC-BE и перейти в FSE на EVR-CP ? Ну и потом лог выложи.
Пожалуйста (https://yadi.sk/d/B2L_4pJuBEZ5Qg).
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 08 июня 2020, 13:44:02
Ну как я и думал - на одном мониторе не пересоздается устройство, а "резетится". Проверить бы на такой же конфигурации но с 2-мя мониторами, вывод FSE на 2-ой монитор.
Ну а я посмотрю как сделать "так же как и EVR-CP".
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 09 июня 2020, 07:40:56
Вот еще просьба проверить работу FSE, особенно на одном мониторе. На нескольких - проверить как работает потеря фокуса.
https://yadi.sk/d/as7CEKnFWsVQeg
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 09 июня 2020, 09:58:26
Aleksoid1978,
ЦитироватьВот еще просьба проверить работу FSE, особенно на одном мониторе. На нескольких - проверить как работает потеря фокуса.
https://yadi.sk/d/as7CEKnFWsVQeg
Проверил данный билд. Теперь режим FSE нормально работает на машине с ATI Radeon HD 3650. Также проверил на остальных машинах - аналогично, режим FSE работает нормально. Т.е. основная работа и основные переходы туда и обратно не поломались. Вот теперь смело можно сказать, что режим FSE на MPC VR будет работать на совершенно любых конфигурациях.

Теперь, что касается самой работы данного режима FSE. Да, сейчас он полностью работает на различных конфигурациях, но вопрос в том - как работает? На первый взгляд, при повседневном использовании, проблем с ним нет и даже не заметишь их проявления. Но, если очень тщательно прогнать данный режим FSE, при различных взаимодействиях с плеером, скажем так, в различных ситуациях, то тут становиться понятно и очевидно, что его нормальная работа еще не полностью отлажена и доведена до ума.

Я очень тщательно прогнал вчерашнюю Git-сборку MPC VR. Гонял аж на всех трех машинах с разными конфигурациями, при разных возможных условиях и ситуациях. И вот тут обнаружил недостатки (недоработки/изъяны).

1 изъян - касается только опции таймера. Иногда, в момент перехода в режим FSE, согласно таймеру, можно получить изъян, когда сам режим FSE работает нормально, но при этом обратно из него уже нельзя будет выйти, вернее можно, но не с первого раза. И, кстати, в этот момент не работает авто-скрытие курсора мышки, т.е. курсор мышки всегда активен.

2 изъян - касается режима паузы (Pause Mode). Если открыть видео, поставить его на паузу и попробовать перейти в режим FSE, или же дождаться таймера, пока произойдет переход в режим FSE, а затем выйти обратно, то можно получить мертвое зависание. Также, тут же присутствует проблема с отсутствием кадра видео при паузе, т.е. при переходе в режим FSE, туда и обратно, вместо кадра видео, просто черный экран. Но, опять таки, кадр то есть, то его нет, причем бывает по разному, например, есть при переходе, но нет, после выхода, или наоборот. Мертвое зависание относится только к опции таймера, без него, без данной опции, не получить такую ситуацию, когда бы плеер завис намертво. Тут, скорее всего, сказывается первый изъян.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 09 июня 2020, 10:24:44
Еще бы вот что проверить - на мультимониторной конфигурации, настроить полный экран на тот же монитор где запускаем, перейти в FSE и проверить "потерю" фокуса - ткнуть мышкой в любое другое окно или просто рабочий стол, не будет ли пропадания окна с FSE.

У себя проверил - вроде все нормально.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 09 июня 2020, 13:03:24
Цитата: Aleksoid1978 от 09 июня 2020, 10:24:44
Еще бы вот что проверить - на мультимониторной конфигурации, настроить полный экран на тот же монитор где запускаем, перейти в FSE и проверить "потерю" фокуса - ткнуть мышкой в любое другое окно или просто рабочий стол, не будет ли пропадания окна с FSE.

У себя проверил - вроде все нормально.
Проверил на Win8, нормально, Alt+Tab мне кажется работает корректно на одном мониторе, но есть одно НО. В отличие от SVN плеер виснет если выйти из FSE, перезапустить файл и опять перейти в FSE = зависание 100%
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 09 июня 2020, 13:20:09
Ок, проверю.

P.S. Исправил, билд перезалил - ссылка та же.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 09 июня 2020, 23:09:23
Цитата: Aleksoid1978 от 09 июня 2020, 13:20:09
Ок, проверю.

P.S. Исправил, билд перезалил - ссылка та же.
Да, исправилось.

Вернусь ещё раз к альтабу. Вот видео > https://yadi.sk/i/9XUd8qazkk8CaQ Запускаю плеер, видео, переход в FSE, и нажимаю Alt+Tab. Потом перевожу курсор в область, где по-идее расположена панель задач с разными иконками и начинаю произвольно кликать, при этом видно, что иногда у курсора появляется синий кружочек запуска и ждем окончания файла. А вот ещё > https://yadi.sk/i/JryAU9ebiM3WFg Здесь я свободно, примерно помня где какие кнопки пользуюсь панелями инструментов для простого оконного фуллскрина, и это в эксклюзиве. Как так?
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 июня 2020, 01:56:10
Это вам не FSE как в самом MPC-BE где создается отдельное окно поверх всех окон и на него выводиться. В случае MPC VR - выводиться картинка на окно самого MPC-BE, поэтому все движения мыши в нем так дже работают, и проигрыватель пытается показать панель и обработать события мышки на нем :) Для этого будут доработки(надеюсь со временем получиться и доведу до ума).
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 июня 2020, 04:07:12
А кто может сравнит плавность вывода в FSE на телеке - EVR-CP и MPC VR ?
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 10 июня 2020, 07:34:13
Aleksoid1978,
Проверил обновленный билд. Да, зависания полностью пропали.
Последние изменения будут в залиты в Git? Просто собрал билд с учетом последнего коммита, а в нем не работает режим FSE на машине с ATI Radeon HD 3650, в отличие от обновленного тестового.
ЦитироватьВ случае MPC VR - выводиться картинка на окно самого MPC-BE, поэтому все движения мыши в нем так дже работают, и проигрыватель пытается показать панель и обработать события мышки на нем
Это называется - невидимая шкала прогресса и невидимый Flybar. :) )))
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 июня 2020, 07:48:29
Изменения будут залиты попозже, как только доведу до ума - времени не хватает, да и ТВ практически всегда занят, не могу нормально тестировать :)
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 июня 2020, 09:25:03
Вот "окончательный" вариант, на одном экране переход FSE и обратно стал еще "легче".
https://yadi.sk/d/JoJvbtZLYlpXrA
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 10 июня 2020, 11:53:13
Aleksoid1978,
ЦитироватьВот "окончательный" вариант, на одном экране переход FSE и обратно стал еще "легче".
https://yadi.sk/d/JoJvbtZLYlpXrA
Проверил данный вариант на машине с ATI Radeon HD 3650. На одном экране режим FSE работает нормально туда и обратно.
Потом стал проверять на этой же самой машине только уже мультимониторность. И тут началось... А режим FSE, оказывается, на мультимониторности не работает вообще.

Алгоритм следующий:

1. Выбираю монитор для полного экрана - "DISPLAY 2 [id: Default_Monitor] - Универсальный монитор PnP"
2. Открываю видео
3. Разворачиваю его на полный экран и жду переход в режим FSE (с опцией таймера)

В итоге, после перехода в режим FSE, на втором мониторе, плеер завис намертво. Снова это черное окно и этот ASSERT, который был изначально на одном мониторе (экране). Теперь то же самое, только уже на втором мониторе (экране).
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 июня 2020, 12:04:16
А проверь такой же алгоритм - окно на одном экране, FSE на второй - на EVR-CP, на madVR.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 10 июня 2020, 12:06:36
Цитата: Aleksoid1978 от 10 июня 2020, 09:25:03
Вот "окончательный" вариант, на одном экране переход FSE и обратно стал еще "легче".
https://yadi.sk/d/JoJvbtZLYlpXrA
На восьмёрке опять выход из FSE, перезапуск файла, опять переход в FSE заканчивается зависанием.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 июня 2020, 12:07:55
Цитата: MPCfan от 10 июня 2020, 12:06:36
Цитата: Aleksoid1978 от 10 июня 2020, 09:25:03
Вот "окончательный" вариант, на одном экране переход FSE и обратно стал еще "легче".
https://yadi.sk/d/JoJvbtZLYlpXrA
На восьмёрке опять выход из FSE, перезапуск файла, опять переход в FSE заканчивается зависанием.

Блин - кажется знаю в чем косяк, это поправимо :)

P.S. Перезалил - проверяем(ссылка та же).
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 10 июня 2020, 12:18:07
Aleksoid1978,
Цитировать
А проверь такой же алгоритм - окно на одном экране, FSE на второй - на EVR-CP, на madVR.
Проверил на EVR-CP свой тот же самый алгоритм. В итоге, одно из двух - или сразу происходит падение, при переходе в режим FSE, или окно плеера остается на первом мониторе, а черное окно FSE - на втором мониторе висит намертво.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 10 июня 2020, 12:19:50
Aleksoid1978,
Проверил на madVR свой тот же самый алгоритм. В итоге, черное окно FSE на втором мониторе висит намертво.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 июня 2020, 12:21:40
Ну как я и предполагал - тут вот 100% виновны драйвера, не могут они "на лету" переваривать вызов IDirect3D9Ex::CreateDeviceEx(), ну могу заново создать Direct3D9 устройство.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 10 июня 2020, 12:28:07
Aleksoid1978,
Цитировать
Ну как я и предполагал - тут вот 100% виновны драйвера, не могут они "на лету" переваривать вызов IDirect3D9Ex::CreateDeviceEx(), ну могу заново создать Direct3D9 устройство.
Попробуйте создать Direct3D9 устройство для EVR-CP и MPC VR. Я бы проверил.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 июня 2020, 12:38:21
Цитата: Evgeniy1990 от 10 июня 2020, 12:28:07
Aleksoid1978,
Цитировать
Ну как я и предполагал - тут вот 100% виновны драйвера, не могут они "на лету" переваривать вызов IDirect3D9Ex::CreateDeviceEx(), ну могу заново создать Direct3D9 устройство.
Попробуйте создать Direct3D9 устройство для EVR-CP и MPC VR. Я бы проверил.

В том то и дело что когда FSE и окно на разных экранах - происходит удаление/создание Direct3D9 устройства, и тут получаем отлуп :) Когда на одном экране - то просто устройство "резетится".
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 10 июня 2020, 12:43:58
Aleksoid1978,
ЦитироватьВ том то и дело что когда FSE и окно на разных экранах - происходит удаление/создание Direct3D9 устройства, и тут получаем отлуп :) Когда на одном экране - то просто устройство "резетится".
Ясно. Да уж, как все непросто. :)
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 10 июня 2020, 12:47:45
Aleksoid1978,
Перепроверил. Работает. Немного погонял на двух-мониторной конфигурации, насколько фантазии хватило это сделать. Всё стабильно, зависов нет. Фокус вроде не перехватывается. Заметил, что 60 fps и 30 fps воспроизводятся не совсем корректно. Значит хак 24Hz-60Hz для эксклюзива пока не работает?
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 июня 2020, 12:48:41
Да уж непросто, а если бы еще знать как эта "хрень" под названием "Direct3D9" работает с окнами и потоками - тут как говориться "знал бы заранее - обошел стороной" :)
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 июня 2020, 12:49:27
Цитата: MPCfan от 10 июня 2020, 12:47:45
Aleksoid1978,
Заметил, что 60 fps и 30 fps воспроизводятся не совсем корректно. Значит хак 24Hz-60Hz для эксклюзива пока не работает?

Нет - этого не делал, возможно будет - но позже :)
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 10 июня 2020, 13:31:47
Aleksoid1978,
Цитировать
Да уж непросто, а если бы еще знать как эта "хрень" под названием "Direct3D9" работает с окнами и потоками - тут как говориться "знал бы заранее - обошел стороной" :)
Проверил я свой алгоритм уже на другой машине с ATI Radeon HD 5770. Вот на ней работает нормально режим FSE, при переключении на второй монитор. Но не все так просто... Да, вы правы, дело 100% - в драйверах. На более новых версиях драйверов переключение в режим FSE "на лету", на второй монитор работает нормально.

Теперь, что касается потоков. Почему я сказал, что "не все так просто"? Потому что режим FSE на втором мониторе нормально работает только если используется аппаратное ускорение. Стоит только отключить DXVA2 и заново выполнить данный алгоритм, как тут же получаем зависшее черное окно FSE. Вот в чем беда и проблема.

Теперь о поддержке потоков аппаратного ускорения:

Видеокарта "ATI Radeon HD 3650" имеет всего лишь один поток аппаратного ускорения. Это значит, что если на одном мониторе запустить два видео файла одного формата, например того же H.264, аппаратное ускорение будет работать только на первом запущенном файле, другой файл, в другом окне плеера, будет воспроизводится в софте.

Видеокарта "ATI Radeon HD 5770" имеет многопоточную поддержку аппаратного ускорения. Это значит, что если на одном мониторе запустить два видео файла одного формата, например того же H.264, аппаратное ускорение будет работать на двух и более видео файлах, запущенных одновременно.

Так вот, именно поэтому, я и наблюдаю у себя разницу в работе режима FSE. Что непонятно, так это то, что режим FSE способен нормально работать на втором мониторе, только в режиме аппаратного ускорения DXVA2. Непонятно, почему он не может работать в софте? Вот в чем странность.

P.S. Теперь я понял на все 100% что реализовывать отдельное окно для режима FSE - неразумная идея, ибо для более старых видеокарт, которые имеют поддержку всего лишь одного потока аппаратного ускорения декодирования видео, DXVA2 остается на первом мониторе, а сам режим FSE - на другом, только уже в софте. Для более новых видеокарт, данная проблема неактуальна, ибо им это не грозит, поскольку они имеют многопоточную поддержку аппаратного ускорения декодирования видео.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 10 июня 2020, 14:01:03
Aleksoid1978,
Проверил ситуацию с софт-декодированием в режиме FSE на втором мониторе на EVR-CP и madVR. Вот на них нормально работает режим FSE, при софт-декодировании на втором мониторе. Ясно, значит проблема только на MPC VR.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 июня 2020, 14:46:17
Ну я смогу только у себя проверить в софтовом декодировании.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 июня 2020, 15:16:53
Ну у меня все ок.
Короче я заливаю текущий вариант. Дальше уже надо думать про DX11 FSE режим :)
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 10 июня 2020, 17:24:45
Aleksoid1978,
ЦитироватьНу я смогу только у себя проверить в софтовом декодировании.
ЦитироватьНу у меня все ок.
Ну это только у вас все ок. В моем случае - далеко не ок. Все-таки без удаленки эту проблему мы не исправим, а она неприятная. Ну, допустим, у нас есть видео файлы с поддержкой аппаратного декодирования. А как бы с теми, кто не имеет такой поддержки, например DivX, Xvid, msmpeg4 и т.д.?

Aleksoid1978,
Цитата: Aleksoid1978Короче я заливаю текущий вариант. Дальше уже надо думать про DX11 FSE режим :)
Заливайте пока все свои текущие наработки. В целом, режим FSE на DX9, на различных конфигурациях, за исключением некоторых случаев, работает нормально.

Прежде чем думать про FSE на DX11, может лучше сначала реализовать недостающие элементы? Или вам проще сначала реализовать FSE на DX11? Вот чувствую, что с DX11 FSE будет полная жесть, еще хуже, чем с DX9. А все потому, что у нас есть ситуация, когда DX11 способен в режиме "As is (как есть)" работать на Windows 7. Мне уже страшно представить, что я увижу, запустив его при данном условии.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 11 июня 2020, 10:36:01
С FSE + DX11 вообще все очень интересно - DX11 берет на себя "вопросы" по работе с окном, меняет стили, меняет положение и т.д. В итоге имеем совершенно непонятного вида с неверным размером и положением наше основное окно MPC-BE после выхода из FSE. Пока даже мыслей нет что с этим делать - вопрос откладывается нап неопределенное время :)
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 11 июня 2020, 20:58:49
V0lt,
Установил MPC Video Renderer 0.4.6.1328 (git-2020.06.11-60effda), по последним коммитам  статистика рендерера в отношении разрешения и герцов ведёт себя корректно, то есть статистика показывает то разрешение и те герцы монитора, на котором изначально было запущенно видео несмотря на то, что windowed FS уже на другом мониторе(ТВ) с другим разрешением и другими герцами. А вот когда уже на ТВ переходим на другие файлы, например с другим fps, для того, чтобы сработала авто-переключалка, есть некоторые нестыковки по герцам между статистикой и информацией в самом рендерере. Получается, что в статистике, например для 59,940 fps будет 60 000 HZ, а для 60 fps - 59 940 HZ, хотя в свойствах информация будет корректна. Вот небольшое видео для наглядности >  https://yadi.sk/i/W4aAaWYGdAF2YA
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 12 июня 2020, 00:48:57
Aleksoid1978,

Собрал и тщательно прогнал commit 60b1786. Вот уж действительно не ожидал такого... Вот совершенно не похоже на ваши последние тестовые отладочные билды. В данном коммите режим FSE работает совершенно не так, как работал в тестовых билдах.
Могу сказать, что вы меня удивили. Режим FSE, в данном коммите, работает полностью нормально, даже не виснет и даже отсутствует проблема с черным экраном FSE при софт-декодировании на втором мониторе. Единственным исключением является неработоспособность на видеокарте ATI Radeon HD 3650. На ней режим FSE способен нормально работать только на одном мониторе (экране) из-за драйверов. На новых моделях видеокарт и драйверов он работает абсолютно стабильно.

P.S. Не знаю, но может быть повлиял именно данный коммит на его работоспособность, ибо в последнем обновленном отладочном билде все совсем не так. Скорее всего, так оно и есть, иначе как объяснить тот факт, что проблемы, о которых я вам говорил - просто "исчезли сами собой". Остался только один изъян - неспособность выйти из режима FSE с первого раза.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 12 июня 2020, 08:44:15
MPCfan, в 0.4.6.1332 должно исправиться. Проверь.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 12 июня 2020, 08:49:19
Цитата: V0lt от 12 июня 2020, 08:44:15
MPCfan, в 0.4.6.1332 должно исправиться. Проверь.
Хорошо, проверю. Да, ещё вот что: в DX9 субтитры не отображаются, в DX11 - без проблем.

Проверил. Спасибо. Всё корректно.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 12 июня 2020, 09:49:04
Да я гляну сабы, знаю примерно из-за чего :)

P.S. Исправил.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 12 июня 2020, 10:32:09
Собрал 0.4.6.1333.

Плеер иногда виснет при выходе из эксклюзива. Win8.1 x64.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 12 июня 2020, 11:02:52
Эксклюзив на одном экране ?
С помощью дебагера, к примеру WinDbg - можешь посмотреть из-за чего именно висим.

Исправил зависание - проверяем.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 12 июня 2020, 13:14:48
Aleksoid1978,
Re: "Первый запуск FSE". А никуда этот нюанс и не делся. Добрались у меня сегодня руки до другой железяки IntelHD5500/GeForce840mWin8.1. Установил 1.5.5 (build 5330) betax64 и MPC Video Renderer 0.4.6.1333 (git-2020.06.12-33fb4a4) x64. Включил эксклюзив, запускаю файл, перехожу в FSE, перехожу к перезагрузке. Опять пытаюсь перейти в FSE, опять зависаю, на этот раз обошлось без перезагрузки. Правда, после этого эксклюзив заработал. Знал бы , ставил бы debug. Подчеркну, что на этой железяке это был самый "первый раз".
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 12 июня 2020, 13:44:18
Цитата: MPCfan от 12 июня 2020, 13:14:48
Aleksoid1978,
Re: "Первый запуск FSE". А никуда этот нюанс и не делся. Добрались у меня сегодня руки до другой железяки IntelHD5500/GeForce840mWin8.1. Установил 1.5.5 (build 5330) betax64 и MPC Video Renderer 0.4.6.1333 (git-2020.06.12-33fb4a4) x64. Включил эксклюзив, запускаю файл, перехожу в FSE, перехожу к перезагрузке. Опять пытаюсь перейти в FSE, опять зависаю, на этот раз обошлось без перезагрузки. Правда, после этого эксклюзив заработал. Знал бы , ставил бы debug. Подчеркну, что на этой железяке это был самый "первый раз".

Проверь на последнем текущем коммите - https://github.com/Aleksoid1978/VideoRenderer/commit/54232dabff865a4118c2ab5df07f6383118c8298
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 12 июня 2020, 14:34:00
Aleksoid1978,
Нет. После перезагрузки первый запуск FSE, а именно выход заканчивается зависанием > https://yadi.sk/i/6Pu5i6RtSP8f1A ну и лог > https://yadi.sk/d/5o1BJxwjlN9UuQ Да, теперь после установки нового SVN полноценного эффекта "первого запуска" нет. Но что-то мне подсказывает что, на "чистой" системе это проявилось бы.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 12 июня 2020, 14:35:41
Какого ещё SVN если тут git :)
А по делу - пропал баг с первым запуском и FSE ?
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 12 июня 2020, 14:59:58
Цитата: Aleksoid1978 от 12 июня 2020, 14:35:41
Какого ещё SVN если тут git :)
А по делу - пропал баг с первым запуском и FSE ?
Качал c альтернативы 1 MPCVideoRenderer-v0.4.6.1335_git2020.06.12-54232da, для меня оттуда всё SVN. Если не то, дождусь нужного, проверю. По поводу первого запуска. На этой машине я в первый раз запустил FSE после регистрации фильтров, и при переходе в эксклюзив сразу завис. Теперь только после перезагрузки и только после выхода из FSE. Последующие запуски работают нормально.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 12 июня 2020, 15:16:33
Ну да - это самая последняя версия. И на ней присутствует зависание при переходе в FSE при самом первом запуске ?
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 12 июня 2020, 15:48:45
Aleksoid1978,
Сейчас зависания только после перезагрузки ноута . Стабильно. Я лог с зависанием выложил именно на этой версии и именно после перезагрузки первый запуск FSE, переход в FSE = OK, а выход = зависание. А вот переход в FSE при самом первом запуске - для этого нужна чистая система, которой она уже не является. В этом вся и проблема - чтобы проверить, нужно переустановить Windows.
Просто на этой системе, когда я впервые запустил FSE и перешёл в него, сразу завис. Теперь такого повторить не могу.

PS. Вернулся на свою Win8 IntelHD4000. Деинсталлировал MPC Video Renderer 0.4.6.1333, удалил и поставил MPC Video Renderer 0.4.6.1335. Запускаю эту версию первый раз в FSE, выхожу из FSE и сразу завис без всякой перезагрузки. 
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 12 июня 2020, 16:56:47
Странно все это, все же нормально работало :)
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 12 июня 2020, 17:03:55
Цитата: Aleksoid1978 от 12 июня 2020, 16:56:47
Странно все это, все же нормально работало :)
Да, что-то не постоянное. С перезагрузкой, да, есть константа.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 12 июня 2020, 22:27:15
Aleksoid1978, MPCfan,

Подтверждаю проблему с первым мертвым зависанием при выходе из режима FSE. До этого не зависало. Повлияло какое-то из последних изменений в Git.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 12 июня 2020, 22:48:12
Цитата: Evgeniy1990 от 12 июня 2020, 22:27:15
Aleksoid1978, MPCfan,

Подтверждаю проблему с первым мертвым зависанием при выходе из режима FSE. До этого не зависало. Повлияло какое-то из последних изменений в Git.
А я уже нет, в смысле не уверен, что дело в MPC-VR. Немного погонял с MPC-HC, а если честно, то одного раза(перезагрузки) хватило. Зависание, как и с MPC-BE. А Потик удивил. Сколько бы я не анреггил и повторно реггил MPC-VR, сколько бы не перезагружал комп, c Даумом, чтобы добиться такого же поведения как с обоями MPC не получилось. Вот и приехали. Прикол: после перезагрузки, и если первым запустить Пот с MPC-VR и перейти/выйти из FSE(успешно), то потом и с MPC проблем нет. > https://yadi.sk/i/UYN_nf4cSmHirQ
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 13 июня 2020, 03:15:41
На этот раз у себя ну никак не могу поймать зависания.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 13 июня 2020, 04:11:48
Aleksoid1978,
ЦитироватьНа этот раз у себя ну никак не могу поймать зависания.
Я так и знал, что всему виной изменение в Git. И вот, пожалуйста, внимательно перепроверил:

Git 1327 commit 60b1786 - не виснет первый раз, при выходе из режима FSE
Git 1332 commit 1f0e7d2 - уже виснет всегда первый раз, при выходе из режима FSE

Повлияло какое-то из изменений, входящих в интервал [1327 -> 1332]
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 13 июня 2020, 05:10:39
Aleksoid1978,

Нашел проблемное изменение - это commit 1f0e7d2 (https://github.com/Aleksoid1978/VideoRenderer/commit/1f0e7d26046aa100c7176246016c2929e54b9ccc).
Именно из-за него и происходит в самый первый раз мертвое зависание плеера, при выходе из режима FSE.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 13 июня 2020, 05:15:34
MPCfan,

Проверьте, пожалуйста, эти билды (https://yadi.sk/d/CYxetAG4xiO-yQ). В них я исключил проблемное изменение, которое вызывало мертвое зависание в самый первый раз, при выходе из режима FSE.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 13 июня 2020, 06:15:38
Мой краткий лог зависания (https://pastebin.com/xTPKpCaN) после выхода из экслюзива после первой перезагрузки.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 13 июня 2020, 06:19:05
Вопрос - как юзаем FSE, с автопереключалкой или нет, если да - то с применением режима по умолчанию после перехода в окно ?
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 13 июня 2020, 06:38:15
Aleksoid1978,
ЦитироватьВопрос - как юзаем FSE, с автопереключалкой или нет, если да - то с применением режима по умолчанию после перехода в окно ?
Лично я юзаю его без автопереключалки. Опция "Переключать режим монитора в полноэкранном режиме" у меня всегда выключена.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 13 июня 2020, 06:41:36
Цитата: Evgeniy1990 от 13 июня 2020, 05:15:34
MPCfan,

Проверьте, пожалуйста, эти билды (https://yadi.sk/d/CYxetAG4xiO-yQ). В них я исключил проблемное изменение, которое вызывало мертвое зависание в самый первый раз, при выходе из режима FSE.
Да. После перезагрузок, при первом запуске теперь нормально.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 13 июня 2020, 06:47:56
Aleksoid1978,
Поймал зависание > https://yadi.sk/i/dicJ3T0GdCfM4g Возможно, так и не надо делать, но всё же.....
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 13 июня 2020, 06:48:16
MPCfan,
Цитировать
Да. После перезагрузок, при первом запуске теперь нормально.
Ну вот, мы и выяснили, а также убедились, что именно данный коммит 1f0e7d2 является проблемным и вызывает мертвое зависание в самый первый раз, при выходе из режима FSE.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 13 июня 2020, 07:08:18
Спасибо за тестирование. Залил 0.4.6.1336.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 14 июня 2020, 13:29:09
Aleksoid1978,
V0lt,
1.5.5 (build 5333) betax64+ 0.4.6.1338 (git-2020.06.14-1a6e78f) x64. Происходит закрытие в эксклюзиве при переходе на следующий файл.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 14 июня 2020, 13:51:46
А просто переход из FSE в окно работает?
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 14 июня 2020, 13:55:55
Aleksoid1978,
Да, работает.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 14 июня 2020, 15:56:17
MPCfan,
Цитировать
1.5.5 (build 5333) betax64+ 0.4.6.1338 (git-2020.06.14-1a6e78f) x64. Происходит закрытие в эксклюзиве при переходе на следующий файл.
Аналогично. При переходе на следующий файл в режиме FSE, плеер просто падает. Причем, дамп-файл всегда создает нулевой. А при его открытии студия говорит, что работать с ним нельзя. (O_o)
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 14 июня 2020, 16:36:29
Нашел причину - завтра исправлю.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 15 июня 2020, 05:09:10
Ошибку с FSE исправил.

И вот еще просьба погонять тестовый билд - https://yadi.sk/d/F1cY4wzJbYQLfw, проверить как с ним переход в FSE и обратно, в разных комбинациях. Кое что переделал - хочется убедиться что все норм.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 15 июня 2020, 07:43:43
Aleksoid1978,
Цитата: Aleksoid1978 от 15 июня 2020, 05:09:10
Ошибку с FSE исправил.

И вот еще просьба погонять тестовый билд - https://yadi.sk/d/F1cY4wzJbYQLfw, проверить как с ним переход в FSE и обратно, в разных комбинациях. Кое что переделал - хочется убедиться что все норм.
Исправилось. Пока остаются два нюанса несмотря на последние изменения. Одиночное нажатие Alt+Tab в режиме эксклюзива приводит к отключению работы клавиш и мыши, курсор есть, конечно, но на клики не реагирует. Повторное нажатие Alt+Tab решает этот нюанс. И с переключалкой есть проблемы, корректно работает либо с включённым delay в MPC-VR, либо с "Сменить режим экрана до начала воcпроизведения". Иначе может быть просто чёрный экран при переходе на следующий файл в режиме эксклюзива.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 15 июня 2020, 07:52:26
Цитата: MPCfan от 15 июня 2020, 07:43:43
Aleksoid1978,
Цитата: Aleksoid1978 от 15 июня 2020, 05:09:10
Ошибку с FSE исправил.

И вот еще просьба погонять тестовый билд - https://yadi.sk/d/F1cY4wzJbYQLfw, проверить как с ним переход в FSE и обратно, в разных комбинациях. Кое что переделал - хочется убедиться что все норм.
Исправилось. Пока остаются два нюанса несмотря на последние изменения. Одиночное нажатие Alt+Tab в режиме эксклюзива приводит к отключению работы клавиш и мыши, курсор есть, конечно, но на клики не реагирует. Повторное нажатие Alt+Tab решает этот нюанс. И с переключалкой есть проблемы, корректно работает либо с включённым delay в MPC-VR, либо с "Сменить режим экрана до начала воcпроизведения". Иначе может быть просто чёрный экран при переходе на следующий файл в режиме эксклюзива.

По поводу Alt-Tab - это на одном экране или на нескольких ?
По поводу автопереключалки - я так понимаю что в режиме FSE переходим на другой файл, с другим fps, срабатывает автопереключалка и получаем черный экран ?

Это только на моем билде или в текущей git версии тоже ?
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 15 июня 2020, 08:03:59
Aleksoid1978,
По поводу Alt-Tab, в обоих случаях, если мышь в видео-области. Клавиши - имеется ввиду мультимедия. Насчет переключалки всё верно. Это проявляется во всех последних билдах.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 15 июня 2020, 08:05:47
А что насчёт тестового билда, все норм с FSE ?

По поводу Alt-Tab - а как себя ведёт madVR ?
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 15 июня 2020, 08:19:09
У себя проверил FSE и Alt+Tab - ну да, фокус как бы переходит на переключенное приложение, но нажатие левой кнопки мыши возвращает фокус и все становиться нормально.

Так же проверил FSE, автопереключалку и переход на следующий файл - у меня норм. Вот debug версия https://yadi.sk/d/oxHiO_7rIFpEDg - можно на ней проверить и лог потом(если будет черный экран) выложить.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 15 июня 2020, 10:21:50
Aleksoid1978,
ЦитироватьОшибку с FSE исправил.
Проверил последний Git-commit. Ошибка, при переходе на след. файл в режиме FSE, исправлена.

Начал я проверять пока последний Git-commit 45d8725 на своих трех машинах. И разницу я уже вижу огромную, особенно после последних переделок.

На машине с ATI Radeon HD 3650 - теперь режим FSE работает и на втором мониторе. Только есть одно НО - видео файл должен быть запущен в режиме софт-декодирования. Если изначально видео файлы запускаются в режиме DXVA2, то при переходе в режим FSE на второй монитор, просто черное окно FSE и выскакивает ASSERT. Если я выберу продолжение отладки, то обрыва графа фильтров не происходит, да, плеер возвращается на первый монитор, но самого изображения уже не будет. Это меня удивило - нет обрыва, но и самого изображения также нет.

Проверил поведение с DXVA2 на LAV Video Decoder. Вот с ним - полный порядок. Так как видеокарта ATI Radeon HD 3650 имеет всего лишь один поток аппаратного декодирования, то при переходе на второй монитор в режим FSE, декодер автоматически переключается в софт-режим декодирования.

Разница в том, что наш MPC Video Decoder так делать не умеет, отсюда и черное окно FSE на втором мониторе, т.к. он пытается перенести DXVA на второй монитор в режим FSE, вместо того, чтобы переключиться в софт, как это делает внешний LAV Video Decoder.

Хотелось бы и наш MPC Video Decoder этому научить.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 15 июня 2020, 10:39:01
Вот честно - заниматься с таким "старьем" нет никакого желания, время дороже. Да и никто не будет на такое железо цеплять вторым выводом нормальный ТВ и использовать FSE :) Забываем про этот случай и больше про него не пишем, честно. Там более что это не имеет отношения напрямую к MPC VR.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 15 июня 2020, 10:45:49
Aleksoid1978,
ЦитироватьВот честно - заниматься с таким "старьем" нет никакого желания, время дороже. Да и никто не будет на такое железо цеплять вторым выводом нормальный ТВ и использовать FSE :) Забываем про этот случай и больше про него не пишем, честно. Там более что это не имеет отношения напрямую к MPC VR.
Неужели так сложно это исправить? Что значит, не имеет отношения? Еще как имеет, особенно прямое отношение к работе режима FSE на втором мониторе, при использовании MPC VR. Вот опять началось - "старье"... Если уж грамотно развивать проект, то необходимо устранять такие недостатки, при определенных условиях и нюансах.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 15 июня 2020, 10:53:36
На EVR CP и madVR так же ведёт, сам же сказал что дело в декодере. Надо - создаём отдельно тему в багах касаемо проигрывателя.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 15 июня 2020, 11:06:31
Я то вообще ждал чтобы погоняли последний тестовый билд, сравнили с текущей git версией.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 15 июня 2020, 11:21:15
Aleksoid1978,
ЦитироватьЯ то вообще ждал чтобы погоняли последний тестовый билд, сравнили с текущей git версией.
Я знаю, что вы ждете результатов. Поэтому я сейчас этим и занимаюсь. Я решил сначала прогнать Git, а после - ваш тестовый билд.
Вот сейчас погонял ваш тестовый билд немного. Скажу, что переход в режим FSE туда и обратно работает нормально. По сравнению с последним Git-comiit'ом, разницы особой нет в работе режима FSE. По крайней мере, хуже не стало.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 15 июня 2020, 11:36:40
Aleksoid1978,
Теперь вам скажу неприятные новости. Один изъян вы исправили в коммите 45d8725, когда плеер падал при переходе на следующий файл в папке в режиме FSE. Но это еще не все. Дело в том, что это - далеко не единственная проблема. У нас имеются еще подобные проблемы, касающиеся различных переходов и взаимодействий с разными окнами.

Итак, пишу для вас два алгоритма воспроизведения проблем. (Два алгоритма - значит две проблемы!)

Проблема №1 - падение (закрытие) плеера, при переходе на след. файл.

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

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

В результате, плеер упадет.

Проблема №2 - Не работает сам режим FSE.

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

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

В результате, увидим нерабочий режим FSE. В этот момент плеер висеть не будет, можно будет обратно выйти в оконный режим. Если повторять данное действие туда-сюда, то в течение работы текущей сесиии, режим FSE работать не будет, нужно будет перезапустить приложение (запустить уже новую сессию).
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 15 июня 2020, 11:41:05
Предлагаю пока не трогать все эти моменты с открытием окна настроек и переходом на другой файл. Понятно что все это плохо заканчивается. Это надо куда записать и потом уже думать что с ним делать. Тут надо в самом проигрывателе править, ибо фильтр знать не знает что окно свойств открыто и т.д.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 15 июня 2020, 12:02:37
Aleksoid1978,
Теперь по поводу последних наработок, касающихся определения мониторов. Они работают, но работают некорректно.
Проблема некорректной работы заключается именно в самом определении монитора (DISPLAY). Так вот, если на определенных мониторах открыть статистику MPC VR, то можно будет увидеть, что дисплей просто напросто отсутствует, или не определился совсем, несмотря на тот факт, что драйвер видеокарты его определяет правильно и корректно.

У себя я вижу следующее: "Display: [            ] 1280x1024, 60.000 Hz, fullscreen".
На месте скобок просто пустота, вместо названия самого дисплея (монитора)
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 15 июня 2020, 12:05:38
Что за монитор, как подключён, как его определяет сама система, видео-драйвер ?

P.S. Вот проверь - https://yadi.sk/d/X56gX1LYR8NzdA
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 15 июня 2020, 12:17:18
Aleksoid1978,
ЦитироватьА что насчёт тестового билда, все норм с FSE ?
В вашем тестовом билде нормально работает режим FSE туда и обратно. Не знаю, что вы в нем изменили, но в целом, основная работа переходов работает нормально.
ЦитироватьЧто за монитор, как подключён, как его определяет сама система, видео-драйвер ?
Монитор LG Flatron L1751SQ. Система определяет его как "Универсальный монитор PnP". Видео-драйвер определяет его как "LG L1751SQ".
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 15 июня 2020, 12:34:16
Цитата: Evgeniy1990 от 15 июня 2020, 12:17:18
Aleksoid1978,
ЦитироватьА что насчёт тестового билда, все норм с FSE ?
В вашем тестовом билде нормально работает режим FSE туда и обратно. Не знаю, что вы в нем изменили, но в целом, основная работа переходов работает нормально.
ЦитироватьЧто за монитор, как подключён, как его определяет сама система, видео-драйвер ?
Монитор LG Flatron L1751SQ. Система определяет его как "Универсальный монитор PnP". Видео-драйвер определяет его как "LG L1751SQ".

Выше тестовый билд - проверь в нем.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 15 июня 2020, 12:46:33
Aleksoid1978,
Цитировать
P.S. Вот проверь - https://yadi.sk/d/X56gX1LYR8NzdA
Проверил. Ерунда какая-то... Пытаюсь разобраться, уже запутался.... Боже... Да уж, "спасибо" LG за то, что придумали просто "мозговыносящую" логику определения монитора. Это жесть какая-то...

Короче, логика примерно такая: если я подключаю данный монитор, как единственный, то он определяется нормально, да, универсальный монитор PnP, LG и его модель L1751SQ. Если я подключаю его вторым (дополнительным) монитором, то система определяет его уже как "Универсальный монитор не PnP", а видео-драйвер определяет его как -  "никак", просто пустота.

Вот зашибись просто... Был PnP, стал уже не PnP (https://yadi.sk/i/L6PDdo4L7GaNmw) - WTF??? (O_o), был LG L1751SQ, стал "пустышкой (https://yadi.sk/i/tz5yfbHoJ0tZgQ)". Мда, чего только не встретишь, при тестировании... У меня слов нет, как это понимать и объяснить...
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 15 июня 2020, 12:47:39
Aleksoid1978,
Цитата: Aleksoid1978 от 15 июня 2020, 08:05:47
А что насчёт тестового билда, все норм с FSE ?

По поводу Alt-Tab - а как себя ведёт madVR ?
С FSE нормально, и статистика корректна, по крайней мере Самсунг определяет и всё остальное тоже. Похоже c Alt+Tab тоже понял в чём дело с помощью MadVR. Короче, когда MadVR в FSE при нажатии Alt+Tab, вверху по все длине появляется полоска, c "файл" и т. д. Естественно это просто уже FS, один ЛКМ, полоска исчезает и опять FSE. Возможно на Win8 какой-то конфликт с этим Alt. Хотел отключить, но где? так и не понял.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 15 июня 2020, 12:47:52
Ну значит VR все корректно отображает.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 15 июня 2020, 13:10:51
Aleksoid1978,
Цитировать
На EVR CP и madVR так же ведёт, сам же сказал что дело в декодере. Надо - создаём отдельно тему в багах касаемо проигрывателя.
Проверил поведение DXVA2-декодера на EVR-CP и madVR. Да, действительно, поведение аналогичное, как и на MPC VR.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 15 июня 2020, 13:13:32
Aleksoid1978,
ЦитироватьНу значит VR все корректно отображает.
Соглашусь. Но этот монитор LG мне "весь мозг съел". Самое забавное, так это то, что в статистике EVR-CP даже нет такой строки "Monitor", когда изображение передается именно ему.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 15 июня 2020, 13:14:38
Aleksoid1978,
EVR-CP вообще не определяет данный монитор как таковой.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 15 июня 2020, 13:16:43
Если не определяет - значит для даже нет EDID информации в системе :) А что показывает madVR ?
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 15 июня 2020, 13:30:30
Aleksoid1978,
Цитировать
Если не определяет - значит для даже нет EDID информации в системе :) А что показывает madVR ?
madVR показывает: device type: "Универсальный монитор не PnP".

НО! Это только если данный монитор подключен как второй дополнительный. Если он подключен один, то определяется нормально. EDID в любом случае есть. Просто почему-то его определение странное.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 15 июня 2020, 23:23:42
Aleksoid1978,
Цитата: Aleksoid1978 от 10 июня 2020, 04:07:12
А кто может сравнит плавность вывода в FSE на телеке - EVR-CP и MPC VR ?
В принципе всё хорошо, разницы между FSE EVR-CP и MPC-VR не увидел, пока дело не дошло до файла взятого от > https://drive.google.com/uc?export=download&id=18cLDFgHKfHuq7C17gmqHYsH8TjNvk-bt Тут я почувствовал между ними разницу, не в пользу MPC-VR. Причём использовал dxva2+dxva2vp в обоих случаях. Дело даже не в FSE, просто с MPC-VR DX9 на этом файле почти всегда происходил какой-то ступор во время воспроизведения, c большим количеством дроппов за секунду, иногда более 300 зараз. Возможно косяк с интелом. Но я перепроверил это файл в связке potplayer+mpc-vr dx9 windowed/FSE+built-in dxva2, никаких ступоров, ни дроппов до самого конца файла.

 
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 15 июня 2020, 23:52:45
Aleksoid1978,
Цитата: Aleksoid1978 от 15 июня 2020, 08:19:09
Вот debug версия https://yadi.sk/d/oxHiO_7rIFpEDg - можно на ней проверить и лог потом(если будет черный экран) выложить.
Значит, файлы с fps = Hz, выставленными в драйвере всегда имеют полноценный FSE при переходе в эксклюзиве. C другим fps - чёрный экран. Вот лог > https://yadi.sk/d/gjPR4pgZ1LxzlQ В драйвере 60Hz, запускаю плеер, файл с 59,940 fps, далее FSE, успешно, переход на файл с 60 fps, успешно, переход обратно на файл с 59,940 fps, черный экран, выход из FSE, успешно, в окне появляется видео, закрытие.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 16 июня 2020, 02:32:05
Спасибо за лог, как я и предполагал.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 16 июня 2020, 07:59:51
Цитата: MPCfan от 15 июня 2020, 23:52:45
Aleksoid1978,
Цитата: Aleksoid1978 от 15 июня 2020, 08:19:09
Вот debug версия https://yadi.sk/d/oxHiO_7rIFpEDg - можно на ней проверить и лог потом(если будет черный экран) выложить.
Значит, файлы с fps = Hz, выставленными в драйвере всегда имеют полноценный FSE при переходе в эксклюзиве. C другим fps - чёрный экран. Вот лог > https://yadi.sk/d/gjPR4pgZ1LxzlQ В драйвере 60Hz, запускаю плеер, файл с 59,940 fps, далее FSE, успешно, переход на файл с 60 fps, успешно, переход обратно на файл с 59,940 fps, черный экран, выход из FSE, успешно, в окне появляется видео, закрытие.

Вот пробуем - https://yadi.sk/d/06M-nKeYs89hOQ
Если что - жду лог.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 16 июня 2020, 12:58:10
Aleksoid1978,
Проверил по-быстрому несколько переходов на одном ТВ и на ТВ+монитор, работает корректно. Позже погоняю по-лучше. Будут проблемы, будет и лог.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 16 июня 2020, 13:29:00
Цитата: MPCfan от 16 июня 2020, 12:58:10
Aleksoid1978,
Проверил по-быстрому несколько переходов на одном ТВ и на ТВ+монитор, работает корректно. Позже погоняю по-лучше. Будут проблемы, будет и лог.
Отлично!
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 16 июня 2020, 20:05:11
Aleksoid1978,
Цитата: Aleksoid1978 от 16 июня 2020, 13:29:00
Цитата: MPCfan от 16 июня 2020, 12:58:10
Aleksoid1978,
Проверил по-быстрому несколько переходов на одном ТВ и на ТВ+монитор, работает корректно. Позже погоняю по-лучше. Будут проблемы, будет и лог.
Отлично!
Прогнал этот тест-билд получше, и в принципе он работает. Проверил на нескольких способах перехода: естественный, клавиатура, и путём клика по невидимым кнопкам перехода, всё отлично. Пробовал ещё возможности таскбара Windows на двух-мониторной конфигурации, здесь были проблемы. Выглядело хаотично и бессистемно, то переходы осуществлялись корректно, то чёрный экран, даже раз FSE полностью пропало, опять появилось, словом - хаос, но без вылетов. Вот лог > https://yadi.sk/d/q5NdVsu5_V9akg на всякий случай.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 17 июня 2020, 09:37:09
Вот про таскбар я чето не понял - что делали, что происходило :)
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 17 июня 2020, 11:27:56
Была проблема что после FSE не закрывая плейер выбрать EVR CP и в нем попытаться перейти в FSE - самого окна FSE не было. У меня вроде как этой проблемы уже нет, просьба перепроверить.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 17 июня 2020, 12:44:23
Aleksoid1978,
Цитировать
Была проблема что после FSE не закрывая плейер выбрать EVR CP и в нем попытаться перейти в FSE - самого окна FSE не было. У меня вроде как этой проблемы уже нет, просьба перепроверить.
Перепроверил данную проблему. Ее больше нет. :)
P.S. Если вдруг что - отпишусь.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 17 июня 2020, 12:47:24
Aleksoid1978,
Цитата: Aleksoid1978 от 17 июня 2020, 11:27:56
Была проблема что после FSE не закрывая плейер выбрать EVR CP и в нем попытаться перейти в FSE - самого окна FSE не было. У меня вроде как этой проблемы уже нет, просьба перепроверить.
На win8 нормально. По поводу  таскбара: запускаем плеер на основном мониторе, воспроизведение, отправляем в FSE на ТВ, на основном мониторе наводим курсор на иконку плеера в панели задач, всплывает окно с элементарной панелью инструментов. Вот ею я и делал переходы. Таким способом переходы не всегда получались корректными. Получались и полноценные FSE, и черный экран, было и полное отсутствие FSE, всё вперемешку, хаотично.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 17 июня 2020, 12:49:53
Aleksoid1978,
Цитировать
Была проблема что после FSE не закрывая плейер выбрать EVR CP и в нем попытаться перейти в FSE - самого окна FSE не было. У меня вроде как этой проблемы уже нет, просьба перепроверить.
И только я обрадовался, как...

Так  и знал, что не все так волшебно. Обычно проблема не исчезает сама собой.
Да, эта проблема ушла, но вместо нее возникла еще более неприятная проблема. Теперь плеер, в течении сессии, при переходе на следующий файл виснет и падает, при условии, что был полностью выполнен алгоритм, т.е. данная проблема и ее получение.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 17 июня 2020, 12:52:46
Я проверял FSE и обратно именно через кнопки на превью на таскбаре, было норм.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 17 июня 2020, 12:54:36
Падает при переходе на следующий файл в FSE режиме ? Ну попробуй поймать место падения в debug версии.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 17 июня 2020, 13:01:34
Evgeniy1990,
На восьмёрке нормально, но именно переход с MPC-VR FSE на EVR-CP FSE не всегда срабатывает. Так что проблема не ушла.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 17 июня 2020, 13:09:44
MPCfan,
Цитировать,
На восьмёрке нормально, но именно переход с MPC-VR FSE на EVR-CP FSE не всегда срабатывает. Так что проблема не ушла.
Она видоизменилась. И ее поведение отличается от версий ОС. Пытаюсь поймать ее повторно у себя на семерке.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 17 июня 2020, 13:11:11
Ну у себя эту проблему уже не ловлю, а так было 100%
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 17 июня 2020, 13:12:46
Aleksoid1978,
Вот ее место падения: Direct3DShaderValidatorCreate9(). Странно, причем тут шейдеры вообще, я их даже не загружал.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 17 июня 2020, 13:39:37
Aleksoid1978,
Разгадал алгоритм проявления этой проблемы. Теперь она проявляется иначе. Она есть у всех, даже у вас. Главное - воспроизвести (получить ее). И вот каким образом:

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

1. Выбрать MPC VR
2. Открыть видео файл
3. Включить режим FSE для MPC VR
4. Перейти в режим FSE
5. Выйти из режима FSE
6. Закрыть видео файл, но не закрывать сам плеер (текущую сессию)
7. Открыть настройки, выбрать EVR-СP и включить режим FSE
8. Открыть этот же самый видео файл
9. Перейти в режим FSE
10. В режиме FSE перемотать его почти в самый конец
11. Дождаться перехода на следующий файл в папке

В результате, при переходе на следующий файл в режиме FSE, плеер упадет.

Вот такой алгоритм воспроизведения данной проблемы. А все потому что реализации режима FSE у EVR-CP и MPC VR - разные. Естественно, надо понимать, что будет далеко не один конфликт.

Если посмотреть место падения, то в первую очередь оно возникает здесь:

*** Exception 0xC0000005 occured ***

C:\Windows\system32\d3d9.dll : Direct3DShaderValidatorCreate9()
C:\Windows\system32\d3d9.dll : Direct3DShaderValidatorCreate9()
C:\Windows\system32\USER32.dll : TranslateMessageEx()
C:\Windows\system32\USER32.dll : SetWindowTextW()
C:\Windows\system32\USER32.dll : IsDialogMessageW()
C:\Windows\SYSTEM32\ntdll.dll : KiUserCallbackDispatcher()
C:\Windows\system32\USER32.dll : SfmDxSetSwapChainStats()
C:\Windows\system32\USER32.dll : GetMessageW()
C:\Program Files\MPC-BE x64\mpc-be64.exe : GetMessageW()
C:\Program Files\MPC-BE x64\mpc-be64.exe : GetMessageW()
C:\Program Files\MPC-BE x64\mpc-be64.exe : GetMessageW()
C:\Program Files\MPC-BE x64\mpc-be64.exe : GetMessageW()
C:\Windows\system32\kernel32.dll : BaseThreadInitThunk()
C:\Windows\SYSTEM32\ntdll.dll : RtlUserThreadStart()


А вот, что говорит отладчик: Место падения (https://yadi.sk/i/t0wBj7VLLZ-Sug).
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 17 июня 2020, 13:59:48
А, так значит падает при использовании EVR-CP + FSE, после использования MPC VR + FSE.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 17 июня 2020, 21:31:04
Aleksoid1978,
Evgeniy1990,
Обновился до 1.5.5 (build 5337) beta+0.4.6.1350 (git-2020.06.17-f909ba2) и могу точно сказать, что на Win8  нюанс с переходом с MPC-VR FSE на EVR-CP FSE никуда не делся, немного изменился сам алгоритм, но картина получается такая же. Нужно лишь во время воспроизведения в FSE(MPC-VR) кликнуть по кнопке закрыть(теперь есть такая возможность), или же Ctrl+C, затем перейти на EVR-CP FSE, перезапустить файл и перейти опять в FSE, на Win8 точно FSE уже не будет.
И ещё. Проверьте у себя вот что: прикрепите сначала плейлист снизу, запустите файл и перейдите в FSE(MPC-VR), нажмите Ctrl+7 и      посмотрите, будет ли после этого работать seekbar. Теперь закрепите плейлист сверху или справа, запустите файл и перейдите в FSE(MPC-VR), нажмите Ctrl+7 и посмотрите, будет ли после этого корректно работать две кнопки в верхнем правом углу. Забыл добавить, что нужно в плейлисте поставить галочку на " Скрывать на по полном экране". Без этой галочки там будет другое поведение, но тоже некорректное.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 17 июня 2020, 22:45:55
MPCfan,
ЦитироватьОбновился до 1.5.5 (build 5337) beta+0.4.6.1350 (git-2020.06.17-f909ba2) и могу точно сказать, что на Win8  нюанс с переходом с MPC-VR FSE на EVR-CP FSE никуда не делся, немного изменился сам алгоритм, но картина получается такая же. Нужно лишь во время воспроизведения в FSE(MPC-VR) кликнуть по кнопке закрыть(теперь есть такая возможность), или же Ctrl+C, затем перейти на EVR-CP FSE, перезапустить файл и перейти опять в FSE, на Win8 точно FSE уже не будет.
Проверил ваш алгоритм. Подтверждаю! Действительно, если выполнить данный алгоритм, то на EVR-CP окна FSE не будет, оно будет невидимым. Согласен с вами! На Windows 7 - аналогично. Т.е. видите, оказывается есть нюансы с сочетанием клавиш "Ctrl+C". Молодцы, что смогли это обнаружить.
ЦитироватьИ ещё. Проверьте у себя вот что: прикрепите сначала плейлист снизу, запустите файл и перейдите в FSE(MPC-VR), нажмите Ctrl+7 и      посмотрите, будет ли после этого работать seekbar.
Проверил. Подтверждаю! У меня на Win7 шкала прогресса (seekbar) некорректно работает в режиме FSE. Если пытаешься навести курсор мышки на нее, она сразу же пропадает. А если вести курсор мышки, не доходя до сикбара, то он появляется раньше. Это связано с тем, что мы вызвали плейлист, которого не видно в режиме FSE и соответственно изменилось положение самого seekbar. Т.е. он располагается выше своего изначального уровня. Это нужно доработать, т.к. такое условие не учтено.
ЦитироватьТеперь закрепите плейлист сверху или справа, запустите файл и перейдите в FSE(MPC-VR), нажмите Ctrl+7 и посмотрите, будет ли после этого корректно работать две кнопки в верхнем правом углу.
Проверил сначала верхнее положение плейлиста. Обе кнопки работают корректно.
Проверил положение плейлиста с правой стороны - при подведении курсора мышки к двум кнопкам, они просто пропадают (исчезают). Подтверждаю!

Еще раз огромное вам спасибо за проверку данных нюансов и всевозможных вариантов взаимодействия режима FSE с другими окнами, особенно с плейлистом. :)
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 17 июня 2020, 22:54:30
MPCfan,
Теперь я от себя добавлю еще один нюанс - если на EVR-CP запустить видео файл, перейти в режим FSE, затем нажать на кнопку в правом верхнем углу экрана FSE (левую кнопку), а затем заново включить воспроизведение видео файла, то он уже будет воспроизводиться некорректно в режиме FSE на EVR-CP. Подтверждаю!
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 17 июня 2020, 22:55:41
Evgeniy1990,
Я немного ошибся, нужно в плейлисте поставить галочку на " Скрывать на по полном экране". И тогда нажимать Ctrl+7. У меня именно так было.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 17 июня 2020, 23:12:27
MPCfan,
Цитировать
Evgeniy1990,
Я немного ошибся, нужно в плейлисте поставить галочку на " Скрывать на по полном экране". И тогда нажимать Ctrl+7. У меня именно так было.
Нестрашно. Это, наоборот, еще один нюанс, еще одно условие - опция "Скрывать на полном экране".
В этом случае, при данном условии, вообще не будет отображаться шкала прогресса (seekbar) и кнопки в режиме FSE в правом верхнем углу самого экрана FSE. Подтверждаю!
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 17 июня 2020, 23:25:19
Evgeniy1990,
Есть вопрос по настройкам "Полный экран". Там есть твик "Выход ..... по окончании воспроизведения" Просто интересно, включена ли эта опция или нет, с EVR-CP FSE плеер всегда выходит по окончании воспроизведения из FSE и вообще из FS, а c MPC-VR FSE плеер ведёт себя корректно согласно данной опции, как мне кажется. Или тут всё наоборот? 
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 17 июня 2020, 23:32:38
MPCfan,
ЦитироватьЕсть вопрос по настройкам "Полный экран". Там есть твик "Выход ..... по окончании воспроизведения" Просто интересно, включена ли эта опция или нет,
По умолчанию данная опция включена.
Цитироватьс EVR-CP FSE плеер всегда выходит по окончании воспроизведения из FSE и вообще из FS, а c MPC-VR FSE плеер ведёт себя корректно согласно данной опции, как мне кажется. Или тут всё наоборот?
Просто реализация режима FSE на EVR-CP и MPC VR - разная.
На EVR-CP режим FSE реализован в виде отдельного окна.
На MPC VR режим FSE реализован на стороне самого видео-рендерера MPC VR.
Отсюда и разница в их работе при взаимодействии с самим плеером.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 17 июня 2020, 23:46:34
Evgeniy1990,
Спасибо за ответ и за подтверждения. По поводу разной реализации: не есть ли эта разная реализации причина некорректного перехода c MPC-VR FSE на EVR-CP FSE в одной сессии, ведь если это делать с перезапуском плеера, то и проблемы нет.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 17 июня 2020, 23:50:34
MPCfan,
Цитировать
Evgeniy1990,
Спасибо за ответ и за подтверждения. По поводу разной реализации: не есть ли эта разная реализации причина некорректного перехода c MPC-VR FSE на EVR-CP FSE в одной сессии, ведь если это делать с перезапуском плеера, то и проблемы нет.
В том-то и дело, что из-за разной реализации режима FSE на двух разных видео-рендерерах EVR-CP и MPC VR и возникают различные конфликты в течении одной текущей сессии. Просто, после перезапуска, сбрасывается предыдущая рабочая конфигурация работы режима FSE, отсюда и проблем нет.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 18 июня 2020, 00:04:58
MPCfan,
Самое обидное, так этот то, что у нас также еще есть и Sync Renderer (EVR Sync), для которого также не были учтены данные расписанные, проверенные и подтвержденные нюансы (проблемы/недоработки). Если уж править проблемы для EVR-CP, то сразу же аналогично надо вносить корректировки и для EVR Sync, поскольку их код практически схожий.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 18 июня 2020, 03:29:46
Короче тема с перемещением и нажатием мыши в FSE очень сложная. Пока даже и не знаю как это дело разрулить.

Все дело в том что madVR сам рисует/выводит OSD и контролирует передвижения/нажатия мышки. Мы же OSD рисуем в проигрывателе и передаем его в MPC VR. Ну и получается что поведение мышки такое же как и в обычном режиме - отображение различных контролов и т.д.

P.S. Вот пробуем - https://yadi.sk/d/LKWRjUjbEOLUHg. Когда будет использоваться MPC VR + FSE - сделал скрытие плейлиста(даже если не выставлена галка не его авто-скрытие) и запретил "отображение" различных панелей/котроллов.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 18 июня 2020, 07:40:08
Aleksoid1978,
ЦитироватьP.S. Вот пробуем - https://yadi.sk/d/LKWRjUjbEOLUHg. Когда будет использоваться MPC VR + FSE - сделал скрытие плейлиста(даже если не выставлена галка не его авто-скрытие) и запретил "отображение" различных панелей/котроллов.
Проверил тестовый билд. С опцией "Скрывать на по полном экране" плейлист, проблемы исправились. А вот без данной опции, пока, к сожалению, остались.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 18 июня 2020, 08:32:50
Цитата: Evgeniy1990 от 18 июня 2020, 07:40:08
Aleksoid1978,
ЦитироватьP.S. Вот пробуем - https://yadi.sk/d/LKWRjUjbEOLUHg. Когда будет использоваться MPC VR + FSE - сделал скрытие плейлиста(даже если не выставлена галка не его авто-скрытие) и запретил "отображение" различных панелей/котроллов.
Проверил тестовый билд. С опцией "Скрывать на по полном экране" плейлист, проблемы исправились. А вот без данной опции, пока, к сожалению, остались.

Осталось что именно - присутствует невидимый плейлист или только некорректно определяются координаты для отображения полосы прокрутки и FlyBar ?
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 18 июня 2020, 08:39:54
Aleksoid1978,
ЦитироватьОсталось что именно - присутствует невидимый плейлист или только некорректно определяются координаты для отображения полосы прокрутки и FlyBar ?
Некорректно определяются координаты для отображения полосы прокрутки.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 18 июня 2020, 09:05:57
Обновил, ссылка та же.
Еще проверьте будут ли показываться меню по нажатию на правую кнопку меню(если можно проверить так же и с madVR FSE режиме).
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 18 июня 2020, 09:13:41
Aleksoid1978,
Цитировать
Обновил, ссылка та же.
Еще проверьте будут ли показываться меню по нажатию на правую кнопку меню(если можно проверить так же и с madVR FSE режиме).
При нажатии ПКМ, есть невидимое контекстное меню, потому что если кликнуть два раза ЛКМ в область, где располагается контекстное меню, невозможно выйти из режиме FSE (вернуться обратно в оконный режим).

Проверил madVR в режиме FSE. При нажатии ПКМ, отображается контекстное меню прямо в режиме FSE.
Хотя особенностью работы режима FSE в madVR является тот факт, что пока не будут убраны все лишние окна, сам режим FSE просто не запустится.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 18 июня 2020, 09:46:19
А что насчет плейлиста и всего такого :) ?
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 18 июня 2020, 10:37:02
Aleksoid1978,
Цитировать
А что насчет плейлиста и всего такого :) ?
В вашем втором обновленном тестовом билде координаты исправились. Теперь корректно отображается полоса прокрутки в режиме FSE совместно с курсором мышки, при его наведении на нее. Также теперь нормально отображаются две кнопки в правом верхнем углу экрана FSE, при взаимодействии с плейлистом. Больше они не пропадают.

Что касается madVR, то на нем плейлист будет отображаться всегда, пока мы его не закроем. Потому что, еще раз повторюсь, на madVR режим FSE работает только после закрытия всех лишних и дополнительных окон. Поэтому его постоянное отображение - это правильное поведение.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 18 июня 2020, 10:42:21
Aleksoid1978,
Проблемы с невидимым окном FSE на EVR-CP, с падением в режиме FSE, при переходе на след. файл в папке, пока так и остались.
В x86-версии плеера, вместо невидимого окна FSE на EVR-CP, плеер просто падает, по сравнению с x64-версией, где присутствует невидимое окно FSE. Ну и некорректность воспроизведения в режиме FSE на EVR-CP также осталась.

Про EVR Sync говорить страшно. Если на EVR-CP проблема ушла сама собой, то на EVR Sync она осталась. Ну и все остальные также присутствуют на нем.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 18 июня 2020, 11:01:55
Да я бы вообще выкинул этот Sync. Я его не трогал и трогать не собираюсь.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 18 июня 2020, 11:03:48
Aleksoid1978,
Цитировать
Да я бы вообще выкинул этот Sync. Я его не трогал и трогать не собираюсь.
Чем он вам не угодил? Чем он так плох? В некоторых местах, у него даже код схожий с EVR-CP.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 18 июня 2020, 11:09:33
Aleksoid1978,
Если уж EVR Sync присутствует в нашем проекте, значит и для него также, по логике вещей, необходимо вносить различные правки и корректировки. Иначе зачем он нам в "мертвом" виде? Тогда непонятно другое - зачем его тогда оставлять в проекте, если он заброшенный? Мы же все-таки грамотно развиваем проект, а непросто так - одно исправили, на другое забили.

Сразу вспомнился мертвый "MPC Audio Renderer" в проекте MPC-HC со словами "MPC Audio Renderer сломан. Не используйте его". :)
Я это сказал к тому, что или мы убираем функционал, который работает некорректно и больше нам не нужен, или же учитываем его, при развитии проекта, т.е. вносим и для него различные правки и корректировки, с учетом последних изменений.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 18 июня 2020, 11:39:44
А я давно ГОВОРЮ что надо избавиться от Sync, но v0lt зачем то его держит.

P.S. Все, не оффтопим.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 18 июня 2020, 12:21:30
Aleksoid1978,
Evgeniy1990,
Не успел проверить первый тест как следует, а тут уже обновлённый. Есть нюанс. Нужно выключить "Exit fullscreen at the end of playback". Запустить файл, перейти в FSE, Ctrl+C, перезапустить файл и проверить корректность координат мыши с seekbar. Пока всё.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 18 июня 2020, 13:02:53
Проверил - все ок с координатами. Или надо чтобы плейлист был включен и находился внизу ?
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 18 июня 2020, 17:25:59
Aleksoid1978,
Цитата: Aleksoid1978 от 18 июня 2020, 13:02:53
Проверил - все ок с координатами. Или надо чтобы плейлист был включен и находился внизу ?
Нет, необязательно. Просто при повторном запуске, после Ctrl+C, курсор приходится подымать выше самой полосы перемотки, чтоб именно перемотку и сделать. Если навести курсор непосредственно на эту полосу подальше от индикатора прогресса и кликнуть, то ничего не происходит, чуть выше курсор, кликаем, перемотка работает. И не только, также под FSE seekbarом работает панель(невидимая) инструментов для простого windowed > https://yadi.sk/i/zY6Nh5kc6ewYDg
Вот ещё > https://yadi.sk/i/MdpOwXG_se7GFw Открепите плейлист, запустите оттуда файл, закройте плейлист, далее в FSE.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 19 июня 2020, 07:08:55
В последних изменениях появился баг с графом захвата.
Баг проверять строго в MPC-HC, т.к. в MPC-BE граф захвата сам по себе нестабильный.

Воспроизведение бага:
1. Выбрать нужное устройство захвата (видео и звук) в настройках.
2. Открыть устройство через меню (Файл -> Открыть устройство).
3. В настройках видеоформата, ничего не меняя, нажать кнопку "Задать".
4. Плеер упадет.

Пункт 3 можно усложнить задав другое разрешение или формат, но пока и без этого плеер падает.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 21 июня 2020, 08:36:27
Релиз MPC Video Renderer 0.4.7.1356 (https://github.com/Aleksoid1978/VideoRenderer/releases/tag/0.4.7)
Описание на русском (https://mpc-be.org/forum/viewtopic.php?id=381)
Описание на английском (https://github.com/Aleksoid1978/VideoRenderer/blob/0.4.7/Readme.md)

Изменения:
Добавлен график Sync Offset.
Исправлено получение изображения с помощью IBasicVideo::GetCurrentImage.
Улучшена поддержка воспроизведения некоторых защищенных DVD-Video.
Добавлена поддержка отражения кадра.
Добавлена возможность изменения "Swap effect" во время воспроизведения.
Добавлена поддержка эксклюзивного полного экрана для режима DX9.
Устранено мерцание субтитров после перемотки.
Рекомендуемая версия MPC-BE 1.5.5.5342 или новее.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 22 июня 2020, 10:58:54
Выложил 0.4.8.1362 0.4.8.1364 (https://yadi.sk/d/X0EVMKP4TcmnHQ).
Изменился способ вывод статистики. Просьба проверить на слабых графических адаптерах.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 22 июня 2020, 12:40:09
V0lt,
Цитата: V0lt от 22 июня 2020, 10:58:54
Выложил 0.4.8.1362 (https://yadi.sk/d/X0EVMKP4TcmnHQ).
Изменился способ вывод статистики. Просьба проверить на слабых графических адаптерах.
Всегда добавлял mpc-vr во внешние фильтры, чтоб без воспроизведения настроить как тебе надо, и >  https://yadi.sk/i/Zj5NtCSf0Lxu9w вот что получается теперь.

Такое поведение получается с dx9. C dx11 - нормально.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 22 июня 2020, 13:43:21
MPCfan
Там странная ошибка. Обошел ее в 0.4.8.1363.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 22 июня 2020, 18:16:18
V0lt,
Цитата: V0lt от 22 июня 2020, 13:43:21
MPCfan
Там странная ошибка. Обошел ее в 0.4.8.1363.
Спасибо, теперь как было.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 23 июня 2020, 08:52:19
Просьба проверить переход в FSE и обратно(особенно первый запуск после включения системы) - https://yadi.sk/d/SCM6RQldFPEucQ
Небольшие переделки касаемо DX9, v0lt написал что первый запуск - виснет переход из FSE в окно.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 23 июня 2020, 09:07:26
Aleksoid1978,
Цитировать
Просьба проверить переход в FSE и обратно(особенно первый запуск после включения системы) - https://yadi.sk/d/SCM6RQldFPEucQ
Небольшие переделки касаемо DX9, v0lt написал что первый запуск - виснет переход из FSE в окно.
Проверил переход из режима FSE обратно в окно. Действительно, после перезагрузки системы, или первом включении системы, после обратного перехода из FSE в окно, плеер виснет намертво. Подтверждаю!
Название: Re: MPC Video Renderer
Отправлено: V0lt от 23 июня 2020, 09:15:54
Evgeniy1990
Спасибо. Может подтвердить, что в 0.4.8.1364 из репозитория такого бага нет?
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 23 июня 2020, 09:18:56
Ок понял, как только будет возможность - проверю у себя.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 23 июня 2020, 09:33:59
V0lt,
Цитировать
Evgeniy1990
Спасибо. Может подтвердить, что в 0.4.8.1364 из репозитория такого бага нет?
Подтверждаю! Собрал и проверил Git v0.4.8.1364_git2020.06.22-2f1ee98. После перезагрузки системы, после выхода из режима FSE в окно, плеер не виснет. Обратный переход выполняется нормально.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 23 июня 2020, 09:37:15
Aleksoid1978,
Цитировать
Ок понял, как только будет возможность - проверю у себя.
В вашем тестовом билде, после ваших переделок, при обратном переходе из FSE в окно, переход вроде как выполнился, но при этом сам FSE никуда не ушел. Отсюда и мертвое зависание. Это легко заметить и проверить с помощью поднесения курсора мышки.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 23 июня 2020, 09:52:58
Перезалил - ссылка та же, была опечатка в коде :)
Проверяем.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 23 июня 2020, 10:09:45
Aleksoid1978,
Цитировать
Перезалил - ссылка та же, была опечатка в коде :)
Проверяем.
Проверил обновленный билд. Теперь порядок. Обратный переход из FSE в окно работает нормально.
Так и знал, что была где-то опечатка в коде. :) Это было очень хорошо заметно по поведению после выхода из FSE.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 23 июня 2020, 10:20:03
Точно проверил именно после запуска системы первый раз ? А то у себя стал ловить зависон :)
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 23 июня 2020, 10:22:59
Aleksoid1978,
Цитировать
Точно проверил именно после запуска системы первый раз ? А то у себя стал ловить зависон :)
Естественно! Ну, хорошо, щас еще раз перепроверю, вернусь "в начало времен".
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 23 июня 2020, 10:29:30
Aleksoid1978,
Перепроверил ваш обновленный тестовый билд. При обратном переходе из FSE в окно, после перезагрузки системы, сам переход работает нормально, плеер не виснет. Я проверил на Windows 7. Странно. (о_О) Пошел проверять на Windows 10...
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 23 июня 2020, 10:37:53
А я поймал еще один баг - если при FSE режиме сменить разрешение(того устройства где идет вывод FSE) воспроизведение идет, но сам проигрыватель висит.
Знаю даже почему - но не знаю как обойти :)
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 23 июня 2020, 10:50:16
Aleksoid1978,
Цитировать
А я поймал еще один баг - если при FSE режиме сменить разрешение(того устройства где идет вывод FSE) воспроизведение идет, но сам проигрыватель висит.
Знаю даже почему - но не знаю как обойти :)
Это уже совсем другой баг, мне известно о нем. Вот только я проверяю пока "одномониторность" (работу на одном мониторе), а не мультимониторность.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 23 июня 2020, 11:03:26
Да это другое, я просто отписался.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 23 июня 2020, 11:20:25
MpcVideoRenderer64.ax от 09:50 [9631C87E] не завис после перезагрузки.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 23 июня 2020, 14:34:16
Ну тогда я заливаю изменения ?
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 23 июня 2020, 21:14:31
Aleksoid1978,
Цитировать
Ну тогда я заливаю изменения ?
Поторопились вы залить свое последнее изменение в GitHub.
Собрал я commit 9c21704. Запустил видео и сразу же получил падение. После повторного запуска - снова падение и так далее, на любом файле...

Все, приехали! (x_X) Теперь, при запуске любого видео, плеер просто падает, причем всегда и сразу же, если используется MPC VR. У меня нет слов... (FACEPALM).
Название: Re: MPC Video Renderer
Отправлено: V0lt от 23 июня 2020, 22:23:04
Evgeniy1990
Из отладки можешь запустить?

Вот так примерно настроить.
(https://ibb.co/kQr6371)
А потом нажать "Local Windows Debugger" или F5.

Когда упадет, сделай скриншот с ошибкой, местом ошибки и открытой панелью "Call Stack" (там внизу вкладка должна быть).

PS: У меня при переоткрытии файла, но у меня сейчас сильно измененная версия. Только завтра смогу перепроверить.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 23 июня 2020, 22:44:25
V0lt,
Стал я разбираться, в чем дело. И выяснил, все оказалось даже хуже, чем было.

В общем, билды 1364, 1365 - падают, при открытии любого видео файла.
Билд 1355 работает нормально, без падения, при открытии любого видео файла.

Отсюда получается диапазон : [1355 -> 1364]

Продолжаю поиск проблемного изменения...
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 23 июня 2020, 23:44:16
V0lt,

Итоговый диапазон поиска падения: [1357 -> 1359].
Вывод: MPC VR начал падать, при открытии любого файла, начиная с commit bf8a50c (1359).
Т.е. сразу же, после выхода релиз-версии.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 23 июня 2020, 23:55:41
Aleksoid1978,
V0lt,
Прилагаю лог-файл (https://yadi.sk/d/CoJRKAd-VK8C1w) с падением, при открытии видео файлов, при использовании MPC VR.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 24 июня 2020, 00:00:04
V0lt,
Для вас, на всякий случай, прилагаю stacktrace:

* Exception 0xC0000005 occured ***

C:\Program Files\MPCVideoRenderer\MpcVideoRenderer.ax : DllGetClassObject()
C:\Program Files\MPCVideoRenderer\MpcVideoRenderer.ax : DllGetClassObject()
C:\Program Files\MPCVideoRenderer\MpcVideoRenderer.ax : DllGetClassObject()
C:\Program Files\MPCVideoRenderer\MpcVideoRenderer.ax : DllGetClassObject()
C:\Program Files\MPC-BE\mpc-be.exe : DllGetClassObject()
C:\Program Files\MPC-BE\mpc-be.exe : DllGetClassObject()
C:\Program Files\MPC-BE\mpc-be.exe : DllGetClassObject()
C:\Program Files\MPC-BE\mpc-be.exe : DllGetClassObject()
C:\Program Files\MPC-BE\mpc-be.exe : DllGetClassObject()
C:\Program Files\MPC-BE\mpc-be.exe : DllGetClassObject()
C:\Program Files\MPC-BE\mpc-be.exe : DllGetClassObject()
C:\Windows\system32\USER32.dll : gapfnScSendMessage()
C:\Windows\system32\USER32.dll : gapfnScSendMessage()
C:\Windows\system32\USER32.dll : GetScrollBarInfo()
C:\Windows\system32\USER32.dll : GetScrollBarInfo()
C:\Windows\SYSTEM32\ntdll.dll : KiUserCallbackDispatcher()
C:\Windows\system32\USER32.dll : DefWindowProcW()
C:\Windows\system32\UxTheme.dll : DefWindowProcW()
C:\Windows\system32\UxTheme.dll : DefWindowProcW()
C:\Windows\system32\USER32.dll : SetPropW()
C:\Windows\system32\USER32.dll : gapfnScSendMessage()
C:\Windows\system32\USER32.dll : gapfnScSendMessage()
C:\Windows\system32\USER32.dll : PeekMessageA()
C:\Windows\system32\USER32.dll : CallWindowProcW()
C:\Program Files\MPC-BE\mpc-be.exe : CallWindowProcW()
C:\Program Files\MPC-BE\mpc-be.exe : CallWindowProcW()
C:\Program Files\MPC-BE\mpc-be.exe : CallWindowProcW()
C:\Program Files\MPC-BE\mpc-be.exe : CallWindowProcW()
C:\Windows\system32\USER32.dll : gapfnScSendMessage()
C:\Windows\system32\USER32.dll : SetPropW()
C:\Windows\system32\USER32.dll : GetScrollBarInfo()
C:\Windows\system32\USER32.dll : GetSystemMenu()
C:\Windows\SYSTEM32\ntdll.dll : KiUserCallbackDispatcher()
C:\Program Files\MPC-BE\mpc-be.exe : KiUserCallbackDispatcher()
C:\Program Files\MPC-BE\mpc-be.exe : KiUserCallbackDispatcher()
C:\Program Files\MPC-BE\mpc-be.exe : KiUserCallbackDispatcher()
C:\Program Files\MPC-BE\mpc-be.exe : KiUserCallbackDispatcher()
C:\Program Files\MPC-BE\mpc-be.exe : KiUserCallbackDispatcher()
C:\Program Files\MPC-BE\mpc-be.exe : KiUserCallbackDispatcher()
C:\Program Files\MPC-BE\mpc-be.exe : KiUserCallbackDispatcher()
C:\Program Files\MPC-BE\mpc-be.exe : KiUserCallbackDispatcher()
C:\Program Files\MPC-BE\mpc-be.exe : KiUserCallbackDispatcher()
C:\Program Files\MPC-BE\mpc-be.exe : KiUserCallbackDispatcher()
C:\Windows\system32\USER32.dll : gapfnScSendMessage()
C:\Windows\system32\USER32.dll : gapfnScSendMessage()
C:\Windows\system32\USER32.dll : PeekMessageA()
C:\Windows\system32\USER32.dll : CallWindowProcW()
C:\Program Files\MPCVideoRenderer\MpcVideoRenderer.ax : DllGetClassObject()
C:\Windows\system32\USER32.dll : gapfnScSendMessage()
C:\Windows\system32\USER32.dll : gapfnScSendMessage()
C:\Windows\system32\USER32.dll : GetScrollBarInfo()
C:\Windows\system32\USER32.dll : GetScrollBarInfo()
C:\Windows\SYSTEM32\ntdll.dll : KiUserCallbackDispatcher()
C:\Windows\system32\USER32.dll : DefWindowProcW()
C:\Windows\system32\UxTheme.dll : DefWindowProcW()
C:\Windows\system32\UxTheme.dll : DefWindowProcW()
C:\Windows\system32\USER32.dll : SetPropW()
C:\Windows\system32\USER32.dll : gapfnScSendMessage()
C:\Windows\system32\USER32.dll : gapfnScSendMessage()
C:\Windows\system32\USER32.dll : PeekMessageA()
C:\Windows\system32\USER32.dll : CallWindowProcW()
C:\Program Files\MPC-BE\mpc-be.exe : CallWindowProcW()
C:\Program Files\MPC-BE\mpc-be.exe : CallWindowProcW()
C:\Program Files\MPC-BE\mpc-be.exe : CallWindowProcW()
C:\Program Files\MPC-BE\mpc-be.exe : CallWindowProcW()
C:\Program Files\MPC-BE\mpc-be.exe : CallWindowProcW()
C:\Windows\system32\USER32.dll : gapfnScSendMessage()
C:\Windows\system32\USER32.dll : gapfnScSendMessage()
C:\Windows\system32\USER32.dll : PeekMessageA()
C:\Windows\system32\USER32.dll : CallWindowProcW()
C:\Program Files\MPCVideoRenderer\MpcVideoRenderer.ax : DllGetClassObject()
C:\Windows\system32\USER32.dll : gapfnScSendMessage()
C:\Windows\system32\USER32.dll : SetPropW()
C:\Windows\system32\USER32.dll : GetScrollBarInfo()
C:\Windows\system32\USER32.dll : GetSystemMenu()
C:\Windows\SYSTEM32\ntdll.dll : KiUserCallbackDispatcher()
C:\Program Files\MPC-BE\mpc-be.exe : KiUserCallbackDispatcher()
C:\Program Files\MPC-BE\mpc-be.exe : KiUserCallbackDispatcher()
C:\Program Files\MPC-BE\mpc-be.exe : KiUserCallbackDispatcher()
C:\Program Files\MPC-BE\mpc-be.exe : KiUserCallbackDispatcher()
C:\Program Files\MPC-BE\mpc-be.exe : KiUserCallbackDispatcher()
C:\Program Files\MPC-BE\mpc-be.exe : KiUserCallbackDispatcher()
C:\Program Files\MPC-BE\mpc-be.exe : KiUserCallbackDispatcher()
C:\Program Files\MPC-BE\mpc-be.exe : KiUserCallbackDispatcher()
C:\Windows\system32\USER32.dll : gapfnScSendMessage()
C:\Windows\system32\USER32.dll : gapfnScSendMessage()
C:\Windows\system32\USER32.dll : PeekMessageA()
C:\Windows\system32\USER32.dll : CallWindowProcW()
C:\Program Files\MPCVideoRenderer\MpcVideoRenderer.ax : DllGetClassObject()
C:\Windows\system32\USER32.dll : gapfnScSendMessage()
C:\Windows\system32\USER32.dll : gapfnScSendMessage()
C:\Windows\system32\USER32.dll : gapfnScSendMessage()
C:\Windows\system32\USER32.dll : DispatchMessageW()
C:\Program Files\MPC-BE\mpc-be.exe : DispatchMessageW()
C:\Program Files\MPC-BE\mpc-be.exe : DispatchMessageW()
C:\Program Files\MPC-BE\mpc-be.exe : DispatchMessageW()
C:\Windows\system32\kernel32.dll : BaseThreadInitThunk()
C:\Windows\SYSTEM32\ntdll.dll : RtlInitializeExceptionChain()
C:\Windows\SYSTEM32\ntdll.dll : RtlInitializeExceptionChain()
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 24 июня 2020, 02:58:31
Самое просто, как делаю я - запускаешь MPC-BE, после это в студии с открытым проектом MPC-VR просто нажимаешь Attach to process и выбираешь там процесс mpc-be. После этого запускаешь проигрывание и если падение в MPC-VR - то получаешь место падения.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 24 июня 2020, 07:07:34
Evgeniy1990, папку "_bin" пробовал удалять?

Я думаю тут надо удаленно зайти. Что-то у тебя совсем плохо стало.
Телеграмом пользуешься?
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 24 июня 2020, 07:47:52
V0lt,
ЦитироватьEvgeniy1990, папку "_bin" пробовал удалять?
Всегда удаляю, перед новой сборкой MPC VR.
ЦитироватьЯ думаю тут надо удаленно зайти. Что-то у тебя совсем плохо стало.
Вот именно, что стало очень плохо. Как раз на машине с ATI Radeon HD 3650.
ЦитироватьТелеграмом пользуешься?
Телеграма нет. Предлагаю вам зайти удаленно через TeamViewer.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 24 июня 2020, 08:13:29
V0lt, Aleksoid1978,
Вот, пожалуйста, само место падения (https://yadi.sk/i/VfuD0HLV71o7qw), при открытии (запуске) любых видео файлов.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 24 июня 2020, 08:14:54
А на моих сборках 1364 и 1372 падает?
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 24 июня 2020, 08:28:16
V0lt,
Цитировать
А на моих сборках 1364 и 1372 падает?
Также падает, причем на обеих ваших сборках и на 1364 и на 1372.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 24 июня 2020, 09:23:35
Вот debug версия - https://yadi.sk/d/gwopIXbaNHlWSw
жду лог.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 24 июня 2020, 10:39:28
Aleksoid1978,
Цитировать
Вот debug версия - https://yadi.sk/d/gwopIXbaNHlWSw
жду лог.
Пожалуйста (https://yadi.sk/d/oJwwK2UMRw6O5Q).
Название: Re: MPC Video Renderer
Отправлено: V0lt от 24 июня 2020, 12:10:10
Evgeniy1990
Обновись до b548649, запусти и когда вылезет ASSERT, покажи последние 10 строк лога.

Похоже DirectWrite повлиял, но непонятно почему только вчера и только на твоей системе. Какая она кстати?
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 24 июня 2020, 12:34:42
V0lt,
Цитировать
Evgeniy1990
Обновись, запусти и когда вылезет ASSERT, покажи последние 10 строк лога.

Похоже DirectWrite повлиял, но непонятно почему только вчера и только на твоей системе. Какая она кстати?
Обновился. Собрал отладочный билд. Далее - запустил видео файл. Вылез ASSERT (https://yadi.sk/i/Jx5pm-9OXNJLIw). Сделал лог-файл (10 последних строчек) (https://yadi.sk/i/rPtQSQ0i8OAItg).
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 24 июня 2020, 12:36:18
V0lt,
ЦитироватьПохоже DirectWrite повлиял, но непонятно почему только вчера и только на твоей системе. Какая она кстати?
Я тоже так думаю. У меня система "Windows 7 SP1 Профессиональная".
Название: Re: MPC Video Renderer
Отправлено: V0lt от 24 июня 2020, 12:42:17
Спасибо.
Обновись до b548649, пожалуйста. И кидай лог в Pastebin.com (https://pastebin.com/), последних строк эдак 20-30.

Окно ASSERT-а можно закрыть через кнопку "Отмена".

Возможно там WIC тупит, как было у MPCfan недавно (https://mpc-be.org/forum/index.php?topic=381.msg6353#msg6353).
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 24 июня 2020, 13:04:51
V0lt,
Цитировать
Спасибо.
Обновись до b548649, пожалуйста. И кидай лог в Pastebin.com (https://pastebin.com/), последних строк эдак 20-30.

Окно ASSERT-а можно закрыть через кнопку "Отмена".

Возможно там WIC тупит, как было у MPCfan недавно (https://mpc-be.org/forum/index.php?topic=381.msg6353#msg6353).
Обновился. Собрал отладочный билд. Далее - запустил видео файл. Вылез тот же самый ASSERT. Продолжил отладку. В результате, сделал полный лог-файл (https://yadi.sk/d/pc4beI-PVvhDKw).

Ваш сайт Pastebin.com (https://pastebin.com/), к сожалению не открывается, он не рабочий. Поэтому лог-файл выложил на свой ЯндексДиск.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 24 июня 2020, 13:43:38
Вот пробуем - https://yadi.sk/d/NYB09S3FV80sLg
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 24 июня 2020, 13:49:21
Aleksoid1978,
Цитировать
Вот пробуем - https://yadi.sk/d/NYB09S3FV80sLg
Проверил тестовый билд. Теперь полный порядок. Основная проблема исправлена. :)
Название: Re: MPC Video Renderer
Отправлено: V0lt от 25 июня 2020, 13:35:09
Цитата: Evgeniy1990 от 24 июня 2020, 12:36:18У меня система "Windows 7 SP1 Профессиональная".
Эту систему, на которой падают 1364 и 1372, еще не обновлял?
На ней работает режим DX11? Если да, то проверь вот этот билд, пожалуйста - mpcvr_1381_dev11.1 (https://yadi.sk/d/X0EVMKP4TcmnHQ/Test/dev11.1).
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 26 июня 2020, 09:13:32
V0lt,
Цитировать
Эту систему, на которой падают 1364 и 1372, еще не обновлял?
На ней работает режим DX11? Если да, то проверь вот этот билд, пожалуйста - mpcvr_1381_dev11.1 (https://yadi.sk/d/X0EVMKP4TcmnHQ/Test/dev11.1).
Систему, на которой падают билды 1364 и 1372, я не обновлял.
На данной системе не работает DX11. Но я, в любом случае, проверил ваш тестовый билд.
На обновленной Windows 7 работает DX11. При запуске видео файлов на DX11, на вашем тестовом билде, плеер не падает.
На не обновленной Windows 7 работает только DX9 Ex.

Есть предложение скорректировать работу опции "Use Direct3D11", добавить проверку: если Windows 7 SP1 не имеет обновления Platform Update, то сделать ее неактивной, ибо без обновления DX11 все равно не будет работать.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 26 июня 2020, 09:26:32
Evgeniy1990
Спасибо за тесты.
Я не знаю, как проверить наличие Platform Update в рантайме. Скорее всего это будет слишком сложно ради активности одной галочки. Поэтому останется как есть.

PS: Не всегда подобная блокировка выбора настроек есть хорошо. Да, может стать понятнее, но это может создать неудобства, если мы заранее хотим включить-выключить какую-то опцию, до того как она станет доступна.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 28 июня 2020, 08:50:25
V0lt,
https://yadi.sk/i/zirkMuvlIZcg3A Проблемы с статистикой с dx11 native в 1.5.5 (build 5357) beta+0.4.8.1388 (git-2020.06.27-70afd9f), было отлично недавно.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 28 июня 2020, 09:30:20
Исправлено. Заодно и падение в DX9 режиме при переходе в FSE на разные экраны.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 28 июня 2020, 16:23:10
Собрал 0.4.8.1394.
Теперь размер статистики на большом окне или полном экране может быть увеличен через соответствующую настройку.

PS: Настройка сразу после изменения не применяется. Пока необходимо изменить размер окна.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 28 июня 2020, 16:54:51
V0lt,
Цитировать
Собрал 0.4.8.1394.
Теперь размер статистики на большом окне или полном экране может быть увеличен через соответствующую настройку.

PS: Настройка сразу после изменения не применяется. Пока необходимо изменить размер окна.
Приведите, пожалуйста, саму опцию в порядок, увеличьте (раздвиньте) немножко ее, а то уж совсем нечитаемо и неаккуратно выглядит.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 28 июня 2020, 20:58:50
Evgeniy1990, поправлю на неделе. Может быть вообще по другому называться будет и увеличивать не придется.

Заметил особенность эксклюзивного режима.
У меня установлена программа f.lux. И вечером она заметно меняет цветовой тон рабочего стола, только курсор оставался неизменным. Сегодня заметил, что эксклюзивный полный экран так же не меняется.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 30 июня 2020, 08:03:16
V0lt,
После введения новой опции увеличения размера шрифта статистики, поломалась работа режима FSE, при переходе на следующий файл в папке.

Дело в том, что если выбрать параметр: "Increase font by window", то при переходе на следующий файл в папке, в режиме FSE, будет просто черное окно самого режима FSE, вместо видео. Причем, неважно, открыта будет сама статистика, или же закрыта.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 30 июня 2020, 21:07:54
Evgeniy1990
Проблему подтверждаю. Почему такое произошло - непонятно.
Мой лог (https://pastebin.com/8PxrH1jy).
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 01 июля 2020, 02:48:58
Что интересно - у меня на 10 нормально переходит к следующему и к следующему файлу - а вот выйти потом в окно уже не дает :)

Ну суд по изменениям - m_Font3D.CreateFontBitmap() как-то влияет. Раньше это вызывалось только при пересоздании устройства, а теперь при ресайзе.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 01 июля 2020, 08:52:15
Залил 0.4.8.1398. Проблема с эксклюзивным полным экраном устранена.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 01 июля 2020, 09:02:28
V0lt,
Цитировать
Залил 0.4.8.1398. Проблема с эксклюзивным полным экраном устранена.
Отлично! :) Последний коммит не только устранил проблему с эксклюзивным полным экраном , но и также немного разгрузил работу самого MPC VR. Теперь он стал работать еще быстрее и стабильнее. И это было вполне ожидаемо.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 01 июля 2020, 09:04:27
V0lt,
Осталось привести график в порядок, после последнего коммита. А то он стал совсем безликим и черным.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 01 июля 2020, 09:45:14
V0lt,
Цитировать
V0lt,
Осталось привести график в порядок, после последнего коммита. А то он стал совсем безликим и черным.
Это же касается и самого OSD. Мало того, что нет самого OSD в режиме FSE, так он еще и не работает вовсе (о_О).
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 01 июля 2020, 09:48:19
У меня норм OSD - https://i.imgur.com/lPgfs3y.png (https://i.imgur.com/lPgfs3y.png)
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 01 июля 2020, 09:58:58
Aleksoid1978,
Цитировать
У меня норм OSD - https://i.imgur.com/lPgfs3y.png (https://i.imgur.com/lPgfs3y.png)
Разобрался с OSD. Да уж... Вот вам и последствия вашего хваленого и дрянного метода - "переноса файла с заменой". Это метод для идиотов, после которого возникают различные непонятные глюки, вроде отсутствующего и не рабочего OSD и тому подобного.

А если серьезно, то в нашем проекте присутствует данная скрытая проблема с пропаданием (исчезновением) OSD.
Я уже не в первый раз наблюдаю данную проблему. Она 100% - есть! Первый раз я ее заметил, когда была исправлена работа первого мертвого зависания, после первого перехода в режим FSE, после рестарта системы. Сейчас я ее уже заметил во второй раз. Дело в том, что есть некий "скрытый" определенный момент, после которого оно пропадает. Но во что это за скрытый момент, я пока так и не понял, даже не увидел.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 01 июля 2020, 10:09:56
Исправил график в 0.4.8.1399.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 01 июля 2020, 10:10:52
Обновляемся и проверяем график.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 01 июля 2020, 10:19:31
V0lt,
Цитировать
Исправил график в 0.4.8.1399.
Aleksoid1978,
Цитировать
Обновляемся и проверяем график.
Обновился. Собрал билд и проверил. В результате, график полностью исправлен. :)
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 01 июля 2020, 16:31:34
Aleksoid1978,
Цитировать
У меня норм OSD - https://i.imgur.com/lPgfs3y.png (https://i.imgur.com/lPgfs3y.png)
Почти разгадал проявление скрытого бага с исчезновением OSD и полного отказа его работы...
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 01 июля 2020, 21:15:43
Aleksoid1978,
Окончательно разгадал проявление скрытого бага - "исчезновение OSD и полный отказ его работы".
Ключом к проявлению данного бага является именно мультисессия.

Условия воспроизведения:

1. Мультисессия
2. Режим FSE
3. Переход на следующий файл в папке (каталоге)

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

1. В настройках плеера выбрать опцию "новый процесс для каждого файла"
2. Открыть две сессии (два окна) плеера
3. Запустить произвольный видео файл в первой сессии
4. Запустить произвольный видео файл во второй сессии
5. Перемотать видео файл во второй сессии почти в самый конец
6. Переключиться на первую сессию
7. Дождаться перехода на следующий файл в папке во второй сесиии
8. После перехода на следующий файл в папке во второй сессии, поставить воспроизведение произвольного видео файла на паузу в первой сессии
9. Переключиться на вторую сессию и перейти в режиме FSE
10. В режиме FSE, во второй сессии, попробовать изменить громкость колесом мышки

Фактический результат:

После изменения громкости колесом мышки, самого OSD (самой надписи) в верхнем левом углу нет, как и нет самого процесса изменения уровня громкости. Т.е. при изменении громкости колесом мышки, громкости не меняется вообще - ни выше, ни ниже.

Ожидаемый результат:

После изменения громкости колесом мышки, должно присутствовать само OSD (сама надпись) в верхнем левом углу окна плеера, а также должен работать сам процесс изменения уровня громкости, т.е. сама громкость должна меняться в зависимости от того, в каком направлении мы вращаем колесо мышки.

P.S. О боже, моя голова... Всю голову себе сломал, чтобы разгадать и поймать этот скрытый баг с OSD (вывести его).
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 01 июля 2020, 21:31:18
Aleksoid1978, V0lt,
Также, обнаружил еще одно мертвое зависание при переходе в режим FSE.

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

1. Запустить произвольный видео файл
2. Нажать на среднюю кнопку "Развернуть"
3. После этого, перейти в режим FSE

Фактический результат: плеер намертво зависнет.
Ожидаемый результат: плеер не должен намертво зависнуть.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 01 июля 2020, 21:54:42
Aleksoid1978, V0lt,
Что касается мультисессии - это далеко не единственная проблема. Имеется еще одна проблема с мертвым зависанием, при переходе в режим FSE.

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

1. Открыть две сессии (два окна) плеера
2. Запустить произвольный видео файл в первой сессии
3. Запустить произвольный видео файл во второй сессии
4. Перемотать видео файл в первой сессии почти в самый конец
5. Перейти в режим FSE во второй сессии
6. Дождаться перехода на следующий файл в папке в первой сессии
7. После перехода на следующий файл в папке в первой сессии, выйти из режима FSE во второй сессии
8. Свернуть окно второй сессии на панель задач
9. Перейти в режим FSE в первой сессии

Фактический результат:

Плеер зависнет намертво при переходе в режим FSE в первой сессии. Но можно будет обратно переключиться в оконный режим.

Ожидаемый результат:

Плеер не должен зависнуть намертво, при переходе в режим FSE.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 02 июля 2020, 05:08:03
Предлагаю тестовую "альфа" версию с поддержкой DX11 FSE - https://yadi.sk/d/Xjr9drOfYiA6Ng.
Сразу скажу - в опции приписку DX9 не убирал, галку для отложенного перехода в FSE не ставить(зависаем при этом).
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 02 июля 2020, 07:39:45
Aleksoid1978,
На восьмёрке работает.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 02 июля 2020, 07:46:41
Aleksoid1978,
Цитировать
Предлагаю тестовую "альфа" версию с поддержкой DX11 FSE - https://yadi.sk/d/Xjr9drOfYiA6Ng.
Сразу скажу - в опции приписку DX9 не убирал, галку для отложенного перехода в FSE не ставить(зависаем при этом).
Проверил альфа-билд на обновленной Windows 7 SP1. На первый взгляд, режим DX11 FSE работает нормально, что даже удивительно. Причем, работает достаточно плавно. В некоторых случаях, даже стабильнее, чем DX9 FSE.

P.S. А я-то ожидал увидеть полную жесть... :)
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 02 июля 2020, 07:56:23
По идее - как будет возможность разобраться что не так с "отложенным" переходом в FSE и будет "готово" :)

P.S. Догадываюсь о причине, ждем что получиться.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 02 июля 2020, 08:11:36
Aleksoid1978,
Цитировать
По идее - как будет возможность разобраться что не так с "отложенным" переходом в FSE и будет "готово" :)

P.S. Догадываюсь о причине, ждем что получиться.
И да, кстати, этот отложенный переход в режим FSE меня также удивил. Да, знаю, что виснет, но при этом он сам работает нормально. Вот это действительно - ЧУДО! :)
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 02 июля 2020, 08:21:24
Да FSE работает - но вот основной процесс/поток проигрывателя висит.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 02 июля 2020, 11:19:31
Чето так не хочется лишний раз копаться - может уберём нафиг этот отложенный переход в FSE ?
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 02 июля 2020, 12:30:32
Aleksoid1978,
Чуть подробнее о FSE dx11 на Win8. Alt+Tab перехватывает фокус и после Ctrl+C есть нюансы.
Кстати, c dx11 fse и dx11native почти всё корректно после Ctrl+C, c другим декодом - наоборот.   
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 03 июля 2020, 10:12:46
Не понял про Alt+Tab и Ctrl+C - у себя проверил при FSE DX11 - Alt+Tab не дает никуда переключить, Ctrl+C закрывает проигрывание нормально.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 03 июля 2020, 12:15:42
Aleksoid1978,
После Alt+Tab в dx11 FSE на Win8 окно FSE пропадает, звук есть. Ещё раз Alt+Tab, окно возвращается. Что касается Ctrl+C, тут главное после закрытия, чтобы плеер остался, или вернуть "на весь экран", и после этого перезапустить файл. В комбинации dx11 FSE+dx11native вроде всё корректно, но с другими видами декодирования на Win8 работает нижняя панель инструментов для простого windowed FS, хотя статистика показывает dx11 fullscreen, и при этом она(панель) не скрывается.
PS. Ещё нюанс общий для FSE dx9 и dx11. После одиночного ПКМ перестают работать панели инструментов(их нет) для FSE, после одиночного ЛКМ опять работают.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 03 июля 2020, 13:32:17
Цитата: MPCfan от 03 июля 2020, 12:15:42PS. Ещё нюанс общий для FSE dx9 и dx11. После одиночного ПКМ перестают работать панели инструментов(их нет) для FSE, после одиночного ЛКМ опять работают.
Это похоже меню срабатывает и ждет ответа.

Добавил простую блокировку и залил 0.4.8.1407.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 03 июля 2020, 19:18:58
Просьба к разработчикам и тестирующим, проверить корректность работы FSE после команды "закрыть" и последующей команды "воспроизвести". 1.5.5 (build 5367) beta+0.4.8.1407 (git-2020.07.03-f1b0109)
  1. Отключить "Exit fullscreen at the end of playback". Так будет проще.
  2. Запустить файл и перейти в FSE DX9.
  3. Ctrl+C, или же через кнопку "Close".
  4. Перезапустить файл, наведя курсор мыши в нижнюю часть экрана, чтоб появилась панель инструментов и нажать "play".
      Только так, а не клавишей "space".
  5. Проверьте работу сикбара для FSE, кликая ЛКМ по более узкой и светлой полоске этого сикбара в районе кнопок "play/pause",
      "stop/close" и т.д., как если бы там была панель для windowed FS.
  6. Если будут нюансы, выйти из FSE, не прекращая воспроизведения и опять перейти в FSE, корректность восстановится.
  7. На Win8 это выглядит так > https://yadi.sk/i/S27Law4Vf7mYYA
Название: Re: MPC Video Renderer
Отправлено: V0lt от 03 июля 2020, 20:25:07
MPCfan
Я думаю, тут проблема где-то на стороне плеера. Надо смотреть, разбираться...
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 03 июля 2020, 20:53:09
V0lt,
Цитата: V0lt от 03 июля 2020, 20:25:07
MPCfan
Я думаю, тут проблема где-то на стороне плеера. Надо смотреть, разбираться...
Пару постами выше я описывал проблему с dx11 FSE после Ctrl+C. Она воспроизводится именно по такому алгоритму, как и с dx9 FSE.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 04 июля 2020, 03:05:57
Это приколы самого MPC-BE.

P.S. Подправил.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 04 июля 2020, 07:32:07
Aleksoid1978,
Что по поводу проблем, которые я вам расписал? Нужны ли логи? Смогли ли вы их у себя получить (воспроизвести)?
На всякий случай прилагаю лог-файл (https://yadi.sk/d/DzENhXIh7IYTYA), когда при переходе в режим FSE из развернутого окна, происходит мертвое зависание плеера.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 04 июля 2020, 08:04:12
Aleksoid1978,
Цитата: Aleksoid1978 от 04 июля 2020, 03:05:57
Это приколы самого MPC-BE.

P.S. Подправил.
Да, теперь нормально. Проверил двух-мониторный режим c DX11 FSE. Alt+Tab перехватывает фокус, и как это было с DX9 FSE, при переходах на следующий файл с авто-переключалкой иногда проскакивает черный экран.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 04 июля 2020, 10:43:57
Нет времени/возможности разбираться с этими багами - касается переход из развёрнутого экрана и мульти- процессов :)
Название: Re: MPC Video Renderer
Отправлено: V0lt от 05 июля 2020, 10:54:00
У кого есть возможность проверить тормоза интерфейса?

1. Два дисплея подключены к одной видеокарте Nvidia. На основном дисплее 60 Гц (монитор DVI), на дополнительном 23 Гц (телевизор HDMI).
2. Запустить плеер в оконном режиме, перетащить на дополнительный дисплей.
3. Выбрать EVR-CP или MPC VR. Запустить воспроизведение видео с частотой 23,976 fps (кино какое-нибудь).
4. Оценить, начали ли сильно тормозить команды мыши, клавиатуры и интерфейс.

Повторить тоже самое с EVR или madVR, где таких тормозов не будет.

У меня на Win7SP1 и GTX 950 все очень жутко тормозит, если использую EVR-CP или MPC VR.
Если сначала выбрать EVR или madVR, открыть видеофайл, а потом, не закрывая плеер, выбрать EVR-CP или MPC VR и переоткрыть файл, то тормозов не будет.
Если телевизор подключаю к встройке Intel HD 4000, то тормозов нет совсем.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 05 июля 2020, 12:12:33
V0lt,
Цитата: V0lt от 05 июля 2020, 10:54:00
Если телевизор подключаю к встройке Intel HD 4000, то тормозов нет совсем.

Я бы так категорично про intelhd4000 не сказал. Например с evr-cp fse можно получить тормоза и без второго дисплея > https://yadi.sk/i/zIQEJKvkq5wkZw > разве это не тормоза интерфейса, перемотать немного, потерять бегущую зелёную полоску, подождать немного, крутануть громкость и получить v/sync обратно?
Название: Re: MPC Video Renderer
Отправлено: V0lt от 05 июля 2020, 12:32:22
MPCfan
График это не интерфейс.
Интерфейс - это окно, меню, тулбары плеера (добавил в сообщение про оконный режим).
Я с трудом перетаскиваю окно плеера. Я нажимаю Alt+Enter и жду более секунды, когда плеер развернет кадр на полный экран. Я вызываю мышью тулбар, и он не исчезает, когда убираю курсор вверх. Закрыть плеер также непросто.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 05 июля 2020, 15:39:46
V0lt,
Цитата: V0lt от 05 июля 2020, 10:54:00
У кого есть возможность проверить тормоза интерфейса?
Проверил поведение последнего коммита. Тормоза действительно есть, причем даже без дополнительного дисплея.
Да уж... Опять что-то пошло не так...

В моем случае, тормозит именно работа DX9. Особенно хорошо заметно, при переходе в режим FSE. Переход не мгновенный, а спустя пару секунд. Я даже успеваю разглядеть упрощенный интерфейс Windows 7, вместо Aero3D, в момент самого перехода.
Да и в момент перехода начинается очень резкое ускорение кадров видео. После перехода, ситуация нормализуется.
Такое вот странное и не нормальное поведение.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 06 июля 2020, 08:12:50
Evgeniy1990
То, что ты описываешь обычная задержка при переключении в эксклюзивный режим. Есть на любых системах, где-то быстро, где-то дольше. И я сильно сомневаюсь, что там 2 секунды.

Я говорил совсем о другом. Если никто это не ловит, тогда ладно. Я озвучил проблему.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 11 июля 2020, 11:43:34
Есть проблемы с плавностью эксклюзивного полного экрана в режиме DX11.

1. Неплавное воспроизведение видео 23,976 fps на дополнительном дисплее (ТВ) с частотой 23,976 Гц. В режиме DX9 плавно.
PS: Сегодня проверил на Win8.1, подключал ТВ к Intel и Nvidia и было плавно, странно.

2. Неплавное воспроизведение видео 120 fps (https://mpc-be.org/forum/index.php?topic=552.0) на основном дисплее с частотой 60 Гц. В оконном режиме плавно.
Здесь оказалась проблема в режиме "Flip sequential", который всегда тупит на таком видео (хоть в окне, хоть в полном экране). В режиме "Discard" все хорошо.
Разрешил работу режима Discard в полном экране для DX11 в 0.4.8.1420_git2020.07.11-ee699c8.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 11 июля 2020, 19:49:50
V0lt,
Цитата: V0lt от 11 июля 2020, 11:43:34
Есть проблемы с плавностью эксклюзивного полного экрана в режиме DX11.
Проверил проблемы с плавностью в DX11 на intelhd4000/win8 на ТВ Самсунг как в эксклюзиве, так и в окне, и вот что обнаружил. Плеер никак не хочет переключаться на 24p в эксклюзиве с Lav dx11 native, переключается на 60p, не взирая на настройки в авто-переключалке. Включил "смена режима до начала воспроизведения", помогло частично, при запуске, ТВ переходит на 24p, но в FSE возвращается на 60p. Естественно тут плавности не будет с 23,976/24 fps. И ещё обнаружил нюанс в связке Lav dx11 native+mpc audiorenderer+mpc videorendererdx11, при переходах с автопереключалкой с файла на файл с разными fps плеер периодически падает и в окне и в эксклюзиве. С directsound проблем нет.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 11 июля 2020, 20:20:26
MPCfan
Я просто перевожу ТВ в режим 23 Гц и не пользуюсь автопереключалкой. Это исключает неправильное определения FPS в файле и проблемы самого переключения.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 12 июля 2020, 04:25:55
1 - Проверил связку с LAV DX11 Native на источнике 23.976, отлично работает авто-переключалка.
2 - Проверяю работу самого FSE DX11, пока все отлично, воспроизведение плавное, микро-рывков не наблюдаю.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 12 июля 2020, 05:36:58
Aleksoid1978,
Цитата: Aleksoid1978 от 12 июля 2020, 04:25:55
1 - Проверил связку с LAV DX11 Native на источнике 23.976, отлично работает авто-переключалка.
Проблема проявляется с мульти-мониторностью. Ноут  - как основной, ТВ - расширенный рабстол. 60Hz фиксированные для ноута и 60Hz для ТВ в драйвере. Запуск плеера и файла на ноуте, потом перевод в FSE DX11 на ТВ. Именно в этот момент авто-переключалка не работает корректно с Lavdx11native, последующие переключения, когда плеер в FSE на ТВ будут корректные. Можно заранее перетащить плеер на ТВ и запустить файл, а потом в FSE, тоже переключаться будет корректно. Если использовать ТВ как один монитор, авто-переключалка работает корректно с DX11 в эксклюзиве.
P.S. Проверил такой переход с MadVR DX11 exclusive c lavdx11native и с авто-переключалкой MPC-BE(в madvr отключил), переводит в нужные HZ.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 12 июля 2020, 06:20:54
Именно так я и проверяю - монитор + ТВ, FSE на ТВ с авто-переключалкой.

Название: Re: MPC Video Renderer
Отправлено: V0lt от 12 июля 2020, 07:08:46
Цитата: MPCfan от 12 июля 2020, 05:36:58Запуск плеера и файла на ноуте, потом перевод в FSE DX11 на ТВ. Именно в этот момент авто-переключалка не работает корректно с Lavdx11native,
Вроде такой фичи (переключения режима при переносе окна плеера) в MPC-BE никогда не было.  ???

И само переключение режимов к рендереру и данной теме не относятся. Это к плееру.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 12 июля 2020, 08:03:08
V0lt,
Цитата: V0lt от 12 июля 2020, 07:08:46
Вроде такой фичи (переключения режима при переносе окна плеера) в MPC-BE никогда не было.  ???
Как так не было? В настройках "Полный экран" есть опция  "монитор для полного экрана". Там вроде и выбираем куда его FS/FSE "переносить".
Aleksoid1978,
Перепроверил на Win8.1, не хочет и там переключаться. Правда, если отключить "восстанавливать разрешение после выхода из программы", то это каким-то боком решает проблему. При чём тут выход и первый переход в FSE? Короче, Win8 и Win8.1, а может и интелы - то ещё......
Название: Re: MPC Video Renderer
Отправлено: V0lt от 12 июля 2020, 08:47:38
Цитата: MPCfan от 12 июля 2020, 08:03:08Как так не было? В настройках "Полный экран" есть опция  "монитор для полного экрана". Там вроде и выбираем куда его FS/FSE "переносить".
Это когда плеер на одном дисплее, а полный экран на другом. Поддержка такой фичи в MPC VR не заявлена, насколько помню.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 12 июля 2020, 08:59:54
V0lt,
Именно это я и имел в виду. Про то, что не заявлено, не знал. Пользуюсь с MPC-VR данной фичей c тех пор, как только MPC-VR заработал на Win8, и с dx9 и с dx11. Работает ровно также, как и EVR-CP, а может даже и лучше, пока.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 12 июля 2020, 09:09:19
Вы друг друга не поняли:) FSE в случае VR - когда просто про переходе в FS сам VR переходит в FSE. А опция просто говорит на какой экран переходить в FS.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 14 июля 2020, 05:41:01
Evgeniy1990, можешь проверить Issue #16 (https://github.com/Aleksoid1978/VideoRenderer/issues/16) на своей карте AMD?
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 14 июля 2020, 06:53:19
V0lt,
https://yadi.sk/i/rwNkMY91e1L6bg = Issue #16
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 14 июля 2020, 08:47:01
А там же выложен билд тестовый, на котором народ написали что норм.

P.S. Можешь выложить данный ролик. На Nvidia есть такое поведение ?
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 14 июля 2020, 09:43:38
V0lt,
Цитировать
Evgeniy1990, можешь проверить Issue #16 (https://github.com/Aleksoid1978/VideoRenderer/issues/16) на своей карте AMD?
Проверил данную проблему на своей видеокарте AMD Radeon RX 580 на последнем Git-коммите. Проблему подтверждаю! (https://yadi.sk/i/P4F40a106l03Aw)
Она проявляется при условии: LAV Video Decoder (d3d11 native active decoder) + MPC VR (DX11) + VP Shaders.
Ключевым условием является именно шейдерный видеопроцессор. Именно на нем и присутствует эта самая зеленая линия.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 14 июля 2020, 09:49:02
Aleksoid1978,
Цитировать
А там же выложен билд тестовый, на котором народ написали что норм.
Проверил ваш тестовый билд. На нем зеленой полоски нет, при данных условиях использования.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 14 июля 2020, 12:08:50
А кто проверить может- это всегда было , потестить старые версии ?
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 14 июля 2020, 18:33:00
Aleksoid1978,
Цитата: Aleksoid1978 от 14 июля 2020, 08:47:01
А там же выложен билд тестовый, на котором народ написали что норм.

P.S. Можешь выложить данный ролик. На Nvidia есть такое поведение ?
Если Вы по поводу роллика "Rammstein", то тестовый билд с ним - OK. Ну, не досмотрел я до конца обсуждение issue #16. Дело в том, что с тамошним роликом(hevc dxva11 8bit) зелёной полосы не было с шейдерами, а "Rammstein"(interlacedmpeg2) c зеленью был. Теперь нет.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 14 июля 2020, 19:16:49
Aleksoid1978,
Цитата: Aleksoid1978 от 14 июля 2020, 12:08:50
А кто проверить может- это всегда было , потестить старые версии ?
MPC Video Renderer v0.2.1.828 (git-2019.08.29-8c63309), проверил на нём, на "Seven Samurai" зелёной полосы нет, а на "Rammstein" есть с шейдерами.
На тест-билде тоже можно увидеть зелень, если на паузе переключиться с dx11 vp на shaders, или наоборот, и курсором мыши вызвать нижнюю панель инструментов > https://yadi.sk/i/6FOCtXYdtJ0aUg Возможно, локальная проблема.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 15 июля 2020, 05:18:18
Клип рамштайна зеленит только на Intel, или на Nvidia тоже ?
Название: Re: MPC Video Renderer
Отправлено: V0lt от 15 июля 2020, 06:12:07
Evgeniy1990, пожалуйста, сделай папку C:\TEMP\ запусти самураев с билдлом mpcvr_1428_d3d11dec_dump (https://yadi.sk/d/X0EVMKP4TcmnHQ/Test/d3d11dec_dump) и выложи получившиеся 10 дампов.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 15 июля 2020, 06:36:56
Aleksoid1978,
Цитата: Aleksoid1978 от 15 июля 2020, 05:18:18
Клип рамштайна зеленит только на Intel, или на Nvidia тоже ?
Ещё перепроверил на MPC Video Renderer v0.2.1.828 (git-2019.08.29-8c63309), зелёная полоса на обеих видеокартах с шейдерами.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 15 июля 2020, 07:01:50
Выложи уже этого рамштайна :)
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 15 июля 2020, 07:06:02
Aleksoid1978,
https://yadi.sk/d/2C-J25rS7cw61g
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 15 июля 2020, 07:23:02
Цитата: V0lt от 15 июля 2020, 06:12:07
Evgeniy1990, пожалуйста, сделай папку C:\TEMP\ запусти самураев с билдлом mpcvr_1428_d3d11dec_dump (https://yadi.sk/d/X0EVMKP4TcmnHQ/Test/d3d11dec_dump) и выложи получившиеся 10 дампов.

Все у кого есть зелень - проверьте.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 15 июля 2020, 07:38:28
А вот еще тестовый билд у кого зеленая полоска присутствует - https://yadi.sk/d/OX3svoPvj6Rl3A
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 15 июля 2020, 07:44:08
Aleksoid1978,
Цитата: Aleksoid1978 от 15 июля 2020, 07:23:02
Цитата: V0lt от 15 июля 2020, 06:12:07
Evgeniy1990, пожалуйста, сделай папку C:\TEMP\ запусти самураев с билдлом mpcvr_1428_d3d11dec_dump (https://yadi.sk/d/X0EVMKP4TcmnHQ/Test/d3d11dec_dump) и выложи получившиеся 10 дампов.

Все у кого есть зелень - проверьте.
https://yadi.sk/d/bqr8w_PyGHgAFg
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 15 июля 2020, 07:48:15
Желательно на том файле с самураями еще дампы.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 15 июля 2020, 07:49:52
Aleksoid1978,
Цитата: Aleksoid1978 от 15 июля 2020, 07:38:28
А вот еще тестовый билд у кого зеленая полоска присутствует - https://yadi.sk/d/OX3svoPvj6Rl3A
На рамштайне есть зелёная полоса.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 15 июля 2020, 07:57:39
А вообще народ - давай те в телеграмм, удобно(намного удобнее форума). Ставим клиента на свой комп и вперед.
Ссылка на группу - https://t.me/MPC_BE
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 15 июля 2020, 08:01:59
Цитата: MPCfan от 15 июля 2020, 07:49:52
Aleksoid1978,
Цитата: Aleksoid1978 от 15 июля 2020, 07:38:28
А вот еще тестовый билд у кого зеленая полоска присутствует - https://yadi.sk/d/OX3svoPvj6Rl3A
На рамштайне есть зелёная полоса.
Зеленая полоска на шейдерах или на DX11 VP тоже ?
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 15 июля 2020, 08:45:47
Вот еще одна версия с созданием дампов в C:\TEMP - https://yadi.sk/d/OX3svoPvj6Rl3A
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 15 июля 2020, 09:16:14
Aleksoid1978,
Цитата: Aleksoid1978 от 15 июля 2020, 07:57:39
А вообще народ - давай те в телеграмм, удобно(намного удобнее форума). Ставим клиента на свой комп и вперед.
Ссылка на группу - https://t.me/MPC_BE
Телеграмм запрещен!
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 15 июля 2020, 09:24:48
Ну во первых уже разрешен - https://habr.com/ru/news/t/507244/
А во вторых даже когда был запрещен это не мешало им пользоваться :)
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 15 июля 2020, 12:29:43
Aleksoid1978,
Цитата: Aleksoid1978 от 15 июля 2020, 08:45:47
Вот еще одна версия с созданием дампов в C:\TEMP - https://yadi.sk/d/OX3svoPvj6Rl3A
Дампы > https://yadi.sk/d/s5ablDaO6z8PYQ Зелёная полоса только с шейдерами и только с "Rammstein". C "Seven Samurai" полосы нет и дампы с Nvidia, поскольку hevc 8bit dxva11 только с Nvidia работает.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 15 июля 2020, 13:25:35
V0lt,
Цитировать
Evgeniy1990, пожалуйста, сделай папку C:\TEMP\ запусти самураев с билдлом mpcvr_1428_d3d11dec_dump (https://yadi.sk/d/X0EVMKP4TcmnHQ/Test/d3d11dec_dump) и выложи получившиеся 10 дампов.
Сделал 10 дампов (https://yadi.sk/d/-HB810hnFfDj_Q).
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 15 июля 2020, 13:36:52
Aleksoid1978,
Цитата: Aleksoid1978 от 15 июля 2020, 08:45:47
Вот еще одна версия с созданием дампов в C:\TEMP - https://yadi.sk/d/OX3svoPvj6Rl3A
Пожалуйста (https://yadi.sk/d/c1KabNCDv58WMg).
Название: Re: MPC Video Renderer
Отправлено: V0lt от 15 июля 2020, 16:11:47
Evgeniy1990, MPCfan
Cпасибо.
Прошу проверить билд mpcvr_1429_2_d3d11dec_fix_vector (https://yadi.sk/d/X0EVMKP4TcmnHQ/Test/d3d11dec_greenline). Исчезла ли зеленая полоса при шейдерном видеопроцессоре?
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 15 июля 2020, 17:45:01
V0lt,
Цитата: V0lt от 15 июля 2020, 16:11:47
Evgeniy1990, MPCfan
Cпасибо.
Прошу проверить билд mpcvr_1429_2_d3d11dec_fix_vector (https://yadi.sk/d/X0EVMKP4TcmnHQ/Test/d3d11dec_greenline). Исчезла ли зеленая полоса при шейдерном видеопроцессоре?
Полоса на рамштайне исчезла. Но стало заметно растяжение картинки вправо, как бы заполняется та область, где была зелёная полоса при переходе на shaders VP. Просто на тестовом билде на гитхабе issue #16 такое не наблюдается.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 15 июля 2020, 17:54:54
V0lt,
Цитировать
Evgeniy1990, MPCfan
Cпасибо.
Прошу проверить билд mpcvr_1429_2_d3d11dec_fix_vector (https://yadi.sk/d/X0EVMKP4TcmnHQ/Test/d3d11dec_greenline). Исчезла ли зеленая полоса при шейдерном видеопроцессоре?
Проверил билд. Зеленая линия исчезла на самураях, при использовании шейдерного видеопроцессора.
На Рамштайне жуткая зелень (https://yadi.sk/i/yc8iundtf19-iQ) на половине видео.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 15 июля 2020, 19:02:59
Спасибо всем.
Чувствую, тут нужны большие переделки, на которые временя трудно выделить. :(

Добавлено.
Просьба проверить сборку- mpcvr_1429_3_d3d11dec_fix_vector (https://yadi.sk/d/X0EVMKP4TcmnHQ/Test/d3d11dec_greenline).
Возможно удастся разрулить малой кровью. :-)
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 15 июля 2020, 19:35:03
V0lt,
Цитировать
Просьба проверить сборку- mpcvr_1429_3_d3d11dec_fix_vector (https://yadi.sk/d/X0EVMKP4TcmnHQ/Test/d3d11dec_greenline).
Возможно удастся разрулить малой кровью. :-)
Проверил сборку. Стало хуже. Снова появилась зеленая полоска на самураях.
На Рамштайне по прежнему зелень на половине видео.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 15 июля 2020, 19:40:55
V0lt,
С mpcvr_1429_3_d3d11dec_fix_vector. зелёная полоса вернулась на рамштайн.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 15 июля 2020, 20:02:19
Спасибо.
А есть видео с такой же полосой, только размером кадра поменьше?
Например, вот такое видео (https://cloud.mail.ru/public/mkGo/5cjyiKm6K) дает полосу?

Пол кадра зелени на Рамштайне - это что-то совсем необъяснимое. Пока идей нет.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 15 июля 2020, 20:34:33
V0lt,
Цитата: V0lt от 15 июля 2020, 20:02:19
Спасибо.
А есть видео с такой же полосой, только размером кадра поменьше?
Например, вот такое видео (https://cloud.mail.ru/public/mkGo/5cjyiKm6K) дает полосу?
На этом видео нет у меня полоски. Я тут немного потестировал. Результат - зелень прёт только на interlacedmpeg2, то есть на DVD, даже с другим AR
Название: Re: MPC Video Renderer
Отправлено: V0lt от 15 июля 2020, 21:10:12
MPCfan, прет зелень размером с полкадра?

Если это так, то мне непонятно как на AMD работает деинтерлейс в D3D11 VP.
У меня на Nvidia все декодеры (программный,  DXVA2 и D3D11) выдают чересстрочный кадр (с гребенкой при сильном движении). А на AMD после декодера D3D11 как будто выходит лишь одно поле, которое занимает верхнюю половину кадра. Куда второе поле делось, неясно. Как определить, что у нас одно поле, тоже неясно (можно по медиатипу, если декодер такое укажет). Но как потом указать раздельные поля в D3D11 VP (в DXVA2 такое есть, а в D3D11 не вижу).
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 15 июля 2020, 21:21:06
V0lt,
Цитата: V0lt от 15 июля 2020, 21:10:12
MPCfan, прет зелень размером с полкадра?
Нет, тонкая полоска справа.
Вот тест-билд без полоски > https://yadi.sk/i/Sg8xcYbKk4WmBw
Здесь с полоской > https://yadi.sk/i/SHge6DDCSq_osQ
В чём проблема у первого теста, несмотря на вроде бы корректное воспроизведение с shaders VP?
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 16 июля 2020, 01:54:38
Вот пробуем еще - https://yadi.sk/d/06Tl4VGInHCexQ
Если что - так же создаем дампы bmp.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 16 июля 2020, 05:20:26
Aleksoid1978,
Здесь > https://yadi.sk/d/P3OYzYtCtVniug дампы и 2 видео. Обратите внимание на самураев, теперь и у меня есть с ними зелёная полоса снизу и полоса справа деформированного видео-ряда.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 16 июля 2020, 05:30:38
Тогда вот еще - https://yadi.sk/d/953hfHLElhbHlg
Название: Re: MPC Video Renderer
Отправлено: V0lt от 16 июля 2020, 05:38:25
Цитата: MPCfan от 15 июля 2020, 21:21:06В чём проблема у первого теста, несмотря на вроде бы корректное воспроизведение с shaders VP?
Если речь о первом билде от Aleksoid1978, который выложен в Issue #16 (https://github.com/Aleksoid1978/VideoRenderer/issues/16), то с ним вроде все нормально. Это решение можно даже использовать. Но у нас скорее всего проблема в обработке входной текстуры, которая может вылезти в других ситуациях.

Я сделаю специальное видео, которое, надеюсь, будет зеленить на всех видеокартах в режиме шейдерной обработки DX11. Это должно позволить мне разобраться с проблемой.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 16 июля 2020, 05:48:45
Aleksoid1978,
Стало по-лучше, на рамштайне тонкая полоска справа, на самураях снизу, почти незаметная. Дампы > https://yadi.sk/d/CZ81Nben0yCnog
Название: Re: MPC Video Renderer
Отправлено: V0lt от 16 июля 2020, 20:46:10
Сделал тестовый файл nv12_576x320_cropborder32.mkv. Фильтры встроенные (т.к. LAV игнорирует обрезку кадра). За эталон беру картинку выдаваемую VMR-9 и EVR. Они дают немного зелени слева и сверху, но справа и снизу - чисто.
MPC VR этот файл воспроизводит аналогично при использовании DXVA2 VP и D3D11 VP (Win8.1). Но если использовать шейдерный VP, то появляется зелень справа и снизу. В общем теперь есть с чем работать без привязки к конкретной видеокарте.

Добавил 2-ю 3-ю версию тестового файла (https://cloud.mail.ru/public/4DbB/2ijttmtFf).
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 17 июля 2020, 04:04:36
Вот что интересно - EVR-CP не дает зелены нигде, ни с одной из сторон. А вот MPC VR да - со всех сторон.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 17 июля 2020, 05:41:14
Aleksoid1978
У меня дает слева и сверху, как и на обычном EVR. Настройки стандартные.
(https://ibb.co/X4YZhhW)
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 17 июля 2020, 05:49:43


P.S. Сбросил на дефолтные - так же нет зелени :)
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 17 июля 2020, 06:52:02
Aleksoid1978,
Цитировать
Вот что интересно - EVR-CP не дает зелены нигде, ни с одной из сторон. А вот MPC VR да - со всех сторон.
У меня есть зелень на EVR-CP (https://yadi.sk/i/_LAUVibBDFW-7g), как и у V0lt'a.
Также есть зелень и на MPC VR (https://yadi.sk/i/XkqTvvgDnQUzjw) со всех сторон, при использовании шейдерного видеопроцессора.

Зелень есть и на NVIDIA и на AMD, на любой системе. Win10 - не исключение!
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 17 июля 2020, 07:42:07
На EVR-CP тонкая полоса сверху и слева
На MPC-VR - cверху, справа и снизу
На MadVR - широкая полоса сверху.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 18 июля 2020, 22:29:50
Evgeniy1990, MPCfan
Спасибо за тесты. С решением пока сложности.


Я сейчас стабильно ловлю зависание при переходе в эксклюзивный полный экран DX9 из развернутого окна.
Алгоритм
1. Сбросить настройки по умолчанию. Включить опцию "Use exclusive fullscreen".
2. Запустить воспроизведение видео. Развернуть окно плеера на весь рабочий стол.
3. Перейти в полный экран и зависнуть.

Такое уже рапортовали? Кто может подтвердить зависание по этому алгоритму?

Совет. Перед повторением бага запустите "Диспетчер задач" и включите в нем опцию "Поверх остальных окон". Вызывайте "Диспетчер задач" с помощью сочетания Ctrl+Shift+Esc. Так будет легче прибить процесс плеера.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 19 июля 2020, 00:49:08
V0lt,
Цитата: V0lt от 18 июля 2020, 22:29:50
Я сейчас стабильно ловлю зависание при переходе в эксклюзивный полный экран DX9 из развернутого окна.
Алгоритм
1. Сбросить настройки по умолчанию. Включить опцию "Use exclusive fullscreen".
2. Запустить воспроизведение видео. Развернуть окно плеера на весь рабочий стол.
3. Перейти в полный экран и зависнуть.

Такое уже рапортовали? Кто может подтвердить зависание по этому алгоритму?

Совет. Перед повторением бага запустите "Диспетчер задач" и включите в нем опцию "Поверх остальных окон". Вызывайте "Диспетчер задач" с помощью сочетания Ctrl+Shift+Esc. Так будет легче прибить процесс плеера.

Я уже писал об этом. На что Aleksoid1978 ответил, что у него нет времени разбираться с этим багом. И это далеко не единственная проблема.

По поводу совета - я уже раньше вас понял, как сделать так, чтобы при зависании эксклюзива отображалось окно диспетчера задач - просто выставить в нем опцию поверх всех окон.

Вот честно вам скажу, режим FSE более менее нормально работает только на AMD-видеокартах. На NVIDIA творится какая-то дичь. То он работает, то не работает, то зависает на ровном месте, то вообще не запускается. В общем -  полное мракобесие и полное разочарование. А я-то думал, что на NVIDIA ситуация куда лучше, чем на AMD. Но после многочисленных тестов, я убедился, что это далеко не так. Вы уж меня простите, но то, что я увидел на NVIDIA - это никак нельзя назвать работоспособным. Я даже не ожидал такого поведения режима FSE, пока у меня руки не дошли до NVIDIA.

Знаю, что Aleksoid1978 обязательно скажет, что у него все гуд и все идеально. Но мы-то (по крайней мере я) прекрасно знаем, что Aleksoid1978 - это всего лишь навсего исключение. Я вот готов написать целую поэму по поводу работы режима FSE на NVIDIA. Вопрос в другом - планируется ли вообще доведение данного режима FSE до ума?
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 19 июля 2020, 03:43:00
Что значит "доведения до ума"? В данный момент есть как есть. Не нравиться - не пользуемся. Достало уже это нытье что все плохо, как страшно и т.д.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 19 июля 2020, 04:32:16
Цитата: V0lt от 18 июля 2020, 22:29:50
Evgeniy1990, MPCfan
Спасибо за тесты. С решением пока сложности.


Я сейчас стабильно ловлю зависание при переходе в эксклюзивный полный экран DX9 из развернутого окна.
Алгоритм
1. Сбросить настройки по умолчанию. Включить опцию "Use exclusive fullscreen".
2. Запустить воспроизведение видео. Развернуть окно плеера на весь рабочий стол.
3. Перейти в полный экран и зависнуть.

Такое уже рапортовали? Кто может подтвердить зависание по этому алгоритму?

Что самое интересное - не могу воспроизвести при переходе в FSE на другой экран(с монитора на ТВ), на одном экране зависает. Это очень усложняет отладку и поиск проблемы.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 19 июля 2020, 06:55:04
Цитата: Aleksoid1978 от 19 июля 2020, 04:32:16Что самое интересное - не могу воспроизвести при переходе в FSE на другой экран(с монитора на ТВ), на одном экране зависает. Это очень усложняет отладку и поиск проблемы.
А если студию переместить на дополнительный дисплей, а плеер запускать на основном? Естественно без каких либо перемещений "окна полного экрана".
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 19 июля 2020, 07:02:29
По поводу зависания на DX9 FSE из развернутого окна проверяем - https://yadi.sk/d/hR_HcFnD2iWoMg
Название: Re: MPC Video Renderer
Отправлено: V0lt от 19 июля 2020, 07:06:36
Aleksoid1978, зависания больше нет. Круто.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 19 июля 2020, 07:10:44
Залил изменения.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 19 июля 2020, 07:27:10
Aleksoid1978,
Цитата: Aleksoid1978 от 19 июля 2020, 07:02:29
По поводу зависания на DX9 FSE из развернутого окна проверяем - https://yadi.sk/d/hR_HcFnD2iWoMg
На Win8 тоже заработало.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 19 июля 2020, 07:29:53
V0lt,
Цитата: V0lt от 19 июля 2020, 07:06:36
Aleksoid1978, зависания больше нет. Круто.
У меня это "круто" заканчивается после первой перемотки, ну а дальше перезагрузка, выйти из FSE иначе не получается.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 19 июля 2020, 07:52:37
MPCfan
У меня нормально перематывает в полном экране.
Какие у тебя настройки, какой видеофайл, какой дисплей (основной или дополнительный)?

Выложил версию 0.4.8.1431 (https://yadi.sk/d/X0EVMKP4TcmnHQ).
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 19 июля 2020, 07:58:36
Aleksoid1978,
V0lt,
Значит, вот что получается по факту на Win8: при переходе в FSEDX9 из развёрнутого окна, дальнейший выход уже не возможен ни мышью, ни клавишами, перемотка лишь стечение обстоятельств, c простым окном всё нормально работает. Парадокс в том, что первый запуск тест-билда был корректным.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 19 июля 2020, 08:05:14
V0lt,
Походу, тут дело в настройках внешнего вида плеера, вернул заголовок и меню во внешний вид плеера, вроде работает из развёрнутого окна.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 19 июля 2020, 08:05:28
У меня отлично стало переход в FSE и обратно.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 19 июля 2020, 08:06:06
Покажи скрин окна перед переходом в FSE.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 19 июля 2020, 08:28:26
Aleksoid1978,
https://yadi.sk/i/_CW_tYpBIQKQEA  С настройками по-умолчанию, вроде нормально.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 19 июля 2020, 08:40:20
Aleksoid1978,
Цитата: Aleksoid1978 от 19 июля 2020, 07:02:29
По поводу зависания на DX9 FSE из развернутого окна проверяем - https://yadi.sk/d/hR_HcFnD2iWoMg
Проверил тестовый билд на NVIDIA. Теперь не виснет при переходе в режим FSE из развернутого окна плеера, при условии использования одного монитора.

Что самое интересное и забавное - при условии использования двух мониторов (мультимониторности), данного зависания не было вообще. Теперь же, после ваших исправлений, оно есть. Только теперь уже не само зависание, как таковое, а некорректное заполнение окна режима FSE.

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

Ключевым условием является только текущая сессия. Именно на текущей сессии все это и происходит. Естественно, если перезапустить, запустить новую сессию, то все вернется в норму.

Вот именно так, против всякой здравой логики и работает режим FSE на NVIDIA. Но я уже разгадал его хитрую работу. В зависимости от исправлений, изменений, он меняет свою работу - или на одном мониторе работает нормально/ненормально, или на мультимониторности работает нормально/ненормально.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 19 июля 2020, 08:46:45
Ну вот у меня все отлично что на одном мониторе, что на двух. Только не надо опять начинать что это только у меня и все такое - я верю что где-то у кого-то может быть не хорошо, но ничего с этим поделать не могу.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 19 июля 2020, 09:03:02
Aleksoid1978,
Цитироватья верю что где-то у кого-то может быть не хорошо, но ничего с этим поделать не могу.
Ой, ой, ой... Не смешите меня. А вот я верю в вас и знаю прекрасно, что вы сможете это устранить. А для этого я вам приготовил алгоритм воспроизведения, который как раз и поможет вам воспроизвести проблему на NVIDIA и устранить ее.

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

0. Оставить только один монитор
1. Открыть произвольный видео файл
2. Включить режим FSE
3. Развернуть окно плеера на весь рабочий стол (экран монитора)
4. Открыть панель управления NVIDIA
5. В разделе установки нескольких дисплеев включить (задействовать) второй монитор, применить изменения
6. В настройках полного экрана выбрать вывод на DISPLAY_2, применить изменения
7. Из развернутого окна плеера выполнить переход в режим FSE

Фактический результат: переход в режим FSE будет выполнен, но заполнится только лишь четверть экрана и само изображение будет не на том мониторе, на котором должно выводиться. Т.е. вместо второго монитора, оно будет отображаться на первом (основном).

Я думаю, что вам суть понятна.

Итог: Т.е. логика работы режима FSE на NVIDIA нарушается, когда мы задействуем второй монитор при уже рабочей и запущенной сессии. Вот именно эту ситуацию и надо исправить.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 19 июля 2020, 09:33:55
Честно - даже не хочу проверять такой алгоритм, никому и в голову не придет так запускать просмотр видео.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 19 июля 2020, 11:41:42
Aleksoid1978,
Цитата: Aleksoid1978 от 19 июля 2020, 09:33:55
Честно - даже не хочу проверять такой алгоритм, никому и в голову не придет так запускать просмотр видео.
Зря! В том-то и дело, что корректность работы режима FSE на NVIDIA зависит, в первую очередь, от текущих параметров в драйверах. Чтобы вам было более менее понятно, я поясню...

Допустим, мы включили систему и у нас используется только один монитор, согласно настройкам драйвера. В этом случае, режим FSE будет работать более менее нормально, при условии, что мы не меняем конфигурацию мониторов (дисплеев), пока работает текущая сессия самой операционной системы.

Или же, допустим, мы включили систему и у нас используется мультимониторность (два и более монитора), согласно настройкам драйвера. В этом случае, режим FSE будет работать также аналогично более менее нормально, при условии, что мы не меняем конфигурацию мониторов (дисплеев), пока работает текущая сессия самой операционной системы.

Но, стоит только, в течение текущей сессии операционной системы, изменить конфигурацию мониторов (дисплеев), как тут же начинается полная жесть в работе режима FSE на NVIDIA. В первую очередь, рандомно начинают проявляться сами по себе зависания в его работе. Например, в моем случае, при обратном переходе из режима FSE с дополнительного дисплея в окно на основной дисплей, рандомно проявляется мертвое зависание.

Другой случай, еще более неприятный - когда я задействовал второй монитор, указал вывод видео на DISPLAY_2, а после уже запустил сам плеер с видео и выполнил переход в режим FSE на второй дисплей, переход конечно выполнился корректно и правильно на второй дисплей, согласно моим настройкам, вот только режима FSE почему-то нет. В статистике ясно и четко видно что работает Windowed-режим (он же оконный режим).

Суть в том, что на NVIDIA, при изменении конфигурации дисплеев, происходит и изменение работы самого драйвера. Отсюда и выскакивают различные проблемы. И это не только с режимом FSE. То же самое происходит и с запуском различных игр в полноэкранном режиме. Стоит только задействовать второй монитор, как игра при запуске тут же падает. А вот если перезагрузить систему с конфигурацией двух и более мониторов, то игра уже не падает, аналогично и режим FSE начинает вести себя более менее нормально.

Что касается AMD-видеокарт, то на них подобного безобразия нет и быть не может. Потому что их драйверы устроены несколько иначе. У них изначально введена конфигурация использования двух мониторов, даже если второй не подключен к видеокарте. И если подключить второй на лету, во время работы операционной системы, то драйвер просто автоматически проинициализирует его. Это произойдет мгновенно, практически незаметно. Естественно, при выборе второго монитора (дисплея) для вывода видео, при переходе в режим FSE, плеер стабильно и четко переходит на соответствующий дисплей и обратно возвращается на предыдущий основной, согласно логике. Естественно сбоев никаких в работе нет, все строго и четко.

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

Это я вам расписал и попытался пояснить поведение работы NVIDIA и FSE на Windows 7. Хотя на других, я уверен, что будет точно также.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 19 июля 2020, 12:02:22
Ну не знаю, у себя дома когда включаю комп - ТВ ещё не подключён, потом когда надо включаю. И все отлично с FSE. Так же если я во время работы компа выключу ТВ, все хорошо с FSE.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 19 июля 2020, 12:04:09
Тем более что так у тебя ведут и игры - значит это проблема системы+видеодрайвера, зачем тут то писать про это.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 19 июля 2020, 13:14:31
Aleksoid1978,
Цитата: Aleksoid1978 от 19 июля 2020, 12:02:22
Ну не знаю, у себя дома когда включаю комп - ТВ ещё не подключён, потом когда надо включаю. И все отлично с FSE. Так же если я во время работы компа выключу ТВ, все хорошо с FSE.
Вот именно, вот и я хочу, чтобы у меня было также все хорошо и отлично. именно для этого я и расписал вам свой алгоритм воспроизведения, чтобы вы смогли у себя его проверить и устранить в случае подтверждения проблемы. Иначе говоря - в надежде на исправление. Не просто же так я тут сижу и распинаюсь. Я же тоже хочу как лучше.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 19 июля 2020, 13:19:44
Цитата: Aleksoid1978 от 19 июля 2020, 12:04:09
Тем более что так у тебя ведут и игры - значит это проблема системы+видеодрайвера, зачем тут то писать про это.
Да хрен с этими играми. Это уже вопрос к их разработчикам. Нас же интересует работа режима FSE на NVIDIA. Вот именно ее и нужно довести до ума. С одной стороны, я с вами согласен, да, врятли кто-то будет так запускать просмотр видео, как я вам описал, но с другой стороны, я выполняю практически тоже самое что и вы, т.е. когда не нужен второй монитор - я его отключаю в драйвере, а когда нужен - наоборот - включаю через драйвер. Единственная здесь разница, так это когда именно я его включаю и отключаю - во время работы текущей сессии самого плеера, или до запуска самого плеера (самой) сессии.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 19 июля 2020, 14:02:11
Так если это приколы системы :)
Я написал что у меня все отлично при включении/отключении доп.экрана во время работы.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 20 июля 2020, 21:07:23
По поводу зелени.
Опытным путем установлено, что если задать входные параметры вектора по прямоугольнику обрезки и выводить в текстуру уже без полей, то это все равно не исключит зеленые полосы.
Текущая версия. Зелень появляется внутри пиксельного шейдера, который может получать пиксели за пределами границ вектора. У нас это происходит для цветовых компонент форматов YUV 4:2:0 и 4:2:2. Если это так, то придется добавить ограничение внутри векторного шейдера пиксельного шейдера. В общем тут еще много копать. :-\
Название: Re: MPC Video Renderer
Отправлено: V0lt от 28 июля 2020, 19:05:26
Для опции "ChromaScaling" добавил режим "Nearest-neighbor". Чтобы не повлияло на обратную совместимость переименовал ее в "ChromaUpsampling".
Режим "Nearest-neighbor" не для просмотра фильмов, он для тестов и отладки. В этом режиме нет проблемы с обрезкой кадра.
Хочу внедрить.
Внедрил в be9e35d.

PS: Обнаружил баг с YUY2 при использовании шейдерного преобразования. Исправил в b3899b1. Залил 0.4.8.1442.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 30 июля 2020, 21:48:40
V0lt,
ЦитироватьPS: Обнаружил баг с YUY2 при использовании шейдерного преобразования. Исправил в b3899b1. Залил 0.4.8.1442.
Действительно, вот это баг (https://yadi.sk/i/pWlfufpHbrdSuQ)!
ЦитироватьИсправил в b3899b1. Залил 0.4.8.1442.
Собрал и проверил коммит b3899b1. Проблема устранена! :)
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 30 июля 2020, 23:14:23
Aleksoid1978
ЦитироватьПроверил. Ерунда какая-то... Пытаюсь разобраться, уже запутался.... Боже... Да уж, "спасибо" LG за то, что придумали просто "мозговыносящую" логику определения монитора. Это жесть какая-то...

Короче, логика примерно такая: если я подключаю данный монитор, как единственный, то он определяется нормально, да, универсальный монитор PnP, LG и его модель L1751SQ. Если я подключаю его вторым (дополнительным) монитором, то система определяет его уже как "Универсальный монитор не PnP", а видео-драйвер определяет его как -  "никак", просто пустота.

Вот зашибись просто... Был PnP, стал уже не PnP - WTF??? (O_o), был LG L1751SQ, стал "пустышкой". Мда, чего только не встретишь, при тестировании... У меня слов нет, как это понимать и объяснить...
Разобрался с неопределенностью дисплеев.  Оказывается, все дело в переходниках, но далеко не во всех.

Если я подключаю мониторы через переходники DVI-I->VGA (https://yadi.sk/i/HsDGiVWEGqXNSg), тогда получаю неопределенные дисплеи.

Но, существуют и другие переходники, причем не просто переходники, а целые преобразователи (конвертеры). И если через них подключить мониторы, тогда сам система, сама видеокарта и сам драйвер уже начнут конкретно определять дисплеи. Значит, будет работать и EDID (полный паспорт монитора) (https://ru.wikipedia.org/wiki/Extended_display_identification_data).

Но и в этом случае далеко не все так просто. Для сравнения я использовал видеокарты "NVIDIA GeForce GTS 450" и "NVIDIA GeForce GTX 960". В случае с GTS 450 проблем особых нет, так как она содержит все основные необходимые разъемы подключения мониторов - DVI-I, VGA, HDMI. А мы знаем прекрасно, что если подключить монитор напрямую к видеокарте без переходников, то EDID будет работать сразу же.

А вот в случае с GTX 960 уже имеются проблемы с работой и инициализацией EDID, потому что подключение мониторов к ней идет не напрямую через кабель, а через переходники, или преобразователи (конвертеры). Как уже было сказано ранее, EDID в этом случае работает только через преобразователи (конвертеры). Конкретно в моем случае - это "DVI-D->VGA (https://yadi.sk/i/GWdAprIYdiVAlA)" и "HDMI->VGA (https://yadi.sk/i/TJ7k94FaOAEKFw)".

И вот тут начинается самая жесть на NVIDIA. Да, EDID работает, дисплеи определились, но вопрос в том - как именно они определились? А определились они не как мониторы, а как ТВЧ (https://yadi.sk/i/SqIycZA9sr-X_w). Т.е. по сути, как телевизоры высокой четкости. И как же сильно я был удивлен и шокирован тем, что видеокарты NVIDIA не могут отличить телевизоры от компьютерных мониторов. Т.е. они просто напросто не понимают, что к ним подключено - телевизор, или же монитор.

Хорошо, я еще могу понять тот факт, что один из мониторов у меня подключен череp адаптер HDMI->VGA. В этом случае еще может быть путаница, т.к. HDMI изначально был создан для телевизоров, а не для мониторов. Это уже потом появилось его деление на различные стандарты. Но, извините меня, другой-то монитор у меня подключен через адаптер DVI-D->VGA. И даже в этом случае, видеокарта "NVIDIA GeForce GTX 960" определяет его как ТВЧ (тот же самый телевизор). А в самом драйвере написан разъем "HDMI-ТВЧ", что разумеется полный бред и абсурд.

Эх, корпорация NVIDIA, ты меня разочаровала. Мало того, что сами драйвера дубовые, так они еще и не способны корректно отличать мониторы от телевизоров. А уж про тип разъема подключения - это уже вообще никуда не годиться. Чтобы привести ТВЧ к монитору, приходится вручную указывать полный диапазон цветопередачи (FullRGB).
Название: Re: MPC Video Renderer
Отправлено: V0lt от 31 июля 2020, 07:50:13
Evgeniy1990
Если адаптер преобразует из цифры (DVI-D, HDMI, DP) в аналог (VGA), то, как дисплей определиться в системе, зависит только от самого адаптера. Что он выдаст, то и будет. И не надо тут писать тонны текста про "плохую" Nvidia.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 31 июля 2020, 09:12:56
😅 ай опять портянки...
Название: Re: MPC Video Renderer
Отправлено: V0lt от 05 августа 2020, 16:45:46
mpcvr_1449_dx11_choma_bilinear_crop_rb (https://yadi.sk/d/X0EVMKP4TcmnHQ/Test/cropping_and_shader)
Попытался обойти Issue #16 (https://github.com/Aleksoid1978/VideoRenderer/issues/16) (зелень справа и снизу после декодера D3D11 на картах AMD) через корректировку пиксельного шейдера. Фикс 977bcfe (https://github.com/Aleksoid1978/VideoRenderer/commit/977bcfeb14ee6c40bd43f1d238c20b41009235f0) отключен. Корректировка пока работает только для Chroma upsampling = Bilinear.

У кого есть возможность, пожалуйста, сравните скорость работы этой сборки с обычной 1449 на достаточно тяжелых файлах и небыстрых видеокартах. Будет разница по скорости или нет?
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 05 августа 2020, 18:20:20
V0lt,
Разницы не заметил. На рамштайне зелёная полоса справа также присутствует c shaders VP.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 05 августа 2020, 20:40:45
Спасибо.
Обновил до mpcvr_1449_dx11_choma_2_bilinear_crop_rb (https://yadi.sk/d/X0EVMKP4TcmnHQ/Test/cropping_and_shader).

Заметил странность. На Nvidia мои изменения работают, а на Intel нет. >:(
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 05 августа 2020, 21:12:37
V0lt,
Да, на интел не работает, не работает непосредственно с dx11 native. Однако с dx11 direct copyback, хоть с hd4000, или с gt730m, зелёной полосы нет.
С рамштайном в связке dx11 native+shaders VP на gt730m полосы-то нет, а вот на самураях всё-таки снизу есть.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 06 августа 2020, 06:38:18
Как вы переключаетесь с dx11 native на dx11 direct copyback? Я не вижу такого выбора в декодере.

PS: Чтобы тестировать убирание зеленых полос на любой видеокарте, Я использую nv12_576x320_cropborder32_v3.mkv (https://cloud.mail.ru/public/4DbB/2ijttmtFf).
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 06 августа 2020, 06:50:08
V0lt,
Цитата: V0lt от 06 августа 2020, 06:38:18
Как вы переключаетесь с dx11 native на dx11 direct copyback? Я не вижу такого выбора в декодере.
https://yadi.sk/i/ZdUPepZzeNkuHg
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 06 августа 2020, 07:16:21
V0lt,
Цитата: V0lt от 06 августа 2020, 06:38:18
PS: Чтобы тестировать убирание зеленых полос на любой видеокарте, Я использую nv12_576x320_cropborder32_v3.mkv (https://cloud.mail.ru/public/4DbB/2ijttmtFf).
Проверил на этом файле mpcvr_1449_dx11_choma_2_bilinear_crop_rb и вот что получается
на интел с dx11 VP зелени нет, а с shaders VP есть полосы сверху и справа
на нвидия с dx11 VP полосы сверху и слева, а с shaders VP полоса сверху
Название: Re: MPC Video Renderer
Отправлено: V0lt от 06 августа 2020, 07:43:47
MPCfan
Моя сборка должна убирать зеленые полосы только снизу и справа. Но Intel все портит.

Режим dx11 direct copyback возможно не имеет проблемы с зеленью изначально.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 06 августа 2020, 10:07:05
mpcvr_1449_dx11_choma_3_bilinear_crop (https://yadi.sk/d/X0EVMKP4TcmnHQ/Test/cropping_and_shader)
Сборка, которая должна убирать зелень со всех сторон для Chroma upsampling = Bilinear.

По крайней мере она работает на GTX 950 с файлом nv12_576x320_cropborder32_v3.mkv (https://cloud.mail.ru/public/4DbB/2ijttmtFf).

На Intel HD 4000 у меня упорно рисуется зеленая полоска справа. >:(
Пока единственная версия - кривизна Intel-а с расчетом параметров векторного шейдера. Еще не проверял.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 06 августа 2020, 12:24:00
V0lt,
Цитата: V0lt от 06 августа 2020, 10:07:05
mpcvr_1449_dx11_choma_3_bilinear_crop (https://yadi.sk/d/X0EVMKP4TcmnHQ/Test/cropping_and_shader)
Сборка, которая должна убирать зелень со всех сторон для Chroma upsampling = Bilinear.

По крайней мере она работает на GTX 950 с файлом nv12_576x320_cropborder32_v3.mkv (https://cloud.mail.ru/public/4DbB/2ijttmtFf).
Да, теперь и на gt730m c этим файлом всё нормально с shaders VP. Перепроверил самураев с этим тест билдом+dx11 native+ shaders VP, полоса снизу присутствует. А также рамштайн, появилась полоса справа на нвидия.
Ранее написал, что nv12_576x320_cropborder32_v3.mkv без полос воспроизводится с dx11 VP на интеле. Ошибся, полоса всё-таки есть сверху, в очках разглядел, c пиксель.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 06 августа 2020, 13:19:44
mpcvr_1450_dx11_choma_4_bilinear_crop

mpcvr_1450_dx11_choma_5_bilinear_crop (https://yadi.sk/d/X0EVMKP4TcmnHQ/Test/cropping_and_shader)
Починил обрезку NV12 на Intel с Chroma upsampling = Bilinear.
Убрал фикс 977bcfe (https://github.com/Aleksoid1978/VideoRenderer/commit/977bcfeb14ee6c40bd43f1d238c20b41009235f0) для Chroma upsampling = Nearest и Bilinear.
Другие форматы пока не проверялись, нужно сэмплы делать.

Я надеюсь, теперь Самураи не будут заленить, а на счет Рамштайна не уверен.

MPCfan
Зеленые полосы слева и сверху для DXVA VP и D3D11 VP на совести этих видеопроцессоров. Но это довольно редкий случай, обычно там зеленого мусора не бывает.

PS: Проверил Рамштайна на AMD Vega 8. Все плохо. Как будто смотрю клип с двух позиций одновременно и чередованием кадров. С декодером D3D11 еще и зеленым начинает мигать. Драйвер старый 19.10.30.14.

PSS: Рамштайна, дергающегося на AMD, хорошо бы проверить либо на системном декодере (что возможно только на Win7), либо на декодере CyberLink. В качестве вывода - системный EVR. Тут надо отдельную тему заводить, т.к. MPC VR тут не причем.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 06 августа 2020, 17:42:00
V0lt,
Цитата: V0lt от 06 августа 2020, 13:19:44
mpcvr_1450_dx11_choma_4_bilinear_crop

mpcvr_1450_dx11_choma_5_bilinear_crop (https://yadi.sk/d/X0EVMKP4TcmnHQ/Test/cropping_and_shader)
Починил обрезку NV12 на Intel с Chroma upsampling = Bilinear.
Убрал фикс 977bcfe (https://github.com/Aleksoid1978/VideoRenderer/commit/977bcfeb14ee6c40bd43f1d238c20b41009235f0) для Chroma upsampling = Nearest и Bilinear.
Другие форматы пока не проверялись, нужно сэмплы делать.

Я надеюсь, теперь Самураи не будут заленить, а на счет Рамштайна не уверен.
Да, на интел с nv12_576x320_cropborder32_v3.mkv нет полос с shaders VP. Что касается самураев и рамштайнов, то с ними всё также при использовании dx11native и shaders VP, есть полосы, c любым другим декодом нормально.
Хочу добавить, что исправления изменили ситуацию именно с nv12_576x320_cropborder32_v3.mkv, но из-за чего всё начиналось, так и осталось в том же состоянии, то есть на тех файлах с проблемами с dx11native полосы не стали ни больше, ни меньше, не поменяли своё положение, выглядит так, как это было до issue #16.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 06 августа 2020, 20:11:14
MPCfan
:-\
Сделай, пожалуйста, 3 скриншота самураев с разной настройкой Chroma upsampling. Естественно с dx11native и включенной статистикой.

И еще нужен текст из окна Information для случая Chroma upsampling = Bilinear.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 06 августа 2020, 20:48:36
V0lt,
Цитата: V0lt от 06 августа 2020, 20:11:14
MPCfan
:-\
Сделай, пожалуйста, 3 скриншота самураев с разной настройкой Chroma upsampling. Естественно с dx11native и включенной статистикой.

И еще нужен текст из окна Information для случая Chroma upsampling = Bilinear.
Полоса появляется только с billinear и только в FS, c другими шейдерами вроде нормально, причём полоса(снизу) почти незаметна и не на всю ширину кадра > https://yadi.sk/d/I248ab0hYKMptQ
PS. C рамштайном оказалась такая же ситуация, именно billinear даёт зелёную полосу справа, c другими шейдерами полосы нет.
Скриншоты с рамштайном >  https://yadi.sk/d/xWOdsmhk_P_TqA
Название: Re: MPC Video Renderer
Отправлено: V0lt от 07 августа 2020, 08:57:22
MPCfan
Тему с клипом Рамштайна предлагаю здесь больше не развивать. Это очень специфичное видео, которое может выдавать очень неожиданные вещи, которые уведут нас от сути. Все забыли о нем.

Забыл написать, что нужная текстовая информация есть только в отладочной версии.
Вот что у меня выдает на Самураях:
Windows 8.1
DirectX 11
Graphics adapter: NVIDIA GeForce GTX 950 (10DE:1402)
VideoProcessor  : Shaders
Display: SyncMaster 1680x1050 75.003 Hz [Primary] windowed

DEBUG info:
Source tex size: 1536x1152
Source rect    : 0,0,1440,1080 - 1440x1080
Video rect     : 3,0,344,256 - 341x256
Window rect    : 0,0,347,256 - 347x256

\\.\DISPLAY1 - 75.003 Hz DVI
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 07 августа 2020, 12:17:50
V0lt,
ЦитироватьВот что у меня выдает на Самураях:
Странно, в моем случае совершенно другие значения выдает:

Windows 10
DirectX 11
Graphics adapter: NVIDIA GeForce GTX 960 (10DE:1401)
VideoProcessor  : Shaders
Display: BenQ FP92E 1280x1024 75.999 Hz [Primary] windowed

DEBUG info:
Source tex size: 1536x1152
Source rect    : 0,0,1440,1080 - 1440x1080
Video rect     : 0,0,1136,852 - 1136x852
Window rect    : 0,0,1136,852 - 1136x852

\\.\DISPLAY1 - 75.999 Hz HDMI
\\.\DISPLAY2 - 75.025 Hz HDMI
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 07 августа 2020, 12:47:49
V0lt,
Переделал билинеар с самураями > https://yadi.sk/i/pUdYu_LyNPZliw
Попробовал другой hevc 8bit, тоже зеленая полоса снизу с билинеар, да ещё и дебаг версия "ругалась" при запуске > https://yadi.sk/i/ljtF2AAtF83L4w с нирст-нейбор так себя не ведёт.
И ещё > https://yadi.sk/i/cgNvRmPwl-x2Mg
Название: Re: MPC Video Renderer
Отправлено: V0lt от 07 августа 2020, 12:55:51
Evgeniy1990
Значения Source tex size и Source rect те же самые. А остальное к окну и дисплею относится.

MPCfan
Спасибо, гляну.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 07 августа 2020, 15:11:29
mpcvr_1452_dx11_choma_6_bilinear_crop (https://yadi.sk/d/X0EVMKP4TcmnHQ/Test/cropping_and_shader)
Исправил опечатку из-за, которой мог не собираться шейдер с Chroma upsampling = Bilinear.
В этой версии размер исходного кадра выводиться в статистике, и смотреть в окно Information необязательно.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 07 августа 2020, 17:49:52
V0lt,
Проверил на mpcvr_1452_dx11_choma_6_bilinear_crop Кловерфилд, 10 hevc 8 bit 1920x800, полоса присутствует снизу > https://yadi.sk/i/cXSU_ZqGSQysBg
Название: Re: MPC Video Renderer
Отправлено: V0lt от 08 августа 2020, 15:37:42
Залил mpcvr_1452_dx11_choma_7_bilinear_crop (https://yadi.sk/d/X0EVMKP4TcmnHQ/Test/cropping_and_shader).
Прошу проверить на Самураях и Кловерфилд на присутствие зелени.

Оффтопик
Начиная с 1.5.5.5414  видео подобное Rammstein-Sonne-mpeg2-2001.VOB будет нормально воспроизводится на видеокартах AMD со встроенными сплиттером и декодером. Декодер не будет использовать DXVA для такого MPEG-2 видео.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 08 августа 2020, 16:13:03
V0lt,
Цитата: V0lt от 08 августа 2020, 15:37:42
Залил mpcvr_1452_dx11_choma_7_bilinear_crop (https://yadi.sk/d/X0EVMKP4TcmnHQ/Test/cropping_and_shader).
Прошу проверить на Самураях и Кловерфилд на присутствие зелени.
Без изменений, два скриншота > https://yadi.sk/d/H6dCfz8pYNafEQ
PS. Вот смотрю на свои скриншоты через яндекс и понимаю, что там трудно что-то разглядеть, особенно с самураями.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 08 августа 2020, 17:23:01
V0lt,
Проверил  mpcvr_1452_dx11_choma_7_bilinear_crop на intelhd5500, на нем полос нет с самураями и кловерфилдом в связке dx11native+shaders VP в частности с bilinear. Единственно, полосы появляются, если "на лету" переключиться на Catmull-Rom, на самураях справа, на кловерфилде снизу. Но если перезапустить файлы, полосы исчезают. Похоже "на лету" не срабатывает фикс issue #16 для Catmull-Rom.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 09 августа 2020, 12:24:56
Цитата: MPCfan от 08 августа 2020, 16:13:03Без изменений, два скриншота > https://yadi.sk/d/H6dCfz8pYNafEQ
PS. Вот смотрю на свои скриншоты через яндекс и понимаю, что там трудно что-то разглядеть, особенно с самураями.
Видно на черном фоне. Для монитора TN надо смотреть немного сверху.
ЦитироватьЕдинственно, полосы появляются, если "на лету" переключиться на Catmull-Rom, на самураях справа, на кловерфилде снизу.
Фикс срабатывает только в начале воспроизведения.

Добавлено:
У меня на GTX 950 никаких полосок нет. Что не так с GT 730M - непонятно. Но на всякий случай заменил 0.5 на 0.51 и собрал еще одну сборку для проверки.
mpcvr_1452_dx11_choma_7-1_bilinear_crop (https://yadi.sk/d/X0EVMKP4TcmnHQ/Test/cropping_and_shader)
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 09 августа 2020, 15:27:03
V0lt,
Цитата: V0lt от 09 августа 2020, 12:24:56
У меня на GTX 950 никаких полосок нет. Что не так с GT 730M - непонятно. Но на всякий случай заменил 0.5 на 0.51 и собрал еще одну сборку для проверки.
mpcvr_1452_dx11_choma_7-1_bilinear_crop (https://yadi.sk/d/X0EVMKP4TcmnHQ/Test/cropping_and_shader)
На этом тест-билде полос нет с bilinear
Название: Re: MPC Video Renderer
Отправлено: V0lt от 09 августа 2020, 18:45:53
MPCfan
Если 7 сборка с полосой, а 7-1 без, то скорее всего в GT 730M меньшая точность вычислений.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 09 августа 2020, 19:23:05
V0lt,
Решил на всякий случай проверить работу dx11native с этими файлами на MadVR. Оказывается, это работает на GT730M, причём только с шейдерами, chroma upsampling=bilinear/downscaling=cubic. Полос нет.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 10 августа 2020, 06:08:42
Есть одна мысль по оптимизации.

Примеры размеров кадров видео FullHD после разных декодеров:
софтовый - 1920x1080
аппаратный H.264 - 1920x1088
аппаратный HEVC - 1920x1152
Видим, что аппаратным декодерам бывает нужна кратность по высоте. Скорее всего это связано с размерами макроблоков.

Видеопроцессорам такая кратность по высоте не требуется. Поэтому можно сделать обрезку снизу на этапе копирования, если для копирования используются memcpy или CopySubresourceRegion.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 24 августа 2020, 05:59:05
Релиз MPC Video Renderer 0.4.9.1460 (https://github.com/Aleksoid1978/VideoRenderer/releases/tag/0.4.9).
Описание на русском (https://mpc-be.org/forum/viewtopic.php?id=381).
Описание на английском (https://github.com/Aleksoid1978/VideoRenderer/blob/0.4.9/Readme.md).

Изменения:
Теперь для генерации шрифта статистики используется DirectWrite вместо GDI +.
Оптимизирована отрисовка статистики.
Исправлен расчет частоты кадров входного потока.
Убрана ненужная инициализация объектов DirectX.
Добавлена возможность увеличения статистики для большого размера окна.
Удалена настройка «Перейти в эксклюзивный режим после небольшой задержки».
Добавлена поддержка эксклюзивного полного экрана в режиме DX11.
Улучшена поддержка эксклюзивного полного экрана в режиме DX9.
Для компиляции в Visual Studio 2017 теперь требуется Windows SDK 10.0.17763.0.
Добавлена поддержка Swap effect "Discard" в эксклюзивном полном экране для режима DX11.
Убраны зеленые полосы справа и снизу при использовании декодера D3D11 на видеокартах AMD.
Параметр "Chroma scaling" переименован в "Chroma upsampling" и добавлено значение "Nearest-neighbor".
Добавлена информация в экранную статистику и в окно "Information".
Рекомендуемая версия MPC-BE 1.5.5.5369 или новее.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 01 сентября 2020, 15:52:38
Прогнал последний Git-билд. Обнаружил проблемы:

1. Мертвое зависание, при выходе из режима FSE в окно со второго монитора на первый (основной).
2. Видео файлы с частотой кадров 59.94 FPS теперь вообще воспроизводятся некорректно. Вместо 59.94 FPS, видео-рендерер выдает максимум 49.99 (50 кадров), с упадками до 47.87 FPS. Класс!!! О_о

Прогонку выполнял на совершенно чистой системе, на видеокарте NVIDIA GTX 960 с последними актуальными драйверами.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 02 сентября 2020, 02:32:17
Переход FSE на разных экранах не могу пока проверить, а вот проигрывание 59.94fps отличное. Покажи скрин с включенной статистикой.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 02 сентября 2020, 12:40:37
Цитата: Aleksoid1978 от 02 сентября 2020, 02:32:17
а вот проигрывание 59.94fps отличное. Покажи скрин с включенной статистикой.
С частотой кадров 59.94 FPS не все так просто. Дело в том, что данная проблема с данной частотой проявляется в режиме мультимониторности на новых видеокартах от NVIDIA, т.е. когда задействован второй монитор.

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

1. Загрузить ОС Windows на первом (основном) мониторе
2. В панели управления NVIDIA включить второй монитор
3. Запустить видео файл с частотой кадров 59.94 FPS

Фактический результат: во время воспроизведения можно увидеть в свойствах видео-рендерера пропуски видео кадров подряд.
При этом частота кадров будет скакать от 56 до 61 FPS (в среднем от 59.87 до 60).

Это в обычном случае. Но, бывает, что при задействованном втором мониторе, при открытии таких видео файлов с такой частотой кадров 59.94 FPS, частота и вовсе может быть гораздо ниже, как в моем случае вчера. Причем, заметно даже невооруженным взглядом, как видео кадры во время воспроизведения слегка дрожат (происходит потеря плавности воспроизведения).

P.S. Пытаюсь сейчас воспроизвести вчерашнюю ситуацию, когда частота кадров и вовсе была максимум 50 кадров, но пока, к сожалению, получаю только то, что сказал выше - это скачки от 59.87 до 60 кадров с пропусками кадров в режиме мультимониторности. Хотя и этого уже достаточно, чтобы подтвердить проблемы. А их, по факту, две - это скачки частоты кадров и что еще хуже - пропуски кадров во время воспроизведения, причем подряд.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 02 сентября 2020, 12:55:19
Aleksoid1978,

Чтобы вам воспроизвести у себя проблему с частотой кадров 59.94 FPS, предлагаю вам воспользоваться этой ссылкой на видео файл с данной частотой кадров: https://www.youtube.com/watch?v=8H416bB4pqM

Еще один способ получения проблемы:

1. Включить мультимониторность
2. Открыть данное видео на первом основном мониторе
3. Открыть статистику видео-рендерера
4. Включить вывод изображения на полный экран для второго монитора
5. Перейти в полноэкранный режим
6. Снять фокус мышки с окна плеера
7. Запустить, например, браузер, пролистав в нем любую страницу
8. Не закрывая его, вернутся обратно к плееру и выйти из полноэкранного режима с включенной статистикой видео рендера

В итоге, при возвращении на первый (основной) монитор, можно несколько секунд наблюдать как пропуски кадров, в ускоренном темпе, будут нарастать, а спустя несколько секунд, остановятся, но продолжатся подряд в обычном режиме.

Такая вот хитрая и скрытая проблема.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 02 сентября 2020, 13:01:06
Aleksoid1978,
ЦитироватьПереход FSE на разных экранах не могу пока проверить
Что касается мертвого зависания, при выходе из режима FSE со второго монитора на первый (основной), так оно проявляется только один раз, после загрузки операционной системы. Чтобы его получить (воспроизвести), нужно перезагрузить систему.

Раньше, в основном, такая проблема была при переходе в режим FSE, теперь наоборот - при выходе из него. Но почему-то это происходит именно на видеокартах от NVIDIA.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 02 сентября 2020, 13:06:41
Aleksoid1978,
Для одного монитора частота кадров 59.94 FPS работает также некорректно, хоть это и выглядит как нормальная работа, но на самом деле это далеко не так. Она не должна скакать в диапазоне от 59.87 до 60 FPS. Достаточно сравнить ее работу с EVR-CP и убедиться, что она некорректно работает на MPC-VR, поскольку на EVR-CP она всегда строго именно 59.94 FPS и никакая другая.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 02 сентября 2020, 19:47:31
Цитата: Evgeniy1990 от 02 сентября 2020, 13:06:41Для одного монитора частота кадров 59.94 FPS работает также некорректно, хоть это и выглядит как нормальная работа, но на самом деле это далеко не так. Она не должна скакать в диапазоне от 59.87 до 60 FPS. Достаточно сравнить ее работу с EVR-CP и убедиться, что она некорректно работает на MPC-VR, поскольку на EVR-CP она всегда строго именно 59.94 FPS и никакая другая.
На основном дисплее проблема только в мгновенном значении частоты кадров?
Дык, в EVR-CP тоже постоянно меняется "Frame rate".

У меня на основном дисплее кадры не выпадают, график ровный, визуально проблем не заметил (да и не увидеть на таком видео).
(https://jpegshare.net/b4/37/b437df8de5da7888898be977f2511e05.png.html)

На дополнительном дисплее корректно будет работать в эксклюзивном режиме, или в случае, если оба дисплея одинаковые и работают на одной частоте.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 03 сентября 2020, 02:21:34
У меня тоже все отлично с проигрыванием, не знаю что у кого там "скачет" :)
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 03 сентября 2020, 11:06:01
V0lt,
ЦитироватьНа основном дисплее проблема только в мгновенном значении частоты кадров?
На основном дисплее, если используется только лишь он, а второй дополнительный выключен, проблема только в частоте кадров в свойствах MPC Video Renderer.
ЦитироватьДык, в EVR-CP тоже постоянно меняется "Frame rate".
А вот это уже, как минимум, странно. В моем случае, на EVR-CP частота кадров всегда строго равна 59.94 FPS. И это правильно.
ЦитироватьУ меня на основном дисплее кадры не выпадают, график ровный, визуально проблем не заметил (да и не увидеть на таком видео)
Я же ясно сказал, что проблема с частотой кадров 59.94 FPS наблюдается только при условии мультимониторности, когда у нас одновременно работают и задействованы хотя бы два монитора.
ЦитироватьНа дополнительном дисплее корректно будет работать в эксклюзивном режиме, или в случае, если оба дисплея одинаковые и работают на одной частоте.
О как! (О_о) Почему именно только в эксклюзивном режиме? EVR-CP способен нормально работать в любом режиме, при любых параметрах и конфигурациях.

У меня мониторы разные, но имеют одно одинаковое разрешение экрана и работают на одной частоте - 60 Гц.
Именно при 60 Гц, в моем случае, и наблюдаются данные проблемы. Можно поднять до 75 Гц, тогда ситуация становится немножко лучше, только частота кадров в свойствах видео-рендерера все-равно не та.

Aleksoid1978,
ЦитироватьУ меня тоже все отлично с проигрыванием, не знаю что у кого там "скачет"
Вот смотрю я на статистику видео-рендерера V0lt'а и вижу отличие в герцовке его монитора - 59.954 Гц.
У меня монитор работает на 60.020 Гц.

Отсюда, я прекрасно понимаю, что корректная работа видео файлов с высокими частотами кадров зависит от конкретного монитора и его конкретной частоты экрана.

Именно поэтому, вы не видите у себя данной проблемы, а у меня она есть.

И самое странное, что наш MPC Video Renderer почему-то очень сильно зависим от частоты экрана монитора. Чем она ниже, тем хуже, чем выше - лучше. Вот такая странность в его работе. EVR-CP так себя не ведет. Он превосходно работает на любой частоте экрана монитора и на любой частоте кадров видео.

Ну не может, даже по определению, частота кадров в свойствах видео-рендерера быть 59.87, а уж тем более 60 FPS, на видео файлах с частотой кадров 59.94 FPS. Отсюда вытекает только одно заключение, получается, что MPC-VR неспособен корректно работать с частотой кадров 59.94 FPS, отчего двигает ее то в большую (до 60), то в меньшую (59.87) стороны. И это на мониторе с частотой кадров = 60 Гц.

А ведь у меня была ситуация, когда вообще было максимум 50 кадров, вместо 59.94 с просадками до 47.97 FPS. Отсюда и идут пропуски кадров во время воспроизведения видео, потосу что частота кадров не соответствует действительной.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 03 сентября 2020, 13:39:34
Так может скрины с "аномальной" частотой, а лучше видео с момента открытия файла и некоторое время, с включенной статистикой - хоть посмотреть что происходит.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 03 сентября 2020, 14:35:29
Цитата: Aleksoid1978 от 03 сентября 2020, 13:39:34
Так может скрины с "аномальной" частотой, а лучше видео с момента открытия файла и некоторое время, с включенной статистикой - хоть посмотреть что происходит.
Пожалуйста. (https://yadi.sk/d/zSKxitnp4VdG6g?w=1) Сделал видеозапись и скриншот как это выглядит у меня.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 03 сентября 2020, 15:41:35
Да странно, скачет слишком большие значения Present, из-за этого пропуск части кадров и соответственно падение FPS. У себя такого не встречал. Смена Swap effect дает результат ?
А если на таком же конфиге попробовать D3D11 ?
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 03 сентября 2020, 17:54:27
Aleksoid1978,
ЦитироватьСмена Swap effect дает результат ?
Увы, не дает (https://yadi.sk/i/6dkRq0wmSatfIg).
ЦитироватьА если на таком же конфиге попробовать D3D11 ?
Проверил поведение на D3D11. Результат такой же, как и на D3D9Ex. Да уж, неприятная проблема.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 03 сентября 2020, 18:14:13
Цитата: Evgeniy1990 от 03 сентября 2020, 11:06:01
А вот это уже, как минимум, странно. В моем случае, на EVR-CP частота кадров всегда строго равна 59.94 FPS. И это правильно.
Вот пример статистики EVR-CP, показывает 59,950 fps. В динамике там всегда скачет 3-4 значения вокруг 59,940. Чтобы совсем не дергалось - не помню такого.
(https://jpegshare.net/fc/87/fc878d8441cf6bc1ae0c5476ef4a871a.jpg.html)
ЦитироватьО как! (О_о) Почему именно только в эксклюзивном режиме? EVR-CP способен нормально работать в любом режиме, при любых параметрах и конфигурациях.
Не способен. Сделай на основном 60 Гц, на дополнительном гораздо меньше, например, 23 Гц. Запусти фильм 23,976. В результате на дополнительном может быть очень печально.
Хотя на Win10 обещали какое-то улучшение на доп. дисплее.
ЦитироватьНу не может, даже по определению, частота кадров в свойствах видео-рендерера быть 59.87, а уж тем более 60 FPS, на видео файлах с частотой кадров 59.94 FPS.
Если юзерам нарисовать красивые циферки, которые они хотят видеть, то рендеер и плеер сразу станут работать лучше . :-|
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 04 сентября 2020, 06:29:10
V0lt,
ЦитироватьВот пример статистики EVR-CP, показывает 59,950 fps. В динамике там всегда скачет 3-4 значения вокруг 59,940. Чтобы совсем не дергалось - не помню такого.
Согласен. В статистике EVR-CP значение частоты кадров всегда скачет. А вот в свойствах видео-рендерера там лишь разница на 1 - 2 единицы. При этом, частота кадров всегда стремится быть строго 59.94, лаже если во время воспроизведения она падает на 1 - , или как в вашем случае 3 - 4 единицы.
ЦитироватьНе способен. Сделай на основном 60 Гц, на дополнительном гораздо меньше, например, 23 Гц. Запусти фильм 23,976. В результате на дополнительном может быть очень печально.
Хотя на Win10 обещали какое-то улучшение на доп. дисплее.
Да знаю прекрасно, что если частоты будут отличаться, то могут быть проблемы с некоторыми видео файлами.
Но у нас речь идет про мониторы, работающие на одной частоте и одном разрешении экрана. При этом условии не должно быть проблем.
ЦитироватьЕсли юзерам нарисовать красивые циферки, которые они хотят видеть, то рендеер и плеер сразу станут работать лучше . :-|
Только это не просто красивые циферки, это наглядный результат работы воспроизведения того, или иного видео-рендерера.
И служат эти циферки для подтверждения и убеждения в присутствии, или же отсутствие проблем с воспроизведением кадров видео. Естественно, если я вижу невооруженным взглядом не плавное воспроизведение кадров видео, я в первую очередь открываю свойства, или же статистику видео-рендерера, чтобы проверить частоту воспроизведения кадров. И если она не соответствует действительной, то проблема налицо.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 04 сентября 2020, 06:33:17
Aleksoid1978,
В целом, это касается не только видео файлов с частотой кадров 59.94 FPS. Это касается вообще всех видео файлов, которые воспроизводятся на высоких частотах кадров, начиная с 50 FPS и выше, до 60. Это же касается видео файлов, в которых работает аппаратный деинтерлейс.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 04 сентября 2020, 07:00:54
Aleksoid1978,
При прогонке DVD-Video, я также заметил некорректную работу нашего видео-рендерера в режиме мультимониторности, когда работает аппаратный деинтерлейс.

И вот вам наглядный пример:

Режим одного монитора:

EVR-CP - 59.94 FPS (https://yadi.sk/i/4axqnSFJEjBwsQ)
MPC-VR - 60 FPS (https://yadi.sk/i/aK-fdxXkrgOwlw)

Режим двух мониторов:

EVR-CP - 59.94 FPS (https://yadi.sk/i/dQr4DnTky5Sleg)
MPC-VR - 56 FPS (https://yadi.sk/i/MPQvQH3ksX_akQ)

И в том и в другом режиме наш MPC Video Renderer выдал совершенно не ту частоту кадров, которая должна быть в действительности.

А вот EVR-CP в обоих режимах показал действительную частоту кадров видео - это 59.94 FPS. Почему она действительная? Да элементарно - 29.97 FPS x 2 = 59.94 FPS.

Так что проблема с MPC Video Renderer налицо.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 04 сентября 2020, 07:16:34
Я же сказал - у тебя странность с периодическим высоким временем Present, причина - а тут хрен его знает. У меня такого нет ни с одним монитором, ни с двумя.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 04 сентября 2020, 07:17:51
Как говорится рад бы помочь - но не знаю чем :)
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 04 сентября 2020, 09:42:34
Цитата: Aleksoid1978 от 04 сентября 2020, 07:17:51
Как говорится рад бы помочь - но не знаю чем :)
Придется мне самому искать причину такого поведения.

Начал разбираться с данной проблемой, для начала отрубив все оверлеи, как полноэкранные, так и внешние, дабы проверить зависимость с их стороны, затем все функции, относящиеся к Direct. Скажу так - отключение оверлеев совсем немного ослабило нагрузку на Present, но не устранило ее. Далее пошел в сторону GDI, чтобы проверить корректность работы окон при их наложении (открытии) совместно с кадрами видео. Сюда же относится и сама статистика видео-рендерера и ее график, поскольку они работают совместно, во время воспроизведения кадров видео. Прогнал самые проблемные видео файлы.

В результате, действительно, все-таки есть зависимость нашего видео рендерера с отрисовками окон, причем не только своих, но и внешних, даже окон самой Windows. Очень интересно и странно... (О_о)

Если внимательно пронаблюдать за плавностью воспроизведения, то она уже теряется после открытия статистики видео-рендерера, хоть это сразу и не заметишь. А если открыть вдобавок еще и внешнее окно свойств видео-рендера, получаем как раз ту самую ситуацию, когда резко начинает расти Present, график с ровной зеленой линии становится "пилой", падает частота кадров и начинается пропуск кадров подряд. Это очень хорошо заметно при работе аппаратного деинтерлейса.

Да уж... Вот так жесть творится... Ту очевидно, что повлияли изменения, связанные с выводом статистики и графика видео-рендерера. Если не ошибаюсь, изначально они выводились в отдельном окне, а не поверх кадров видео. Это, как минимум...

Если закрыть хотя бы внешнее окно, то перестают идти пропуски кадров, частота кадров растет и возвращается в норму (хотя 60 на 59.94 - это не норма). Present, при этом, остается, но он, судя по статистике, растет до 7 - 8 максимум, при этом потери плавности нет. Т.е. общая картина нормализуется и приходит в порядок.

А без статистики и вовсе получается плавное изображение во всех местах - всегда.

P.S. Надо бы поискать, проверить более ранние версии видео-рендерера. Так как я более чем уверен, что тут далеко не единственная проблема.

Надо понимать, что семерка в отличие от десятки, имеет полноценное Aero3D.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 04 сентября 2020, 11:18:35
Для просмотра статистика не нужна :)
Название: Re: MPC Video Renderer
Отправлено: V0lt от 04 сентября 2020, 18:20:04
Цитата: Evgeniy1990 от 04 сентября 2020, 07:00:54Режим одного монитора:

EVR-CP - 59.94 FPS (https://yadi.sk/i/4axqnSFJEjBwsQ)
MPC-VR - 60 FPS (https://yadi.sk/i/aK-fdxXkrgOwlw)

Режим двух мониторов:

EVR-CP - 59.94 FPS (https://yadi.sk/i/dQr4DnTky5Sleg)
MPC-VR - 56 FPS (https://yadi.sk/i/MPQvQH3ksX_akQ)
В обоих случаях для EVR-CP ни одна из опций VSync не включена и скорее всего задействован режим D3DPRESENT_INTERVAL_IMMEDIATE. Так же в первом случае для EVR-CP не подсчитывается частота дисплея. В итоге график идеально ровный, и вместо измеренного Frame rate мы видем идеальные цифры, а не реальные.

Для интереса можно открыть видео 120 fps (https://mpc-be.org/forum/index.php?topic=552.msg5795#msg5795).
Название: Re: MPC Video Renderer
Отправлено: V0lt от 04 сентября 2020, 20:10:03
Для понимания проблемы с дисплеями запустить вот такой тест - https://www.vsynctester.com/ . Сначала на основном, а затем на дополнительном дисплее.
Рекомендуется запускать в браузере Chrome, но у меня в современном Firefox 68 тоже работает.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 05 сентября 2020, 07:36:40
Предлагаю исследовать проблему на локальных файлах.
60p-orsche - 10643698 - 18470335.mts (https://yadi.sk/d/WtuUbfpBHMQzg) (H.264 1080p 59.94 fps)
sample03.mkv (http://sendfile.su/141340) (H.264 720p 59.94 fps)
LG Colors of Journey HDR UHD 4K Demo.mkv (https://drive.google.com/uc?export=download&id=1Y9XVGUpv57COzFHEhXvnqa75j_EJM37t) (HEVC 4k HDR 60 fps)
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 05 сентября 2020, 08:39:05
Так должно быть, что в статистике MPC-VR указывается телевизор, хотя плеер находится на мониторе ноутбука. То есть: запускаем плеер и видео на мониторе, статистика показывает именно монитор, переходим в FS на ТВ, статистика показывает ТВ, выходим из FS на монитор, но статистика всё-равно показывает ТВ?
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 05 сентября 2020, 08:47:10
Нет конечно, какая то недоработка всего лишь :)
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 05 сентября 2020, 09:02:24
V0lt,
ЦитироватьДля понимания проблемы с дисплеями запустить вот такой тест - https://www.vsynctester.com/ . Сначала на основном, а затем на дополнительном дисплее.
Рекомендуется запускать в браузере Chrome, но у меня в современном Firefox 68 тоже работает.
Выполнил тесты VSync в браузерах FireFox и Google Chrome. Посмотрите сами (https://yadi.sk/d/xwcXyvJ4FbyTcw). Ничего странного я не увидел.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 05 сентября 2020, 09:03:44
V0lt,
Цитата: V0lt от 05 сентября 2020, 07:36:40
Предлагаю исследовать проблему на локальных файлах.
60p-orsche - 10643698 - 18470335.mts (https://yadi.sk/d/WtuUbfpBHMQzg) (H.264 1080p 59.94 fps)
sample03.mkv (http://sendfile.su/141340) (H.264 720p 59.94 fps)
LG Colors of Journey HDR UHD 4K Demo.mkv (https://drive.google.com/uc?export=download&id=1Y9XVGUpv57COzFHEhXvnqa75j_EJM37t) (HEVC 4k HDR 60 fps)
Проблема на данных локальных файлах также присутствует (https://yadi.sk/d/5qChFjjt9trBcw).
Название: Re: MPC Video Renderer
Отправлено: V0lt от 05 сентября 2020, 09:11:29
Цитата: Evgeniy1990 от 05 сентября 2020, 09:03:44Проблема на данных локальных файлах также присутствует (https://yadi.sk/d/5qChFjjt9trBcw).
Нет тут проблем. FPS под 60. График на Порше ровный, на аватаре есть скачки, но не сказано в каких случаях они возникли.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 05 сентября 2020, 09:15:06
Aleksoid1978,
Ещё нюанс - запускаю плеер на мониторе, разворачиваю(во внешнем виде отключить всё вплоть до "скрыть границы" включительно), запускаю видео и перехожу в FS на ТВ, потом выхожу, но плеер остаётся в развёрнутом виде на ТВ, нажимаю "восстановить" и плеер возвращается на монитор.
PS. Кстати, рендерер тут не причём оказался, даже без запуска видео плеер себя так ведёт, c настройками по умолчанию всё корректно.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 05 сентября 2020, 09:20:10
V0lt,
ЦитироватьВ обоих случаях для EVR-CP ни одна из опций VSync не включена и скорее всего задействован режим D3DPRESENT_INTERVAL_IMMEDIATE. Так же в первом случае для EVR-CP не подсчитывается частота дисплея. В итоге график идеально ровный, и вместо измеренного Frame rate мы видем идеальные цифры, а не реальные.
Я никакие параметры в плеере не менял. Тестирование проводилось при одинаковых условиях. Менялся только видео-рендерер.
ЦитироватьДля интереса можно открыть видео 120 fps.
Проверил видео файлы с частотой кадров 120 FPS. И был шокирован тем, что MPC-VR просто слился, не смог выдать мне все 120 FPS, в отличие от EVR-CP, при равных условиях.

Вот результаты (https://yadi.sk/d/sq5bBNwR2-EYBg).

EVR-CP - все 120 FPS, без пропусков кадров и полностью плавным воспроизведением.
MPC-VR - 60 FPS с трудом, да еще и с бешеными пропусками кадров во время воспроизведения.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 05 сентября 2020, 09:23:00
V0lt,
ЦитироватьНет тут проблем. FPS под 60. График на Порше ровный, на аватаре есть скачки, но не сказано в каких случаях они возникли.

По вашему пропуски кадров на "Порше" и "Спутнике" - это не проблема?
И где же 120 FPS на "Аватаре"? Или вы считаете, что 60 кадров с пропусками во время воспроизведения - это тоже норма?
Название: Re: MPC Video Renderer
Отправлено: V0lt от 05 сентября 2020, 09:26:38
Цитата: Evgeniy1990 от 05 сентября 2020, 09:20:10EVR-CP - все 120 FPS, без пропусков кадров и полностью плавным воспроизведением.
На мониторе 60 Гц. Тему можно закрывать. :-(
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 05 сентября 2020, 09:29:48
V0lt,
ЦитироватьТему можно закрывать. :-(
У нас вообще-то тема про проблемы на MPC-VR, а не на EVR-CP. EVR-CP используется только лишь для сравнения результатов.
Нужно разбираться именно с MPC-VR. С ним творится ужас самый настоящий.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 05 сентября 2020, 09:34:53
Где и какой ужас )) Убираем все эти статистики и смотрим - есть какие-то проблемы ?
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 05 сентября 2020, 09:41:10
Evgeniy1990,
Цитата: Evgeniy1990 от 05 сентября 2020, 09:29:48
С ним творится ужас самый настоящий.
Знаете, у себя тоже смог повторит ужас на 59,94 fps, при переходе с одного монитора на другой несколько раз иногда  Present сходит с ума. Как будто что-то сбивается в работе.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 05 сентября 2020, 09:49:14
Цитата: Aleksoid1978 от 05 сентября 2020, 09:34:53
Где и какой ужас )) Убираем все эти статистики и смотрим - есть какие-то проблемы ?
Пропуски кадров во время воспроизведения на MPC-VR - это и есть первоочередной ужас.
Далее, как уже было сказано, - падение частоты кадров, опять же на том же MP-VR, когда вместо 60 кадров (59.94) бывает 56, а то и вовсе 50 кадров.
Ну и разумеется, потеря плавности воспроизведения.

А что касается "Аватара" со 120 FPS, MPC-VR даже не способен их выдать. Выдает 60 кадров максимум. Вопрос - а где тогда эти 120FPS на нем? Почему только 60 кадров? Или на MPC-VR есть свой "скрытый" VSync, когда частота экрана монитора равна частоте кадров видео?

Все-таки надо понимать, что красивые циферки тот же EVR-CP выводит не просто так. Это говорит о его корректности работы и подтверждает ее. Чего нельзя сказать про MPC-VR, которые выдает абы что, некие приближенные частоты кадров в своих наугад выдуманных диапазонах, например [59.87 -> 61 FPS], [47.97 -> 50 FPS] и т.д.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 05 сентября 2020, 09:54:48
Где на локальных файлах падение частоты с 59.94/60 до 50 ? А циферки будут разные ещё и потому что разный алгоритм подсчета, у нас он проще чем на EVR-CP. По 120 - у нас юзается всминк самого D3D9, включаем нужную галку для EVR-CP и будет тот же результат.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 05 сентября 2020, 09:56:53
1. Если хочется сравнивать с честным EVR-CP, то включаем опцию "VSync" (клавиша V). В этом случае статистика вывода кадров будет реальной, а не 100500 fps на дисплее 60 Гц.

2. Все пропуски кадров и всплески графика в начале воспроизведения, при изменении размера окна, перемещении окна на другой дисплей, перехода в полный экран, изменении настроек, добавлении внешних шейдеров и т.п. смело игнорировать.

3. Пропуски кадров, когда входная частота видео больше, чем частота дисплея - это штатная ситуация. Почему? Догадайтесь сами.

4. Время Present в MPC VR может быть отличным от нуля (вроде зависит от железа). Но если оно не больше интервала обновления экрана (например, для дисплея 60 Гц не более 16,7 мс), и нет других проблем, то можно не беспокоится.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 05 сентября 2020, 09:57:51
MPCfan,
ЦитироватьЗнаете, у себя тоже смог повторить ужас на 59,94 fps, при переходе с одного монитора на другой несколько раз иногда  Present сходит с ума. Как будто что-то сбивается в работе.
Спасибо вам за подтверждение данной проблемы! А то идеальность работы систем разработчиков уже меня до канала.
Дело в том, что у них современные мониторы, небось под 144 Гц, или с поддержкой работы только одной конкретной частоты обновления экрана монитора. И на них описанные мной проблемы почему-то не проявляются. Они не видят у себя этих самых проблем с пропусками кадров, с неправильными частотами, когда вместо 120 FPS MPC-VR выдает 60 FPS максимум и т.д.

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

Вот минимальный список неисправленных прежних давнишних проблем, на которые я постоянно натыкаюсь, даже сейчас:

https://mpc-be.org/forum/index.php?topic=475.0
https://mpc-be.org/forum/index.php?topic=412.0
https://mpc-be.org/forum/index.php?topic=420.0
https://mpc-be.org/forum/index.php?topic=498.msg4881#msg4881
https://mpc-be.org/forum/index.php?topic=503.msg4986#msg4986
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 05 сентября 2020, 10:02:33
Aleksoid1978,
Цитата: Aleksoid1978 от 05 сентября 2020, 09:54:48
Где на локальных файлах падение частоты с 59.94/60 до 50 ? А циферки будут разные ещё и потому что разный алгоритм подсчета, у нас он проще чем на EVR-CP. По 120 - у нас юзается всминк самого D3D9, включаем нужную галку для EVR-CP и будет тот же результат.
Для этого необходимо запустить внутренние и внешние окна, то, о чем я вчера вам говорил, когда начал разбираться с этими проблемами, которые вы у себя не видите и не можете воспроизвести.

Жаль, что на данный момент, у меня нет внешней камеры, я бы вам сделал запись, как это происходит. Зрелище не из приятных, что называется.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 05 сентября 2020, 10:28:08
V0lt,
Цитировать1. Если хочется сравнивать с честным EVR-CP, то включаем опцию "VSync" (клавиша V). В этом случае статистика вывода кадров будет реальной, а не 100500 fps на дисплее 60 Гц.
Вот я об этом и говорю, что MPC-VR имеет некий свой скрытый VSync, который никак не связан с основным.
Это же итак очевидно и понятно, что если включить VSync, то частота кадров видео будет равна частоте обновления экрана монитора. Значит, я был прав. MPC-VR изначально использует свой скрытый VSync. Вот только как пользователи должны об этом догадаться? Ни в статистике, ни где либо еще даже и близко нет элементарной надписи VSync.
Цитировать2. Все пропуски кадров и всплески графика в начале воспроизведения, при изменении размера окна, перемещении окна на другой дисплей, перехода в полный экран, изменении настроек, добавлении внешних шейдеров и т.п. смело игнорировать.
Они не только в начале воспроизведения, они присутствуют во время всего процесса воспроизведения. И почему мы должны их игнорировать? Это же признаки некорректного воспроизведения.
Цитировать3. Пропуски кадров, когда входная частота видео больше, чем частота дисплея - это штатная ситуация. Почему? Догадайтесь сами.
Штатная ситуация? (О_о) Т.е. это - норма! (О_о)
Только вы забыли упомянуть, что при этом происходит потеря плавности воспроизведения, что не является нормой.
Т.е. для нормального просмотра видео файлов с высокими частотами кадров, исходя из вашего утверждения, нужно поднимать частоту обновления экрана монитора? Ну хорошо, это можно сделать. Я уже говорил, чем выше частота, тем ситуация лучше.
Только опять же возникает вопрос - а если монитор поддерживает работу только одной частоты, той же - 60 Гц. Как в этом случае быть? Любоваться на этот ужас? VSync не улучшает картину, а только еще больше ее портит, "дерганья" и "пила" обеспечены.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 05 сентября 2020, 11:13:25
Цитата: Evgeniy1990 от 05 сентября 2020, 10:02:33
Для этого необходимо запустить внутренние и внешние окна, то, о чем я вчера вам говорил, когда начал разбираться с этими проблемами, которые вы у себя не видите и не можете воспроизвести.

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

А зачем камера - так же любой прогой снимаем видео всего рабочего стола.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 05 сентября 2020, 11:15:56
Но если по факту - если человек смотрит кино ему не нужну никакие окна, внутренние или внешние. Так что если различные действия влияют на плавность - да и бог с ним, в этот момент человек не кино смотрит а окна открывает и т.д. - перестали чтоли бо делать и плавность "вернется". Для просмотра на большом экране вообще нужно юзать эксклюзивный режим, которому вообще по барабану на различные действия в системе ...
Название: Re: MPC Video Renderer
Отправлено: V0lt от 05 сентября 2020, 11:42:50
Цитата: Evgeniy1990 от 05 сентября 2020, 10:28:08Вот я об этом и говорю, что MPC-VR имеет некий свой скрытый VSync, который никак не связан с основным.
MPC VR рисует НЕ более одного кадра на одно обновление дисплея. Вот вся и логика D3DPRESENT_INTERVAL_ONE. За вывод кадра отвечают Direct3D и DWM.

EVR-CP может рисовать в бэкбуфер несколько кадров на одно обновление дисплея, когда используется D3DPRESENT_INTERVAL_IMMEDIATE (все "VSync-и" отключены). Потом Direct3D отобразит лишь последний кадр из нарисованных. При этом на выброшенные кадры тратятся ресурсы видеокарты. Но EVR-CP об этом не узнает и нарисует в статистике левое значение fps.
Чтобы этого не было, EVR-CP должен либо сам ограничивать вывод кадров (опция "Встроенный VSync"), либо использовать D3DPRESENT_INTERVAL_ONE (опция "VSync").

ЦитироватьТ.е. для нормального просмотра видео файлов с высокими частотами кадров, исходя из вашего утверждения, нужно поднимать частоту обновления экрана монитора? Ну хорошо, это можно сделать. Я уже говорил, чем выше частота, тем ситуация лучше.
Я ничего такого не говорил. Нельзя поднять частоту до 120 Гц, если у монитора предел 60 или 75 Гц.

ЦитироватьТолько опять же возникает вопрос - а если монитор поддерживает работу только одной частоты, той же - 60 Гц. Как в этом случае быть? Любоваться на этот ужас? VSync не улучшает картину, а только еще больше ее портит, "дерганья" и "пила" обеспечены.
Открываю скриншот отсюда (https://yadi.sk/d/sq5bBNwR2-EYBg). Пилы не вижу, вижу микроколебания графика в ±1 мс.

Цитата: Aleksoid1978 от 05 сентября 2020, 11:15:56Для просмотра на большом экране вообще нужно юзать эксклюзивный режим, которому вообще по барабану на различные действия в системе ...
Увы, но в эксклюзивном режиме не будет фейковых 120 fps в статистике. :D
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 05 сентября 2020, 13:08:10
Aleksoid1978,
ЦитироватьА зачем камера - так же любой прогой снимаем видео всего рабочего стола.
Весь прикол в том, что любая программа для записи видео и есть то самое внешнее окно. Плюс, вдобавок, еще и лишняя нагрузка, от которой будет расти этот самый Present.

Суть в том, что если открыть окно свойств видео-рендерера, во время воспроизведения видео, то частота кадров с 60 FPS будет падать до 56 FPS и вернется обратно в норму только лишь после того, как закрыть окно свойств видео-рендерера.

P.S. Не забываем про основные условия воспроизведения проблем - это мультимониторность и частота монитора = 60 Гц.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 05 сентября 2020, 13:13:04
Aleksoid1978,
Цитата: Aleksoid1978 от 05 сентября 2020, 11:15:56
Но если по факту - если человек смотрит кино ему не нужну никакие окна, внутренние или внешние. Так что если различные действия влияют на плавность - да и бог с ним, в этот момент человек не кино смотрит а окна открывает и т.д. - перестали чтоли бо делать и плавность "вернется". Для просмотра на большом экране вообще нужно юзать эксклюзивный режим, которому вообще по барабану на различные действия в системе ...
Оно конечно так, только при вызове различных окон, плавность теряться не должна. Если она теряется, то уже что-то не так.

Даже если не открывать окна, потеря плавности в режиме мультимониторности, все равно будет присутствовать.
Во время плавного воспроизведения, можно наблюдать периодически возникающий "точеный пик", что также вызывает удивление и странность. Потому что даже на максимальных герцах мониторов, в момент его проявления, наблюдаются пропуски кадров.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 05 сентября 2020, 13:20:22
При мультимониторности смотреть лучше всего в FSE режиме.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 05 сентября 2020, 13:24:44
V0lt,
ЦитироватьMPC VR рисует НЕ более одного кадра на одно обновление дисплея. Вот вся и логика D3DPRESENT_INTERVAL_ONE. За вывод кадра отвечают Direct3D и DWM.

EVR-CP может рисовать в бэкбуфер несколько кадров на одно обновление дисплея, когда используется D3DPRESENT_INTERVAL_IMMEDIATE (все "VSync-и" отключены). Потом Direct3D отобразит лишь последний кадр из нарисованных. При этом на выброшенные кадры тратятся ресурсы видеокарты. Но EVR-CP об этом не узнает и нарисует в статистике левое значение fps.
Чтобы этого не было, EVR-CP должен либо сам ограничивать вывод кадров (опция "Встроенный VSync"), либо использовать D3DPRESENT_INTERVAL_ONE (опция "VSync").
Спасибо за объяснения. Хотя я знал, что оба видео-рендерера работают по-разному.
ЦитироватьОткрываю скриншот отсюда. Пилы не вижу, вижу микроколебания графика в ±1 мс.
Конкретно на "Аватаре" пилы нет.
А вот если взять DVD-Video, в котором работает аппаратный деинтерлейс, то там можно будет увидеть пилу, причем не только сплошную, но и периодическую, в зависимости от присутствия, или же отсутствия внешних окон. Даже при полном отсутствии внешних окон можно увидеть периодичность проявления "пилы". В момент ее проявления начинает расти Present, появляются пропуски кадров и падает частота кадров.

Как ни странно, на EVR-CP, при открытии любых окон, даже при включенном VSync, нет пилы, вообще нет полностью, при этом плавность воспроизведения кадров видео не теряется.

Суть в том, что на MPC-VR потеря плавности будет всегда на видео файлах с высокими частотами кадров видео, даже если не открыты внешние окна, в отличие от EVR-CP. Внешние окна нужны лишь для подтверждения и убеждения данных проблем.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 05 сентября 2020, 13:28:44
Aleksoid1978,
Цитата: Aleksoid1978 от 05 сентября 2020, 13:20:22
При мультимониторности смотреть лучше всего в FSE режиме.
Вот я и спросил, почему только в режиме FSE? Неужели нельзя нормально заставить работать MPC-VR в обычном режиме?

Ну, хорошо, пусть будет режим FSE, но и с ним тоже пока, на данный момент, есть проблема, о которой я вам также уже говорил  - это разовое мертвое зависание плеера, при выходе из режима FSE со второго монитора обратно на первый (основной).
Вы смогли у себя воспроизвести это мертвое зависание, при данном условии? Если что, то я напомню вам еще раз, что для его проявления требуется перезагрузить операционную систему.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 05 сентября 2020, 14:44:28
Цитата: Evgeniy1990 от 05 сентября 2020, 13:28:44Вот я и спросил, почему только в режиме FSE? Неужели нельзя нормально заставить работать MPC-VR в обычном режиме?
нет
https://bugs.chromium.org/p/chromium/issues/detail?id=680639
https://bugs.chromium.org/p/chromium/issues/detail?id=467617
но подвижки есть
https://www.reddit.com/r/Windows10/comments/f57tk4/dwm_multiple_monitors_with_different_refresh_rate/
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 07 сентября 2020, 10:06:02
Цитата: MPCfan от 05 сентября 2020, 08:39:05
Так должно быть, что в статистике MPC-VR указывается телевизор, хотя плеер находится на мониторе ноутбука. То есть: запускаем плеер и видео на мониторе, статистика показывает именно монитор, переходим в FS на ТВ, статистика показывает ТВ, выходим из FS на монитор, но статистика всё-равно показывает ТВ?
FS эксклюзивный используется ?

P.S. Вот попробуй - https://yadi.sk/d/lpfhgIWR-oOy6A
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 07 сентября 2020, 12:38:44
Aleksoid1978,
Речь шла о Windowed FS. Проверил ваш тест-билд. С Windowed FS на мониторе ноутбука в статистике отображается всё-равно ТВ, его разрешение и частота, а с Exclusive FS всё корректно, может так и должно быть.
Что касается Windowed FS, можно просто перезапустить файл, не закрывая плеера и статистика становится корректной, может реинициализация нужна?
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 07 сентября 2020, 13:10:50
MPCfan
Т.е. с эксклюзивным режимом все норм, а с обычным оконным FS - нет ?

P.S. У себя не смогу воспроизвести, что просто FS что эсклюзив - при переходе туда/обратно корректно меняется инфа.
Название: Re: MPC Video Renderer
Отправлено: usalex от 12 сентября 2020, 16:53:11
Цитата: V0lt от 05 сентября 2020, 14:44:28
Цитата: Evgeniy1990 от 05 сентября 2020, 13:28:44Вот я и спросил, почему только в режиме FSE? Неужели нельзя нормально заставить работать MPC-VR в обычном режиме?
нет
https://bugs.chromium.org/p/chromium/issues/detail?id=680639
https://bugs.chromium.org/p/chromium/issues/detail?id=467617
но подвижки есть
https://www.reddit.com/r/Windows10/comments/f57tk4/dwm_multiple_monitors_with_different_refresh_rate/
На своей конфигурации (монитор + ТВ) я на 2004 много тестил контента с EVR-CP и MPCVR.
В плане плавности никаких различий в поведении в сравнении с LTSB не обнаружил. Пробовал и на обычных драйверах и на тех, в которых внедрили "Hardware Accelerated GPU Scheduling", пробовал и в реальном эксклюзиве и в оптимизированном, пробовал оконный режим.
Никаких преимуществ эта 2004 не даёт. Вернулся на LTSB.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 09 октября 2020, 22:21:12
Aleksoid1978,
V0lt,
Может и ошибаюсь, но кажется с dx11 память течёт. Далее выложу 2 видео по 6 минут, можно посмотреть начало и окончание и посмотреть на разницу(память) между dx9 и dx11. Действие будет простое: буду не спеша перезапускать один и тот же файл на протяжении шести минут.
DX9+DXVA2+GT730M >  https://yadi.sk/i/gIdx7A8JFGGVMA
DX11+DXVA2+GT730M > https://yadi.sk/i/xwJAImiNo7halg
P.S. MPC-BE-MPC-VR последние.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 10 октября 2020, 18:41:28
MPCfan
Будет время - посмотрю...
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 11 октября 2020, 05:29:10
Цитата: MPCfan от 09 октября 2020, 22:21:12
Aleksoid1978,
V0lt,
Может и ошибаюсь, но кажется с dx11 память течёт. Далее выложу 2 видео по 6 минут, можно посмотреть начало и окончание и посмотреть на разницу(память) между dx9 и dx11. Действие будет простое: буду не спеша перезапускать один и тот же файл на протяжении шести минут.
DX9+DXVA2+GT730M >  https://yadi.sk/i/gIdx7A8JFGGVMA
DX11+DXVA2+GT730M > https://yadi.sk/i/xwJAImiNo7halg
P.S. MPC-BE-MPC-VR последние.

Настройки дефолтные? Если нет - то можно скрин.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 11 октября 2020, 06:10:45
Aleksoid1978,
Настройки в MPC-VR по умолчанию, в MPC-BE полностью все встроенные фильтры, в том числе и mpc-audiorenderer, c софтовым декодером - то же самое.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 11 октября 2020, 07:43:46
Утечку подтверждаю.

Архив test512.7z (https://cloud.mail.ru/public/2hze/328mg7HZK) для тестов.
Распаковать, закинуть папку в плейлист, запустить первый файл. Посмотреть сколько потребление памяти на первом файле, и сколько будет через 5 минут.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 12 октября 2020, 03:29:43
Утечку в DX11 режиме устранил.
Название: Re: MPC Video Renderer
Отправлено: LongKick64 от 16 ноября 2020, 18:17:54
В режиме Direct3D 9Ex, постоянно дропаются кадры при обычном воспроизведении. Скрин (https://imgur.com/p2srE2C). То есть, файл просто воспроизводится и приблизительно каждые 5 сек. выпадает по одном кадру. С EVR(CP) такой проблемы нет. MPC Video Renderer 0.4.9.1460 (git-2020.08.24-ec3f003) x64. Настройки дефолтные. Вот MediaInfo проблемного файла:

Общее
Идентификатор                            : 0 (0x0)
Полное имя                               : D:\Клипы\AKB48 - UZA.m2ts
Формат                                   : BDAV
Формат/Информация                        : Blu-ray Video
Размер файла                             : 1,24 Гбайт
Продолжительность                        : 4 м. 51 с.
Режим общего битрейта                    : Переменный
Общий поток                              : 36,5 Мбит/сек
Максимальный общий битрейт               : 48,0 Мбит/сек

Видео
Идентификатор                            : 4113 (0x1011)
Идентификатор меню                       : 1 (0x1)
Формат                                   : AVC
Формат/Информация                        : Advanced Video Codec
Профиль формата                          : High@L4.1
Настройки формата                        : CABAC / 4 Ref Frames
Параметр CABAC формата                   : Да
Параметр RefFrames формата               : 4 кадра
Идентификатор кодека                     : 27
Продолжительность                        : 4 м. 52 с.
Вид битрейта                             : Переменный
Битрейт                                  : 33,5 Мбит/сек
Максимальный битрейт                     : 37,0 Мбит/сек
Ширина                                   : 1 920 пикселей
Высота                                   : 1 080 пикселей
Соотношение сторон                       : 16:9
Частота кадров                           : 29,970 (30000/1001) кадров/сек
Цветовое пространство                    : YUV
Субдискретизация насыщенности            : 4:2:0
Битовая глубина                          : 8 бит
Тип развёртки                            : MBAFF
Метод сохранения типа развёртки          : Чередующиеся поля
Порядок развёртки                        : Верхнее поле первое
Бит/(Пиксели*Кадры)                      : 0.539
Размер потока                            : 1,14 Гбайт (92%)

Аудио
Идентификатор                            : 4352 (0x1100)
Идентификатор меню                       : 1 (0x1)
Формат                                   : PCM
Настройки формата                        : Big / Signed
Режим смешивания                         : Blu-ray
Идентификатор кодека                     : 128
Продолжительность                        : 4 м. 52 с.
Вид битрейта                             : Постоянный
Битрейт                                  : 1 536 Кбит/сек
Каналы                                   : 2 канала
Channel layout                           : L R
Частота                                  : 48,0 КГц
Битовая глубина                          : 16 бит
Размер потока                            : 53,6 Мбайт (4%)

Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 17 ноября 2020, 07:52:14
А попробуй поменять Swap effect на Flip. Ну судя по скрину просто "не успевает" выводить "двойные деинтерлэйсные" кадры.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 17 ноября 2020, 07:55:28
LongKick64
Ну дропаются и дропаются. Судя по скриншоту, видео специфичное (не в первый раз оно тут появляется). Плюс довольно медленная встроенная графика (память хоть в двухканальном режиме работает?). Когда график поднимается выше определенного значения, то приходиться выкидывать кадры иначе разойдемся со звуком.
Название: Re: MPC Video Renderer
Отправлено: LongKick64 от 17 ноября 2020, 15:01:14
Цитата: Aleksoid1978 от 17 ноября 2020, 07:52:14
А попробуй поменять Swap effect на Flip. Ну судя по скрину просто "не успевает" выводить "двойные деинтерлэйсные" кадры.
Попробовал, кадры все равно выпадают.
Название: Re: MPC Video Renderer
Отправлено: LongKick64 от 17 ноября 2020, 15:05:20
Цитата: V0lt от 17 ноября 2020, 07:55:28
LongKick64
Ну дропаются и дропаются. Судя по скриншоту, видео специфичное (не в первый раз оно тут появляется). Плюс довольно медленная встроенная графика (память хоть в двухканальном режиме работает?). Когда график поднимается выше определенного значения, то приходиться выкидывать кадры иначе разойдемся со звуком.
Видеокарта AMD Radeon HD 6490M (https://www.notebook-center.ru/video_293.html). В статистике ошибочно пишет Intel HD Graphics 3000.
Название: Re: MPC Video Renderer
Отправлено: LongKick64 от 17 ноября 2020, 15:12:39
Это не единственное такое видео. Вот MediaInfo другого видео с аналогичной проблемой.

Общее
Идентификатор                            : 0 (0x0)
Полное имя                               : D:\Клипы\D4-14. AKB48 - Yankee Machine Gun [2015.08.26].m2ts
Формат                                   : BDAV
Формат/Информация                        : Blu-ray Video
Размер файла                             : 942 Мбайт
Продолжительность                        : 4 м. 9 с.
Режим общего битрейта                    : Переменный
Общий поток                              : 31,7 Мбит/сек
Максимальный общий битрейт               : 48,0 Мбит/сек

Видео
Идентификатор                            : 4113 (0x1011)
Идентификатор меню                       : 1 (0x1)
Формат                                   : AVC
Формат/Информация                        : Advanced Video Codec
Профиль формата                          : High@L4.1
Настройки формата                        : CABAC / 4 Ref Frames
Параметр CABAC формата                   : Да
Параметр RefFrames формата               : 4 кадра
Идентификатор кодека                     : 27
Продолжительность                        : 4 м. 9 с.
Вид битрейта                             : Переменный
Битрейт                                  : 28,2 Мбит/сек
Максимальный битрейт                     : 35,0 Мбит/сек
Ширина                                   : 1 920 пикселей
Высота                                   : 1 080 пикселей
Соотношение сторон                       : 16:9
Частота кадров                           : 29,970 (30000/1001) кадров/сек
Стандарт вещания                         : NTSC
Цветовое пространство                    : YUV
Субдискретизация насыщенности            : 4:2:0
Битовая глубина                          : 8 бит
Тип развёртки                            : MBAFF
Метод сохранения типа развёртки          : Чередующиеся поля
Порядок развёртки                        : Верхнее поле первое
Бит/(Пиксели*Кадры)                      : 0.453
Размер потока                            : 836 Мбайт (89%)
Цветовой диапазон                        : Limited
Основные цвета                           : BT.709
Характеристики трансфера                 : BT.709
Коэффициенты матрицы                     : BT.709

Аудио
Идентификатор                            : 4352 (0x1100)
Идентификатор меню                       : 1 (0x1)
Формат                                   : PCM
Настройки формата                        : Big / Signed
Режим смешивания                         : Blu-ray
Идентификатор кодека                     : 128
Продолжительность                        : 4 м. 9 с.
Вид битрейта                             : Постоянный
Битрейт                                  : 2 304 Кбит/сек
Каналы                                   : 2 канала
Channel layout                           : L R
Частота                                  : 48,0 КГц
Битовая глубина                          : 24 бит
Размер потока                            : 68,4 Мбайт (7%)

Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 17 ноября 2020, 15:14:38
То что ошибочно пишет что Intel - ну это у тебя ноутбук, так система/Direct3D отдает инфу.

По поводу выпадания - визуально что заметно/мешает ? Как другие VR ведут себя - тот же EVR-CP, madVR ?
Название: Re: MPC Video Renderer
Отправлено: LongKick64 от 17 ноября 2020, 15:17:54
ЦитироватьТо что ошибочно пишет что Intel - ну это у тебя ноутбук, так система отдает инфу.
Это я знаю, я про графику написал Вольту, так как он написал, цитирую: "Плюс довольно медленная встроенная графика".

ЦитироватьПо поводу выпадания - визуально что заметно/мешает ? Как другие VR ведут себя - тот же EVR-CP, madVR ?
Чуть дольше протестирую, отпишусь, просто в глаза сразу бросилось. А почему кадры в EVR-CP не выпадают? :)
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 17 ноября 2020, 16:13:54
А проверь еще без статистики - а дропы можно смотреть через свойства самого VR, там одна из закладок показывает все показатели(fps, кол-во проигранных кадров и дропы).
Название: Re: MPC Video Renderer
Отправлено: LongKick64 от 17 ноября 2020, 16:19:49
Там тоже смотрел, тоже дропаются кадры.

Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 18 ноября 2020, 03:05:51
LongKick64,
ЦитироватьТам тоже смотрел, тоже дропаются кадры.
В вашей статистике имеются довольно неприятные значения: 4-4-17. С такими значениями у вас визуально должны быть заметны пропуски кадров.

Вообще, уже обсуждали данную тему, по поводу видео файлов с высокими частотами кадров, от 50 до 60 FPS включительно.
К сожалению, проблема здесь вовсе не в слабом железе. Даже интегрированные видеокарты (видео ядра) вполне, без особых проблем, способны переварить видео файлы с высокими частотами кадров. Да даже у меня, на мощной видеокарте "Radeon RX 580", есть эти же самые пропуски кадров, что еще раз подтверждает тот факт, что железо здесь не причем.

Все дело в этих Swap Effect. Уже итак понятно, что Discard совершенно не способен нормально работать с такими видео файлами, точнее с их высокими частотами кадров. Лучше всего конечно справляется с этим Swap Effect: Flip, но даже с ним можно получить пропуски кадров. Куда большее значение имеет именно герцовка самого монитора. И я уже говорил, что чем выше количество герц монитора, тем лучше становится результат воспроизведения видео файлов с высокими частотами кадров.

Уж не знаю, отчего и почему MPC-VR такой капризный к таким видео файлам, но единственный способ заставить их воспроизводиться без пропусков кадров - это увеличить количество герц монитора, например с 60 Гц до 72 Гц, или до 75 - 76 Гц.
Если ваш монитор способен работать только лишь на 60 Гц, то тут, к сожалению, ничего не поделаешь. Только лишь остается поменять Discard на Flip и надеяться на чудо.

Учтите, что я не просто так все это вам говорю, а основываюсь на личном опыте наблюдений и многочисленных тестов данного видео-рендерера. И тут не имеет значения, какой воспроизводится видео файл - обычный, или же интерлейсный с аппаратным деинтерлейсом.

Также обратите внимание на статистику видео-рендерера, на строку: Present. У вас данное значение равно 15, а это немало. Отсюда и пропуски кадров во время воспроизведения видео файла.
ЦитироватьА почему кадры в EVR-CP не выпадают?
Потому что EVR-CP менее требовательный, в отличие от MPC-VR. И использует он по умолчанию режим вывода: Copy. А он довольно быстрый.

LongKick64

Я открою вам "страшную тайну" - попробуйте отключить аппаратное ускорение DXVA2 в настройках плеера и запустить видео файл с высокой частотой кадров. Вы, разумеется, будете удивлены, но в этом случае пропусков кадров во время воспроизведения быть не должно. Просто проверьте мое утверждение. Интересно будет услышать потом от вас ответ - работает ли оно у вас?
Название: Re: MPC Video Renderer
Отправлено: V0lt от 18 ноября 2020, 08:17:00
Цитата: LongKick64 от 17 ноября 2020, 15:05:20Видеокарта AMD Radeon HD 6490M (https://www.notebook-center.ru/video_293.html). В статистике ошибочно пишет Intel HD Graphics 3000.
Инициализация D3D9 прошла для адаптера Intel HD 3000. И судя по тому, что график монотонно растет, это похоже на правду. На моей GTX 950 график пологий.

Цитата: Evgeniy1990 от 18 ноября 2020, 03:05:51Также обратите внимание на статистику видео-рендерера, на строку: Present. У вас данное значение равно 15, а это немало. Отсюда и пропуски кадров во время воспроизведения видео файла.
Present нельзя трактовать однозначно. Он может скакать от 0 до времени рефреша (для 60 Гц будет 1000/60 = 16,7 мс). Present надо в динамике мониторить. Я его вообще хотел убрать, но как оказалось в некоторых случаях статистика без него становиться оторванной от реальности.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 18 ноября 2020, 09:30:45
В данном случае видимо Present отображает время работы с деинтерлейсом. На прогрессивном видео не разу не видел что бы Present был таким большим.

Вопрос - Present всегда такой большой или значение скачет ?
Название: Re: MPC Video Renderer
Отправлено: V0lt от 18 ноября 2020, 11:58:35
Цитата: Aleksoid1978 от 18 ноября 2020, 09:30:45
В данном случае видимо Present отображает время работы с деинтерлейсом. На прогрессивном видео не разу не видел что бы Present был таким большим.

Вопрос - Present всегда такой большой или значение скачет ?
Он может скакать от 0 до времени рефреша. Возможно для интерлейса будет скакать сильнее. Это нормально.
Но в зависимости от версии Windows, версии DX, вендора адаптера, втройка или дискретная видеокарта на одном и том же видео можно получить совершенно разное поведение значений Present. Где-то будет прыгать, где-то будет относительно стабильным, где-то будет выдавать 0-1.
Название: Re: MPC Video Renderer
Отправлено: LongKick64 от 18 ноября 2020, 18:16:25
ЦитироватьЯ открою вам "страшную тайну" - попробуйте отключить аппаратное ускорение DXVA2 в настройках плеера и запустить видео файл с высокой частотой кадров. Вы, разумеется, будете удивлены, но в этом случае пропусков кадров во время воспроизведения быть не должно. Просто проверьте мое утверждение. Интересно будет услышать потом от вас ответ - работает ли оно у вас?
Отключил DXVA2 и действительно, кадры выпадать перестали, только на том видео (https://mpc-be.org/forum/index.php?topic=381.msg6802#msg6802), появилась гребенка.
Название: Re: MPC Video Renderer
Отправлено: LongKick64 от 18 ноября 2020, 18:19:54
ЦитироватьИнициализация D3D9 прошла для адаптера Intel HD 3000. И судя по тому, что график монотонно растет, это похоже на правду. На моей GTX 950 график пологий.
MPC-BE у меня настроен на работу на дискретной видеокарте. Вот пруф:

Название: Re: MPC Video Renderer
Отправлено: LongKick64 от 18 ноября 2020, 18:26:17
ЦитироватьВопрос - Present всегда такой большой или значение скачет ?
На видео с частотой кадров 23,976, он меняется от 0 до 2, а на видео с частотой кадров 29,970, сходит с ума с 10 до 15.
Название: Re: MPC Video Renderer
Отправлено: LongKick64 от 18 ноября 2020, 18:31:05
Если отключить DXVA2, то на видео с частотой кадров 29,970, Present меняет значение с 0 до 2 и перестают выпадать кадры.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 18 ноября 2020, 18:59:12
Цитата: LongKick64 от 18 ноября 2020, 18:19:54MPC-BE у меня настроен на работу на дискретной видеокарте. Вот пруф:
Это лишь настройка, а не реальное состояние состояние. Там не написано какая карта будет использоваться Intel или AMD.
В любом случае некоторые карты AMD имеют проблемы с высокой частотой видео.
ЦитироватьОтключил DXVA2 и действительно, кадры выпадать перестали, только на том видео, появилась гребенка.
Частота стала в 2 раза меньше и нагрузка соответственно.
Правильнее было отключить опцию "Double frame rate when deinterlacing" в настройках видеорендерера, тогда будет без гребенки.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 18 ноября 2020, 19:21:19
V0lt,
LongKick64,
Статистика может и врать. Сужу по своему Оптимусу. Проверяется GPU-Zетом. Выбираем более сложные алгоритмы интерполяции, или добавляем шейдеры и смотрим какой GPU будет реагировать на это. Даже если статистика будет показывать Intel, то GPU-Z покажет, что реально работает. А файл этот азиатский имеет хитрофактурный интерлейс. Несмотря на то, что вроде бы на моей железяке проблем с ним нет, но лучший результат с этим файлом даёт МаdVR c forced film mode, особенно на ТВ(Samsung).
Название: Re: MPC Video Renderer
Отправлено: LongKick64 от 18 ноября 2020, 19:22:24
ЦитироватьЭто лишь настройка, а не реальное состояние состояние. Там не написано какая карта будет использоваться Intel или AMD.
Ок. Выбираем:


Получаем:


Выбираем:


Получаем:



ЗЫ Цитирую Aleksoid1978:
Цитировать"То что ошибочно пишет что Intel - ну это у тебя ноутбук, так система/Direct3D отдает инфу."
Название: Re: MPC Video Renderer
Отправлено: LongKick64 от 18 ноября 2020, 19:29:23
Еще одно доказательство того, что статистика врет. Выбираю в настройках MPC VR режим D3D11 и если в настройках дров видеокарты выбрана встройка, видео начинается дергаться, а если выбрана дискретка, воспроизводится плавно, только кадры выпадают, но вы об этом уже итак знаете. :)
Название: Re: MPC Video Renderer
Отправлено: V0lt от 18 ноября 2020, 20:19:02
LongKick64, к чему эти все скриншоты? Ни один не показывает название видеокарты, которая используется для плеера. Что скрывается под "Высокая производительность" достоверно неизвестно.

Цитата: MPCfan от 18 ноября 2020, 19:21:19Статистика может и врать. Сужу по своему Оптимусу.
Цитата: LongKick64 от 18 ноября 2020, 19:29:23Еще одно доказательство того, что статистика врет.
Статистика по поводу адаптера в принципе врать не может. Она пишет то, что DirectX отдает. По тому же принципу DXVA Checker работает. Можете сами или попросить третью сторону и вызвать IDirect3D9::GetAdapterIdentifier (https://docs.microsoft.com/en-us/windows/win32/api/d3d9/nf-d3d9-idirect3d9-getadapteridentifier) и посмотреть что выдаст.
Если и кто-то и врет, то только драйвер. Заняться мне больше нечем, как данные в статистике подделывать.
Название: Re: MPC Video Renderer
Отправлено: LongKick64 от 18 ноября 2020, 22:24:36
V0lt, если скриншоты вам ни о чем не говорят, то тот факт, что видео начинает тормозить при смене адаптера в драйверах и выборе режима D3D11 в настройках MPC VR, должен как бы намекать, что смена видеокарт в драйвере работает. А врет драйвер или нет, это уже дело десятое, главное что дискретная видеокарта через него назначается.
Название: Re: MPC Video Renderer
Отправлено: LongKick64 от 19 ноября 2020, 23:24:26
В общем, совершенно не ясно для кого вообще этот видео рендер. ??? С видео, где частота кадров превышает 23, работает как попало, хуже обычного EVR-CP, а с другими видео и обычный EVR-CP справляется отлично. Посему не вижу для себя никакого смысла в его использовании и возвращаюсь на EVR-CP.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 20 ноября 2020, 00:48:32
LongKick64,
ЦитироватьВ общем, совершенно не ясно для кого вообще этот видео рендер. ??? С видео, где частота кадров превышает 23, работает как попало, хуже обычного EVR-CP, а с другими видео и обычный EVR-CP справляется отлично. Посему не вижу для себя никакого смысла в его использовании и возвращаюсь на EVR-CP.
Вот только MPC-VR имеет довольно значительные и интересные преимущества, по сравнению с EVR-CP.
Просто нам с вами не повезло и видимо не судьба использовать MPC-VR полноценно, несмотря на его преимущества.
Я больше всего склоняюсь к нашему DXVA2, именно к ffmpeg. Ведь именно при аппаратном ускорении, значения Present скачут, как сумасшедшие на видео файлах с высокими частотами кадров. Т.е. чтобы нам использовать MPC-VR полноценно, нужно или отключать напрочь все DXVA2, или увеличивать герцовку монитора, при этом не забывая переключиться на Flip(Ex).
А вот разработчикам, наоборот, повезло с железом и мониторами. Они у себя, к сожалению, не видят весь этот ужас, который творится на видео файлах с высокими частотами кадров. Уж не знаю, на каких герцах работают их мониторы, но если они у себя этих проблем явно не видят, значит явно не на 60 - это уж точно, иначе бы они явно увидели их, причем не только в самой статистике, но и визуально в том числе.
Название: Re: MPC Video Renderer
Отправлено: LongKick64 от 20 ноября 2020, 01:02:32
ЦитироватьВот только MPC-VR имеет довольно значительные и интересные преимущества, по сравнению с EVR-CP.
Например какие?
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 20 ноября 2020, 01:11:28
LongKick64,
ЦитироватьНапример какие?
Основные возможности (они же - преимущества) расписаны в самом первом посте данной темы.
ЦитироватьОсновные возможности:
- Видеопроцессор на шейдерах для NV12, YV12, YUY2, YV16, P010, P016, YV24, AYUV, P210, P216, Y410, Y416, RGB24/32/48/64, b48r, b64a, Y8, Y16.
- Умеет работать с аппаратным декодером DXVA2 для всех режимов.
- Поддерживает вывод субтитров в связке с MPC-BE 1.5.4+.
- Автоматическое преобразование HDR в SDR.
- Поворот кадра (поддерживается MPC-BE).
- Дизеринг при финальном уменьшении глубины цвета с 10/16 бит до 8 бит.

Дополнительные возможности режима DirectX 9:
- DXVA2 Video Processor с аппаратным деинтерлейсом для YV12, NV12, YUY2, P010 (+ хак для RGB для Intel).

Дополнительные возможности режима DirectX 11:
- Direct3D11 Video Processor с аппаратным деинтерлейсом для NV12, YUY2, P010 (+ RGB для Intel и AMD).
- Умеет работать с аппаратным декодером D3D11.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 20 ноября 2020, 01:14:15
LongKick64,
От себя добавлю, что MPC-VR также умеет аппаратно работать с форматом вывода P010 на новых видеокартах, например на NVIDIA GTX 900-ой серии, или AMD Radeon RX 400-ой серии и выше.
Название: Re: MPC Video Renderer
Отправлено: LongKick64 от 20 ноября 2020, 08:07:24
Цитата: Evgeniy1990 от 20 ноября 2020, 01:14:15
LongKick64,
От себя добавлю, что MPC-VR также умеет аппаратно работать с форматом вывода P010 на новых видеокартах, например на NVIDIA GTX 900-ой серии, или AMD Radeon RX 400-ой серии и выше.
Впервые слышу о таком формате.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 20 ноября 2020, 09:11:45
LongKick6
Цитата: LongKick64 от 19 ноября 2020, 23:24:26С видео, где частота кадров превышает 23, работает как попало, хуже обычного EVR-CP
У вас хуже.
ЦитироватьПосему не вижу для себя никакого смысла в его использовании и возвращаюсь на EVR-CP.
Правильное решение для вашей "машины".

Цитата: Evgeniy1990 от 20 ноября 2020, 01:14:15
От себя добавлю, что MPC-VR также умеет аппаратно работать с форматом вывода P010 на новых видеокартах, например на NVIDIA GTX 900-ой серии, или AMD Radeon RX 400-ой серии и выше.
MPC VR умеет работать с этим форматом на любых видеокартах с поддержкой DirectX 9 и выше.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 20 ноября 2020, 20:17:03
Тестовая сборка mpcvr_0.4.10.1477_test_3_buffers (https://yadi.sk/d/CBkb2VNZiWnyWg?w=1)
Попробовал увеличить количество буферов с 1 до 3.

Собрал MPCVideoRenderer 0.4.10.1478 (https://yadi.sk/d/X0EVMKP4TcmnHQ?w=1).
Название: Re: MPC Video Renderer
Отправлено: LongKick64 от 20 ноября 2020, 23:41:01
ЦитироватьУ вас хуже.
Судя по постам в этой теме, не только у меня.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 23 ноября 2020, 23:44:33
V0lt, Aleksoid1978,

Тема: MPC Video Renderer - в режиме FSE, при переходе на следующий видео файле в папке, или в плейлисте, остается остаточный последний видеокадр предыдущего воспроизводимого видео файла.

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

1. Открыть произвольный видео файл в папке
2. Включить опцию: "По окончании воспроизведения" -> "Перейти к след. в каталоге"
3. Перемотать воспроизводимый видео файл почти в самый конец
4. Перейти в режим FSE
5. Дождаться перехода на следующий файл в папке

Фактический результат:

При переходе на следующий видео файл в папке в режиме FSE, можно заметить последний остаточный видеокадр предыдущего воспроизводимого видео файла.

Ожидаемый результат:

При переходе на следующий видео файл в папке в режиме FSE, не должно быть никакого последнего остаточного видеокадра от предыдущего воспроизводимого видео файла.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 24 ноября 2020, 13:01:06
Re: 5712
Intelhd5500Win8.1
DX9 exclusive, при нажатии Alt появляется курсор, а DX11 exclusive - курсор и системное меню в следующих случаях:
Первый случай >
1 Открываем плеер и запускаем видео
2 Переходим в FSE и выходим(возможно лишний шаг)
3 Нажимаем Alt и переходим в FSE
4 Нажимаем Alt
Второй случай >
1 Открываем плеер и запускаем видео
2 Нажимаем Alt+Tab(Плеер свернулся в панель задач)
3 Опять нажимаем Alt+Tab(Плеер развернулся)
4 Переходим в FSE и нажимаем Alt

P.S. Про Win8 пока промолчу.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 24 ноября 2020, 13:32:03
Блин - как вы догадываетесь такие хитрые схемы :)
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 24 ноября 2020, 14:13:36
Aleksoid1978,
Сравнив Win8 и Win8.1, понял, что Win8 как-то в принципе пролетела мимо 5712, тогда, как Win8.1 повела себя "по-простому" корректно. Пришлось хитрить.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 24 ноября 2020, 14:24:22
MPCfan,
ЦитироватьDX9 exclusive, при нажатии Alt появляется курсор, а DX11 exclusive - курсор и системное меню в следующих случаях:
Первый случай >
1 Открываем плеер и запускаем видео
2 Переходим в FSE и выходим(возможно лишний шаг)
3 Нажимаем Alt и переходим в FSE
4 Нажимаем Alt
Второй случай >
1 Открываем плеер и запускаем видео
2 Нажимаем Alt+Tab(Плеер свернулся в панель задач)
3 Опять нажимаем Alt+Tab(Плеер развернулся)
4 Переходим в FSE и нажимаем Alt
Оба ваших случая легко воспроизводятся также и на Windows 7, причем на конфигурации: DX9 + FSE + клавиша "Alt".
Тут действует еще одно условие - потеря, или же перехват фокуса.
Название: Re: MPC Video Renderer
Отправлено: LongKick64 от 24 ноября 2020, 14:25:37
Заранее извиняюсь за небольшой оффтоп, но объясните, пожалуйста, какой режим вывода для EVR-CP лучше, "Copy" или "Flip/FlipEx"? Субъективно, кажется, что навигация по тяжелым файлам осуществляется быстрее, если выбран режим "Flip/FlipEx", но тогда почему он по дефолту не включен, с ним есть какие-то проблемы?
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 24 ноября 2020, 14:34:23
LongKick64,
ЦитироватьЗаранее извиняюсь за небольшой оффтоп, но объясните, пожалуйста, какой режим вывода для EVR-CP лучше, "Copy" или "Flip/FlipEx"? Субъективно, кажется, что навигация по тяжелым файлам осуществляется быстрее, если выбран режим "Flip/FlipEx", но тогда почему он по дефолту не включен, с ним есть какие-то проблемы?
Просто режим вывода "Flip/FlipEx" работает отдельно от основного окна плеера, иными словами - не имеет жесткой привязки к нему. Отсюда он немного быстрее, чем Copy, или тот же Discard. Но использовать его по умолчанию нежелательно, так как с ним есть самый противный недостаток, который уже был упомянут ранее - это "окно в окне".
Название: Re: MPC Video Renderer
Отправлено: LongKick64 от 24 ноября 2020, 14:35:42
ЦитироватьНо использовать его по умолчанию нежелательно, так как с ним есть самый противный недостаток, который уже был упомянут ранее - это "окно в окне".
А как этот недостаток выглядит и что в нем такого противного? ???
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 24 ноября 2020, 14:41:27
LongKick64,
ЦитироватьА как этот недостаток выглядит?
Вот так. (Тайм-код 00:00:13). (https://yadi.sk/d/kuTJnpz64RGEKA)
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 24 ноября 2020, 14:44:47
LongKick64,
Цитироватьи что в нем такого противного?
В случае использования обычного оконного режима просто раздражает. А вот случае использования эксклюзивного режима, может вызвать еще и дополнительные проблемы, например проблему, когда видеокадры не очищаются, а просто остаются.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 24 ноября 2020, 14:56:18
LongKick64,
Режим вывода "Copy" является самым оптимальным и самым стабильным на данный момент. С ним нет особых проблем.
А вот что касается режимов Discard и Flip{Ex}, то тут они оба имеют свои недостатки, которые всем хорошо известны.

Ради интереса, можете сравнить работу этих двух режимов.

1. Откройте видео с частотой кадров = 60 FPS
2. Откройте плейлист
3. Откройте статистику видео-рендерера
4. Во время воспроизведения видео, раздвигайте плейлист в любую сторону, в зависимости от того в какой стороне изначально он у вас находится.

Вы увидите, что при раздвижении плейлиста, растет количество пропущенных кадров. Это и есть неустранимый недостаток режима Discard на видео файлах с высокими частотами кадров.

А теперь попробуйте выполнить этот же самый алгоритм с режимом Flip(Ex). Вы увидите, что у него нет данного недостатка, так как он не зависит от внешних окон и основного окна плеера. Отсюда и его преимущество в скорости обработки. Но зато он имеет другой противный недостаток, который вы уже знаете - это "окно в окне".  Почему есть этот неустранимый недостаток? Все просто - потому что сначала рисуется само окно плеера, а только лишь потом загружается и сама видео область.
Название: Re: MPC Video Renderer
Отправлено: LongKick64 от 24 ноября 2020, 14:57:36
Цитата: Evgeniy1990 от 24 ноября 2020, 14:56:18
LongKick64,
Режим вывода "Copy" является самым оптимальным и самым стабильным на данный момент. С ним нет особых проблем.
А вот что касается режимов Discard и Flip{Ex}, то тут они оба имеют свои недостатки, которые всем хорошо известны.

Ради интереса, можете сравнить работу этих двух режимов.

1. Откройте видео с частотой кадров = 60 FPS
2. Откройте плейлист
3. Откройте статистику видео-рендерера
4. Во время воспроизведения видео, раздвигайте плейлист в любую сторону, в зависимости от того в какой стороне изначально он у вас находится.

Вы увидите, что при раздвижении плейлиста, растет количество пропущенных кадров. Это и есть неустранимый недостаток режима Discard на видео файлах с высокими частотами кадров.

А теперь попробуйте выполнить этот же самый алгоритм с режимом Flip(Ex). Вы увидите, что у него нет данного недостатка, так как он не зависит от внешних окон и основного окна плеера. Отсюда и его преимущество в скорости обработки. Но зато он имеет другой противный недостаток, который вы уже знаете - это "окно в окне".  Почему есть этот неустранимый недостаток? Все просто - потому что сначала рисуется само окно плеера, а только лишь потом загружается и сама видео область.
Благодарю за такой развернутый ответ.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 24 ноября 2020, 15:01:07
LongKick64,
ЦитироватьБлагодарю за такой развернутый ответ.
Всегда, пожалуйста. :)
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 25 ноября 2020, 06:32:08
Цитата: MPCfan от 24 ноября 2020, 13:01:06
Re: 5712
Intelhd5500Win8.1
DX9 exclusive, при нажатии Alt появляется курсор, а DX11 exclusive - курсор и системное меню в следующих случаях:
Первый случай >
1 Открываем плеер и запускаем видео
2 Переходим в FSE и выходим(возможно лишний шаг)
3 Нажимаем Alt и переходим в FSE
4 Нажимаем Alt
Второй случай >
1 Открываем плеер и запускаем видео
2 Нажимаем Alt+Tab(Плеер свернулся в панель задач)
3 Опять нажимаем Alt+Tab(Плеер развернулся)
4 Переходим в FSE и нажимаем Alt

P.S. Про Win8 пока промолчу.


У себя по таким схемам не смог заставить в FSE показываться системное меню(проверял на DX11).
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 25 ноября 2020, 07:38:22
Aleksoid1978,
Могу добавить, что MadVR FSE на Win8.1 примерно ведёт себя также, как и MPC-VR FSE DX11.
Запускаю плеер, видео, далее FSE(MadVR), Alt и всё корректно. Потом выхожу из FSE, опять Alt, возвращаюсь в FSE, опять Alt, и тут появляется системное меню. Так что, проблема здесь не в MPC-VR, а в семёрках, восьмёрках и сверхвосьмёрках, и то, как там организована работа с "Alt".
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 25 ноября 2020, 08:02:27
А запиши видео данного процесса.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 01 декабря 2020, 19:44:26
Aleksoid1978,
Немного по поводу "Alt" на восьмёрках.  Нюанс по двум схемам, изложенным выше ломается(лечится) простым действием пауза/воспроизведение уже в FSE, либо ещё в окне, убрав фокус(повторно "Alt" или клик ЛКМ) и нажав дважды пробел, переходим в FSE, нажимаем "Alt" и никакого системного меню в FSE.
P.S. Надо же, если использовать Alt+Enter вместо мыши для перехода в FSE и обратно, так и прикола нет с этим Alt.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 12 декабря 2020, 17:04:07
MPCVideoRenderer-v0.4.10.1524_git2020.12.12-02e5225 (https://yadi.sk/d/X0EVMKP4TcmnHQ)
Изменил способ применения настроек для режима DX9. Надеюсь ничего не поломалось.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 12 декабря 2020, 19:59:47
V0lt,
Из-за "RGB 8-bit" строка "Display:" стала значительно длиннее и надпись "windowed" выходит за пределы прозрачной рамки на DX9.
Удивительно, что на DX11 такого не происходит. Видимо работает "автоподстройка". А вот на DX9 - иначе. Поправьте этот момент пожалуйста.

P.S. Это же относится и к разделу "Information".
Название: Re: MPC Video Renderer
Отправлено: V0lt от 12 декабря 2020, 20:41:45
Evgeniy1990
Сделай скриншот пожалуйста.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 12 декабря 2020, 21:05:27
V0lt,
ЦитироватьСделай скриншот пожалуйста.
Пожалуйста. (https://yadi.sk/d/BGBcomibokdgyw?w=1)
Название: Re: MPC Video Renderer
Отправлено: V0lt от 12 декабря 2020, 22:09:51
Спасибо. Поправил.

Что-то мне не нравиться текущий формат вывода:
Display: SyncMaster 1680x1050 RGB 8-бит 75.003 Hz [Primary] windowed
Предлагаю такой:
Display: SyncMaster 1680x1050 75.003 Hz RGB 8-бит [Primary] windowed
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 12 декабря 2020, 22:20:34
V0lt,
ЦитироватьПредлагаю такой:
Код: [Выделить]

Display: SyncMaster 1680x1050 75.003 Hz RGB 8-бит [Primary] windowed
Поддерживаю! Так даже лучше и удобнее (более привычно) смотрится.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 12 декабря 2020, 22:43:29
V0lt,
commit ce8c658...

Да уж, я сейчас точно заплачу... Да что ты будешь делать... Ну почему, почему разработчики принимают меня за дурачка, который не способен догадаться, что это окно скроллируется курсором мышки через выделение? Когда это уже кончится?

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

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

Нет, я не против вашего решения, просто ожидал другого. Поймите меня правильно, я хотел в обоих случаях простого увеличения ширины. Вот и все.

Просто мне было немножко обидно услышать, что я не догадываюсь о том, что это окно можно скроллировать через выделение курсором мышки. Да я давным давно это знаю. Уж кому, как не мне, ведущему бета-тестеру, знать все хитрости и особенности проекта MPC-BE и его видео-рендерера.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 13 декабря 2020, 20:42:39
Evgeniy1990
Пока окно расширять не буду, т.к. есть идея разбить свойства дисплея на 2 строки. Но текущие наработки выглядят не очень. Не получиться, тогда расширю.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 14 декабря 2020, 15:58:51
V0lt,
ЦитироватьСпасибо. Поправил.
Пожалуйста! Осталось только поправить надпись fullscreen в режиме FSE. Она также выходит за рамку статистики в обоих режимах - DX9 и DX11.
Нужно еще чуточку увеличить ширину рамки статистики.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 14 декабря 2020, 20:42:35
mpcvr-1535_display_info_1 (https://yadi.sk/d/eh0CxwsmyJ_GQw?w=1)
Вариант информации о дисплее на 2 строки.
На Win7-Win8.1 будет только формат. На Win10 появиться разрядность и активность режима HDR, для соответствующих дисплеев.

Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 14 декабря 2020, 23:53:07
V0lt,
Цитата: V0lt от 14 декабря 2020, 20:42:35
mpcvr-1535_display_info_1 (https://yadi.sk/d/eh0CxwsmyJ_GQw?w=1)
Вариант информации о дисплее на 2 строки.
На Win7-Win8.1 будет только формат. На Win10 появиться разрядность и активность режима HDR, для соответствующих дисплеев.
Другое дело, стало гораздо лучше, только двоеточие Display должно быть на одном уровне со всеми остальными строчками.
Сейчас Display слишком выделяется от всех остальных строчек.

Единственное, что хотел уточнить, а почему разрядность отображается теперь только для HDR, она же показывалась и на обычных мониторах, без HDR?
Название: Re: MPC Video Renderer
Отправлено: V0lt от 15 декабря 2020, 09:20:54
Хотелось бы еще затронуть старый вопрос о HLG.
Определение из Википедии (https://en.wikipedia.org/wiki/Hybrid_Log-Gamma).
ЦитироватьHybrid Log-Gamma (HLG) is a backwards-compatible high dynamic range (HDR) standard that was jointly developed by the BBC and NHK. It provides the ability to encode a wide dynamic range, while still being compatible with the existing transmission standards in the standard dynamic range (SDR) region. This makes HLG compatible with standard dynamic range displays, reducing complexity and cost for both equipment manufacturers and content distributors.
Ключевое отличие от HDR10 заключается в том, что HLG можно без особых проблем смотреть на обычных дисплеях.

В MPC VR видео HLG преобразовывается в SDR. И вроде должно стать еще лучше, но на деле картинка часто получается засвеченной.
А после "улучшения" шейдера коррекции (https://github.com/Aleksoid1978/VideoRenderer/commit/9ff2213c1b362ecde2c1c07349cb1c08c86e3c0d) вылезли проблемы с теплыми оттенками.

Пример сильного засвечивания:
(https://jpegshare.net/48/ba/48ba7195fc431e7c8b3891fd4f58a22b.png.html) (https://jpegshare.net/a4/ce/a4ce8d70f7c9e41e6f661b9761d40f15.png.html) (https://jpegshare.net/f3/e2/f3e2510b86dc89fd727c4f3bfc5043ca.png.html)

Пример искажения теплых оттенков:
(https://jpegshare.net/31/55/3155d40261e8631cdbd8fc776d178e1f.png.html) (https://jpegshare.net/8c/c5/8cc5e53a81a4711ba4a8c0fadbd77ee5.png.html) (https://jpegshare.net/cc/5c/cc5c3247aa37501bfdc6637a79cbf65d.png.html)

Более понятнее на тестовых сэмплах.

Эталонный SDR и HDR10 c конвертацией в SDR:
(https://jpegshare.net/77/32/7732c240d7858c7e72792f344d94a0cb.png.html) (https://jpegshare.net/d5/c1/d5c14a6370f3b13b451798a0e14e3847.png.html)
Красный практически сохранил свой оттенок, хотя и стал бледнее. Желтый совсем засветился, зеленый не так сильно. Результат удовлетворительный.

HLG без конвертации, с конвертацией в SDR и "коррекцией":
(https://jpegshare.net/c1/6e/c16e0509a2fb6f2d2591e88bd5ffff9b.png.html) (https://jpegshare.net/70/97/709783d8de256b52540003864680a9bc.png.html) (https://jpegshare.net/ab/df/abdf73a9c67dbe6c12526bb3b267eb72.png.html)
Если с HLG ничего не делать, то красный будет оранжевым, но в остальном хорошо. Конвертация засвечивает желтый, зеленый засвачивается и превращается в желтый. Коррекция возвращает зеленый, и делает красный красным, но сильно засвечивает его. Результаты неудовлетворительные.

И для тех, кто хочет спросить как же правильно, вот вам отчет ITU-R  BT.2446-0 (https://www.itu.int/dms_pub/itu-r/opb/rep/R-REP-BT.2446-2019-PDF-E.pdf).
Название: Re: MPC Video Renderer
Отправлено: V0lt от 15 декабря 2020, 14:47:24
MPCVideoRenderer-v0.4.10.1542_git2020.12.15-45a2b1c (https://yadi.sk/d/X0EVMKP4TcmnHQ)
Улучшена конвертация HLG в SDR, а так же реализовано преобразование в PQ для передачи в дисплей HDR10.
Спасибо, Aleksoid1978.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 18 декабря 2020, 13:26:30
MPCVideoRenderer-v0.4.10.1553_git2020.12.18-73a6d82 (https://yadi.sk/d/X0EVMKP4TcmnHQ)
Улучшено отображение HLG без конвертации в HDR.
Есть идея не конвертировать HLG в SDR, т.к. HLG изначально совместим с SDR.

mpcvr_1553_hdr_stats_1 (https://yadi.sk/d/s6NBGGdFiSm_3A?w=1)
Тестовый билд с уменьшенной яркостью статистики для дисплеев в режиме HDR.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 19 декабря 2020, 04:56:26
Думаю не надо убирать HLG to SDR, ибо выглядит по разному по сравнению с просто выводом HLG как SDR. Каждый выберет что ему лучше.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 20 декабря 2020, 11:18:36
V0lt, Aleksoid1978,
Обнаружил серьезную поломку в MPC-VR. Видео-рендерер теряет выходные форматы, т.е. происходит потеря (пропуск) части выходных форматов. И, как следствие, черный экран и обрыв видео-рендерера (https://yadi.sk/d/d-3wk3dSQak9rw?w=1).
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 20 декабря 2020, 11:47:17
Это именно на том файле по ссылке происходит ?
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 20 декабря 2020, 11:48:31
Aleksoid1978,
Цитата: Aleksoid1978 от 20 декабря 2020, 11:47:17
Это именно на том файле по ссылке происходит ?
Да. Я вам выложил сам файл и видео-алгоритм.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 20 декабря 2020, 15:25:46
Цитата: Evgeniy1990 от 20 декабря 2020, 11:18:36Обнаружил серьезную поломку в MPC-VR. Видео-рендерер теряет выходные форматы, т.е. происходит потеря (пропуск) части выходных форматов. И, как следствие, черный экран и обрыв видео-рендерера (https://yadi.sk/d/d-3wk3dSQak9rw?w=1).
Тут какая-то проблема со сменой поддерживаемого формата, а не потеря.
NV12/YV12 не подключается из-за того, что ширина кадра нечетная. Должен был подключиться любой другой поддерживаемый, но этого не произошло.

Исправлено в f06309d (https://github.com/Aleksoid1978/VideoRenderer/commit/f06309d624e95b2be4a3342defb2a78d10b75edb).
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 20 декабря 2020, 16:23:50
V0lt,
ЦитироватьИсправлено в f06309d.
Проверил коммит f06309d. Теперь сразу данный видео файл запускается в софте с форматом YV24. Т.е. по сути, ничего не изменилось, разве что теперь видео файл запускается в софте без DXVA2. Вот и вся разница. А разве нельзя сделать, чтобы работали основные форматы NV12, YV12, YUY2? На EVR-CP они ведь работают.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 20 декабря 2020, 16:27:05
V0lt,
Ха, только что заметил, ваш коммит f06309d оказывается еще и не совсем корректный. Теперь почему-то нет иконки GPU, хотя остальные видео файлы воспроизводятся в режиме аппаратного ускорения DXVA2.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 20 декабря 2020, 17:08:02
Написали же - что ширина нечётная что является не корректным. Да - мы далее делаем выравнивание , но сделано именно так.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 20 декабря 2020, 17:09:53
Aleksoid1978,
Цитата: Aleksoid1978 от 20 декабря 2020, 17:08:02
Написали же - что ширина нечётная что является не корректным. Да - мы далее делаем выравнивание , но сделано именно так.
Да я понял это. Беда в том, что коммит f06309d получился некорректным. Теперь у нас плеер не отображает иконку GPU при аппаратном ускорении DXVA2.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 20 декабря 2020, 17:17:07
Всмысле на нормальных файлах используется DXVA но иконка не отображается?
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 20 декабря 2020, 17:17:27
Цитата: Aleksoid1978 от 20 декабря 2020, 17:17:07
Всмысле на нормальных файлах используется DXVA но иконка не отображается?
Да. Не отображается. Сами проверьте.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 20 декабря 2020, 17:17:46
Или речь про этот файл?
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 20 декабря 2020, 17:18:09
Aleksoid1978,
Цитата: Aleksoid1978 от 20 декабря 2020, 17:17:46
Или речь про этот файл?
Про все остальные файлы.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 20 декабря 2020, 17:32:59
Это мелочи, поправим
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 20 декабря 2020, 18:01:46
Aleksoid1978,
Цитата: Aleksoid1978 от 20 декабря 2020, 17:32:59
Это мелочи, поправим
ОК.

V0lt, Aleksoid1978,

Поискав место поломки, я понял, что эта проблема была с самого начала, до билда 1563 (commit f06309d).

И если у нас, при DXVA2, был выходной формат YV24 и черный экран, то при LAV Video Decoder был avcodec с иконкой GPU и выходным форматом RGB32, но с изображением. Вот это действительно реальная жесть была. Сейчас, хотя бы, в обоих видео декодерах сразу же работает софт-режим с их соответствующими выходными форматами - YV24 для "MPC Video Decoder" и RGB32 для "LAV Video Decoder".

В целом, ваш последний commit f06309d - рабочий, за исключением отсутствия иконки GPU, при DXVA2.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 20 декабря 2020, 18:18:46
Цитата: Evgeniy1990 от 20 декабря 2020, 16:23:50А разве нельзя сделать, чтобы работали основные форматы NV12, YV12, YUY2? На EVR-CP они ведь работают.
Формат 4:2:0 должен иметь четные значения размеров.
Да EVR работает, но Я не хочу заниматься этой кривизной (отлаживать и баги исправлять, которые будут).

Декодер от MS, например, создает все медиатипы размером 864x480. Что правильно.

ЦитироватьТеперь у нас плеер не отображает иконку GPU при аппаратном ускорении DXVA2.
Это проблема плеера, т.к. декодирование по факту работает. Но я сделаю костыль для него в 61c7e11 (https://github.com/Aleksoid1978/VideoRenderer/commit/61c7e11b94151f59de88e5b2b30fa790cdf20806).
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 20 декабря 2020, 18:39:36
V0lt,
ЦитироватьНо я сделаю костыль для него в 61c7e11.
После этого коммита 61c7e11, при сборке MPC-VR, выскакивает ошибка:

18:35:54.637     4>C:\VideoRenderer\VideoRenderer\Source\VideoRenderer.cpp(692,4): error C2276: '!': illegal operation on bound member function expression [C:\VideoRenderer\VideoRenderer\Source\MpcVideoRenderer.vcxproj]
Название: Re: MPC Video Renderer
Отправлено: V0lt от 20 декабря 2020, 19:20:31
Evgeniy1990, спасибо.
Убирал лишние изменения, случайно пропали скобки.

Переделал в 03df1e0 (https://github.com/Aleksoid1978/VideoRenderer/commit/03df1e029681d484a4a920990405cc6af0170c73). Теперь блокируется IDirectXVideoMemoryConfiguration. Вроде лучше получилось.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 20 декабря 2020, 20:35:08
V0lt,
ЦитироватьПеределал в 03df1e0. Теперь блокируется IDirectXVideoMemoryConfiguration. Вроде лучше получилось.
Проверил коммит 03df1e0. Да, действительно получилось гораздо лучше, избавились от костыля для иконки GPU. Теперь она итак будет отображаться, если используется аппаратное ускорение DXVA2. Но есть один недостаток. Дело в том, что у данного файла иконка GPU будет также отображаться, несмотря на то, что никакого DXVA2, при его воспроизведении, нет.
ЦитироватьДа EVR работает, но Я не хочу заниматься этой кривизной (отлаживать и баги исправлять, которые будут).
Все же я предлагаю вам допилить MPC-VR, чтобы на таких вот подобных видео файлах работали все основные форматы NV12, YV12, YUY2. Тогда мы автоматически избавимся от выше упомянутого недостатка. И не нужно тогда будет лепить отдельный костыль. Не думаю, что баги в процессе допиливания будут очень серьезными. Главное, чтобы работали все основные выходные форматы.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 20 декабря 2020, 21:05:05
Цитата: Evgeniy1990 от 20 декабря 2020, 20:35:08Но есть один недостаток. Дело в том, что у данного файла иконка GPU будет также отображаться, несмотря на то, что никакого DXVA2, при его воспроизведении, нет.
Ладно, завтра разберемся. Может вернем 4ac58eb (https://github.com/Aleksoid1978/VideoRenderer/commit/4ac58ebe3a2d8772596d849aa1f017989c71cd31).
Но повторюсь, неправильный значок GPU - это проблема плеера. Я считаю надо в плеере значок GPU править, а не подстраиваться под него.

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

Собрал обе версии: 0.4.10.1565_git2020.12.20-4ac58eb и 0.4.10.1566_git2020.12.20-03df1e0 (https://yadi.sk/d/X0EVMKP4TcmnHQ).
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 21 декабря 2020, 03:48:32
Не надо ничего менять - обновляем MPC-BE и проверяем.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 21 декабря 2020, 08:02:52
Aleksoid1978, проверил. Вроде все нормально.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 21 декабря 2020, 09:42:59
Aleksoid1978,
Цитата: Aleksoid1978 от 21 декабря 2020, 03:48:32
Не надо ничего менять - обновляем MPC-BE и проверяем.
V0lt,
Цитата: V0lt от 21 декабря 2020, 08:02:52
Aleksoid1978, проверил. Вроде все нормально.
Согласен, что с нашим встроенным MPC Video Decoder теперь все нормально.
А вот в случае с тем же внешним LAV Video Decoder, у данного кривого файла присутствует иконка GPU, если в его настройках выбран аппаратный декодер "DXVA2 (native)". При софтовом avcodec присутствует иконка GPU.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 21 декабря 2020, 09:49:19
Да и LAV можно подправить. Это все мелочи :)
Название: Re: MPC Video Renderer
Отправлено: V0lt от 21 декабря 2020, 10:48:32
Чтение статуса для LAV исправлено.
Осталось проверить MPEG-TS с 2 разными видеопотоками (например, H.264 и HEVC). Проверено, и доработано в r5832.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 21 декабря 2020, 13:53:46
Выпущен релиз MPC Video Renderer 0.5.0.1567 (https://github.com/Aleksoid1978/VideoRenderer/releases/tag/0.5.0)

Изменения:
Добавлена функция 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 или новее.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 22 декабря 2020, 06:05:44
V0lt,
ЦитироватьДекодер от MS, например, создает все медиатипы размером 864x480. Что правильно.
Забыли совсем про него. Ведь, при использовании Microsoft DTV-DVD Video Decoder, на кривом видео файле даже и не подключается наш MPC Video Renderer. Потому что данный видео декодер способен работать только в аппаратном режиме. Ему нужен NV12. А так как MPC-VR, на данном файле, не способен выдать NV12, то происходит "грязный" отлуп.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 22 декабря 2020, 06:35:02
Зачем опять поднимать тему - сказали уже, что не работает с "кривым видео", когда нечетные размеры. И не надо больше про это.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 22 декабря 2020, 07:05:03
Aleksoid1978,
Цитата: Aleksoid1978 от 22 декабря 2020, 06:35:02
Зачем опять поднимать тему - сказали уже, что не работает с "кривым видео", когда нечетные размеры. И не надо больше про это.
Просто 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", или вводить дополнительные проверки.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 22 декабря 2020, 07: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 ???
Название: Re: MPC Video Renderer
Отправлено: V0lt от 22 декабря 2020, 12:27:02
Кратко дополню по кривым форматам (4:2:0 с нечетными размерами).

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

MPC VR имеет другую логику. Он так же запрашивает изменение формата после подключения. Но если подключаемый фильтр формат не меняет, то работает с исходным. Это важная фича MPC VR. Ему не нужны промежуточные фильтры, чтобы работать с любым из поддерживаемых форматов. Если исходный формат будет кривой, тогда MPC VR в лучшем случае просто уронит плеер, в худшем - что-нибудь запорет в памяти процесса.
Я не собираюсь делать хитрые обходные пути для подобной кривизны. Это усложнит и без того сложный код. Тему предлагаю закрыть.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 25 декабря 2020, 10:16:30
V0lt,
Обнаружил пропадание DXVA2. То он есть, то его нет, то просто NV12.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 25 декабря 2020, 10:23:59
Бывает - но наверное надо конкретику :)
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 25 декабря 2020, 10:59:13
Aleksoid1978,
Цитата: Aleksoid1978 от 25 декабря 2020, 10:23:59
Бывает - но наверное надо конкретику :)
Пожалуйста, специально для вас, подробная конкретика (https://yadi.sk/d/sIoKdgKqXn1vfA). :)
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 25 декабря 2020, 11:06:43
А - так это просто проблема статистики :)
Название: Re: MPC Video Renderer
Отправлено: V0lt от 25 декабря 2020, 11:12:31
Evgeniy1990
Спасибо, посмотрю.
Проверь, режим работы декодера (см. в свойствах декодера) совпадает со значком GPU?
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 25 декабря 2020, 11:39:09
V0lt,
ЦитироватьПроверь, режим работы декодера (см. в свойствах декодера) совпадает со значком GPU?
Режим работы видео декодера совпадает со значком GPU. А вот статистика MPC-VR выдает что-попало. Всегда считает приоритетным NV12, якобы без DXVA2. А в случае реконнектов, уже отображает информацию, как положено, например, при переходе в режим FSE, или после применения различных опций. Иначе говоря, при смене (обновлении) конфигурации.

Например, режим DXVA2: DXVA2 (H.264, no FGT) -> значок GPU.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 25 декабря 2020, 11:48:32
Спасибо. Исправил в a100683 (https://github.com/Aleksoid1978/VideoRenderer/commit/a100683cb14ca1d500a01f695f6ecce5b3a9b284).
Название: Re: MPC Video Renderer
Отправлено: V0lt от 27 декабря 2020, 17:08:14
Еще немного тестов.

SDR: DXVA VP против Shaders
(https://jpegshare.net/a0/af/a0af533d5c5fae278c262aeb13d013bf.png.html) (https://jpegshare.net/96/f5/96f50cd45cc2250139d49575e84362ef.png.html)

HDR10: DXVA VP против Shaders
(https://jpegshare.net/f2/ab/f2ab9c84ce0bee263ca4ba8bfa23610a.png.html) (https://jpegshare.net/80/33/803389437ceb4c3edcd2e896ab32ea5b.png.html)

Ресайз в во всех случаях на шейдерах.

HDR10: DXVA VP против Shaders (без ресайза)
(https://jpegshare.net/c5/cd/c5cdd42205c74a01b099db1c50625812.png.html) (https://jpegshare.net/89/3b/893bf0ada30cb4e8b4a05e75cfc1b1ee.png.html)
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 28 декабря 2020, 11:42:31
Дополню(без скринов) - с HLG(при конверте в SDR или просто обработке как SDR) ситуация аналогичная. А все потому что VP "думает" что цветовая матрица BT.709
Если добавить простую "корректировку" перемножением матриц для восстановления BT.202 - то цвета становятся одинаковыми.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 30 декабря 2020, 19:36:32
MPCVideoRenderer-0.5.1.1593_git2020.12.30-8e728b4
MPCVideoRenderer-0.5.1.1594_git2020.12.30-1c06e97 (https://yadi.sk/d/X0EVMKP4TcmnHQ)
Много всяких улучшений для HDR видео. И хватит на этот год.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 03 января 2021, 14:13:48
Нашел баг при уменьшении Bicubic и Lanczos в режиме D3D11.

Баг хорошо заметен на картинке sample1.heif (8736x5856) (https://filesamples.com/formats/heif). Для Bicubic максимальное проявление бага наблюдается при уменьшении до 364x244 (уменьшение в 24 раза).
(https://jpegshare.net/13/84/1384c8c7f7ecb387561769b01aa1964a.png.html)

Добавлено:
Проблема в оптимизации цикла в шейдере ps_convolution.hlsl
[unroll(32)] for (int n = low; n < high; n++) {
Лечится вот так
[loop] for (int n = low; n < high; n++) {

Исправлено в c9054bf.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 04 января 2021, 00:58:16
V0lt,
Есть возможность выводить кадр видео без зелени на MPC-VR?
Прилагаю такой видео файл (сэмпл) (https://yadi.sk/i/EuyO3Zhrdbe25Q).
Название: Re: MPC Video Renderer
Отправлено: V0lt от 04 января 2021, 08:19:26
Цитата: Evgeniy1990 от 04 января 2021, 00:58:16Есть возможность выводить кадр видео без зелени на MPC-VR?
Прилагаю такой видео файл (сэмпл) (https://yadi.sk/i/EuyO3Zhrdbe25Q).
Что-то с этим файлом не так, но не могу понять что.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 15 января 2021, 06:24:34
Релиз MPC Video Renderer 0.5.2.1607 (https://github.com/Aleksoid1978/VideoRenderer/releases/tag/0.5.2)

Изменения:
Исправлено получение отображаемого кадра при выводе 10-битного RGB.
Исправлено отображение формата BGRA64.
Добавлена поддержка формата BGR48.
Добавлена коррекция после некорректного (неподдерживаемого) преобразования из YCbCr BT.2020 в RGB после DXVA2 и D3D11 VP.
Исправлено воспроизведение некоторых защищенных DVD-видео.
Улучшена опция «Автоматическое включение / выключение HDR».
Исправлено преобразование цветового пространства с помощью шейдеров.
Различные дополнения и исправления в статистике.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 21 января 2021, 05:11:58
V0lt,
Если используется CoreAVC Video Decoder, то MPC Video Renderer начинает сдвигать картинку в правую сторону (https://yadi.sk/i/xjs_GV6gH-ZmYA), при этом, слева можно наблюдать кусок зелени. В зависимости от выходного формата, он может быть больше, а может быть и меньше.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 21 января 2021, 06:59:26
Evgeniy1990
Похоже на баг CoreAVC Video Decoder. Он так тупит, если rcTarget пустой. Сделал заполнение rcTarget, как в других рендерерах в 0f89cee (https://github.com/Aleksoid1978/VideoRenderer/commit/0f89cee2e39f0544bef1ed8ce9b84104b9282af6), теперь зелени нет.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 21 января 2021, 08:37:37
V0lt,
Цитата: V0lt от 21 января 2021, 06:59:26
Evgeniy1990
Похоже на баг CoreAVC Video Decoder. Он так тупит, если rcTarget пустой. Сделал заполнение rcTarget, как в других рендерерах в 0f89cee (https://github.com/Aleksoid1978/VideoRenderer/commit/0f89cee2e39f0544bef1ed8ce9b84104b9282af6), теперь зелени нет.
Отлично! Спасибо, теперь зелени нет. :)
Собрал и прогнал исправленный билд MPC Video Renderer. Есть еще одна проблема с MPC Video Renderer, при использовании CoreAVC в режиме аппаратного ускорения DXVA2. Дело в том, что CoreAVC имеет некоторые ограничения в работе аппаратного ускорения DXVA2. Это значит, что по правильной логике, у некоторых видео файлов не будет работать данный режим, даже если в настройках самого видео декодера выбран режим DXVA. В случае с MPC Video Renderer происходит путаница форматов NV12 и DXVA. Если посмотреть на выходные Pin'ы CoreAVC и MPC Video Renderer, то на выход приходит именно DXVA, хотя должен быть просто NV12 без ускорения. И даже сама статистика MPC Video Renderer правильно говорит об этом, т.е. показывает именно NV12, а не DXVA, как на выходных Pin'ах видео декодера и видео-рендерера.

P.S. Прилагаю видеозапись (https://yadi.sk/i/QovEBv3ElgsPrg) для наглядности проблемы.
Также и сам видео файл (https://yadi.sk/i/V0K9pmdzMUv_DA).
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 21 января 2021, 08:44:29
Нет никакой путаницы, все правильно в статистике что EVR-CP, что MPC VR. А то что в пине от декодера DXVA - так это все просто, это заполняется так videoinfoheader. Это 'DXVA' в пине совершенно не означает что используется DXVA декодирование :)
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 21 января 2021, 08:49:19
Aleksoid1978,
Цитата: Aleksoid1978 от 21 января 2021, 08:44:29
Нет никакой путаницы, все правильно в статистике что EVR-CP, что MPC VR. А то что в пине от декодера DXVA - так это все просто, это заполняется так videoinfoheader. Это 'DXVA' в пине совершенно не означает что используется DXVA декодирование :)
Согласен с вами. Я также думаю. Статистики EVR-CP и MPC-VR все отображают правильно. Об этом я уже сказал.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 22 января 2021, 23:24:41
V0lt
Куда пропала статистика самого MPC Video Renderer, после commit'а f4bbdf1?
После данного коммита, она вообще не отображается.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 23 января 2021, 08:48:44
Evgeniy1990
Статистика работает, только с ее включением могут быть затыки. Может включиться сразу, может на N-ый раз. Причина непонятна.

Попробуй видео с субтитрами и без.

Проблема точно наблюдается при использовании DXVA2 VP.
Возможно надо добавить пару BeginScene-EndScene (https://pastebin.com/vCCt04jp). Точно сейчас не скажу, стабильности воспроизведения бага нет.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 23 января 2021, 09:59:12
V0lt,
Цитата: V0lt от 23 января 2021, 08:48:44
Evgeniy1990
Статистика работает, только с ее включением могут быть затыки. Может включиться сразу, может на N-ый раз. Причина непонятна.

Попробуй видео с субтитрами и без.

Проблема точно наблюдается при использовании DXVA2 VP.
Возможно надо добавить пару BeginScene-EndScene (https://pastebin.com/vCCt04jp). Точно сейчас не скажу, стабильности воспроизведения бага нет.
Для вас видеозапись с пояснениями (https://yadi.sk/i/3IHhXE_kteDeXw). Внимательно ее посмотрите.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 23 января 2021, 10:12:59
V0lt,
Проверил видео файлы с субтитрами (аниме). Вот на них статистика отображается сразу же, после сброса настроек, при работе DXVA2 VP (Direct3D9 Ex),  в отличие от видео файлов без субтитров.

1. Да, стабильная закономерность проявления и воспроизведения бага есть.
2. Да, баг проявляется именно на DXVA2 VP (Direct3D9 Ex).
3. Да, баг проявляется при сбросе настроек и открытии видео файлов без субтитров.
4. Да, баг не проявляется, если запустить видео файлы с субтитрами (например, аниме).

P.S. Хотя мне непонятно, каким образом субтитры влияют на отображение статистики?
Ведь статистика у нас реализована через OSD, а не через встроенный рендерер субтитров ISR - это было бы вообще глупо.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 23 января 2021, 10:18:17
Статистика к OSD не имеет никакого отношения, а вот с ISR "связана" - ибо и там и там используется Direct3D9, если речь про DX9.

V0lt
Раз уж ты выяснил что необходимо BeginScene-EndScene - добавляй да и все. Возможно после последней коммита они как раз и ушли :)
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 23 января 2021, 10:41:28
Aleksoid1978,
ЦитироватьСтатистика к OSD не имеет никакого отношения, а вот с ISR "связана" - ибо и там и там используется Direct3D9, если речь про DX9.
Даже так... (О_о) Вообще, статистика должна быть реализована на стороне самого видео-рендерера, ведь она принадлежит именно ему, а не ISR. А Direct3D9 используется везде, где работает DX9. Статистика видео-рендерера не должна зависеть от рендерера субтитров. Есть он, или его нет, а она должна всегда сразу же открываться, если мы ее вызвали через плеер, или через Ctrl+J.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 23 января 2021, 11:54:51
Evgeniy1990
Пожалуйста, проверь mpcvr_1617_dxva2vp_stats_fix (https://yadi.sk/d/PtwPlgvvF0UN1A?w=1).
У меня сейчас баг совсем перестал воспроизводиться, поэтому не могу понять - работает патч или нет.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 23 января 2021, 12:47:05
V0lt,
Цитата: V0lt от 23 января 2021, 11:54:51
Evgeniy1990
Пожалуйста, проверь mpcvr_1617_dxva2vp_stats_fix (https://yadi.sk/d/PtwPlgvvF0UN1A?w=1).
У меня сейчас баг совсем перестал воспроизводиться, поэтому не могу понять - работает патч или нет.
Проверил ваш тестовый билд. Проблема исправлена, больше ее нет. :)
Теперь, при сбросе настроек, статистика видео-рендерера сразу же отображается, если мы вызвали ее через плеер, или через горячее сочетание клавиш Ctrl+J.
Отсюда, можно смело сказать, что ваш патч полностью работает так как надо, т.е. правильно и корректно. :)
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 24 января 2021, 09:50:44
V0lt,
Если используется DivX H.264 Decoder, то к графу фильтров всегда подключается MPC Video Converter, который не дает ему работать в режиме аппаратного ускорения DXVA2. Здесь, в данном случае, MPC Video Converter является просто лишним фильтром, который мешает и не дает нормально работать DivX H.264 Decoder, поскольку все видео файлы воспринимает как rawvideo с выходным форматом YUY2 4:2:2.

Фактически: DivX H.264 Decoder + MPC Video Converter + MPC Video Renderer
Ожидаемо:   DivX H.264 Decoder + MPC Video Renderer
Название: Re: MPC Video Renderer
Отправлено: V0lt от 24 января 2021, 10:02:44
Цитата: Evgeniy1990 от 24 января 2021, 09:50:44
Если используется DivX H.264 Decoder, то к графу фильтров всегда подключается MPC Video Converter, который не дает ему работать в режиме аппаратного ускорения DXVA2.
1. Выкинуть DivX H.264 Decoder и забыть.
2. MPC Video Converter подключается, если рендерер не смог подключиться к декодеру.
3. Что там выдает забытый всеми декодер, мне даже не хочется проверять. В последний раз, когда пришлось установить DivX-декодер, получил всякий левый хлам "в подарок".
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 24 января 2021, 10:04:23
Во жесть, где вы все это гавно находите :)
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 24 января 2021, 10:41:04
V0lt,
Цитировать1. Выкинуть DivX H.264 Decoder и забыть.
2. MPC Video Converter подключается, если рендерер не смог подключиться к декодеру. Что там выдает забытый всеми декодер мне даже не хочется проверять.
1. До сих пор актуальный видео декодер.
2. Причина-то вовсе не в видео декодере, а в самом MPC Video Renderer. Именно он не хочет с ним работать.
На EVR-CP нормально работает DivX H.264 Decoder. И выдает он всего лишь навсего NV12.

Вопрос в том, почему именно MPC Video Renderer не хочет от него принимать NV12?

Я сделал лог-файл (https://yadi.sk/d/6_CABD-c2owWXw). Просто посмотрите, где - что происходит не так.

Aleksoid1978,
Цитата: Aleksoid1978 от 24 января 2021, 10:04:23
Во жесть, где вы все это гавно находите :)
На официальных сайтах. :)
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 24 января 2021, 11:08:52
Какой актуальный - старье какое-то за 2015 чтоли год. У меня вообще на нем не работает DXVA, а с нашим MPC VR не стартует проигрывание. Может я конечно не ту версию скачал - поделитесь :)
Название: Re: MPC Video Renderer
Отправлено: V0lt от 24 января 2021, 11:13:09
Цитата: Evgeniy1990 от 24 января 2021, 10:41:041. До сих пор актуальный видео декодер.
Был для MPEG-4 ASP. Но с появлением H.264 все переползли на CoreAVC и ffdshow, а потом на LAV или встроенные в плееры. DivX стал просто не нужен (тем более с левым софтом, советую провериться).
ЦитироватьЯ сделал лог-файл (https://yadi.sk/d/6_CABD-c2owWXw). Просто посмотрите, где - что происходит не так.
Это лог плеера, а не рендерера. Там только вот это:
FGM: Connecting 'MPC Video Renderer (external)' FAILED!
И это нельзя однозначно трактовать "MPC VR не захотел работать", т.к. декодер тоже в процессе коннекта участвует.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 24 января 2021, 11:40:35
V0lt,
ЦитироватьБыл для MPEG-4 ASP. Но с появлением H.264 все переползли на CoreAVC и ffdshow, а потом на LAV или встроенные в плееры. DivX стал просто не нужен (тем более с левым софтом, советую провериться).
Он не только для MPEG-4 ASP, но и для H.264 в том числе. И я не понимаю, какой такой левый софт вы в нем нашли? Вы откуда вообще скачиваете видео-декодеры? Я вот установил DivX H.264 Decoder буквально за пару секунд. Выбрал только то, что необходимо. Все поставилось нормально, без лишнего левого софта.

Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 24 января 2021, 11:48:53
Откуда ставили, можно ссылку. На официальном сайте нашел только установщик который ставит конвертер, плейер и еще что-то(не стал ставить). Отдельно декодера не нашел. То что в интернете отдельно декодер - 2015 года.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 24 января 2021, 12:00:27
Aleksoid1978,
Цитата: Aleksoid1978 от 24 января 2021, 11:48:53
Откуда ставили, можно ссылку. На официальном сайте нашел только установщик который ставит конвертер, плейер и еще что-то(не стал ставить). Отдельно декодера не нашел. То что в интернете отдельно декодер - 2015 года.
На официальном сайте сейчас версия без одного важного компонента - это DivX Plus Codec Pack.
Прилагаю ссылку (https://yadi.sk/d/F5CbKKz1e6xHHg?w=1) на все внешние актуальные видео декодеры.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 24 января 2021, 12:09:21
Цитата: Evgeniy1990 от 24 января 2021, 11:40:35И я не понимаю, какой такой левый софт вы в нем нашли? Вы откуда вообще скачиваете видео-декодеры?
Несколько лет назад скачивал с официального сайта. Мне нужен был только кодек DivX MPEG-4 ASP, но на официальном сайте был только комплект софта включая другие декодеры и плеер. При установке была попытка установки толи антивируса, толи Хрома. Проверил что хотел в кодеке, и удалил все это дерьмо.

Aleksoid1978
Посоветую кодек с free-codecs.com (https://www.free-codecs.com/download/divx_h264_decoder.htm). Я пас.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 24 января 2021, 12:13:58
Вот эту версию я и качал. Она очень старая - Updated: 28 Jul 2014.
с EVR-CP нет никакого DXVA, с MPC VR вообще не стартует, черный экран и все.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 24 января 2021, 12:17:11
Aleksoid1978, V0lt,
Также, прилагаю видеозапись с пояснениями (https://yadi.sk/i/GV4CpWgPWgilCg), как правильно установить DivX H.264 Decoder, без лишних компонентов.

P.S. Сделал еще два лог-файла (https://yadi.sk/d/B_e3AOETxsaQVA?w=1).
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 24 января 2021, 12:21:53
V0lt,
ЦитироватьПосоветую кодек с free-codecs.com. Я пас.
Aleksoid1978,
ЦитироватьВот эту версию я и качал. Она очень старая - Updated: 28 Jul 2014.
с EVR-CP нет никакого DXVA, с MPC VR вообще не стартует, черный экран и все.
Это более ранняя версия. Эта версия идет без аппаратного ускорения.
Я же вам выложил более новую версию (https://yadi.sk/d/VV7MdhV2TxEXRA) с поддержкой аппаратного ускорения.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 24 января 2021, 12:24:29
V0lt,
ЦитироватьНесколько лет назад скачивал с официального сайта. Мне нужен был только кодек DivX MPEG-4 ASP, но на официальном сайте был только комплект софта включая другие декодеры и плеер. При установке была попытка установки толи антивируса, толи Хрома. Проверил что хотел в кодеке, и удалил все это дерьмо.
Я вам выложил версию без всякого левого стороннего софта.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 24 января 2021, 13:51:18
Evgeniy1990
Рендерер по очереди успешно коннектится к YUY2, RGB32, RGB24. После каждого коннекта идет CVideoRendererInputPin::ReceiveConnection и здесь не получается договориться с декодером. Причина непонятна. Надо добавить отладочного лога.

И хорошо бы увидеть информацию в PinInfo на выходе декодера. Только не сюда, а на https://pastebin.com/
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 24 января 2021, 13:51:33
С этой версией даже на EVR-CP не стартует проигрывание, и никакого DXVA - вывод в YUY2 :)
Закрыли тему.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 24 января 2021, 20:23:30
Сообщили что со свежим MPC VR в полном экране кадр уходит вверх.
0.5.3.1615_git2021.01.17-1d253e0 - нормально
0.5.3.1621_git2021.01.23-90e2e72 - проблема
0.5.3.1623_git2021.01.24-647cd4b - проблема
Картинка (https://i.imgur.com/pwNOFOB.jpeg) (увы без статистики).

Я проверил, проблемы не увидел.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 24 января 2021, 20:34:55
V0lt,
Цитата: V0lt от 24 января 2021, 20:23:30
Сообщили что со свежим MPC VR в полном экране кадр уходит вверх.
0.5.3.1615_git2021.01.17-1d253e0 - нормально
0.5.3.1621_git2021.01.23-90e2e72 - проблема
0.5.3.1623_git2021.01.24-647cd4b - проблема
Картинка (https://i.imgur.com/pwNOFOB.jpeg) (увы без статистики).

Я проверил, проблемы не увидел.
Да, действительно, есть проблема. В последних билдах MPC-VR творится какая-то жуть. Там не только картинка вверх уходит, там еще и кадр(ы) растянут(ы). Увы, что-то пошло не так, явно поломка.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 24 января 2021, 21:04:23
V0lt,
Я нашел проблемный коммит - это commit f4bbdf1 (https://github.com/Aleksoid1978/VideoRenderer/commit/f4bbdf1b5358d823f3e840bb74133882cace6e4c).
Именно из-за него и пошли все дальнейшие проблемы - это нестабильный вывод статистики и некорректно работающие кадры различных видео файлов. Пример - растянутая картинка (видео кадры).
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 24 января 2021, 21:25:27
V0lt,
Полюбуйтесь на эту жуть (плоские вытянутые руки) (https://yadi.sk/d/YSCmmgcxJfLXmA?w=1). Для сравнения, я сделал для вас два скриншота, а также и приложил сам видео файл.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 24 января 2021, 22:14:04
V0lt,
Что касается видео кадра, уходящего вверх, то сделал краткую видеозапись (https://yadi.sk/i/vGllYKSG8OBs_Q).
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 25 января 2021, 04:39:59
Только без паники. Процесс же идет, все нюансы не учесть. Все исправиться :)
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 25 января 2021, 05:52:42
V0lt,
Цитата: V0lt от 24 января 2021, 13:51:18
Evgeniy1990
Рендерер по очереди успешно коннектится к YUY2, RGB32, RGB24. После каждого коннекта идет CVideoRendererInputPin::ReceiveConnection и здесь не получается договориться с декодером. Причина непонятна. Надо добавить отладочного лога.

И хорошо бы увидеть информацию в PinInfo на выходе декодера. Только не сюда, а на https://pastebin.com/
По вашей просьбе, сделал для вас информацию в PinInfo на выходе видео декодеров DivX H.264 Decoder и CyberLink Video Decoder.
У меня не открывается сайт: https://pastebin.com/ Поэтому, я залил для вас информацию на свой ЯндексДиск (https://yadi.sk/d/4DKoQ-ryaZmOdw?w=1).
Название: Re: MPC Video Renderer
Отправлено: V0lt от 25 января 2021, 07:05:12
Evgeniy1990
Проблему с поворотом кадра поправил в 0.5.3.1624_git2021.01.25-82751e1. Должно стать как раньше (в некоторых ситуациях корявенько).

А вот проблему со сдвигом вверх не могу повторить. Сбрасываю настройки, выставляю DX9 или DX11, включаю-выключаю NV12 и ничего никуда не двигается.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 25 января 2021, 07:16:51
V0lt,
ЦитироватьА вот проблему со сдвигом вверх не могу повторить. Сбрасываю настройки, выставляю DX9 или DX11, включаю-выключаю NV12 и ничего никуда не двигается.
Очень странно... Ведь это совершенно стабильная поломка. Воспроизводится элементарно и всегда, при отключении NV12, т.е. смене видео процессора с DXVA2 VP на Shaders (шейдерный видео процессор).

Попробуйте воспроизвести у себя поломку на этом видео файле (https://yadi.sk/i/HRI9UFkvmY8oMA).

Если что, то я предоставлю вам доступ к своей машине, т.к. у меня поломка воспроизводится строго и всегда стабильно.
Вы сможете у меня ее исправить.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 25 января 2021, 08:25:23
V0lt,
Также, прилагаю еще один видео файл (https://yadi.sk/i/QhZr3Z_Yha8nVw), для еще большей наглядности полета видеокадра вверх на шейдерном видеопроцессоре.

Поломка присутствует как на Direct3D 9 Ex, так и на Direct3D 11, при использовании Shaders (шейдерного видеопроцессора).

Видеозапись полета видео кадра вверх (https://yadi.sk/i/FVEBZ0cATcmwmA).

Здесь не имеет значения переход в полноэкранный режим. Достаточно даже просто развернуть само окно плеера на весь экран и кадр тут же улетит вверх. Т.е. идет некая зависимость от развертки самого окна плеера. Если просто развернуть окно плеера на всю область экрана, или же перейти в полноэкранный режим, то видео кадр сразу же улетает вверх.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 25 января 2021, 10:34:25
Тоже не смог воспроизвести баг с уезжанием кадра на верх. Скачал файл, открыл в окне, потом просто развернул окно - все четко как надо, видимо мне не повезло, как всегда :)
P.S. Проверял на DX9/11 с использованием шейдеров.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 25 января 2021, 12:07:16
Aleksoid1978,
Цитата: Aleksoid1978 от 25 января 2021, 10:34:25
Тоже не смог воспроизвести баг с уезжанием кадра на верх. Скачал файл, открыл в окне, потом просто развернул окно - все четко как надо, видимо мне не повезло, как всегда :)
P.S. Проверял на DX9/11 с использованием шейдеров.
На каком формате текстуры вы проверяли и пытались воспроизвести баг?
Проверять надо на формате текстуры: 8-bit integer + Shaders.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 25 января 2021, 12:31:17
У меня стоит авто-текстуры что равно 8-bit.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 25 января 2021, 12:34:44
Evgeniy1990,
Смог повторить, когда дисплей выставил на 1280х768, а иначе не получалось. Теперь у меня видосы все вверх смещаются.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 25 января 2021, 12:45:17
V0lt, Aleksoid1978,
Для начала, посмотрите пожалуйста эту краткую видеозапись (https://yadi.sk/i/G_rC3oBzQRutqg).
Затем, я еще раз сделаю некоторые пояснения:

1. Баг с полетом видео кадра вверх наблюдается только в том случае, если у нас не используется, или не работает этот дитеринг.
2. На 8-битных видео файлах данный баг, при использовании Shaders, будет присутствовать всегда, поскольку на них никогда не будет использоваться и работать дитеринг, потому что формат текстуры и формат бэк-буфера всегда совпадает - это InternalFormat: X8R8G8B8 = Presentation: X8R8G8B8.
3. На 10-битных видео файлах данный баг, при использовании Shaders, будет присутствовать только в том случае, если мы изменим формат текстуры с 10-bit integer на 8-bit integer, иначе будет работать дитеринг и его просто не будет, поскольку формат текстуры и формат бэк-буфера будут отличаться. A2R10G10B10 -> X8R8G8B8. Аналогично и для формата текстуры: 16-bit Floating Point.

Вывод: При использовании Shaders (шейдерного видеопроцессора), а также если используется дитеринг, то бага нет. Если он не используется (не работает), то баг есть (присутствует), т.е. зависит как раз именно от самого дитеринга.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 25 января 2021, 12:52:14
MPCfan,
ЦитироватьСмог повторить, когда дисплей выставил на 1280х768, а иначе не получалось. Теперь у меня видосы все вверх смещаются.
Как я и предполагал и даже догадывался, что во всем виноваты у наших разработчиков именно огромные широкоформатные мониторы. По идее, чтобы получить баг, им нужно поменять разрешение самого экрана монитора. Так что, можно сказать, что вы просто всего лишь навсего подтвердили мою догадку, хотя изначально это было вполне очевидно.

Сколько я уже раз писал им, чтобы нашли себе любой квадратный ЖК-монитор с разрешением экрана 1280х1024, чтобы могли видеть такие вот баги и поломки. Матрица - значения не имеет. Обычные TN и TN+film вполне сойдут.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 25 января 2021, 12:55:39
MPCfan,
Был бы квадратный монитор с разрешением экрана, например 1280х1024, или 1024х768, без проблем, вот прямо с ходу, открыли бы широкоформатное видео с разрешением 1280х720p и развернули его на весь экран и тут же бы получили полет видео кадра в самый верх, при использовании шейдерного видеопроцессора (Shaders).
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 25 января 2021, 13:00:48
Evgeniy1990,
У меня видео улетает вверх только в полноэкранном режиме, и как правильно вы сказали, дизеринг тут имеет значение. А вот в развёрнутом виде у меня всё нормально.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 25 января 2021, 13:03:21
MPCfan,
ЦитироватьА вот в развёрнутом виде у меня всё нормально.
Что могу сказать - опять не тот монитор, опять не то разрешение. Чтобы вам получить баг, при развернутом окне на всю область экрана, можно попробовать поиграться с различными разрешениями экрана вашего монитора.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 25 января 2021, 13:07:41
MPCfan,
Цитироватьи как правильно вы сказали, дизеринг тут имеет значение
Кончено он имеет значение. Ведь не просто же так возникла неприятная поломка. Вот я и начал разбираться, от чего зависит данная поломка и почему она всегда присутсвует именно на 8-битных видео файлах. И я нашел причину - это этот так называемый дитеринг (дизеринг). Ведь надо понимать, что на 8-битных видео файлах никогда первоначально дитеринг работать не будет, если мы конечно не поменяем формат текстуры в самом видео-рендерере. А если форматы будут совпадать, дитеринг работать не будет. А раз он работать не будет, то получим этот самый баг - полет видео кадра вверх.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 25 января 2021, 14:35:36
Ну выяснили и ок. Ждите исправление :)
Название: Re: MPC Video Renderer
Отправлено: V0lt от 25 января 2021, 21:12:54
Проблема была, когда ширина кадра совпадала с шириной окна или дисплея. Это исправлено в 0.5.3.1625.

Еще поправил поворот кадра для режима DX11 в 0.5.3.1626.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 25 января 2021, 23:10:06
V0lt,
Цитата: V0lt от 25 января 2021, 21:12:54
Проблема была, когда ширина кадра совпадала с шириной окна или дисплея. Это исправлено в 0.5.3.1625.

Еще поправил поворот кадра для режима DX11 в 0.5.3.1626.
Великолепно! :)

Хотел уточнить, по поводу поворота кадра на 90 градусов (Rotation 90°). На DX11 картинка (видео кадры) более плавная, чем на DX9. Почему именно так? Это видно даже невооруженным взглядом. Или для DX9 еще не доделан программный код? Просто бросаются в глаза, в некоторых местах, выделенные заостренные контуры. И выглядит все это, прямо как "пила".
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 25 января 2021, 23:24:36
V0lt,
Также добавлю, что присутствует проблема со сбросом частоты кадров во время паузы (https://yadi.sk/i/pBaLcdjtlbt1PQ). Причем, если возобновить воспроизведение видео файла, то частота кадров восстанавливается постепенно, хотя должна восстанавливаться сразу же моментально.
Да, я понимаю, что может быть (в пределах допустимого) частичный сброс, но не до нуля же - это совсем критично.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 26 января 2021, 02:21:21
Цитата: Evgeniy1990 от 25 января 2021, 23:24:36
V0lt,
Также добавлю, что присутствует проблема со сбросом частоты кадров во время паузы (https://yadi.sk/i/pBaLcdjtlbt1PQ). Причем, если возобновить воспроизведение видео файла, то частота кадров восстанавливается постепенно, хотя должна восстанавливаться сразу же моментально.
Да, я понимаю, что может быть (в пределах допустимого) частичный сброс, но не до нуля же - это совсем критично.
Кроме цифр - это как-то отражается на самом воспроизведении ?
Название: Re: MPC Video Renderer
Отправлено: V0lt от 26 января 2021, 06:53:46
Evgeniy1990
ЦитироватьНа DX11 картинка (видео кадры) более плавная, чем на DX9. Почему именно так? Это видно даже невооруженным взглядом. Или для DX9 еще не доделан программный код?
Потому что для DX9 не сделано. Там нужен другой подход.
Даже решение для DX11 под вопросом, т.к. Я не проверил случаи обрезки кадров.
ЦитироватьПричем, если возобновить воспроизведение видео файла, то частота кадров восстанавливается постепенно, хотя должна восстанавливаться сразу же моментально.
Нет, не должна. Там счетчик текущей усредненной частоты кадров. Ломать, усложнять код и внедрять костыли, что было "красиво" на паузе, не планирую.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 26 января 2021, 21:04:59
Исправил поворот для DX9. Проверил поворот для DX11 - с обрезкой работает корректно.
Выложил 0.5.3.1630 (https://yadi.sk/d/X0EVMKP4TcmnHQ).
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 06 февраля 2021, 11:42:49
V0lt,
Установил MPCVideoRenderer-0.5.3.1635_git2021.02.06-4c677bf. Захожу в свойства, там теперь так -  MPC Video Renderer 0.5.3.1635 (git-MPCVR_REV_DATE-MPCVR_REV_HASH) x64. > https://yadi.sk/i/QrXhkzAR24PW3A
Название: Re: MPC Video Renderer
Отправлено: V0lt от 06 февраля 2021, 12:44:18
MPCfan
Спасибо. Исправил в 776d725.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 07 марта 2021, 22:11:25
Тестовый билд mpcvr_1649_dx11intel_2 (https://disk.yandex.ru/d/tkbqRJRKLPNd5A?w=1)
Ускорено копирование кадра из "декодера DXVA2" в текстуру D3D11 на видеоадаптерах Intel.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 08 марта 2021, 11:56:21
Случайная ситуация привела к "мертвому зависанию" режима FSE. В режиме FSE решил нажать клавишу "I", для того чтобы отобразить текущее системное время, но случайно зацепил рядом стоящую клавишу "O". В результате чего, режим FSE условно "завис намертво", т.е. выйти из него уже никак было нельзя, только через горячие сочетания клавиш "Alt+Enter", или же  "Ctrl+Enter". Клавиша "O" открывает окно настроек плеера. Получается, что если в режиме FSE нажать на клавишу "O", то выйти из него уже двойным кликом мышкой никак не получится, при этом, сам курсор мышки будет всегда активен. Т.е. окно настроек находится за режимом FSE. По идее, в режиме FSE, никакие вызовы горячих клавиш не должны блокировать его работу. А еще лучше сделать таким образом, чтобы в режиме FSE никакие окна не вызывались и не открывались вообще, иначе происходит перехват фокуса на вызванные окна с помощью горячих клавиш, что приводит режим FSE к условному "зависанию".
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 08 марта 2021, 14:44:39
Ну потому что сам плейер и MPC VR - это не зависимые "программы".
Название: Re: MPC Video Renderer
Отправлено: V0lt от 08 марта 2021, 15:04:56
Evgeniy1990
Текущие версии MPC-BE не должны открывать окно настроек в эксклюзивном режиме.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 08 марта 2021, 15:38:03
На Win8, если нажать O, то в dx9 exclusive плеер(1.5.7.6058 beta) условно зависает, в dx11 exclusive даже окно настроек появляется и также условно зависает.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 08 марта 2021, 15:40:26
Еще раз - в связке MPC VR проверки не работают ... пока. Проверки работают только для "встроенного" FSE.

P.S. Вот проверяем - https://disk.yandex.ru/d/XcoCRVNFC6-fGQ
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 09 марта 2021, 07:57:17
Aleksoid1978,
ЦитироватьP.S. Вот проверяем - https://disk.yandex.ru/d/XcoCRVNFC6-fGQ
Проверил тестовые билды: "mpc-be.20210309" и "mpc-be.20210309_2".
В обоих тестовых билдах теперь работают проверки и для "внешнего" режима FSE (внешнего MPC-VR).
В режиме FSE, при нажатии на клавишу "О", окно настроек не вызывается и это правильно, так и должно быть.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 14 марта 2021, 11:38:34
Aleksoid1978, V0lt
Обнаружил проблему с субтитрами ASS/SSA/SRT/UTF-8/Timed Text (tx3g).

Если используется аппаратный D3D11-декодер на MPC-VR (DX11), то при открытии статистики самого видео-рендерера, они растягиваются по горизонтали. Это неправильно, так не должно быть. Если при открытой статистике видео-рендерера перейти в полноэкранный режим, или в режим FSE, то они становятся нормальными, какими и должны быть изначально.

Баг с субтитрами, при D3D11-декодере и открытой статистике, выглядит вот так (https://disk.yandex.ru/i/GLhb_gIke9ITOw).
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 14 марта 2021, 14:32:57
Хм, странно, проверю. Это на любом видео-файле ? С LAV Video так же ?
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 14 марта 2021, 15:23:51
Aleksoid1978,
Цитата: Aleksoid1978 от 14 марта 2021, 14:32:57
Хм, странно, проверю. Это на любом видео-файле ? С LAV Video так же ?
На любом видео файле. С LAV Video Decoder (D3D11) так же, та же проблема.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 15 марта 2021, 13:16:07
Не смог у себя воспроизвести прикол с субтитрами.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 15 марта 2021, 13:19:02
Я думаю помним как я в начале пытался внедрить поддержку D3D FSE режима(ну тот что сейчас в MPC-BE + EVR-CP) в MPC VR.
Так вот, решил вернуться к этому вопросу - по крайней мере у себя на Win 10 все "вроде бы" работает отлично - ставим галку в настройках плейера(или Ctrl+F) и оно работает, создается отдельное FSE окно в связки с MPC VR.
Вот тут все что надо для теста, сам плейер и VR - https://disk.yandex.ru/d/yMd9WS2t2SIeBg?w=1

Пробуем, отписываемся не забывая указывать систему и что за видяха.

P.S. Нормально работает только когда FSE на другой экран от основного окна, иначе при нажатии мышки FSE окно куда-то "прячется". :)
Добавил "вторую" версию, там окно FSE не исчезает.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 15 марта 2021, 20:39:35
Aleksoid1978,
Цитата: Aleksoid1978 от 15 марта 2021, 13:16:07
Не смог у себя воспроизвести прикол с субтитрами.
Тогда просьба, пожалуйста скачайте этот видео файл через торрент (https://disk.yandex.ru/d/4pEJSUTeIUqYkw) и запустите его у себя на Windows 10, при конфигурации: MPC-VR (DX11) + D3D11-декодер.

После запуска, перемотайте файл в произвольное место и ждите показа (отображения) субтитров. Как только они покажутся, то будут растянутыми.

P.S. Только просьба, после запуска файла ни в коем случае не двигать окно и не переходить в различные полноэкранные режимы. Для того, чтобы субтитры стали нормальными, какими и должны быть изначально, достаточно всего лишь чуть-чуть раздвинуть основное окно самого плеера.

P.P.S.
Я сейчас перепроверил кучу различных файлов различных форматов, поддерживающих аппаратное ускорение и понял, что далеко не на всех проявляется этот баг с растянутыми по горизонтали субтитрами. Все же есть определенные видео файлы, где он проявляется сразу же. Один из таких примеров я вам предоставил на скачивание и проверку.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 15 марта 2021, 20:46:21
Aleksoid1978,
Цитата: Aleksoid1978 от 15 марта 2021, 13:19:02
Я думаю помним как я в начале пытался внедрить поддержку D3D FSE режима(ну тот что сейчас в MPC-BE + EVR-CP) в MPC VR.
Так вот, решил вернуться к этому вопросу - по крайней мере у себя на Win 10 все "вроде бы" работает отлично - ставим галку в настройках плейера(или Ctrl+F) и оно работает, создается отдельное FSE окно в связки с MPC VR.
Вот тут все что надо для теста, сам плейер и VR - https://disk.yandex.ru/d/yMd9WS2t2SIeBg?w=1

Пробуем, отписываемся не забывая указывать систему и что за видяха.

P.S. Нормально работает только когда FSE на другой экран от основного окна, иначе при нажатии мышки FSE окно куда-то "прячется". :)
Добавил "вторую" версию, там окно FSE не исчезает.
Вы все-таки решили реализовать режим FSE через отдельное окно. Хорошо, буду проверять...
Не понял, проверять тестовый билд видео-рендерера именно с вашим тестовым бмлдом плеера, или можно также с SVN-билдом?

P.S. Скажу сразу, что касается видеокарт AMD Radeon RX. На них режим FSE в виде внешнего окна работает не совсем корректно, вернее (точнее), сам режим-то будет работать, а вот переходы туда и обратно вызывают "раздробление" изображения (кадров)видео.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 16 марта 2021, 01:10:33
Aleksoid1978,
ЦитироватьПробуем, отписываемся не забывая указывать систему и что за видяха.
Прогнал режим FSE в виде внешнего окна на: Windows 10 + NVIDIA GeForce GT 1030.

В целом, работает нормально, за исключением некоторых нюансов:

1. На DX11, при нажатии "Alt+Tab", в режиме FSE, плеер и само окно FSE виснут намертво.

2. Пока один раз, но удалось поймать "плавающее" закрытие как самого внешнего окна FSE, так и плеера вместе с ним, при переходе на следующий файл в папке в режиме FSE. Выглядит это, как падение, но после закрытия никакого дампа не появилось. В общем, странно, что это вообще было такое? Требуется более длительная прогонка и наблюдение за этим нюансом.

3. При нажатии "Alt+Tab" в режиме FSE на DX9, всегда остается активным курсор мышки.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 16 марта 2021, 01:29:53
Aleksoid1978,
Сложнее всего будет проверять внешнее окно режима FSE на AMD-видеокартах, поскольку изначально оно просто непригодно для использования на данных видеокартах. Также, сложность прогонки заключается еще и в том, что у AMD существует аж целых три разновидности драйверов - Catalyst, Crimson и Adrenalin, включая последнюю Adrenalin 2020 Edition.

Что касается самой работы внешнего окна режима FSE на AMD-видеокартах, то пока я абсолютно точно могу сказать следующее:

1. На серии HD + Catalyst, внешнее окно FSE работает нормально, несмотря на вышеперечисленные нюансы, при переходах туда и обратно, "раздробления" изображения (кадров видео) на кубики не наблюдается.

2. На серии RX + Crimson наблюдается частичное "раздробление" кадров видео, т.е. иначе говоря, кратковременные незначительные артефакты, при переходах туда и обратно.

3. На серии RX + Adrenalin 2020 Edition наблюдается очень сильное и заметное "раздробление" изображения (кадров видео) на кубики, при переходах туда и обратно, при этом, само внешнее окно FSE, после них, продолжает нормально работать, опять же за исключением вышеперечисленных нюансов.

Исходя из подтвержденных фактов, можно сделать вывод, что внешнее окно FSE совершенно не пригодно для AMD-видеокарт.

И это я проверил пока только режим одиночного дисплея. А вот что будет на мультимониторности, надо смотреть...
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 16 марта 2021, 07:31:34
Aleksoid1978, V0lt

Продолжаю прогонку аппаратного D3D11-декодера на MPC-VR (DX11)...

Хочу сказать, что после более тщательной прогонки, все гораздо хуже, чем я видел и предполагал изначально. А именно, в первую очередь, - это отображение субтитров. Если на одних видео файлах они выглядят растянутыми по горизонтали, то на других и вовсе не отображаются в окне, пока не перейдешь в полноэкранные режимы. Даже, при перемотке, они не отрисовываются.

Далее, в случаях изменения/переключения различных форматов на лету, при работе аппаратного D3D11-декодера, пропадает индикатор (значок) GPU.

Пока очевидно, что сам аппаратный D3D11-декодер какой-то "некорректный", ибо с ним имеются довольно неприятные проблемы.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 16 марта 2021, 07:36:56
Все корректно с самим декодером. Субтитры - это в VR надо смотреть, значок GPU - да видимо какая-то недоработка :)
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 16 марта 2021, 10:40:49
Про значок не особо понял "в случаях изменения/переключения различных форматов на лету, при работе аппаратного D3D11-декодера, пропадает индикатор (значок) GPU." - можно конкретнее ?
Хотя это не имеет отношения к данному топику совершенно :)
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 16 марта 2021, 10:59:11
Aleksoid1978,
Цитата: Aleksoid1978 от 16 марта 2021, 10:40:49
Про значок не особо понял "в случаях изменения/переключения различных форматов на лету, при работе аппаратного D3D11-декодера, пропадает индикатор (значок) GPU." - можно конкретнее ?
Пожалуйста, приготовил для вас краткий видео-алгоритм (https://disk.yandex.ru/i/97lIxRyLCJBPBw) воспроизведения бага.
ЦитироватьХотя это не имеет отношения к данному топику совершенно :)
Это имеет прямое отношение к данному топику, поскольку баг проявляется именно на MPC-VR, при DX11 API, так как у нас используется аппаратный D3D11-декодер. И именно при нем и проявляется пропадание индикатора GPU.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 16 марта 2021, 11:06:07
Aleksoid1978,
Также, прилагаю ссылку (http://rutor.info/torrent/346880/holodnoe-serdce_frozen-2013-bdrip-hevc-1080p-ot-freeisland) на знакомый вам видео файл, в котором, при использовании аппаратного D3D11-декодера, полностью отсутствует отображение субтитров в оконном режиме, т.е. в окне плеера.

Воспроизвести баг элементарно, достаточно всего лишь навсего скачать и запустить видео файл и дождаться песни про лед. Естественно, при наличии работы аппаратного D3D11-декодера на MPC-VR (DX11 API) в оконном режиме.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 16 марта 2021, 11:06:26
Вот блин - надо конкретно говорить про переключение Youtube :)

По поводу субтитров - не смог воспроизвести, скачал тот файл с торрента - все с ними ок.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 16 марта 2021, 11:07:45
Цитата: Evgeniy1990 от 16 марта 2021, 11:06:07
Aleksoid1978,
Также, прилагаю ссылку (http://rutor.info/torrent/346880/holodnoe-serdce_frozen-2013-bdrip-hevc-1080p-ot-freeisland) на знакомый вам видео файл, в котором, при использовании аппаратного D3D11-декодера, полностью отсутствует отображение субтитров в оконном режиме, т.е. в окне плеера.

Воспроизвести баг элементарно, достаточно всего лишь навсего скачать и запустить видео файл и дождаться песни про лед. Естественно, при наличии работы аппаратного D3D11-декодера на MPC-VR (DX11 API) в оконном режиме.

У меня не открывается сайт :)
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 16 марта 2021, 11:10:00
Aleksoid1978,
ЦитироватьПо поводу субтитров - не смог воспроизвести, скачал тот файл - все с ними ок.
Да не может такого быть... Баг строго стабильный, проявляется на Windows 10 сразу же, при работе аппаратного D3D11-декодера на MPC-VR, при DX11 API.

Пробуйте тогда воспроизвести у себя отсутствие субтитров в окне, при работе аппаратного D3D11-декодера на MPC-VR, при DX11 API.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 16 марта 2021, 11:11:39
Aleksoid1978,
ЦитироватьУ меня не открывается сайт
Понял, прилагаю торрент-файл (https://disk.yandex.ru/d/ZkH7wYR0qOPUNw).
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 16 марта 2021, 11:26:53
По поводу индикатора GPU - это тупо "баг" отрисовки :)
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 16 марта 2021, 11:31:52
Aleksoid1978,
Решил продемонстрировать вам наглядно проблемы с субтитрами (https://disk.yandex.ru/d/fr_2iL45CABBsQ), при использовании аппаратного D3D11-декодера на Windows 10.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 16 марта 2021, 11:51:02
По поводу значка GPU - там прикол в том что декодер инициализируется окончательно уже после начала декодирования, гляну что можно сделать.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 16 марта 2021, 12:25:43
Отсутствие субтитров на Холодном сердце подтверждаю. Будем смотреть.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 16 марта 2021, 13:03:18
С Lavdx11 native субтитры есть в Холодном сердце. Значит ничего страшного. Всего лишь какой-то нюанс.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 16 марта 2021, 13:31:22
Исправлены субтитры, исправлен значок GPU.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 16 марта 2021, 20:33:44
Aleksoid1978,
Цитата: Aleksoid1978 от 16 марта 2021, 13:31:22
Исправлены субтитры, исправлен значок GPU.
Великолепно! Грандиозно! :)

Вот теперь DX11 в MPC-VR отлажен более менее с аппаратным D3D11-декодером.

Есть еще один нюанс (проблема) - это остаточный кадр в самом конце воспроизведения. Дело в том, что если у нас установлена опция "Перемотать в конце", то его быть не должно, при использовании аппаратного D3D11-декодера.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 16 марта 2021, 21:06:27
Evgeniy1990,
У себя проверил на остаточный кадр при включённой опции "перемотать в конце". Не перематывает с любым декодером, не только при использовании аппаратного D3D11-декодера на gt730m. А на intelhd4000 перематывает даже с dxva11. Тут непонятная ситуация.
P.S. Дополнение к нюансу. Если включить статистику, то перематывает и на gt730m. Такая же ситуация с остановкой. Без статистики остановка получается как стоп-кадр, со статистикой - чёрный экран. Происходит это  с "discard", с "flip sequential" всё выглядит корректно. Проверил MPCVideoRenderer-0.5.2.1607, на нём и с "discard" всё нормально с lav dx11 native и другими декодерами. Так что это связано с последними изменениями. Поищем....
MPCVideoRenderer-0.5.3.1651_git2021.03.08-2db41cf тоже всё нормально с "discard"
MPCVideoRenderer-0.5.3.1655_git2021.03.13-45752a0 тоже всё нормально с "discard"
MPCVideoRenderer-0.5.3.1657_git2021.03.15-79665a2 здесь уже перемотка в конце и на остановке с "discard" не работает на gt730m
P.P.S. Вещественные доказательства >
0.5.3.1655 - https://yadi.sk/i/JLHZKSS6Kh1mSw discard работает с dx11 vp
0.5.3.1657 - https://yadi.sk/i/ztE2kiciVMxvlA discard не работает с dx11 vp , если отключить dx11 vp , то будет.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 17 марта 2021, 07:14:33
Спасибо за инфу, посмотрим.
А на самом деле оно бы и раньше так работало на discard, но по программной "ошибке" вместо VP для ресайза использовались шейдеры, поэтому этого эффекта и не наблюдалось.
Я думаю это можно проверить на старых билдах при условии вывода картинки в 100%.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 17 марта 2021, 07:33:16
Aleksoid1978,
Возможно. Но если бы по ошибке использовался shaders vp в dx11 для ресайза, то некоторые файлы типа 4k h.264 60fps невозможно было бы воспроизвести без дропов на этой железяке.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 17 марта 2021, 09:44:01
Цитата: MPCfan от 17 марта 2021, 07:33:16
Aleksoid1978,
Возможно. Но если бы по ошибке использовался shaders vp в dx11 для ресайза, то некоторые файлы типа 4k h.264 60fps невозможно было бы воспроизвести без дропов на этой железяке.
Немного не так, я не совсем верно выразился - для ресайза использовался VP, но потом подрубались лишние копирования текстур. Короче сложно все объяснить, но в последних изменениях нет ошибок - наоборот, все стало как оно и должно быть. А этот последний кадр - да и хрен с ним :)
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 21 марта 2021, 08:25:29
Aleksoid1978,
Обнаружил серьезную поломку - отвал режима FSE, после возвращения на DX9 API, при условии использования одной текущей сессии.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 22 марта 2021, 02:59:33
Цитата: Evgeniy1990 от 21 марта 2021, 08:25:29
Aleksoid1978,
Обнаружил серьезную поломку - отвал режима FSE, после возвращения на DX9 API, при условии использования одной текущей сессии.
Ничего не понятно.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 22 марта 2021, 05:35:17
Aleksoid1978,
ЦитироватьНичего не понятно.
Алгоритм воспроизведения:

1. Открыть настройки MPC Video Renderer
2. Включить опции: "Use Direct3D 11" и "Use exclusive fullscreen"
3. Запустить произвольный видео файл (H.264)
4. Перейти в режим FSE
5. Выйти из режима FSE
6. Не закрывая текущую сессию, снова открыть настройки MPC Video Renderer
7. Выключить только опцию: "Use Direct3D 11"
8. Не закрывая текущую сессию, перезапустить произвольный видео файл (H.264)
9. Перейти в режим FSE

Фактический результат:

После выполнения данного алгоритма, при переходе в режим FSE, произойдет мертвое зависание самого режима FSE, при этом звук пойдет дальше.

Ожидаемый результат:

После выполнения данного алгоритма, при переходе в режим FSE, не должен намертво зависать сам режим FSE.
Название: Re: MPC Video Renderer
Отправлено: usalex от 06 мая 2021, 14:13:25
Билд 1704 вроде бы направлен на исправление падений при использовании внешних фильтров.
Но на нем, как и на 1703 плеер падает при перемотке. Использую с LAV декодером.
При использовании встроенных декодеров падений нет.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 06 мая 2021, 14:55:57
Перемотка и те исправления совершенно не про чем. По поводу паления в связке с LAV можно подробнее?
Название: Re: MPC Video Renderer
Отправлено: usalex от 06 мая 2021, 15:39:23
Цитата: Aleksoid1978 от 06 мая 2021, 14:55:57По поводу паления в связке с LAV можно подробнее?
Падает, когда кручу колесом вперед-назад. Это и в окне и в эксклюзиве происходит.
D3D11, Flip
LAV декодер тоже в режиме D3D11.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 06 мая 2021, 15:48:37
Именно падение, а не зависание. Сколько надо крутить колесом мыши чтобы словить ?
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 06 мая 2021, 15:50:37
Проверил - очееень много крутил колесо вперед/назад - не смог получить падение, все ок :)
Название: Re: MPC Video Renderer
Отправлено: usalex от 06 мая 2021, 16:03:41
Aleksoid1978, ну и ладно.
Встроенный декодер не хуже чем LAV. Буду его юзать.
Название: Re: MPC Video Renderer
Отправлено: usalex от 06 мая 2021, 16:05:04
Цитата: Aleksoid1978 от 06 мая 2021, 15:48:37
Именно падение, а не зависание.
Глухое зависание. А после нажатия на крестик - винда предлагает закрыть программу.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 14 мая 2021, 13:02:40
V0lt
В последних билдах наблюдается плавающая проблема с пропаданием изображения (воспроизведения кадров), при условии использования D3D11 + Flip. Проявляется, в основном, при переходе в полноэкранные режимы.

Выглядит это примерно вот так (https://disk.yandex.ru/i/2eNs3BDJ2nCLqg).
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 14 мая 2021, 14:59:53
Цитата: Evgeniy1990 от 14 мая 2021, 13:02:40
V0lt
В последних билдах наблюдается плавающая проблема с пропаданием изображения (воспроизведения кадров), при условии использования D3D11 + Flip. Проявляется, в основном, при переходе в полноэкранные режимы.

Выглядит это примерно вот так (https://disk.yandex.ru/i/2eNs3BDJ2nCLqg).

Собирай Debug билд и смотри при это что в логе.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 14 мая 2021, 16:07:54
Aleksoid1978,
ЦитироватьСобирай Debug билд и смотри при это что в логе.
Собрал Debug-билд, воспроизвел плавающую проблему (баг) и посмотрел лог-файл.
В нем есть достаточное количество строк с таким вот сообщением:

00000790 394.12179565 [6644] MpcVideoRenderer64.ax(tid 1e70)   394123 : CDX11VideoProcessor::Render() : GetBuffer() failed with error DXGI_ERROR_INVALID_CALL
00000791 394.16375732 [6644] MpcVideoRenderer64.ax(tid 1e70)   394165 : CDX11VideoProcessor::Render() : GetBuffer() failed with error DXGI_ERROR_INVALID_CALL
00000792 394.20574951 [6644] MpcVideoRenderer64.ax(tid 1e70)   394207 : CDX11VideoProcessor::Render() : GetBuffer() failed with error DXGI_ERROR_INVALID_CALL
00000793 394.24584961 [6644] MpcVideoRenderer64.ax(tid 1e70)   394247 : CDX11VideoProcessor::Render() : GetBuffer() failed with error DXGI_ERROR_INVALID_CALL
00000794 394.28787231 [6644] MpcVideoRenderer64.ax(tid 1e70)   394289 : CDX11VideoProcessor::Render() : GetBuffer() failed with error DXGI_ERROR_INVALID_CALL
00000795 394.32992554 [6644] MpcVideoRenderer64.ax(tid 1e70)   394331 : CDX11VideoProcessor::Render() : GetBuffer() failed with error DXGI_ERROR_INVALID_CALL
00000796 394.37179565 [6644] MpcVideoRenderer64.ax(tid 1e70)   394373 : CDX11VideoProcessor::Render() : GetBuffer() failed with error DXGI_ERROR_INVALID_CALL
00000797 394.41293335 [6644] MpcVideoRenderer64.ax(tid 1e70)   394414 : CDX11VideoProcessor::Render() : GetBuffer() failed with error DXGI_ERROR_INVALID_CALL
00000798 394.45483398 [6644] MpcVideoRenderer64.ax(tid 1e70)   394456 : CDX11VideoProcessor::Render() : GetBuffer() failed with error DXGI_ERROR_INVALID_CALL
00000799 394.49978638 [6644] MpcVideoRenderer64.ax(tid 1e70)   394501 : CDX11VideoProcessor::Render() : GetBuffer() failed with error DXGI_ERROR_INVALID_CALL
00000800 394.53976440 [6644] MpcVideoRenderer64.ax(tid 1e70)   394541 : CDX11VideoProcessor::Render() : GetBuffer() failed with error DXGI_ERROR_INVALID_CALL
00000801 394.57983398 [6644] MpcVideoRenderer64.ax(tid 1e70)   394581 : CDX11VideoProcessor::Render() : GetBuffer() failed with error DXGI_ERROR_INVALID_CALL
00000802 394.62078857 [6644] MpcVideoRenderer64.ax(tid 1e70)   394622 : CDX11VideoProcessor::Render() : GetBuffer() failed with error DXGI_ERROR_INVALID_CALL
00000803 394.66473389 [6644] MpcVideoRenderer64.ax(tid 1e70)   394666 : CDX11VideoProcessor::Render() : GetBuffer() failed with error DXGI_ERROR_INVALID_CALL
00000804 394.70574951 [6644] MpcVideoRenderer64.ax(tid 1e70)   394707 : CDX11VideoProcessor::Render() : GetBuffer() failed with error DXGI_ERROR_INVALID_CALL
00000805 394.74884033 [6644] MpcVideoRenderer64.ax(tid 1e70)   394750 : CDX11VideoProcessor::Render() : GetBuffer() failed with error DXGI_ERROR_INVALID_CALL
00000806 394.79077148 [6644] MpcVideoRenderer64.ax(tid 1e70)   394792 : CDX11VideoProcessor::Render() : GetBuffer() failed with error DXGI_ERROR_INVALID_CALL
00000807 394.82873535 [6644] MpcVideoRenderer64.ax(tid 1e70)   394830 : CDX11VideoProcessor::Render() : GetBuffer() failed with error DXGI_ERROR_INVALID_CALL
00000808 394.87286377 [6644] MpcVideoRenderer64.ax(tid 1e70)   394874 : CDX11VideoProcessor::Render() : GetBuffer() failed with error DXGI_ERROR_INVALID_CALL
00000809 394.91799927 [6644] MpcVideoRenderer64.ax(tid 1e70)   394917 : CDX11VideoProcessor::Render() : GetBuffer() failed with error DXGI_ERROR_INVALID_CALL
00000810 394.91833496 [6644] MpcVideoRenderer64.ax(tid 1748)   394917 : CMpcVideoRenderer::Pause()
00000811 394.92077637 [6644] MpcVideoRenderer64.ax(tid 1748)   394919 : CMpcVideoRenderer::BeginFlush()
00000812 394.96817017 [6644] MpcVideoRenderer64.ax(tid 1748)   394969 : CMpcVideoRenderer::EndFlush()
00000813 394.96942139 [6644] MpcVideoRenderer64.ax(tid a6c)   394970 : CMpcVideoRenderer::NewSegment()
00000814 394.97280884 [6644] MpcVideoRenderer64.ax(tid 22ec)   394974 : CMpcVideoRenderer::Stop()
00000815 394.97302246 [6644] MpcVideoRenderer64.ax(tid 22ec)   394974 : CMpcVideoRenderer::BeginFlush()
00000816 394.98077393 [6644] MpcVideoRenderer64.ax(tid 22ec)   394982 : CMpcVideoRenderer::EndFlush()
00000817 394.98483276 [6644] MpcVideoRenderer64.ax(tid 22ec)   394986 : CVideoRendererInputPin::ReceiveConnection()
00000818 394.98498535 [6644] MpcVideoRenderer64.ax(tid 22ec)   394986 : CMpcVideoRenderer::SetMediaType()
00000819 394.98498535 [6644] MajorType : Video
00000820 394.98498535 [6644] SubType   : NV12
00000821 394.98498535 [6644] FormatType: VideoInfo2
00000822 394.98498535 [6644] BimapSize : 720 x 480
00000823 394.98498535 [6644] SourceRect: (0, 0, 720, 480)
00000824 394.98498535 [6644] SizeImage : 518400 bytes
00000825 394.98507690 [6644] MpcVideoRenderer64.ax(tid 22ec)   394986 : CDX11VideoProcessor::InitMediaType()
00000826 394.98510742 [6644] MpcVideoRenderer64.ax(tid 22ec)   394986 : CDX11VideoProcessor::ReleaseVP()
00000827 451.81625366 [6644] MpcVideoRenderer64.ax(tid 22ec)   451816 : CDX11VideoProcessor::InitializeD3D11VP() started with input surface: NV12, 720 x 480
00000828 451.81628418 [6644] MpcVideoRenderer64.ax(tid 22ec)   451817 : CDX11VideoProcessor::InitializeD3D11VP() : CreateVideoProcessorEnumerator() failed with error DXGI_ERROR_DEVICE_REMOVED
00000829 451.81671143 [6644] MpcVideoRenderer64.ax(tid 22ec)   451817 : CDX11VideoProcessor::InitializeD3D11VP() : InitVideoProcessor() failed with error DXGI_ERROR_DEVICE_REMOVED
00000830 451.81689453 [6644] MpcVideoRenderer64.ax(tid 22ec)   451817 : CDX11VideoProcessor::ReleaseVP()
00000831 451.81747437 [6644] MpcVideoRenderer64.ax(tid 22ec)   451817 : CDX11VideoProcessor::InitializeTexVP() started with input surface: NV12, 720 x 480
00000832 451.81768799 [6644] MpcVideoRenderer64.ax(tid 22ec)   451818 : CDX11VideoProcessor::InitializeTexVP() : m_TexSrcVideo.CreateEx() failed with error DXGI_ERROR_DEVICE_REMOVED
00000833 451.81784058 [6644] MpcVideoRenderer64.ax(tid 22ec)   451818 : CDX11VideoProcessor::InitMediaType()
00000834 451.81784058 [6644] MpcVideoRenderer64.ax(tid 22ec)   451818 : CDX11VideoProcessor::ReleaseVP()
00000835 452.65588379 [6644] MpcVideoRenderer64.ax(tid 22ec)   452656 : CDX11VideoProcessor::InitializeD3D11VP() started with input surface: NV12, 720 x 480
00000836 452.65597534 [6644] MpcVideoRenderer64.ax(tid 22ec)   452656 : CDX11VideoProcessor::InitializeD3D11VP() : CreateVideoProcessorEnumerator() failed with error DXGI_ERROR_DEVICE_REMOVED
00000837 452.65634155 [6644] MpcVideoRenderer64.ax(tid 22ec)   452656 : CDX11VideoProcessor::InitializeD3D11VP() : InitVideoProcessor() failed with error DXGI_ERROR_DEVICE_REMOVED
00000838 452.65682983 [6644] MpcVideoRenderer64.ax(tid 22ec)   452656 : CDX11VideoProcessor::ReleaseVP()
00000839 452.65695190 [6644] MpcVideoRenderer64.ax(tid 22ec)   452657 : CDX11VideoProcessor::InitializeTexVP() started with input surface: NV12, 720 x 480
00000840 452.65750122 [6644] MpcVideoRenderer64.ax(tid 22ec)   452657 : CDX11VideoProcessor::InitializeTexVP() : m_TexSrcVideo.CreateEx() failed with error DXGI_ERROR_DEVICE_REMOVED
00000841 452.65765381 [6644] MpcVideoRenderer64.ax(tid 22ec)   452657 : Failed to set the media type or failed to complete the connection.
00000842 452.65786743 [6644] MpcVideoRenderer64.ax(tid 22ec)   452658 : CVideoRendererInputPin::ReceiveConnection()
00000843 452.65792847 [6644] MpcVideoRenderer64.ax(tid 22ec)   452658 : CMpcVideoRenderer::SetMediaType()
00000844 452.65792847 [6644] MajorType : Video
00000845 452.65792847 [6644] SubType   : NV12
00000846 452.65792847 [6644] FormatType: VideoInfo2
00000847 452.65792847 [6644] BimapSize : 720 x 480
00000848 452.65792847 [6644] SourceRect: (0, 0, 720, 480)
00000849 452.65792847 [6644] SizeImage : 518400 bytes
00000850 452.65802002 [6644] MpcVideoRenderer64.ax(tid 22ec)   452658 : CDX11VideoProcessor::InitMediaType()
00000851 452.65863037 [6644] MpcVideoRenderer64.ax(tid 22ec)   452658 : CDX11VideoProcessor::ReleaseVP()
00000852 460.16912842 [3948] Suspending


P.S. На всякий случай, прилагаю сам лог-файл (https://disk.yandex.ru/d/sqhTWNd5fiONgQ).
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 14 мая 2021, 16:13:11
Aleksoid1978,
Хуже всего то, что после этого происходит полный обрыв самого видео-рендерера. Потому что, в конечном итоге, мы имеет статус в PinInfo: Not connected (https://disk.yandex.ru/i/HpRF_xFq0_fYmg). Обрыв, т.е. отделение (обрезание) фильтра MPC Video Renderer от основного графа фильтров.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 14 мая 2021, 16:24:42
V0lt / Aleksoid1978
Обрыв видео-рендерера происходит не сразу. Это хорошо видно на моей первой видеозаписи, где в статистике видео-рендерера он "якобы остановился", а в свойствах все еще продолжает работать. Чтобы его получить, нужно сперва воспроизвести саму плавающую проблему. Затем, после получения плавающей проблемы, нужно будет попробовать перемотать воспроизводимый видео файл вперед, или назад, т.е. в любую сторону. Вот тогда уже произойдет полный обрыв самого видео-рендерера (https://disk.yandex.ru/i/93GViGMKPG08sQ).
Название: Re: MPC Video Renderer
Отправлено: V0lt от 14 мая 2021, 16:49:34
00000369 378.06552124 [6644] D3D11: Removing Device.
00000370 378.06665039 [6644] MpcVideoRenderer64.ax(tid 1e70)   378067 : CDX11VideoProcessor::Render() : Present() failed with error DXGI_ERROR_DEVICE_REMOVED

Но Я предлагаю сначала разобраться с Dism, который что-то творит в фоне. Возможно он и отключил D3D11 Device.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 14 мая 2021, 17:33:16
Это у тебя локальная проблема, ошибка DXGI_ERROR_DEVICE_REMOVED. По описанию это означает что устройство было удалено из системы или драйвер обновлен, но такое вряд ли возможно. Так что совет такой - попробовать поставить последние дрова на видяху, желательно с полным сносом старых.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 14 мая 2021, 17:37:20
А точно, сообщение от чего-то в логе - D3D11: Removing Device., что грешить на VR то :)
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 14 мая 2021, 19:23:43
Aleksoid1978,
Цитата: Aleksoid1978 от 14 мая 2021, 17:33:16
Это у тебя локальная проблема, ошибка DXGI_ERROR_DEVICE_REMOVED. По описанию это означает что устройство было удалено из системы или драйвер обновлен, но такое вряд ли возможно. Так что совет такой - попробовать поставить последние дрова на видяху, желательно с полным сносом старых.
У меня итак стояли последние драйвера от NVIDIA для модели GTS 450 - 391.35. Проверил более ранние версии - та же самая плавающая проблема. Это говорит о том, что от драйверов точно не зависит.
Цитата: Aleksoid1978 от 14 мая 2021, 17:37:20
А точно, сообщение от чего-то в логе - D3D11: Removing Device., что грешить на VR то :)
Не понял... Хотите сказать, что есть нечто в системе, которое удаляет D3D11 Device? Тогда и вовсе странно...
Что в системе может удалять/отключать работу D3D11? (O_o)
Название: Re: MPC Video Renderer
Отправлено: V0lt от 15 мая 2021, 16:50:18
Цитата: Evgeniy1990 от 14 мая 2021, 19:23:43Что в системе может удалять/отключать работу D3D11? (O_o)
Я выше писал (https://mpc-be.org/forum/index.php?topic=381.msg7847#msg7847), что может.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 23 июня 2021, 20:10:31
Релиз MPC Video Renderer 0.5.4.1723 (https://github.com/Aleksoid1978/VideoRenderer/releases/tag/0.5.4)

Изменения:
Исправлен дитеринг при выводе 10-бит для режима DX11.
Улучшена совместимость с CoreAVC Video Decoder
Исправлен поворот кадра при использовании видеопроцессора DXVA2 и D3D11.
Добавлена проверка создания входной поверхности для видеопроцессора DXVA2. Это исправляет проблему с форматом Y410 на графике Intel.
Исправлена работа последнего post-resize шейдера в режиме DX11, когда активен дитеринг.
Ускорено копирование из декодера DXVA2 в текстуру D3D11 для встроенной графики Intel.
Исправлено отображение окна настроек при открытии из командной строки (rundll32.exe).
Улучшена стабильность режима DX11.
Устранено мерцание субтитров в режиме DX11 в некоторых ситуациях.
Улучшена совместимость с PotPlayer.
Добавлена команда GetBool("doubleRate") для получения информации о удвоении частоты кадров. Такое возможно при использовании деинтерлейса.
Исправлена работа отладочной версии на системах без Windows SDK.
Устранены падения при работе с некоторыми внешними фильтрами.
Добавлена экспериментальная опция "Wait for V-Blank before Present".
Рекомендуемая версия MPC-BE 1.5.7.6180 или новее.
Название: Re: MPC Video Renderer
Отправлено: LongKick64 от 04 июля 2021, 23:46:00
Исчез скриншот окна настроек с первой страницы темы.
Название: Re: MPC Video Renderer
Отправлено: LongKick64 от 04 июля 2021, 23:51:50
Еще, обратил внимание что если перейти на вкладку "Information" в окне настроек рендерера и нажать клавишу Esc, то вместо закрытия окна, сначала исчезнет текстовое поле на этой вкладке и только после повторного нажатия на клавишу Esc, закроется окно.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 05 июля 2021, 20:10:14
LongKick64
По поводу вкладки "Information". Знаете как исправить косметические баги - присылайте патчи. Я не знаю.
Главное условие: использовать MFC нельзя, можно - ATL.

Скриншот восстановил. Обновил описание настроек.
Название: Re: MPC Video Renderer
Отправлено: LongKick64 от 05 июля 2021, 21:47:59
Цитата: V0lt от 05 июля 2021, 20:10:14
LongKick64
По поводу вкладки "Information". Знаете как исправить косметические баги - присылайте патчи. Я не знаю.
Главное условие: использовать MFC нельзя, можно - ATL.

Скриншот восстановил. Обновил описание настроек.
Ну, раз не знаете, значит не знаете.
Название: Re: MPC Video Renderer
Отправлено: usalex от 11 июля 2021, 17:13:53
На билде 1729 не держится галка "Wait for vBlank".
(в DX9 и в DX11)
Сбрасывается после перезапуска плеера.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 11 июля 2021, 17:42:43
Исправлено в 0.5.5.1730 5697cc0.
Название: Re: MPC Video Renderer
Отправлено: usalex от 12 июля 2021, 01:23:25
V0lt, спасибо.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 12 июля 2021, 09:13:03
LongKick64,
Цитата: LongKick64 от 04 июля 2021, 23:51:50
Еще, обратил внимание что если перейти на вкладку "Information" в окне настроек рендерера и нажать клавишу Esc, то вместо закрытия окна, сначала исчезнет текстовое поле на этой вкладке и только после повторного нажатия на клавишу Esc, закроется окно.
А если перейти на любую другую вкладку, то вообще можно получить "Г-образный огрызок (https://disk.yandex.ru/i/ANN2zULtKpnMqA)" интерфейса элемента управления ActiveX.
Название: Re: MPC Video Renderer
Отправлено: usalex от 12 июля 2021, 13:13:43
Как-то странно работает в винде синхра.
В плеере (в рендерерах) отключаю все галки синхры - картинка не рвется, никакого тиринга.
Но если в драйвере ВК выставить "Вертикальный синхроимпульс = Выкл", то идут разрывы (тиринг).
Ни фига не понимаю - почему тиринга нет, когда в драйвере выставлено "Синхроимпульс = От приложения", а в этом самом приложении (в плеере) все галки синхры сняты.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 12 июля 2021, 16:58:26
usalex
Потому что начиная с Win7 (или с Висты) c включенным Aero тиринг в принципе невозможен. Всем рулит Desktop Window Manager. И галки в плеере на тиринг не влияют, как это было в XP.

Если вы залезли в драйвер, что-то там накрутили и получили тиринг - поздравляю вы сломали работу DWM. Можно обратиться в MS или производителю драйвера, но вам скорее всего скажут - верните все взад, что правильно.
Название: Re: MPC Video Renderer
Отправлено: usalex от 12 июля 2021, 17:40:57
Цитата: V0lt от 12 июля 2021, 16:58:26
Если вы залезли в драйвер, что-то там накрутили и получили тиринг - поздравляю вы сломали работу DWM.
Как можно сломать винду, изменив легальную настройку в драйвере???
Вот эту:
(https://www.upload.ee/image/13306925/008.png)
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 12 июля 2021, 18:32:36
usalex,
А тиринг только в эксклюзиве или в оконном режиме тоже?
Могу добавить, что тоже имею тиринг на своей GT730M c выключенным V/Sync в драйвере, но только в эксклюзиве.
Между прочим в Потплеере тоже рвёт(тиринг).
Название: Re: MPC Video Renderer
Отправлено: V0lt от 12 июля 2021, 18:37:46
Цитата: usalex от 12 июля 2021, 13:13:43а в этом самом приложении (в плеере) все галки синхры сняты.
Эти галки на MPC VR не влияют, поэтому не в тему.
Название: Re: MPC Video Renderer
Отправлено: usalex от 12 июля 2021, 18:46:28
V0lt, в mpcvr тоже есть галка vBlank, так что...

MPCfan, в оконном полноэкранном режиме тоже.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 12 июля 2021, 19:09:45
usalex,
Тогда, может лучше оставить как есть, в смысле настройку драйвера(от приложения) и не мучиться с тирингом.
У себя для GT730M всегда включён принудительно V/Sync и никаких вроде проблем не наблюдаю.
VBlank в mpc-vr по-моему к V/Sync по большому счёту не имеет никакого отношения.
Название: Re: MPC Video Renderer
Отправлено: usalex от 12 июля 2021, 19:52:50
MPCfan, да я не мучаюсь.
Просто удивился странному поведению винды.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 13 июля 2021, 21:19:03
LongKick64, Evgeniy1990
Глюк вкладки "Information" при нажатии Esc, когда активно основное текстовое поле с информацией, устранен в 1732 git2021.07.13-c414764 (https://github.com/Aleksoid1978/VideoRenderer/commit/c414764fde67118a628b2d33d6502dfc0ad8d0cb).

Если ранее владка глючила, то теперь свойтсва фильтра не закрываются при нажатии Esc, если активно основное текстовое поле с информацией. Я думаю это лучше, чем было (другого решения нет). Можете не писать об этом косметическом нюансе.
Название: Re: MPC Video Renderer
Отправлено: usalex от 13 сентября 2021, 17:42:11
В режиме dx11 шейдеры не поддерживаются ?
Название: Re: MPC Video Renderer
Отправлено: V0lt от 13 сентября 2021, 18:05:49
usalex
Поддерживаются. См. папку Shaders11 в профиле или папке плеера.
Название: Re: MPC Video Renderer
Отправлено: usalex от 13 сентября 2021, 18:20:56
Я добавил в эту папку свой шейдер и он не пашет, ни в шейдерах окна, ни в шейдерах кадра.
В Pot-е этот шейдер нормально работает на встроенном dx11.
Пробовал этот свой шейдер в MPCVR в режиме dx9 - он работает только при добавлении в "Шейдеры окна" и не работает в "Шейдеры кадра".

Сам шейдер совсем простой (накладывает черную полосу внизу экрана):


// $MinimumShaderProfile: ps_3_0

sampler s0 : register(s0);
float4 main(float2 tex : TEXCOORD0) : COLOR {
    return (tex.y <= 0.900) ? tex2D(s0, tex) : 0;
}
Название: Re: MPC Video Renderer
Отправлено: V0lt от 13 сентября 2021, 20:28:43
usalex
ЦитироватьЯ добавил в эту папку свой шейдер и он не пашет, ни в шейдерах окна, ни в шейдерах кадра.
Отдельная папка сделана специально, потому что там шейдеры ps_4_0, у которых новый формат записи.
ЦитироватьПробовал этот свой шейдер в MPCVR в режиме dx9 - он работает только при добавлении в "Шейдеры окна" и не работает в "Шейдеры кадра".
Да. Такое ограничение.

Вот ваш шейдер в современном варианте:
// $MinimumShaderProfile: ps_4_0

Texture2D tex : register(t0);
SamplerState samp : register(s0);

float4 main(float4 pos : SV_POSITION, float2 coord : TEXCOORD) : SV_Target
{
return  (coord.y <= 0.900) ? tex.Sample(samp, coord) : 0;
}
Название: Re: MPC Video Renderer
Отправлено: usalex от 13 сентября 2021, 21:43:20
Цитата: V0lt от 13 сентября 2021, 20:28:43
Вот ваш шейдер в современном варианте
Работает.
СПАСИБО!
Название: Re: MPC Video Renderer
Отправлено: usalex от 14 сентября 2021, 03:05:54
V0lt, а для dx9 этот шейдер можно как-то доработать до "современного" вида или он и так максимально оптимизирован?
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 14 сентября 2021, 03:31:25
Синтаксис DX9/DX11 шейдеров отличается, про "современный вид" это просто была типа "шутка" :)
Название: Re: MPC Video Renderer
Отправлено: usalex от 15 сентября 2021, 19:53:48
А при использовании madVR (dx11) можно как-то заставить работать шейдеры?
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 16 сентября 2021, 05:50:09
Цитата: usalex от 15 сентября 2021, 19:53:48
А при использовании madVR (dx11) можно как-то заставить работать шейдеры?
DX9 шейдеры поддерживает madVR, даже при работе DX11 режима.
Название: Re: MPC Video Renderer
Отправлено: usalex от 16 сентября 2021, 13:15:30
Aleksoid1978, странно - мой DX9 шейдер не работает ни в окне, ни в кадре.
Вот этот:

// $MinimumShaderProfile: ps_3_0

sampler s0 : register(s0);
float4 main(float2 tex : TEXCOORD0) : COLOR {
    return (tex.y <= 0.900) ? tex2D(s0, tex) : 0;
}
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 16 сентября 2021, 14:49:53
А зачем здесь эта информация, спрашивай про madVR.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 14 ноября 2021, 18:36:30
Есть предложение. Для Win8.1/10 по умолчанию использовать режим D3D11.
Текущие настройки юзеров не слетят.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 15 ноября 2021, 01:52:12
Я только за.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 15 ноября 2021, 12:40:43
MpcVideoRenderer-0.5.5.1786_git2021.11.15-aba3525, на Win8 по умолчанию dx9.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 15 ноября 2021, 14:30:13
Да, DX11 сделано по дефолту начиная с Win 8.1
Название: Re: MPC Video Renderer
Отправлено: V0lt от 15 ноября 2021, 18:17:16
MPCfan
Включил "UseD3D11" по умолчанию для Win8.1/10, т.к. аппаратное ускорение D3D11 работает хорошо и почти без сюрпризов. Только AMD картину портит.

Я не помню, насколько хорошо работает аппаратное ускорение D3D11 (декодер и видеопроцессор) в Windows 8. Поэтому и не стал включать по умолчанию. Тут пользователям надо определиться какой режим (D3D9 или D3D11) предпочтительнее на этой системе и внести предложение.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 15 ноября 2021, 18:31:02
В принципе разницы между Win8.1 Intelhd5500 и Win8 Intelhd4000 c dx11 у себя не вижу. Было пару нюансов, которые проявились в Win8, а в Win8.1 нет. Но по факту всё же оказались багами, уже исправлены. Пользуюсь оконным dx11 на обоих системах, всё устраивает. Предлагаю разрешить и Win8 по умолчанию dx11.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 15 ноября 2021, 19:17:35
MPCfan
Хорошо. Включил "UseD3D11" по умолчанию для Win8 в 1acb46c.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 15 ноября 2021, 20:29:03
V0lt,
Спасибо!
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 16 ноября 2021, 00:33:46
V0lt,
Цитировать
Включил "UseD3D11" по умолчанию для Win8.1/10, т.к. аппаратное ускорение D3D11 работает хорошо и почти без сюрпризов. Только AMD картину портит.
Для AMD по умолчанию нужно оставить DX9, иначе получаем черный экран с мертвым зависанием.
Ну не работает DX11 на ATI Radeon HD 5770. Кому нужен DX11, пусть сами его включают и не умничают. И уж точно он не лучше работает, по сравнению с DX9. И не надо умничать и включать по умолчанию то, что не нужно и не на всех видеокартах работает.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 16 ноября 2021, 06:48:01
Да кого интересует такое "старье" (HD 5770) :) :) :)
Название: Re: MPC Video Renderer
Отправлено: V0lt от 16 ноября 2021, 07:19:53
Дело не в старье, а в криворукости драйверописателей AMD.

AMD Radeon Vega 8.
Если на входе софтовый P010, после D3D11 VP - R10G10B10A2, и потом должен обязательно быть B8G8R8A8, иначе блеклые цвета. Но при выборе 8-битной текстуры весь смысл в 10-битном видео теряется.
Если на входе аппаратный P010, то уже ничего не помогает. Надо отрубать D3D11 VP для P010. А так как Vega 8 это встройка, то начинаются тормоза на тяжелом видео.
Была информация, что это проблема старого драйвера. Возможно так и есть, но на ноутбуках жопа с обновлением видеодрайвера.
В общем у кого есть Vega 8 проверьте, как у вас показывают 10-битные HEVC.

Добавлено:
Проблема разрешилась установкой драйвера Adrenalin 21.8.2 Recommended (WHQL).
Название: Re: MPC Video Renderer
Отправлено: V0lt от 17 ноября 2021, 21:05:44
Тестовый билд для Win10 и режима D3D11 - mpcvr_1793_win10_d3d11vp_colorspace_1 (https://disk.yandex.ru/d/uXrXfsPicwYmfQ)
Цветовое пространство задается с помощью ID3D11VideoContext1. Работа режима HDR Passthrough не затронута (там и так использовался указанный интерфейс), изменение только для обычных дисплеев.
Прошу потестировать.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 21 ноября 2021, 16:10:19
Evgeniy1990
А у тебя есть видеокарта, которая поддерживает только Direct3D 9? :) Такая видеокарта, которая ничего не знает про Direct3D 10 и выше.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 21 ноября 2021, 19:50:56
V0lt,
Цитата: V0lt от 21 ноября 2021, 16:10:19
Evgeniy1990
А у тебя есть видеокарта, которая поддерживает только Direct3D 9? :) Такая видеокарта, которая ничего не знает про Direct3D 10 и выше.
Есть, модели 6600 GT, 7600 GT, или например 9600 Pro/XT, а также X1950 Pro. Один вопрос - для чего?
В основном это видеокарты без поддержки универсальной шейдерной архитектуры. Т.е. вместо Shaders используются Pixel/Vertex конвейеры.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 21 ноября 2021, 20:00:34
Evgeniy1990
Эти видеокарты работают в Win8.1 или Win10?

Просто интересно, как поведет себя MPC VR на текущих стандартных настройках с этими картами. Если просто не станет работать с Direct3D 11, то это нормально и ожидаемо. Зашел в настройки и переключил на Direct 3D 9. Но не хотелось бы всяких падений или зависаний.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 21 ноября 2021, 20:10:59
V0lt,
ЦитироватьЭти видеокарты работают в Win8.1 или Win10?
А разве для них есть драйверы под эти системы? (О_о)
ЦитироватьПросто интересно, как поведет себя MPC VR на текущих стандартных настройках с этими картами. Если просто не станет работать с Direct3D 11, то это нормально и ожидаемо. Зашел в настройки и переключил на Direct 3D 9. Но не хотелось бы всяких падений или зависаний.
Это сперва надо тщательно проверять, особенно ATI-видеокарты, при условии что есть хотя бы драйверы. Ставить драйверы с предыдущих осей - это такое себе... танцы с бубном.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 21 ноября 2021, 20:24:32
Evgeniy1990
Упс. Похоже нет.  :)
У Nvidia официально есть только для Win8: 309.08 32-bit (https://www.nvidia.ru/download/driverResults.aspx/82839/ru) и 309.08 64-bit (https://www.nvidia.ru/download/driverResults.aspx/82857/ru). Но это сомнительный вариант. Можешь забить.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 21 ноября 2021, 20:38:44
V0lt,
В любом случае, опция "Use Direct3D 11" должна быть вЫключена по умолчанию. На то есть несколько обоснованных причин.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 21 ноября 2021, 22:08:37
Evgeniy1990
Я знаю только одну причину - некорректная работа режима Direct3D 11 с некоторыми видеокартами AMD.
И все. В подавляющем большинcтве случаев с актуальным MPC-BE все хорошо.

Я понимаю принцип "настройки по умолчанию самые стабильные". Но любой более-менее развитый софт приходит к принципу "настройки по умолчанию самые оптимальные". Если равняться на абсолютную стабильность, то получится что-то похожее на безопасный режим Windows.

Для Windows 10 опция "Use Direct3D 11" останется включенной по умолчанию. Без нее теряется куча функционала.
Для Windows 8/8.1 опция "Use Direct3D 11" останется включенной по умолчанию в текущих бетах. Посмотрим, какие есть проблемы, и к релизу порешим.

PS: Я так не понял, любишь, ты, Windows 8/8.1/10 или ненавидишь. Если второе (что предполагается по твоим сообщениям), то пусть непутевые юзеры этих систем страдают от багов режима Direct3D 11, может до них дойдет чего они потеряли. ;D
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 22 ноября 2021, 05:33:04
Да все правильно сделано.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 23 ноября 2021, 06:22:05
Заметил странное поведение в статистике. В skipped 0/0 первое значение при перемотке(особенно перемещение) может сбрасываться на ноль. Например, было skipped 3/0, при/после перемотки станет skipped 0/0. Раньше не замечал, чтобы так было.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 23 ноября 2021, 11:34:28
Все верно, статистика сбрасывается после перемотки.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 20 декабря 2021, 06:50:21
Релиз MPC Video Renderer 0.5.6.1807 (https://github.com/Aleksoid1978/VideoRenderer/releases/tag/0.5.6)

Изменения:
Улучшена стабильность в режиме DX9 при смене дисплея.
Исправлено отображение субтитров в первом кадре при использовании XySubFilter.
Добавлена экспериментальная опция "Reinitialize D3D device when changing display".
Исправлена проблема с работой вкладки "Information" при нажатии Esc, когда активно основное текстовое поле.
Расширена функциональность опции "Auto display HDR On/Off". Теперь эта опция имеет три значения: "not used", "used for fullscreen", "always used".
Исправлена работа HDR Passthrough для некоторых случаев.
Добавлена поддержка MEDIASUBTYPE_LAV_RAWVIDEO.
Добавлена поддержка различных планарных форматов YUV и RGB.
Добавлена поддержка формата r210.
Опция "Use Direct3D 11" включена по умолчанию в Windows 8 и более новых системах.
Устранено падение для RGB24 в некоторых ситуациях.
Название: От: MPC Video Renderer
Отправлено: DMU от 13 марта 2022, 14:01:16
Всем привет!
Парни, а вы совершенствовать проброс hdr-меты на устройство отображения в режиме hdr passthrough планируете? Могу посодействовать. У меня есть HD Fury. Сейчас корректно пробрасываются только яркостные составляющие меты.
Название: От: MPC Video Renderer
Отправлено: V0lt от 13 марта 2022, 14:26:37
DMU
Нужно больше конкретики.
Какой тип HDR? Какая винда? Какая видеокарта, тип и версия интерфейса? Какой дисплей? Какой плеер передает лучше или правильнее?

Я не планирую, т.к. у меня дисплея HDR нет.
Название: От: MPC Video Renderer
Отправлено: DMU от 13 марта 2022, 15:09:06
Цитата: V0lt от 13 марта 2022, 14:26:37Нужно больше конкретики.
Все, что нужно, на скрине (https://drive.google.com/file/d/18ZSbPQMLutz5FAfqFFLJLzQvEEIvpIVE/view?usp=sharing).

Цитата: V0lt от 13 марта 2022, 14:26:37у меня дисплея HDR нет.
А он и не поможет в данном случае, так как для этого нужно устройство, извлекающее параметры hdr-меты из HDMI.
Как видно из скрина в данном конкретном случае проблемы с точкой белого. white_point_x меньше на единицу. Скорее всего из-за некорректного округления/преобразования типа.

Есть еще проблемы, но если не интересно, то не буду беспокоить...
Название: От: MPC Video Renderer
Отправлено: Aleksoid1978 от 13 марта 2022, 15:11:03
Цитата: DMU от 13 марта 2022, 14:01:16Всем привет!
Парни, а вы совершенствовать проброс hdr-меты на устройство отображения в режиме hdr passthrough планируете? Могу посодействовать. У меня есть HD Fury. Сейчас корректно пробрасываются только яркостные составляющие меты.

Все HDR метаданные, что поддерживает Windows API, "пробрасывается".
Используется (IDXGISwapChain4::SetHDRMetaData (https://docs.microsoft.com/en-us/windows/win32/api/dxgi1_5/nf-dxgi1_5-idxgiswapchain4-sethdrmetadata))

13 марта 2022, 12:13:30
Цитата: DMU от 13 марта 2022, 15:09:06Есть еще проблемы, но если не интересно, то не буду беспокоить...
Какие проблемы ?

По поводу "проблем" с округлением - ну у нас подобного девайса нет, проверить в любом случае не сможем.

13 марта 2022, 12:21:19
Да подтверждаю, видимо ошибка округления происходит. Глянем :)
Исправил.
Название: От: MPC Video Renderer
Отправлено: DMU от 13 марта 2022, 15:22:35
Цитата: Aleksoid1978 от 13 марта 2022, 15:11:03Все HDR метаданные, что поддерживает Windows API, "пробрасывается".
Не утверждал, что не пробрасываются. Пробрасываются, но не корректно, то есть не соответствуют тому, что прописано в проигрываемом контенте.

Цитата: Aleksoid1978 от 13 марта 2022, 15:11:03у нас подобного девайса нет, проверить в любом случае не сможем.
Я же писал, что у меня есть и могу посодействовать. То есть вы правите, я проверяю.
Название: От: MPC Video Renderer
Отправлено: Aleksoid1978 от 13 марта 2022, 15:32:31
Залито, проверяем.
Название: От: MPC Video Renderer
Отправлено: DMU от 13 марта 2022, 15:41:21
Не могу найти, где взять свежий скомпилленый 64-битный .ax?
Название: От: MPC Video Renderer
Отправлено: Aleksoid1978 от 13 марта 2022, 15:42:29
Нигде, надо собирать :)
Название: От: MPC Video Renderer
Отправлено: DMU от 13 марта 2022, 15:45:50
Я обещал содействие, но не до такой степени  :O
Не программист, поэтому для меня собрать ваш проект - целая проблема )))
Название: От: MPC Video Renderer
Отправлено: Aleksoid1978 от 13 марта 2022, 15:51:19
https://disk.yandex.ru/d/IjEXqgolbzDiZQ
Название: От: MPC Video Renderer
Отправлено: DMU от 13 марта 2022, 16:17:03
Теперь все четко (https://drive.google.com/file/d/1gN3R4u3opObocUG4Fs_O1Gw5tg0MaYvK/view?usp=sharing).

Вторая проблема пропала с фиксом первой. Теперь, вроде, все ОК.
Название: От: MPC Video Renderer
Отправлено: V0lt от 13 марта 2022, 16:25:15
Цитата: DMU от 13 марта 2022, 15:41:21Не могу найти, где взять свежий скомпилленый 64-битный .ax?
В первом сообщении темы есть ссылки на свежие билды.

Прямо сейчас залил 0.5.7.1829. Кто использует DX9, советую обновиться. Т.к. после 0.5.7.1821 вылезла досадная ошибка с перемоткой при использовании DXVA2 VP.
Название: От: MPC Video Renderer
Отправлено: Evgeniy1990 от 14 марта 2022, 03:10:53
V0lt
ЦитироватьПрямо сейчас залил 0.5.7.1829. Кто использует DX9, советую обновиться. Т.к. после 0.5.7.1821 вылезла досадная ошибка с перемоткой при использовании DXVA2 VP.
Что еще за ошибка с перемоткой? :O
Я - единственный, у кого ее точно на все 100% не было???

P.S. После фикса проблемы с черным экраном, я просматривал, перематывал и даже выполнял различные переходы на определенные участки, или главы видео. В итоге - полный порядок, никаких ошибок нет и не было. 
Название: От: MPC Video Renderer
Отправлено: V0lt от 14 марта 2022, 07:10:42
Evgeniy1990
Тут черного экрана не было, на рубоарде был. Ты уж определись.
Зачем доказывать что бага нет, когда баг создан, подтвержден и исправлен разработчиком? Не увидел бага можно просто сообщить об этом, без лишних эмоций.
Название: От: MPC Video Renderer
Отправлено: V0lt от 07 мая 2022, 09:08:14
Релиз MPC Video Renderer 0.5.8.1877 (https://github.com/Aleksoid1978/VideoRenderer/releases/tag/0.5.8)

Изменения:
Оптимизировано наложение изображений через интерфейс IMFVideoMixerBitmap.
Исправлена обработка первых кадров видеопроцессором DXVA2 на графических адаптерах AMD и Intel.
Исправлены ошибки округления в метаданных HDR.
Исправлена работа в режиме DX11 при смене дисплея.
Добавлена поддержка форматов Y210 и Y216 для режима DX11.
Переделана поддержка форматов YUY2, AYUV, Y410, Y416 для шейдерного видеопроцессора в режиме DX11.
Добавлена отладочная информация о форматах DXGI в окно «Информация.
Исправлено копирование RGB24 и RGB48 с нечетной шириной в некоторых редких случаях.
Добавлена экспериментальная поддержка увеличения изображения по алгоритму "Jinc2".
Рекомендованная версия MPC-BE 1.6.2.6991 (0a27de8af) или новее.
Название: От: MPC Video Renderer
Отправлено: Epsilon от 12 мая 2022, 14:54:01
Скажите, возможна ли в будущем реализация регулировки показателей яркости/nit, т.к. HDR контент обычно довольно тусклый.
Название: От: MPC Video Renderer
Отправлено: Aleksoid1978 от 12 мая 2022, 16:09:42
Если речь про HDR -> SDR, то наверное нет. Смотреть HDR лучше всего на устройстве с нормальной поддержкой HDR все таки :)
Название: От: MPC Video Renderer
Отправлено: V0lt от 12 мая 2022, 17:05:57
Цитата: Epsilon от 12 мая 2022, 14:54:01Скажите, возможна ли в будущем реализация регулировки показателей яркости/nit, т.к. HDR контент обычно довольно тусклый.
Яркость можно менять через настройки яркости/контрастности в плеере. Работает для любого контента, включая HDR. Пользуйтесь.
Название: От: MPC Video Renderer
Отправлено: V0lt от 16 июня 2022, 17:31:25
Обсуждается идея перехода на C++20, чтобы потом использовать std::format вместо библиотеки fmt.

Я проверил на Visual Studio 2019 v16.11.15 - работает.
Aleksoid1978 проверил на свежей Visual Studio 2022 - тоже работает.

После перехода на C++20, то сборка в Visual Studio 2017 станет невозможна.

PS: Это НЕ касается MPC-BE.
Название: От: MPC Video Renderer
Отправлено: V0lt от 17 июня 2022, 06:22:37
Перешли на C++20 в 4e8a2514d (https://github.com/Aleksoid1978/VideoRenderer/commit/4e8a2514ddb54788c8d2b6600e80adf377f0fe07).

Обновите код. Вручную удалите папку external\fmt. Так же удалите или почистите папку _bin, чтобы полностью пересобрать все компоненты.

Если у вас сильно старые Visual Studio 2019/2022, то обновите их.
Название: От: MPC Video Renderer
Отправлено: V0lt от 25 августа 2022, 17:32:52
Релиз MPC Video Renderer 0.6.3.1956 (https://github.com/Aleksoid1978/VideoRenderer/releases/tag/0.6.3)

Изменения:
Оптимизировано преобразование PQ в SDR с использованием видеопроцессора D3D11 на Windows 10.
Добавлена возможность использовать деинтерлейс Blend для форматов YUV 4:2:0 при использовании шейдерного видеопроцессора.
Значение по умолчанию для опции "Swap effect" изменено на "Flip".
Название: От: MPC Video Renderer
Отправлено: V0lt от 07 февраля 2023, 06:49:27
Релиз MPC Video Renderer 0.6.5.1995 (https://github.com/Aleksoid1978/VideoRenderer/releases/tag/0.6.5)

Изменения:
Параметр «Subtitle and OSD brightness» теперь работает для HDR-видео на HDR-дисплее.
Добавлена возможность конвертировать Stereo 3D из Half OverUnder в Interlace.
Добавлена поддержка смещения субтитров для стерео 3D.
Некоторые оптимизации.
Рекомендуемая версия MPC-BE 1.6.5.164 (8e684d199) или новее.
Название: От: MPC Video Renderer
Отправлено: V0lt от 29 марта 2023, 06:47:12
Релиз MPC Video Renderer 0.6.7.2013 (https://github.com/Aleksoid1978/VideoRenderer/releases/tag/0.6.7)

Изменения:
Добавлена опция «Request Super Resolution» для графических адаптеров NVIDIA и Intel. Требуется поддержка железа и драйверов. Отображение «SuperResolution*» в статистике означает, что запрос был только успешно отправлен.
Рекомендуемая версия MPC-BE 1.6.6 или новее.
Название: От: MPC Video Renderer
Отправлено: nataso от 31 марта 2023, 01:06:38
Не подскажете, как отдебажить почему Super Resolution не включается?
В браузерах Edge/Chrome включается. В статистике MPC VR есть отметка об успешной отправке запроса, но на видео применяется только обычный реcайз D3D11.
И должен ли применяться Super Resolution прямо во время воспроизведения при "снятии/отметке соответствующей галочки + Применить" или он может включиться только если на момент запуска видео галочка стоит?
Название: От: MPC Video Renderer
Отправлено: V0lt от 31 марта 2023, 06:17:06
У меня включается-выключается после установки-снятия галки и нажатия применить.
Проверял на видео Xvid 640x352 25fp с увеличением до 1680x924. Выглядит как работа шумодава.
MPC VR 0.6.7.2013, Intel UHD 750.
Название: От: MPC Video Renderer
Отправлено: nataso от 31 марта 2023, 23:28:00
Кажется, нашлась причина. Функция работает только если Texture format: Auto 8/10-bit Integer или 8-bit Integer. Если выбран 10-bit Integer или 16-bit Floating Point (у меня был выбран последний), Super Resolution не применяется. Так и должно быть или это может быть исправлено?
MPC VR 0.6.7.2013, nVidia 3060Ti.
Название: От: MPC Video Renderer
Отправлено: V0lt от 01 апреля 2023, 07:37:51
nataso
Работа Super Resolution может быть расширена только в драйвере. Сейчас реализация ограничена, и документации у нас нет.

Опция в MPC VR работает именно так как задумано - отправляется запрос "хотим Super Resolution". Все. А будет работать или нет, решает драйвер, никак не оповещая о своем отказе.

01 апреля 2023, 08:40:02
Проверил работу Super Resolution на Intel UHD 750.
NV12 -> B8G8R8A8_UNORM - работает
NV12 -> R10G10B10A2_UNORM - работает
NV12 -> R16G16B16A16_FLOAT - не поддерживается D3D11 VP.
P010 -> B8G8R8A8_UNORM - не работает, есть сдвиг на 1 пиксель влево и вверх.
P010 -> R10G10B10A2_UNORM - не работает, есть сдвиг на 1 пиксель влево и вверх.
P010 -> R16G16B16A16_FLOAT - не поддерживается D3D11 VP.
Название: От: MPC Video Renderer
Отправлено: V0lt от 07 августа 2023, 07:02:58
Релиз MPC Video Renderer 0.6.9.2117 (https://github.com/Aleksoid1978/VideoRenderer/releases/tag/0.6.9)

Изменения:
Добавлена частичная поддержка Dolby Vision (поддерживаются профили 5, 8.1, 8.4).
Добавлена опция «Prefer Dolby Vision over PQ and HLG» для совместимых форматов Dolby Vision.
Рекомендуемая версия MPC-BE 1.6.8.24 или новее.
Название: От: MPC Video Renderer
Отправлено: V0lt от 07 августа 2023, 19:07:01
Декодер Direct3D11 в MPC-BE работает хорошо. Поэтому в скором будущем в MPC Video Renderer для режима Direct3D11 будет удалена поддержка декодера DXVA2.
Название: От: MPC Video Renderer
Отправлено: V0lt от 25 декабря 2023, 06:46:44
Релиз MPC Video Renderer 0.7.1.2172 (https://github.com/Aleksoid1978/VideoRenderer/releases/tag/0.7.1)

Изменения:
Декодер DXVA2 больше не поддерживается в режиме DirectX 11.
Добавлена регулировка яркости и контрастности для Dolby Vision.
Цветовое пространство YCgCo теперь будет конвертироваться только с помощью шейдеров.
Исправлено закрытие окна "Информация" после нажатия клавиши Esc.
Улучшена проверка поддерживаемых форматов для видеопроцессора D3D11 в Windows 10. Это устраняет проблему черного экрана на некоторых видеоадаптерах AMD.
Видеопроцессор D3D11 не будет использоваться для неподдерживаемых форматов в Windows 8/8.1.
Исправлены сбои в редких случаях.
Настройка «Auto Display HDR On/Off» была переделана в «Windows HDR Mode».
Название: От: MPC Video Renderer
Отправлено: V0lt от 05 марта 2024, 07:40:37
Релиз MPC Video Renderer 0.7.3.2210 (https://github.com/Aleksoid1978/VideoRenderer/releases/tag/0.7.3)

Изменения:
Добавлена возможность запрашивать Super Resolution только для видео с низким разрешением.
Настройка "Windows HDR Mode" была переименована в "Windows HDR".
Улучшено переключение дисплея в режим HDR в некоторых ситуациях.
Добавлена поддержка вывода Dolby Vision на дисплеях HDR.
Добавлена поддержка "RTX Video HDR" для графических адаптеров Nvidia. Требуется поддержка оборудования и драйверов.
Улучшена плавность деинтерлейса с удвоением частоты кадров на дисплеях с высокой частотой обновления.

PS: MPC Video Renderer 0.7.3 включен в состав инсталлятора MPC-BE.1.6.11.185.
Название: От: MPC Video Renderer
Отправлено: Pensioner600 от 07 апреля 2024, 21:54:13
Цитата: V0lt от 05 марта 2024, 07:40:37Релиз
Приветствую вас! Спасибо за отличный рендер! Пользуюсь уже несколько лет!
Но с новой версией 0.7.3.2210 что-то не так!
Использую уже давно MPC-BE+MPCVR с уплавнялкой DmitriRender до 240фпс (монитор 240Гц). На предыдущих версиях всё было идеально! Но в новой версии фреймрейт дёргается от 120 до 160 и выше не едет. В итоге лавина скипнутых кадров. Ковырял настройки- не помогло. Откатился на 0.7.1.2172 и всё стало на свои места, снова всё шикарно. На скринах всё видно. Не то чтобы критично, я перешёл на SVP RIFE Tensor RT, там максимум 1440p тянет 96фпс(x4), но подумал, что в известность вас надо поставить))

0.7.3.2210
https://i.imgur.com/YIbgyTQ.jpg

0.7.1.2172
https://i.imgur.com/fMet9DD.jpg


Название: От: MPC Video Renderer
Отправлено: Aleksoid1978 от 08 апреля 2024, 00:14:24
Да есть такое, из-за добавления в код "Улучшена плавность деинтерлейса с удвоением частоты кадров на дисплеях с высокой частотой обновления.", теперь VR всегда "ожидает" вывод фрейма в своей время, грубо говоря. Если надо - просто какое-то время оставайтесь на рабочей версии.