MPC-BE forum

MPC-BE => Обсуждение / Discussion => Тема начата: V0lt от 24 Февраль 2018, 16:10:59

Название: MPC Video Renderer
Отправлено: V0lt от 24 Февраль 2018, 16:10:59
Исходный код: https://github.com/Aleksoid1978/VideoRenderer (https://github.com/Aleksoid1978/VideoRenderer)
История изменений (https://github.com/Aleksoid1978/VideoRenderer/commits/master).
Релиз 0.4.9.1460 (https://github.com/Aleksoid1978/VideoRenderer/releases/tag/0.4.9)
Тестовые сборки (https://yadi.sk/d/X0EVMKP4TcmnHQ).

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

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

Основные возможности:
- Видеопроцессор на шейдерах для 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.

Замечание:
Режим DirectX 9 производительнее и стабильнее режима DirectX 11.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 26 Февраль 2018, 07:56:02
Скриншот окна настроек:
(https://jpegshare.net/images/38/8f/388f5bf28c79a10088677ba06c9ee95c.png)

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

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 будет использоваться для изменения размера кадра.


----- 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 бит. Дизеринг может улучшить отображение плавных переходов. На небольших дисплеях эффект скорее всего не будет заметен.


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

Use exclusive fullscreen
Может решить проблему неплавного воспроизведения на дополнительном дисплее.
Название: MPC Video Renderer
Отправлено: V0lt от 02 Март 2018, 05: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, и не учитываются некоторые параметры.
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.
6. Реализовать очередь входных кадров. Нужен как минимум 1 кадр из будущего для улучшения деинтерлейса и возможной поддержки увеличения частоты видео (D3D11).
7. Реализовать очередь выходных кадров. Это позволит решить некоторые проблемы с плавностью. Например после увеличения частоты видео после деинтерлейса.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 02 Март 2018, 10:28:50
Нет картинке по причине того, что в DXVAHD_SetStreamFormat() необходимо указывать входной формат. Подставляем m_srcFormat и уже хоть картинка есть :)
Название: MPC Video Renderer
Отправлено: V0lt от 03 Март 2018, 07: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, 09:09:42
Цитата: V0lt
Могу попробовать добавить DXVA2-VideoProc, чтобы на AMD экспериментировать.
Добавьте пожалуйста "DXVA2-VideoProc", очень хочется прогнать/потестировать новый видео-рендерер на AMD-видеокарте.

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

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

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

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

Evgeniy1990
Странно что у тебя YUY2 некорректно выводит. Надо будет делать специальную сборку с отладочным логом. :(
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 03 Март 2018, 19: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, 19:37:17
Цитата: Evgeniy1990
А если мы меняем выходные форматы уже во время воспроизведения видео файлов, то могут быть проблемы.
Не надо так делать. В коде это пока не предусмотрено.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 03 Март 2018, 19:40:08
Цитата: V0lt
Не надо так делать. В коде это пока не предусмотрено.
Ясно. Просто мне так переключать их удобнее и быстрее всего проверить каждый из них.
Потом тогда реализуете такую возможность. Ее просто не хватает сейчас для удобства проверки.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 04 Март 2018, 01:36:40
YV12 выводиться некорректно:
(https://i.imgur.com/oX8t34g.png)
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 04 Март 2018, 05: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, 05:13:07
С YV12 разберусь и поправлю.

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

Вопрос. Мы будем куда-нибудь выкладывать сборки фильтра?
Если будем то надо архиву порядковый номер присваивать (как в MPC-HC) и часть хеша.
Пример: MpcVideoRenderer-r20-7cf381d2.zip.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 04 Март 2018, 05: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, 05:49:32
Evgeniy1990
Не спеши. Там батник еще надо написать, которого нет. :)
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 04 Март 2018, 05:51:49
Цитата: V0lt
Evgeniy1990
Не спеши. Там батник еще надо написать, которого нет. :)
Ок, понял вас, в общем, тогда буду ждать батника. :)
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 04 Март 2018, 06:03:15
Куда вы летите - еще настолько сырое чтобы выкладывать. Да и вообще - какой смысл его отдавать в паблик ??
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 04 Март 2018, 06:06:38
Цитата: Aleksoid1978
Куда вы летите - еще настолько сырое чтобы выкладывать. Да и вообще - какой смысл его отдавать в паблик ??
Мы пока никуда не торопимся, пока просто обдумываем как будем его в дальнейшем собирать, куда выкладывать и т.д.
Пока только мысли на будущее. :)
Название: MPC Video Renderer
Отправлено: V0lt от 04 Март 2018, 06: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, 07:00:10
Необходимо реализовать поддержку ресайза на паузе. А для этого надо хранить послдений кадр. И если с софтовым декодированием все более-менее просто(у нас последние данные есть в m_pSrcSurface и можно на паузе спокойно выводить их), то с DXVA2 сложнее - тут надо данные из pSample как-то вытаскивать в туже m_pSrcSurface.
Название: MPC Video Renderer
Отправлено: V0lt от 04 Март 2018, 07:10:40
Aleksoid1978
Тут вот какое дело. Если мы будет прикручивать деинтерлейс, то скорее всего у нас появиться очередь и тогда вопрос с паузой решиться сам с собой. :)
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 04 Март 2018, 07:13:40
В любом случае, для начала - надо научиться вытаскивать данные из surface для DXVA2 режима.
Название: MPC Video Renderer
Отправлено: V0lt от 04 Март 2018, 11: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, 13:03:26
В случае DXVA2 - тем pSurface рулит DXVA2 декодер, тот который в Direct3D9(не путать с видео-декодером).
Поэтому чтобы получить данные от DXVA2 декодера - нам и нужно вот таким образом получить указатель на поверхность, которая содержит сами данные. Вот их и надо научиться сохранять.
Название: MPC Video Renderer
Отправлено: V0lt от 05 Март 2018, 03: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, 13: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, 15:02:50
IDirect3DDevice9::StretchRect делает все в видеокарте, поэтому и быстрый.

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

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

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

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

Предлагаю вообще убрать DXVA-HD, тогда бы я попробовал заняться внедрением деинтерлейса.
Название: MPC Video Renderer
Отправлено: V0lt от 08 Март 2018, 19: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, 03:07:36
Aleksoid1978
Скоро будет полноценный деинтерлейс.

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

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

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

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

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

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

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

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

И вот тут даже мыслей нет - как это дело разрулить ))
Название: MPC Video Renderer
Отправлено: V0lt от 09 Март 2018, 10: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, 11:02:23
По поводу работы видео-рендерера в целом и DXVA2-VP в частности - необходимо при проверке входных медиатипов добавить проверку на способность DXVA2-VP работать с ними. Как пример - Radeon и YV12, данный тип просто не поддерживается. Так же и P010 - на Win7 я так понимаю тоже не поддерживается.

V0lt - сделаешь или я ??
Название: MPC Video Renderer
Отправлено: V0lt от 09 Март 2018, 11: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, 11:05:39
Ты не понял - видео-рендерер принимает на вход медиа-типы но не проверяет поддерживаются ли они DXVA2-VP. В итоге просто нет картинки, в дебаг-логе ессно сыплются ошибки.
Название: MPC Video Renderer
Отправлено: V0lt от 09 Март 2018, 11:10:09
Странно, раньше было. Сейчас верну.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 09 Март 2018, 11:16:28
Цитата: V0lt
Странно, раньше было. Сейчас верну.

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

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

В будущем добавлю больше информации в окно настроек и инфо для диагностики проблем.
У меня на AMD Radeon HD 5770 присутствует зелень. Прилагаю видеозапись (https://yadi.sk/i/wpcpBbpS3TCREk).
[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 от 09 Март 2018, 23:04:38
По поводу "зелени" - проверяем https://yadi.sk/d/rrFqZRnt3TCb9T
По поводу "не выгруженного кадра" при стоп - ну это просто еще не реализовано, как и много чего еще.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 10 Март 2018, 00:09:26
Цитата: Aleksoid1978
По поводу "зелени" - проверяем https://yadi.sk/d/rrFqZRnt3TCb9T
Проверил тестовый билд. Зелень пока присутствует.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 Март 2018, 01:43:39
Обновил билд - проверяем.
Так же проверить как видео-рендерер реагирует на смену выходного типа в MPC Video Decoder(ессно при софтовом декодировании).

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

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

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

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

3. Обработка "Стоп" полностью работает так как положено.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 Март 2018, 02:32:40
Блин, откуда эта зелень.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 Март 2018, 02:33:46
Ладно, пока залью эти наработки, дальше будем смотреть.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 10 Март 2018, 02: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, 02:38:26
Я знаю после чего оно появилось, я не понимаю отчего зелень, да и именно на Radeon. Ну думаю на неделе, на работе смогу понять и исправить ))
Название: MPC Video Renderer
Отправлено: V0lt от 10 Март 2018, 03:56:23
Цитата: Aleksoid1978
Я знаю после чего оно появилось, я не понимаю отчего зелень, да и именно на Radeon.
Отчего?
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 Март 2018, 04:25:55
Хотя нет, ошибся - не знаю в чем причина зелени. Ну где-то в последние 2-3 дня наверняка ))
Название: MPC Video Renderer
Отправлено: V0lt от 10 Март 2018, 04:35:12
Может из-за "(избавились от лишних инициализаций DXVA2-VP)". Я совершенно не против лишней инициализации при коннекте.
Я бы вообще результаты инициализации при коннекте всегда отбрасывал.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 Март 2018, 04:44:12
Нет из-за этого - пробовал, убирал. Зелень остается.
Название: MPC Video Renderer
Отправлено: V0lt от 10 Март 2018, 04:54:04
Ты главное шибко не оптимизируй код. Пусть он будет длинный, но понятный.

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

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

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

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

…жкой деинтерлейса(т.к. встречается смешанный контент). Для прогрессивного контента всегда обрабатываем по одному кадру.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 Март 2018, 10: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, 10:15:43
Там немного не так. Заполнять поверхность данными не нужно.
Но строка
const size_t numSamples = m_SampleFormat == DXVA2_SampleProgressiveFrame ? 1 : m_DXVA2Samples.size();конечно та еще. Я ее должен был прибить в af6daca, но пропустил.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 Март 2018, 10:27:16
В том то и дело что обязательно - по крайне мере на Radeon, пока все 3 поверхности не заполнены данными - проскакивает зелень. Это я уже выяснил опытным путем. Причем - пустые поверхности у нас уже заполнены черным цветом - не помогает.

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

Я примерно нашел причину. Сделаю билд.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 Март 2018, 11:01:17
Короче - пока мы не получили 3 сэмпла и не заполнили ими поверхности, на экране зелень. Я хз что там не так у этого долбанного Radeon.
Название: MPC Video Renderer
Отправлено: V0lt от 10 Март 2018, 11:13:28
Проверьте этот однострочный комит (https://github.com/Aleksoid1978/VideoRenderer/commit/d184b1fe11e2644b4248936a0bcb87985c0a9a37).
Сделал принудительное зануление SampleFormat.SampleFormat при инициализации, т.к. у нас оно заполняется из m_srcExFmt, хотя ранее там тоже ноль был.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 Март 2018, 11:16:27
Не помогает. И, кстати, это я уже пробовал :)
Название: MPC Video Renderer
Отправлено: V0lt от 10 Март 2018, 12: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, 12:44:03
Смотри код ошибки.
[merge_posts_bbcode]Добавлено: 2018-03-10 22:44:03[/merge_posts_bbcode]

А возможно поверхность надо создавать тем способом, что я недавно делал - в любом случае надо смотреть код ошибки, а потом искать ее в дебрях VS.
Название: MPC Video Renderer
Отправлено: V0lt от 10 Март 2018, 12:45:51
0x876086c
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 Март 2018, 13: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, 14:07:50
Цитата: V0lt
Evgeniy1990
Собери последнюю версию, запусти, и скопируй информацию из "статистики" фильтра.
Пожалуйста:

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, 14:10:18
Aleksoid1978
В общем Я психанул и написал Мадши. :-)
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 11 Март 2018, 02:06:23
Вот пробуй на Intel патч - https://yadi.sk/d/p-r1PJHL3TELQB
Он проверяет возможность StretchRect по флагу D3DDEVCAPS2_CAN_STRETCHRECT_FROM_TEXTURES, если нет - то тогда просто копирование с помощью memcpy(), что конечно же намного медленнее.
Название: MPC Video Renderer
Отправлено: V0lt от 11 Март 2018, 04:14:11
А почему бы просто по облому StretchRect не делать тоже самое? Дольше?
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 11 Март 2018, 04:19:06
Да ну - так не красиво. Ну ты проверил, так работает. В отладчике глянь - у тебя 100% нет поддержки D3DDEVCAPS2_CAN_STRETCHRECT_FROM_TEXTURES ??
Название: MPC Video Renderer
Отправлено: V0lt от 11 Март 2018, 05:20:06
Хмм. Тут какая-то неведомая хрень. Вчера подключал втором дисплеем TB на Intel. Сегодня подрубил к Intel-у основной монитор и все нормально стало.
Я попозже перепроверю, сейчас никак.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 11 Март 2018, 07:51:06
Где-то вычитал что у Intel влияет какие-то там настройки 3D smile
Как сможешь - проверь(в отладчике) при выводе с Intel на моник и на телек, на наличие/отсутствие поддержки D3DDEVCAPS2_CAN_STRETCHRECT_FROM_TEXTURES.
Название: MPC Video Renderer
Отправлено: V0lt от 11 Март 2018, 09:43:45
В общем проверка на флаг не работает. Просто если вывожу на дополнительный ТВ, то StretchRect обламывается. Проблему обошел, изменения залил.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 11 Март 2018, 10: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, 11: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, 12:06:06
По поводу DX11 - ну так все это можно опционально(в будущем). Для начала научиться бы рендерить ))

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

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

V0lt, пожалуйста, сделал для вас видеозапись (https://yadi.sk/i/U2PWE3ZB3THFE2) с проявлением зелени, при открытии видео файла.

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

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

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

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

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

V0lt, обратите пожалуйста внимание на этот скриншот (https://yadi.sk/i/vzgyqxQG3THgAA).

[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, 19:14:09
Aleksoid1978
Не могу создать поверхность Direct3D11.
hr = m_pDevice->CreateTexture2D(&desc, NULL, &m_pSrcTexture2D);[merge_posts_bbcode]Добавлено: 2018-03-13 19:34:33[/merge_posts_bbcode]

Немного о том как интерпритировать поверзность DX9Ex в DX11
Есть статья Surface Sharing Between Windows Graphics APIs (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/thumbs/d9/48/d9482f010874f4d68abd57b37963d05c.jpg) (http://jpegshare.net/d9/48/d9482f010874f4d68abd57b37963d05c.jpg.html)
Ссылка. (https://yadi.sk/i/DKCZ8F1R3TP9kt)
Буду разбираться.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 15 Март 2018, 12: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, 14:03:46
Цитата: Aleksoid1978
Реализовал поддержку кастомных интерфейсов от LAV для работы D3D11 Native декодера. Работает - но какие-то непонятки с рендерингом картинки - все идет рывками. Причина неясна. Мой английский слаб чтобы задавать вопросы :)
У меня, на Windows 10, при использовании "LAV D3D11 Native"-декодера, при открытии просто черный экран.
Воспроизведение видео файлов даже не начинается, плеер просто висит намертво, при старте, т.е. полностью построил граф фильтров и висит намертво на месте.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 15 Март 2018, 22:03:28
Ну я поддержку его ещё не внедрял. Ты собирал с DX9 или 11 ??
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 16 Март 2018, 05:28:18
Цитата: Aleksoid1978
Ну я поддержку его ещё не внедрял. Ты собирал с DX9 или 11 ??
Ясно. Я собирал как обычно, с DX9. Значит требуется все-таки DX11.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 16 Март 2018, 09:21:03
DX11 требуется ТОЛКО чтобы в связке с LAV Video в последнем DX11 декодирование работало в "нативном" режиме(для этого требуется специальные интерфейсы и поддержка на стороне видео-рендерера). Поддержку чего я, кстати, уже сделал.
[merge_posts_bbcode]Добавлено: 2018-03-16 19:21:03[/merge_posts_bbcode]

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

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

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

Сделал возможность включения режима Dirеct3D11 через сохраняемую опцию.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 18 Март 2018, 02:13:15
У меня, кстати, есть предложение - в VP делать только преобразование, а вот уже ресайз на шейдерах. Заодно научиться работать с шейдерами на DX11 :)
Название: MPC Video Renderer
Отправлено: V0lt от 18 Март 2018, 04:53:31
Цитата: Aleksoid1978
У меня, кстати, есть предложение - в VP делать только преобразование, а вот уже ресайз на шейдерах.
Плохое предложение. Ресайз силами VP самый оптимальный по нагрузке на железо. Мы наконец-то сделали такой ресайз для NV12 и P010 , а ты уже хочешь его выкинуть.
[merge_posts_bbcode]Добавлено: 2018-03-18 07:46:37[/merge_posts_bbcode]

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

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

Кстати. У кого-нибудь есть дремучая карта, которая знает только DirecX 10 или только DirecX 9?
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 18 Март 2018, 05:18:45
Ну шейдерами покачественнее будет. Ну и если нет - надо решить вопрос с размерами и ресайзом для DX11. Сейчас размер swapchain под размер окна, что ессно некорректно.
Название: MPC Video Renderer
Отправлено: V0lt от 18 Март 2018, 06:02:12
Если хочеться потренироваться с шейдерами, то начни с простого, примени шейдеры на конечную поверхность перед самым выводом. Сначала попробуй grayscale, nightvision, затем всякие шарперы (они сложны тем что необходимо доп. параметры передавать). Из реально необходимого можно коррекцию YCgCo и HDR попробовать.

Делать сейчас шейдерный ресайз слишком рано.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 18 Март 2018, 09: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, 10: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, 10:20:05
А дело в том что размер в медиатипе и реальный размер с которым будет создаваться текстура могут отличаться, для DXVA2. Поэтому я ввел эти "дубли" - чтобы хранить и использовать при проверке при попытке создании текстур. ДЛя DX9 тоже самое.
[merge_posts_bbcode]Добавлено: 2018-03-18 20:20:05[/merge_posts_bbcode]

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

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

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

Предлагаю к 64-битной версии добавлять суффикс "64".
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 19 Март 2018, 01:18:13
В последнем билде статистика видео-рендерера выглядит урезанной, т.е. только вот это:
 Input
Format: NV12
Width : 1280
Height: 720
Название: MPC Video Renderer
Отправлено: V0lt от 19 Март 2018, 03:15:21
Evgeniy1990
Так и должно быть. Это будет сильно переделываться.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 19 Март 2018, 10: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, 19: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, 09: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, 18: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 от 20 Март 2018, 21:07:26
Надо разбираться кто виноват, наверное декодер.
[merge_posts_bbcode]Добавлено: 2018-03-21 07:07:26[/merge_posts_bbcode]

Хотя - как декодер узнает что сменился дисплей/адаптер. Тут видео-рендерер должен реконнект делать.
Название: MPC Video Renderer
Отправлено: V0lt от 21 Март 2018, 03: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, 08: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, 19: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 от 21 Март 2018, 22:05:05
Хм, странно. Ну попробую разобраться что сейчас не так.
Название: MPC Video Renderer
Отправлено: V0lt от 24 Март 2018, 11: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, 13:48:38
Можешь рисовать с помощью GDI на поверхности, могу дать пример кода. Я в свое время хотел переделать вывод текста в EVR-CP.
Название: MPC Video Renderer
Отправлено: V0lt от 24 Март 2018, 15:52:16
GDI для EVR не годится из-за тормознутости, оно только для вывода статистики обновляемой не более 2 раз в секунду.
Напомни, каким образом там происходит наложение на кадр? Через AlphaBlt?
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 26 Март 2018, 04:05:30
Кстати по поводу Direct2D - тоже все не просто. Я так и не смог найти простой пример как на DX11 вывести текст.
Название: MPC Video Renderer
Отправлено: V0lt от 26 Март 2018, 18: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, 00:45:40
Надо вместо
IDXGISurface* pDxgiSurface = nullptr;
hr = pBackBuffer->QueryInterface(&pDxgiSurface);
делать
hr = m_pDXGISwapChain1->GetBuffer(0, IID_PPV_ARGS(&pDxgiSurface));
Название: MPC Video Renderer
Отправлено: V0lt от 27 Март 2018, 03:03:50
Сделал, но ничего не поменялось.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 27 Март 2018, 07: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, 05: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, 09:39:22
Да спокойно работать. Если получаешь интерфейс - значит поддерживается. Нет - значит нет.
Название: MPC Video Renderer
Отправлено: V0lt от 01 Апрель 2018, 11:02:49
Если создать IDXGISwapChain4, то после можно без проблем использовать методы предков и кастовать до предков, если потребуется. Но это не будет работать ни на чем, кроме свежей 10-ки (возможно даже LTSB 1607 в пролете).

Если у нас IDXGISwapChain1, мы сможем кастонуть его до потомка?
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 01 Апрель 2018, 11:11:12
Если IDXGISwapChain* не поддерживается текущей системой - то ты его и не получишь. Именно так в данный момент с ID3D11VideoContext1 - если система его не поддерживает, то просто ты его не получаешь и все.
Название: MPC Video Renderer
Отправлено: V0lt от 29 Апрель 2018, 11:45:21
Хочу добавить интерфейс IMFVideoProcessor. Не могу понять куда его добавлять: в CVideoRendererInputPin::GetService() или CMpcVideoRenderer::GetService()?
Вроде должен быть в самом фильтре, а не пине.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 29 Апрель 2018, 11:55:50
Ну конечно в фильтр.
Название: MPC Video Renderer
Отправлено: V0lt от 30 Апрель 2018, 05: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, 05: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, 08: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, 10:29:07
Значит надо не напрямую вызывать - а из кода рисования.
[merge_posts_bbcode]Добавлено: 2018-05-03 20:29:07[/merge_posts_bbcode]

К DX11 можно прикрутить вывод 3D, но нет нужного оборудования(а так понимаю там вывод во frame-packing)
Название: MPC Video Renderer
Отправлено: V0lt от 05 Май 2018, 19: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, 16: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 от 27 Ноябрь 2018, 23:08:23
По хорошему - это входящие данные в RGB 4:4:4, 8 или 10 бит в зависимости от данных. Ну и потом уже шейдерами делать что душе угодно.

Но сишный код перевода в RGB 4:4:4 будет не быстр.
Название: MPC Video Renderer
Отправлено: V0lt от 28 Ноябрь 2018, 03: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, 14:48:04
2-3 дня потерял из-за багов с ресурсами.

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

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

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

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

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

Патч дать не смогу, т.к. в очередной раз отменил все изменения. Вечером сделаю.
И нету там ничего такого, что было бы не так. Добавленный код для нового шейдера вообще ничем особенным не выделяется и написан был полностью с нуля раз 5.
Название: MPC Video Renderer
Отправлено: V0lt от 29 Ноябрь 2018, 17: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, 06:19:01
В общем так.
Функции FindResource, LoadResource, SizeofResource при задании первого параметра nullptr загружают ресурсы приложения, а не текущего модуля.
Как сделать по другому - непонятно. MFC подключать не буду.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 30 Ноябрь 2018, 06: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, 10:02:24
Спасибо. Поправил. :-)
Решение не документировано в MSDN. "Спасибо" MS. :mad:

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

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

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

3. Можно модифицировать сам декодер, чтобы тот создавал для RGB32 медиатип, у которого по умолчанию высота отрицательная.
Вопрос: Можно такое провернуть с нашем декодером? Мне для тестов нужно.
Название: MPC Video Renderer
Отправлено: V0lt от 03 Январь 2019, 19:21:11
Добавил поддержку DVD-Video совместно с декодером Mpeg2DecFilter и LAV Video Decoder.
Деинтерлейс не работает, меню не переключает (ходить только через навигацию в плеере или в свойствах DVD Navigator), но картинка есть. :-)
Microsoft DTV-DVD Video Decoder виснет.
DVD в формате PAL роняют Mpeg2DecFilter. :)
Название: MPC Video Renderer
Отправлено: V0lt от 10 Январь 2019, 05: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, 04:59:17
Я предлагаю убрать поддержку декодирования DXVA2 (временно?) при использовании видеопроцессора D3D11.
Причина: очень костыльный код, с которым тяжело работать.

Убрана в d52a699 (19.01.2019).
Название: MPC Video Renderer
Отправлено: V0lt от 28 Январь 2019, 17:42:37
Тормоза при воспроизведении DVD лечатся, если заменить предка CBaseRenderer на CBaseVideoRenderer.
Но в этом случае у нас 2 статистики. :)
Название: MPC Video Renderer
Отправлено: V0lt от 13 Март 2019, 16: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, 17: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, 02:13:33
Это же отлично. Тогда не надо будет хранить в ресурсах кучу шейдеров, ну как минимум для DX11.

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

А узнать встроена или нет легко - ставим по быстрому на виртуалку чистые Win8/8.1/10 и после установки в командной строке выполняем:
where D3dcompiler_47.dll
Название: MPC Video Renderer
Отправлено: V0lt от 30 Апрель 2019, 17: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, 18: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, 03:28:44
Вот патч - https://yadi.sk/d/DBKDbnwucoexfg
Корректно обрабатываем изменение медиа-типа и вызовы CCustomAllocator::SetProperties().
Название: MPC Video Renderer
Отправлено: V0lt от 04 Май 2019, 04:32:31
С эти патчем не падает. Но непонятно работает QueryAcept или нет.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 04 Май 2019, 05:27:23
Все отлично работает. Просто до этого получалось что "старый" размер задавался для буфера, в некоторых ситуациях. PAL DVD - одна из них.
Название: MPC Video Renderer
Отправлено: V0lt от 04 Май 2019, 08: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, 03:57:11
В графстудии с нашим VR нет видео-окна :)

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

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

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

Ну у тебя лишь пара букв не влезла, которые не критичны.
Буду ли увеличивать поле статистики, пока не знаю (на производительность может повлиять). Возможно шрифт уменьшу, когда дополнительную информацию буду добавлять.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 10 Май 2019, 08: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, 11:15:15
Evgeniy1990
Я всегда обновляю так. Выбираю папку в кодом, затем ПКМ->TortoiseGit->Получить...(Pull...)->OK.
Название: MPC Video Renderer
Отправлено: V0lt от 11 Май 2019, 13:21:16
Заметил, что шейдерная интерполяция в режиме D3D11 работает некорректно (артефакты в виде лесенки). Придется разбираться.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 16 Май 2019, 05:21:47
Заметил такую вещь - иногда(но без какой-либо закономерности) при частой перемотке и использовании нашего VR проигрыватель(MPC-BE) просто намертво зависает.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 23 Май 2019, 19:33:47
Заметил косяк - все 10-битные видео файлы с Chroma subsampling 4:2:0 выводятся только через формат Y410 (10-bit 4:4:4). Т.е. форматы P010, P210, как и P016 и P216 не работают вообще.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 23 Май 2019, 21:52:15
Эти форматы работают только если их поддержка есть в драйвере и как следствие в DXVA2/DX11 видео-процессоре. Запусти DXVAChecker и проверь, или в самом VR в дебаг выводе.
Название: MPC Video Renderer
Отправлено: V0lt от 24 Май 2019, 03: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, 19:15:51
Исправлен шейдерный ресайз по вертикали в двухпроходном режиме в r579-2019.05.25-cfd2448.
Название: MPC Video Renderer
Отправлено: Lord_D от 27 Май 2019, 04: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, 04:53:58
Тут ситуация сложнее чем с EVR-CP, т.к. сам VR не может обрабатывать смену разрешения.

Такой результат с размерами в DX9 или DX11 или в обоих вариантах ?
Название: MPC Video Renderer
Отправлено: Lord_D от 27 Май 2019, 04:58:11
Боюсь, не могу проверить DX11, у меня Win 7.
Галка в настройках активна (что смущает), но, судя по статистике, всё равно используется DX9.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 27 Май 2019, 05:28:20
Вопрос - а как блин можно работать при разрешении 1280 на мониторе с родным 1920. Там же все нечеткое, ибо монитор ресайзит картинку под 1920.
Название: MPC Video Renderer
Отправлено: Lord_D от 27 Май 2019, 05:35:01
Зависит от качества монитора. У меня как раз все элементы крупнее. На 1080 в венде для меня всё слишком мелкое. А алгоритмы масштабирования интерфейса, по крайней мере в 7, убоги - все приложения перекособочивает. И от рендеринга шрифтов в хроме на 1080 тошнит, когда подгоняешь размеры шрифта к физическим размерам в 720. А вот в линуксе почему-то таких проблем нет, там я спокойно работаю с родным 1080.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 27 Май 2019, 22: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, 06:32:11
Вот еще одна версия - https://yadi.sk/d/gwjk3fG0lIH1UQ
Так же в ней добавлен режим Flip для DX9.
Название: MPC Video Renderer
Отправлено: Lord_D от 31 Май 2019, 07: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, 07:25:48
У меня спокойно работает Flip. К сожалению Win7 нет и проверить на могу.
Эта версия - Debug, попробуй запустить сперва DbgView из набора SysInternals, а потом уже MPC-BE с этим VR и выставленным Flip. Ну и потом лог из DbgView выложи, посмотрим.
Название: MPC Video Renderer
Отправлено: Lord_D от 31 Май 2019, 11: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, 11:05:41
Lord_D, попробуй тестовую версию dx9flip_4 (https://yadi.sk/d/uwBu4owfK9vOwg).
Название: MPC Video Renderer
Отправлено: Lord_D от 02 Июнь 2019, 12: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, 13:04:11
"DX11 only" - чисто косметика, просто не трогали.

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

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

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

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

Писать об ошибках VR надо, эта тема как раз для этого создана.
Название: MPC Video Renderer
Отправлено: Lord_D от 03 Июнь 2019, 06:45:03
В r593 значок GPU появился. Спасибо.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 07 Июнь 2019, 05: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, 06:30:11
Evgeniy1990
Про черный экран отметил в первом сообщении. Пока не до него.
Предупреждение убрал в c068986.
Название: MPC Video Renderer
Отправлено: V0lt от 08 Июнь 2019, 11: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 от 08 Июнь 2019, 23:42:07
Есть проблема на DX11.

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

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

Попробуй отключить декодер DXVA2.
Разумеется, я делал лог (https://yadi.sk/i/qGWaZTM-5al3Iw) именно при черном экране.

Дело не в аппаратном DXVA2, потому что даже в софте есть черный экран (https://yadi.sk/i/Zysu00xXbzO6Qw).

Выкладываю еще два лог-файла. Один сделан при DXVA2 (https://yadi.sk/d/xGaRkKhoTuJKxw), другой - при софте (https://yadi.sk/d/h-NE47OYkyP3Rg).
Название: MPC Video Renderer
Отправлено: V0lt от 10 Июнь 2019, 05: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, 09: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 (https://github.com/Aleksoid1978/VideoRenderer/commit/f8948455e0613a3176a43c56abd05a1c66ba88a8) r554 является некорректным, из-за чего и проявляется "черный экран" на DX11, при Resize.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 Июнь 2019, 11:13:31
Вот только появляется почему то у тебя, больше ни у кого. А тот коммит нужен.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 10 Июнь 2019, 11:21:05
Цитата: Aleksoid1978
Вот только появляется почему то у тебя, больше ни у кого. А тот коммит нужен.
А кто еще, кроме меня, так тщательно тестирует этот видео-рендерер?

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

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

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


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

V0lt

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

Доказательство. (https://yadi.sk/i/9eg51nGFUg-SmQ)

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

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

Проверил ваш тестовый билд. К сожалению, присутствует черный экран (https://yadi.sk/i/xAeRv7AclrYqBA).
Также, создал лог-файл (https://yadi.sk/d/yqng3XYXT30AAg), с помощью вашего Debug-билда (https://yadi.sk/d/uwBu4owfK9vOwg).

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

Причем, сейчас нет даже первого кадра, в отличие от предыдущей ситуации с черным экраном на AMD.
Иначе говоря, стало хуже, чем было. Хуже - в плане того, что вообще нет ни одного кадра, чистый черный экран.
Название: MPC Video Renderer
Отправлено: V0lt от 12 Июнь 2019, 05:13:40
Evgeniy1990
Я просто версию с альфа каналом проверял. Получается бекбуфер на AMD лишний раз не стоит трогать. :-)
Название: MPC Video Renderer
Отправлено: V0lt от 13 Июнь 2019, 18: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, 11:21:47
Если имеется второй адаптер (у меня Intel HD 4000), к которому подключен дополнительный дисплей (ТВ), то в режиме DX11 не работают аппаратные декодеры DXVA2 и D3D11. Если сделать телевизор основным дисплеем, то нормально.
Записал в известные проблемы.
Исправлено в MPC-BE 1.5.4.4581.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 16 Июнь 2019, 05: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, 05:46:29
Evgeniy1990
Можешь сделать сравнительные скриншоты одинаковых кадров со статистикой в режиме "Cтандартный" на 647 ревизии? По видео трудно ориентироваться.

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

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

Full (https://yadi.sk/i/kX3qhtU6uqJgDg)

Limited (https://yadi.sk/i/lDkvf5blER2T8A)

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

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

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

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

V0lt

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

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

Цитата: Evgeniy1990
Также, еще сделал для вас сравнительные кадры (https://yadi.sk/d/yzKePk5uNkwxZw) - до паузы и после паузы (возобновления).
Жесть какая-то.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 16 Июнь 2019, 06: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, 09:54:34
Evgeniy1990
Продублирую тут.

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

Можешь попробовать
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, 12:29:53
Evgeniy1990
Ну вот и локализовали проблему. Глючит именно D3D11 Video Processor.

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

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

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

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

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

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

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

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

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

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

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

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

Исправил в r653. Проверь.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 17 Июнь 2019, 09: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, 11:33:48
Evgeniy1990, когда будет время, глянь как у тебя проигрываются ролики HDR с опцией "Use the DXVA2/D3D11 video processor for resizing (if possible)" и без.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 17 Июнь 2019, 14:46:37
Цитата: V0lt
Evgeniy1990, когда будет время, глянь как у тебя проигрываются ролики HDR с опцией "Use the DXVA2/D3D11 video processor for resizing (if possible)" и без.
Напомните, пожалуйста, какие именно ролики с HDR?
Название: MPC Video Renderer
Отправлено: V0lt от 17 Июнь 2019, 15:13:33
Вот эти попробуй - https://yadi.sk/d/mADzsqUnzEYfk
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 17 Июнь 2019, 17: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, 08: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, 03: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, 06:00:13
Для 10-bit 4:2:0 - родной формат P010.
Название: MPC Video Renderer
Отправлено: V0lt от 19 Июнь 2019, 16:11:53
Evgeniy1990
Кадр Y410 занимает столько же сколько AYUV и RGB32.
Твоя карта, а точнее видеопроцессоры DXVA2 и D3D11, не умеют работать с P010, поэтому ты пытаешься использовать NV12, который для HDR недостаточен. Но большая проблема в том, что D3D11 VP у тебя слишком капризный. Добавляем дополнительную операцию, получаем черный экран. Просто предварительно заливаем бэкбуфер - опять черный экран.
Это очень странная ситуация. Я надеюсь, кто-нибудь еще с картой AMD сможет проверить воспроизведение HDR.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 19 Июнь 2019, 20:33:00
Цитата: Aleksoid1978
Для 10-bit 4:2:0 - родной формат P010.
Это итак понятно. Зачем писать очевидные вещи?
"Видеопроцессоры DXVA2 и D3D11, не умеют работать с P010" - ответ вам от V0lt\'a.

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

Изначально, я надеялся и даже рассчитывал на то, что наш MPC Video Renderer будет поддерживать абсолютно все выходные форматы, по аналогии с madVR. Но после ответа от V0lt\'a (https://mpc-be.org/forum/viewtopic.php?pid=4770#p4770), я понял, что зря на это надеялся и мне стало даже обидно.

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

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

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

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

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

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

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

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

1. Запустить транспортный видео файл (https://yadi.sk/i/PiNX3KkkJdiKQA)
2. Во время его воспроизведения, навести курсор мышки на шкалу прогресса
3. После наведения курсора мышки на шкалу прогресса, плавно двигаем его в правую сторону именно по шкале самого прогресса

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

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

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

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

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

1. Скачать этот WMV-видео файл (https://yadi.sk/i/MG6bff9DrPbPpw)
2. Запустить его

По факту: после его открытия, воспроизведение не начинается вообще. Видео-рендерер просто стоит на месте.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 20 Июнь 2019, 02: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, 02:43:23
Evgeniy1990
Цитировать
Что тут странного? Вырубите вы полностью этот "бэкбуфер" нафиг для AMD и не будет этого "черного экрана".
Ясно же, что именно при его работе он возникает.
Ты не в теме. Бэкбуфер используется всегда и при любом видео. Это то, на чем формируется окончательный кадр. Проблема в D3D11 VP на твоей карте, которой работает только на девственно чистом бэкбуфере. Сейчас проблема с HDR, захотим добавить какую-нибудь постобработку - будет черный экран на обычном видео.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 20 Июнь 2019, 07: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 - "Черный экран в окне (https://yadi.sk/d/WvKepzuzTfYoAw) на транспортных интерлейсных видео файлах"

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

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

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

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

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

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

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

По факту: Удвоение кадров есть, но на изображении видны полосы (https://yadi.sk/i/k3MyFjBY__1nvQ).
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 20 Июнь 2019, 08:03:11
У меня и с паузой все отлично, и деинтерлейс работает - проверял на DX11 с Discard/Flip режимами.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 20 Июнь 2019, 08:28:57
Цитата: Aleksoid1978
У меня и с паузой все отлично, и деинтерлейс работает - проверял на DX11 с Discard/Flip режимами.
Вам срочно нужно обзавестись видеокартой от AMD, желательно именно Radeon HD и 5000 серии.
Ясно уже, что багов больше всего именно на видеокартах от AMD. Хотя, кто его знает, я еще не проверял пока тщательно свои видеокарты NVIDIA. Но и до них скоро доберусь, после того, как тщательно прогоню различные видео файлы на AMD, при различных возможных и доступных условиях.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 20 Июнь 2019, 08:49:42
Какой смысл проверять на старье. Ну не работает - не пользуйся.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 20 Июнь 2019, 13: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, 17:25:12
Evgeniy1990
В свете замеченных проблем с D3D11 VP на твоей Radeon HD 5770, Я посоветую не использовать режим DX11 на этой карте.

Все баги режима DX11, обнаруженные только на твоей Radeon HD 5770, исправляться не будут, т.к. не могут быть воспроизведены на других машинах. Тут либо баг драйвера, который надо лечить другой версией драйвера. Либо что-то не так с железом - это лечится только заменой.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 21 Июнь 2019, 01:12:56
Цитата: V0lt
Evgeniy1990
В свете замеченных проблем с 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, 07:33:14
По поводу :
Баг #2 - "Не стартует воспроизведение некоторых WMV-видео файлов".

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

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

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

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

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

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

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

Получается, что WM ASF Reader нормально работает только с EVR-видео рендерерами? о_О
Название: MPC Video Renderer
Отправлено: V0lt от 27 Июнь 2019, 19: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 от 27 Июнь 2019, 21:29:54
Цитата: V0lt
Evgeniy1990, у тебя были проблемы с разной яркостью или гаммой в разных режимах MPC VR на одном и том же файле?
Если вы имеете в виду ту самую "адскую жесть (https://yadi.sk/d/yzKePk5uNkwxZw)", то она была на разных видео файлах, в зависимости от цветового диапазона (Full/Limited).
Цитата: V0lt
С шейдерной обработкой YUY2 есть проблема. Слишком темный кадр получается в режиме DX9.
Проблема только на NVIDIA. У меня на AMD нормальные цвета, при выводе через YUY2, даже в D3D11. А в DX9 данный формат YUY2 итак работает, даже без новой опции. Но она меня порадовала. Теперь хотя бы работает выходной формат YUY2 на D3D11, хоть и через шейдеры, но главное - работает! ;)
Название: MPC Video Renderer
Отправлено: V0lt от 28 Июнь 2019, 18:53:39
Цитата: Evgeniy1990
Если вы имеете в виду ту самую "адскую жесть (https://yadi.sk/d/yzKePk5uNkwxZw)", то она была на разных видео файлах, в зависимости от цветового диапазона (Full/Limited).
Нет. Просто яркость немного разная.

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

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

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

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

Более правильно откорректировал в r703.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 02 Июль 2019, 03: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, 02: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, 20:19:29
Цитата: V0lt
Evgeniy1990, после 81ed2df должно исправиться.
Исправилось в r707 (git 81ed2df).
Цитата: V0lt
С поддержкой P010 через шейдеры может быть облом на картах, которые не принимают его на входе видеопроцессора D3D11.
У меня, например, P010 работает, но текстура в формате P016 уже не создается. Хотя P010 и P016 - это по сути один формат.
Эх, похоже что в моем случае - полный облом с форматами P010/P016, по крайней мере на видеокарте от AMD.
При запуске 10-битных видео файлов с хрома 4:2:0, работают только выходные форматы Y410/Y416.
Цитата: V0lt
Можно реализовать альтернативный вариант с двумя текстурами для такого случая (все равно кадр в системной памяти). Но не в ближайшее время..
Остается только лишь ждать ваш альтернативный вариант с двумя текстурами, который будет очень нескоро.

Форматы Y410/Y416 - очень нехорошие в плане цветности и самое главное - производительности. Они неспособны даже элементарно переварить какой-то HEVC, даже не FullHD (https://yadi.sk/i/gk-7a5jfj9ONYw). Да, печально - не то слово...

Вот почему, в свое время, я был очень недоволен тем, что для каждой хромы был реализован вывод через свой собственный выходной формат в нашем видео декодере. Вот "LAV Video Decoder" - другое дело, сразу выводит любую хрому через NV12 и все в полном порядке, ни тормозов, ни лагов, ни прочих проблем. А в "MPC Video Decoder", для комфортного просмотра, приходиться лезть в его настройки и вырубать лишние (проблемные) выходные форматы, т.е. выполнять лишние телодвижения, что порой не удобно, даже очень, с учетом UAC.

А что означает это число "11" над входными форматами NV12 и P010/P016? DirectX11???
Название: MPC Video Renderer
Отправлено: V0lt от 04 Июль 2019, 03:33:50
Цитата: Evgeniy1990
А что означает это число "11" над входными форматами NV12 и P010/P016? DirectX11???
То что галка работает только для режима DX11.

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

С двумя текстурами пока не получилось.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 04 Июль 2019, 07:15:09
Evgeniy1990
Запусти дебаг версию и выложи лог на 10 битном 4:2:0 видео, ессно на DX11 и сняв галку с P010 формата.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 04 Июль 2019, 11:38:50
Цитата: Aleksoid1978
Evgeniy1990
Запусти дебаг версию и выложи лог на 10 битном 4:2:0 видео, ессно на DX11 и сняв галку с P010 формата.
Пожалуйста (https://yadi.sk/d/QJkeQw4CNu91Iw).
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 04 Июль 2019, 22:12:03
Ну да - получается если карта не поддерживает DXVA 10-бит, то и P010 формат текстур тоже. Очень плохо.

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

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

V0lt/Aleksoid1978

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

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

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

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

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

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

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

Оказывается, пользователь 0t5, который кричал про этот самый "тиринг", был прав и это не миф вовсе, а результат проявления данной проблемы.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 06 Июль 2019, 04:32:25
Не надо держать открытым свойства. А то получается что файл закрылся, фильтр удалился - а окно со свойствами осталось. Я не уверен что это можно исправить, ибо сам фильтр знать не знает что было открыто окно свойств.
Название: MPC Video Renderer
Отправлено: V0lt от 06 Июль 2019, 13:57:45
Цитата: Evgeniy1990
Наконец-то заработали выходные форматы P010 и P016 (https://yadi.sk/d/FNsMaTHJrZuMtA) через шейдеры на 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

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

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

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

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

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

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

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

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

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

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

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

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

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

P.S. Исправил :)
Название: MPC Video Renderer
Отправлено: V0lt от 10 Июль 2019, 18: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, 02:56:05
Сделал - заливай да и все. Лишним не будет :)
Название: MPC Video Renderer
Отправлено: V0lt от 14 Июль 2019, 13: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, 03:32:34
Я всеми руками и ногами за пункт 2. Вернее я бы вообще сделал построение ВСЕГО кода шейдера в рантайме(как это реализовано в том же vlc или mpv) и дальнейшую компиляцию.

Пункт 4 - ну как бы не лишнее :)
Название: MPC Video Renderer
Отправлено: V0lt от 15 Июль 2019, 04:33:59
Цитата: Aleksoid1978
Вернее я бы вообще сделал построение ВСЕГО кода шейдера в рантайме(как это реализовано в том же vlc или mpv) и дальнейшую компиляцию.
В чем глубинный смысл этого действия? Получать тормоза при каждой глобальной перекомпиляции?
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 15 Июль 2019, 05:20:49
Тормоза ? И на сколько же это "тормознуто" ? Сколько по времени занимает построение текста шейдера и его компиляция ? Если это действительно "долго" - то ок.
Название: MPC Video Renderer
Отправлено: V0lt от 15 Июль 2019, 07: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, 08:24:09
Ну ок - оставим в покое шейдеры ресайза.
А вот все что касается шейдеров преобразования - я только за чтобы все в райнтайме, в зависимости от параметров генерить "строку шейдера" и компилить.
Название: MPC Video Renderer
Отправлено: V0lt от 15 Июль 2019, 12:09:37
Прикол с видео без звука.

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

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

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

Если создать (построить) чистый граф фильтров, состоящий только из наших автономных фильтров с нашим же MPC Video Renderer, то можно даже получить ситуацию, когда "Scaling 0x0 -> 0x0 (https://yadi.sk/i/4pvEfbis8cncDA)", при этом нет никакого изображения, просто "черный экран".
Название: MPC Video Renderer
Отправлено: V0lt от 29 Июль 2019, 07:45:19
Цитата: Evgeniy1990
Если создать (построить) чистый граф фильтров, состоящий только из наших автономных фильтров с нашим же MPC Video Renderer, то можно даже получить ситуацию, когда "Scaling 0x0 -> 0x0 (https://yadi.sk/i/4pvEfbis8cncDA)", при этом нет никакого изображения, просто "черный экран".
Очень странно на входе 1280x720, на выходе окно тоже имеет размер. Посмотри, что в отладочная версия MPC VR пишет во вкладке "Information".
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 29 Июль 2019, 09:40:30
Цитата: V0lt
Очень странно на входе 1280x720, на выходе окно тоже имеет размер. Посмотри, что в отладочная версия MPC VR пишет во вкладке "Information".
Посмотрел.

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

Кстати такое поведение только на Discard, на Flip нет(но картинка моргает при ресайзе).
Название: MPC Video Renderer
Отправлено: V0lt от 21 Август 2019, 15: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, 09:35:40
Цитата: V0lt
Рендерер не рассчитан на плавное воспроизведение, если его окно постоянно изменяют.
Появление пропущенных кадров зависит не только от DX, но и от режима презентации.
О как...  Вот так новость...  о_О
Название: MPC Video Renderer
Отправлено: V0lt от 25 Август 2019, 11:47:30
Evgeniy1990
Поясню. При изменении окна рендерер постоянно рендерит имеющийся кадр под новый размер. Если декодер подготовил новый кадр, то ему придется подождать, когда рендерер освободиться. Но время идет, и может получиться так, что кадр от декодера уже устарел и нужен следующий. Поэтому кадр будет пропущен.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 25 Август 2019, 13:44:18
Цитата: V0lt
Evgeniy1990
Поясню. При изменении окна рендерер постоянно рендерит имеющийся кадр под новый размер. Если декодер подготовил новый кадр, то ему придется подождать, когда рендерер освободиться. Но время идет, и может получиться так, что кадр от декодера уже устарел и нужен следующий. Поэтому кадр будет пропущен.
Понятно. Просто я удивлен тому, насколько жестко ведет себя этот самый "Direct3D 9Ex", который, как мне всегда казалось, так вести себя никогда не должен. Ведь на том же EVR-CP Direct3D9 так себя не ведет. А мерцание изображения (кадров) при Flip/FlipEx - это вообще нечто. Странно, что Direct3D11 так себя не ведет.

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

И еще - как получить этот "Flip seqential"? У меня всегда, при любых конфигурациях, только "Flip discard" работает.
Название: MPC Video Renderer
Отправлено: V0lt от 25 Август 2019, 15: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, 15:51:29
Цитата: V0lt
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".
Ух ты, так это оказывается, еще и особенность Windows 10 и пакета Win10SDK. Здорово! Значит я не зря собираю сборки с использованием Win10SDK. :)
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 29 Август 2019, 08:32:41
По поводу "медленного" ресайза, по поводу моргания при ресайзе(DX9 + Flip) - проверяем
https://yadi.sk/d/v9IWDMoEp-FlUw

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

Хотя уже не актуально, собираем последний BE и VR и проверям
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 29 Август 2019, 19: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, 03:03:56
В планах выделить видеопроцессор D3D11 в отдельный класс. С ним проще экспериментировать, чем с DXVA2 VP.

Для чего это нужно:
1. Я надеюсь это поможет организовать более гибкий конвейер.
2. Хочу попробовать использовать D3D11 VP только для деинтерлейса для NV12 и YUY2.
3. Хочу попробовать вообще отключить D3D11 VP и попробовать задействовать шейдеры DX11 на Windows 7.
Название: MPC Video Renderer
Отправлено: V0lt от 07 Сентябрь 2019, 19: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 от 16 Сентябрь 2019, 22: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, 18:00:36
Aleksoid1978
На DX9 c DXVA2 на Win7 не проявляется вроде. На DX11 проверю завтра.
Название: MPC Video Renderer
Отправлено: V0lt от 20 Сентябрь 2019, 03:55:59
На DX11 после DXVA2 декодера проблему вижу. Похоже где-то проявляется неправильное значение высоты.

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

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

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

vitsat
Цитировать
Так стробит: https://radikal.ru/video/Yv1bfrNK5gA
Вот это жесть! Что на Intel, что на AMD - одни и те же проблемы, в большинстве случаев.
Название: MPC Video Renderer
Отправлено: vitsat от 08 Октябрь 2019, 14: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://d.radikal.ru/d23/1910/7e/79eddbb39615.png) (https://radikal.ru)
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 08 Октябрь 2019, 15:21:12
vitsat
В моем случае, на AMD-видеокарте, стробит только при работе DXVA2-декодера. В софте - все нормально.
Название: MPC Video Renderer
Отправлено: V0lt от 08 Октябрь 2019, 16: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, 16:37:24
Цитата: vitsat
Второй вопрос не понял. Причем тут MPC VR? По твоим скриншотам видно, что IDM перепаковывает матрешки и портит свойства видеопотока.
Второй вопрос видимо связан с ReClock, устаревшая библиотека MediaInfo которого не определяет на автомате fps большинства WebM роликов (но треть моих роликов всё же определяет). Попробовал на других рендерерах - то же самое.  Поэтому этот вопрос закрываю.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 08 Октябрь 2019, 17:33:02
Aleksoid1978
Увидеть строб достаточно просто. Как говорится, "Игромания" в помощь. Именно "Игромания" содержит в себе интерлейсные MP4-видео файлы. Прилагаю вам сэмплы (https://yadi.sk/d/eog4i2uR3RYX0w), которые вы правили в свое время, улучшая аппаратное декодирование DXVA2. Вот именно на них строб также присутствует. Т.е. вместо плавности воспроизведения, как положено, идут прерывания подряд. Это и есть строб, иначе говоря, - потеря плавности, дрожания во время воспроизведения.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 08 Октябрь 2019, 23:41:27
Очень интересно - на Nvidia такой проблемы нет ))
Название: MPC Video Renderer
Отправлено: V0lt от 09 Октябрь 2019, 07: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, 07:21:47
V0lt
Цитировать
Разница разных адаптеров в ReferenceSamples. Похоже один кадр Backward теряется.
В моем случае, исходя из ваших слов, потери гораздо значительные. Backward = 2 (https://yadi.sk/i/EPDEt2S6BCTE_Q), Forward = 0
Я так понимаю, что это нехорошо, так ведь?
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 09 Октябрь 2019, 09:29:03
Цитата: Evgeniy1990
Я так понимаю, что это нехорошо, так ведь?

Нет конечно - это просто у каждого вендора/дров разные принципы/способы работы с деинтерлейсом.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 12 Октябрь 2019, 09: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 от 12 Октябрь 2019, 23:07:54
На Nvidia все гуд, есть картинка.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 13 Октябрь 2019, 05:15:10
Цитата: Aleksoid1978
На Nvidia все гуд, есть картинка.
На AMD отсутствует картинка, начиная с 870-ого билда. Т.е поломался код только для AMD-видеокарт.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 13 Октябрь 2019, 06:30:47
Ну не повезло :)
Название: MPC Video Renderer
Отправлено: V0lt от 13 Октябрь 2019, 11:25:42
Evgeniy1990
Для информации. Версия и git-хэш могут быть легко скопированы прямо из окна настроек MPC VR. Хэш очень ускоряет нахождение нужного комита. А то вот сижу вручную отчитываю 11 комитов (881-870) назад. :)
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 13 Октябрь 2019, 16:35:16
Цитата: Aleksoid1978
Ну не повезло :)
Вот так ответ...
Цитата: V0lt
Для информации. Версия и git-хэш могут быть легко скопированы прямо из окна настроек MPC VR. Хэш очень ускоряет нахождение нужного комита. А то вот сижу вручную отчитываю 11 комитов (881-870) назад.
Спасибо за информацию. Учту. Но я же указал проблемный commit: 9c65e14.
Название: MPC Video Renderer
Отправлено: V0lt от 13 Октябрь 2019, 16: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, 17:20:50
Цитата: V0lt
В комите 870 лечили падение плеера (https://mpc-be.org/forum/viewtopic.php?id=508).
Падение было исправлено, но почему-то теперь перестали отображаться кадры при перемотке во время остановки воспроизведения. Да уж, не одно, так другое... После последнего релиза, явно пошли некорректные изменения, особенно для видеокарт 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, 17: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, 18: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, 00:24:39
MPC-BE должен закрывать же окошки свойств при закрыти проигрывания.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 14 Октябрь 2019, 01:00:59
Цитата: V0lt
Залил v0.3.3.882_git2019.10.13-d666896. Должен починиться деинтерлейс и перемотка после стопа.

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

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

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

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

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

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

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

(https://i.imgur.com/3K5pDva.png)

(https://i.imgur.com/2HixZm9.png)


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

(https://i.imgur.com/4oUOOC2.png)



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

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

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

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

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

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

Вот как это выглядит (https://yadi.sk/i/79wVlq2OjFKUwA), если используется Swap effect - Flip.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 22 Октябрь 2019, 23:10:44
Цитата: Evgeniy1990
Aleksoid1978
На D3D11 аппаратный деинтерлейс не работает и никогда не работал вообще, даже с опцией удвоения кадров, хотя по логике должен, тем более данная опция теперь включена по умолчанию.

У меня работает и работал всегда :)
Название: MPC Video Renderer
Отправлено: LongKick64 от 23 Октябрь 2019, 14: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, 15:20:33
Цитата: LongKick64
В EVR(CP) работает "Top-Field First", "Bottom-Field First" тоже работает, но картинка дергаться начинает, "Прогрессив" выдает то, что на этом (https://mpc-be.org/forum/viewtopic.php?pid=5240#p5240) скрине.)
Т.е. вы намеренно задаете неправильное значение полей интерлейса и придираетесь к тому, что деинтерлейс начинает работать неправильно?
Ну нафиг, этот рендерер точно не для вас. :|
Название: MPC Video Renderer
Отправлено: LongKick64 от 23 Октябрь 2019, 15:23:47
Я лишь написал при каких условиях у меня появляется интерлейс в EVR(CP). В режиме "Top-Field First" интерлейса нет. В вашем рендере есть, а в каком он там режиме работает я хз.
Название: MPC Video Renderer
Отправлено: V0lt от 23 Октябрь 2019, 16: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, 18:11:52
Цитировать
Залил тестовый mpcvr-894_class_dxva2vp.
Перенес DXVA2 VP в отдельный класс. Прошу потестировать.
Хммммм. Включил в настройках дров амд вот эту опцию:
(https://i.imgur.com/9sP5Ugh.png)

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

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

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

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

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

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

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

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

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

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

Только у меня один вопрос - удаленно через что коннектиться будем? У меня есть TeamViewer. Или вы предпочтете другое предложение (свой вариант приложения удаленного доступа)?
Название: MPC Video Renderer
Отправлено: V0lt от 25 Октябрь 2019, 15: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, 16: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 от 25 Октябрь 2019, 23: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, 05: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, 06:02:50
Гребенка и удвоение - никак не связаны. Просто(как оказалось) - у нас в D3D11 VP не совсем правильно реализована работа деинтерлейса. Так что ждите да и все :)
Название: MPC Video Renderer
Отправлено: V0lt от 26 Октябрь 2019, 13: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, 13:27:22
V0lt,
Цитировать
Собрал 898. Возможно что-то поменялось с интерлейсом на DX11. Гляньте.
Глянул. Гребенка так и осталась на DX11. Пока ничего не поменялось.
Название: MPC Video Renderer
Отправлено: V0lt от 26 Октябрь 2019, 13: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, 01:30:05
Цитировать
Глянул. Гребенка так и осталась на DX11. Пока ничего не поменялось.
И у меня гребенка осталась. :(


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

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

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

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

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

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

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

(https://i.imgur.com/CRyCZK5.png)
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 27 Октябрь 2019, 08:37:40
Нет у нас гибридной графики - поэтому не можем тестить такие нюансы.

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

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

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

Отсюда (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, 10: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, 10: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, 11:42:17
LongKick64
Ну вот. Одна видеокарта Intel HD Graphics 3000 с двумя выходами. К одному выходу подключен Generic PnP Monitor, ко второму ничего (это наверное внешний порт). И все, никаких других видеокарт софт не видит. А драйвер сам чего-то там переключает в зависимости от своих настроек.
Название: MPC Video Renderer
Отправлено: LongKick64 от 27 Октябрь 2019, 12:40:03
То есть, ничего не подделать?
Название: MPC Video Renderer
Отправлено: V0lt от 27 Октябрь 2019, 13:06:35
LongKick64
Ты похоже не понимаешь. Для любого софта у тебя только Intel HD Graphics 3000 и других видеокарт нет. Что там подключено реально, знает только драйвер и спец. софт от AMD. Идти на подвиги, чтобы решить твою косметическую проблему, никто не будет.
Название: MPC Video Renderer
Отправлено: LongKick64 от 27 Октябрь 2019, 13:23:15
V0lt, понятно, благодарю за разъяснение.
Название: MPC Video Renderer
Отправлено: V0lt от 27 Октябрь 2019, 15: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, 16:47:59
Я такое не умею, увы. :( Может кто-то возьмется?
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 27 Октябрь 2019, 18:22:31
LongKick64
Цитировать
Я такое не умею, увы. sad Может кто-то возьмется?
Проверь (https://yadi.sk/d/zEbZtPnY5nVIOA).
Название: MPC Video Renderer
Отправлено: LongKick64 от 27 Октябрь 2019, 18:49:13
Evgeniy1990, какой-то ворох ошибок посыпался:

(https://i.imgur.com/ebgkjrS.png)

(https://i.imgur.com/GQsjR4Z.png)

(https://i.imgur.com/PHvjY4t.png)
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 27 Октябрь 2019, 19:01:15
LongKick64

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

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

(https://i.imgur.com/GQsjR4Z.png)
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 27 Октябрь 2019, 19:11:37
LongKick64

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

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

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

В общем фи Chuck Walbourn, который лезет в вопросы по гибридной графике со своей функцией EnumAdapterByGpuPreference, которая кроме сортировки адаптеров ничего не умеет.
Название: MPC Video Renderer
Отправлено: LongKick64 от 28 Октябрь 2019, 15: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, 16:09:36
Собрал mpcvr_907_d3d11_pastframes_1 (https://yadi.sk/d/uwBu4owfK9vOwg).
Теперь старые кадры участвуют получении текущего.
Просьба проверить работу на интерлейсных роликах на AMD. Хочется знать, стало лучше-хуже или без изменений.
Название: MPC Video Renderer
Отправлено: LongKick64 от 29 Октябрь 2019, 21:21:33
Цитата: V0lt
Собрал mpcvr_907_d3d11_pastframes_1 (https://yadi.sk/d/uwBu4owfK9vOwg).
Теперь старые кадры участвуют получении текущего.
Просьба проверить работу на интерлейсных роликах на AMD. Хочется знать, стало лучше-хуже или без изменений.
Все так же (https://mpc-be.org/forum/viewtopic.php?pid=5273#p5273), ничего не поменялось.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 30 Октябрь 2019, 06:18:21
А проверьте как в Pot на DX11 работает деинтерлейс ?
Название: MPC Video Renderer
Отправлено: LongKick64 от 30 Октябрь 2019, 07:07:46
Не могли-бы вы ткнуть меня носом, где в этом PotPlayer это настраивается? Сложно что-то найти в такой свалке настроек. :rolleyes:
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 30 Октябрь 2019, 10:58:12
Где то в настройках видео, в выборе рендереров.
Название: MPC Video Renderer
Отправлено: V0lt от 30 Октябрь 2019, 14: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, 01:30:32
Ну раз даже на Nvidia стало приятнее - заливай код.
Название: MPC Video Renderer
Отправлено: V0lt от 31 Октябрь 2019, 03:27:50
Я не говорил, что стало лучше. Я лишь сказал, что на этом ролике видно разницу между видеопроцессорами DXVA2 и D3D11.

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


То при попытке воспроизвести деинтерлейсное видео, получаю вот такое сообщение об ошибке:
(https://i.imgur.com/Ae46HDO.png)


Цитировать
Собрал mpcvr_907_d3d11_pastfutureframes_2.
Просьба проверить работу на интерлейсных роликах на картах AMD. Стало лучше-хуже или без изменений?
Без изменений. В режиме D3D11 гребенка на месте.
Название: MPC Video Renderer
Отправлено: V0lt от 31 Октябрь 2019, 19: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, 06: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, 10:23:32
Цитировать
Выложил mpcvr_908_d3d11_deinterlace_4. Просьба проверить.
В режиме D3D11, гребенка на месте.

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

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

Странно, но vlc я тоже не могу назначить работу на радеон. :rolleyes:
(https://i.imgur.com/YYZWhja.png)


Добавлено: 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, 10:55:48
Pot/VLC можно portable версии и все, надо же только проверить разово.
Название: MPC Video Renderer
Отправлено: LongKick64 от 01 Ноябрь 2019, 10:56:41
Aleksoid1978, ну, если есть portable, то и их проверю. ;)
Название: MPC Video Renderer
Отправлено: yan.sarkiss от 01 Ноябрь 2019, 18: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, 19:01:16
Цитировать
Вообще то есть. Надо поставить мод дров от leshcatlabs
Насколько мне известно, автор уже давно забросил свой проект. :rolleyes:

Цитировать
Кстати не напишете, какая карточка от АМД используется у вас?
AMD RADEON HD 6490M (https://www.notebook-center.ru/video_293.html).
Название: MPC Video Renderer
Отправлено: yan.sarkiss от 01 Ноябрь 2019, 19:23:43
LongKick64, ну да, забросил
Там делать по сути нечего, что автор и говорил
Название: MPC Video Renderer
Отправлено: V0lt от 01 Ноябрь 2019, 19: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, 19:41:36
UPD
Цитировать
В MPC никак
короч потестил с DirectVobSub в MPC 1.7.16 - сабы пашут, цвета выровнялись, градиент стал заметен сильно
Отсюда вывод, с VSfilters  имеем 8 бит
Без сабов имеем 10, но с кривыми цветами

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


Осталось узнать, что делать с зеленкой?
Название: MPC Video Renderer
Отправлено: V0lt от 02 Ноябрь 2019, 06: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, 09: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, 10:01:17
Цитата: yan.sarkiss
Осталось узнать, что делать с зеленкой?
Я вижу два разных темных кадра упакованных в GIF. Второй кадр естественно хуже. Это не сравнение, а ерунда какая-то.
Название: MPC Video Renderer
Отправлено: yan.sarkiss от 02 Ноябрь 2019, 21: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, 03: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, 03:16:19
Цитата: Evgeniy1990
V0lt

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

LongKick64

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

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

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

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

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

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

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

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

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

Но опять же - судя по скрину для обработки юзается DX9, DX11 тупо для вывода.
Да, это галка в драйвере, которая включена в нем по умолчанию. И в MPC VR имеется с ней проблема, но только на DX11. Мне пришлось перебрать абсолютно все билды вплоть до самого первого, чтобы разгадать откуда она взялась.
Если она включена, то субтитры начинают мерцать, т.к. идут вслед за кадрами видео. Чем чаще меняются кадры, тем сильнее мерцают субтитры. Я думаю, что вам понятно, что произойдет в конечном итоге...
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 03 Ноябрь 2019, 04:19:20
Ну с этим мерцанием хз что сделать можно.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 03 Ноябрь 2019, 04:20:07
Ох, рассмешили вы меня - такое сказали прямо - "какой-то DXVAHD". )))))
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 03 Ноябрь 2019, 04:23:55
Это я сказал в том смысле - какое отношение имеет к DX11. И проверь в DXVAChecker - на твоей карте он вообще поддерживается, DXVAHD ?
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 03 Ноябрь 2019, 05:01:39
Aleksoid1978
Цитата: Aleksoid1978
Это я сказал в том смысле - какое отношение имеет к DX11. И проверь в DXVAChecker - на твоей карте он вообще поддерживается, DXVAHD ?
Проверил. Судя по DXVAChecker (https://yadi.sk/i/WNfUFT96Na9oPQ), DXVA-HD не поддерживается. Так что, вот вам и "хваленый PotPlayer" - кусок говна, в котором врет даже статистика видео-рендереров. А аппаратный его родной деинтерлейсинг так и вообще не пашет.
Название: MPC Video Renderer
Отправлено: yan.sarkiss от 03 Ноябрь 2019, 05: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, 05:48:17
yan.sarkiss

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

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

Цитата: Aleksoid1978
Оффтоп конечно - но он в первую очередь для Кореи делает.
"Для Кореи делает"... ))))))
Название: MPC Video Renderer
Отправлено: yan.sarkiss от 03 Ноябрь 2019, 06: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, 06: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.sarkiss
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
Отправлено: yan.sarkiss от 03 Ноябрь 2019, 08: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, 09:09:47
yan.sarkiss, в рамках текущей темы нас интересует только деинтерлейc в MPC Video Renderer в режиме D3D11.
У тебя похоже он работает, правда версия у тебя старая.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 03 Ноябрь 2019, 09: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, 09: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, 09: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, 10:15:26
Evgeniy1990
А на 10-очном плеере есть возможность проверить?
ПотПлеер под капотом может мудрить, вплоть до подключения своего деинтерлейса. А виндовый плеер скорее всего сделает все по спекам.
Название: MPC Video Renderer
Отправлено: LongKick64 от 03 Ноябрь 2019, 11:54:04
yan.sarkiss, по поводу зелени, монитор калибровали? Похоже на фокусы с цветовым профилем. Я свой Spyder5Express калибрую.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 03 Ноябрь 2019, 14:17:22
Цитата: V0lt
А на 10-очном плеере есть возможность проверить?
Да я бы с радостью проверил, вот только этот десяточный плеер  "Кино и ТВ" не понимает формат VOB.
<негатив удален модератором>
Цитата: V0lt
ПотПлеер под капотом может мудрить, вплоть до подключения своего деинтерлейса. А виндовый плеер скорее всего сделает все по спекам.
Да я уже понял, как ведет себя этот хваленый ПотПлеер - нагло врет, <негатив удален модератором>. А это плохо и грустно.

По поводу виндового плеера, я с вами полностью согласен - он то уж точно действовать будет строго по спекам.
Название: MPC Video Renderer
Отправлено: LongKick64 от 03 Ноябрь 2019, 14:57:53
Цитировать
Да я бы с радостью проверил, вот только этот десяточный плеер  "Кино и ТВ" не понимает формат VOB.
Можешь на моем клипе (https://mega.nz/#!T9BFDSIL!eeixxo7lrDPXV0DQquKy0EVLbvPbqZ7thhZNU9v9nPk) проверить, он тоже гребенчатый на amd + d3d11. ;)
Название: MPC Video Renderer
Отправлено: V0lt от 03 Ноябрь 2019, 15:08:03
Цитата: Evgeniy1990
Да я бы с радостью проверил, вот только этот десяточный плеер  "Кино и ТВ" не понимает формат VOB.
Попробуй эти (поддержка m2ts заявлена (https://support.microsoft.com/ru-ru/help/3078080)):
Автомобили.m2ts (https://bayfiles.com/p4z5Mf96nd/_m2ts)
Токио.m2ts (https://bayfiles.com/y70aM49dn7/_m2ts)
японка на веревке.m2ts (https://bayfiles.com/X7waM49cnf/_m2ts)
В них гребенка даже при уменьшении хорошо заметна.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 03 Ноябрь 2019, 15: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 от 03 Ноябрь 2019, 23:05:05
V0lt,
Цитировать
yan.sarkiss, в рамках текущей темы нас интересует только деинтерлейc в MPC Video Renderer в режиме D3D11.
я использовал разные декодеры, т.к за деинтерлейс ведь отвечают
они, а не mpc vr, поправьте если не прав.


Evgeniy1990,
Цитировать
Гляньте пожалуйста на скриншот.
Я вижу что вместо MPC-VR, запущен DX11 Video Renderer с неподдерживаемой интерполяцией (хотя к деинтерлейсу никакого отношения она не имеет)
(https://i91.fastpic.ru/thumb/2019/1104/ee/df02c696996b4cae72ec27e9982b82ee.jpeg) (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://i91.fastpic.ru/thumb/2019/1104/46/_191611c96ea8fd1a5398d61a73352d46.jpeg) (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, 04: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, 04:49:23
Evgeniy1990,
Цитировать
Ваш ответ очень забавный, а то я не знаю, какой нужно выбирать деинтерлейс.
я не сомневаюсь. Я имел в виду если использовать разные режимы, то можно увидеть разницу.
Цитировать
Спросите свой любимый и дряной ПотПлеер
ну-ну, не надо гнать на пот. У меня все нормально, поэтому и спросил (вот если с амд юзать то там как у вас будет, но это к карте претензии а не к поту))) )
я же не могу винить EVR за то что он PO10 не понимает, т.к картой аппаратно не поддерживается
Цитировать
Вот сразу видно, что вы не понимаете, как работает аппаратный деинтерлейс
Ну я понимал его так, что если из двух полукадров создать один - то будет 30фпс вместо 60. Хотя и от видео тоже зависит. где-то реально 60 даст гладкое воспроизведение. А где-то будет как в том муз клипе, имеем 60 - а на деле 30
Цитировать
надпись именно на выходе
опять же, зависит от метода.
Название: MPC Video Renderer
Отправлено: V0lt от 04 Ноябрь 2019, 05: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, 05: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, 05:40:09
Цитата: yan.sarkiss
T.e DXVA Native?
Нет. Забудь о декодерах вообще.
DXVA2 VP - это DirectX Video Acceleration Video Processor device (https://docs.microsoft.com/en-us/windows/win32/api/dxva2api/nn-dxva2api-idirectxvideoprocessor).
Название: MPC Video Renderer
Отправлено: vitsat от 04 Ноябрь 2019, 18: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 от 04 Ноябрь 2019, 22:28:51
Цитата: vitsat
Баг-тикет: Внешний 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
Подтверждаю, посмотрим.

P.S. Такое чувство что прикол с самим PowerDVD декодером, с madVR тоже не работает. Ну и я глянул по коду и работе нашего VR - PowerDVD декодер просто "не делает" того что должен для работы DXVA2 декодера. На 100% уверен что у него просто зашит список видео-рендереров с которыми будет работать DXVA :)
Название: MPC Video Renderer
Отправлено: V0lt от 05 Ноябрь 2019, 03: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, 07:40:46
Aleksoid1978
Цитировать
На 100% уверен что у него просто зашит список видео-рендереров с которыми будет работать DXVA :)
Интересно, что на MPEG-2 включается GPU
(https://d.radikal.ru/d07/1911/d8/4207b8f0c6e8t.jpg) (https://d.radikal.ru/d07/1911/d8/4207b8f0c6e8.png)
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 05 Ноябрь 2019, 11:58:11
Цитата: vitsat
Интересно, что на MPEG-2 включается GPU
Ну это вопрос уже не ко мне :)
Название: MPC Video Renderer
Отправлено: LongKick64 от 05 Ноябрь 2019, 21:49:36
Цитировать
Просьба проверить режим DX9 c Swap Effect = Discard.Сильно ли стала тормозить картинка при изменении окна?
У меня норм все.

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

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

Выложил MPCVideoRenderer-v0.3.3.933_git2019.11.06-b55f36e (https://yadi.sk/d/X0EVMKP4TcmnHQ).
Снова прошу проверить деинтерлейс на AMD с удвоением кадров.

Сэмплы для тестов:
Автомобили.m2ts (https://bayfiles.com/p4z5Mf96nd/_m2ts)
Токио.m2ts (https://bayfiles.com/y70aM49dn7/_m2ts)
японка на веревке.m2ts (https://bayfiles.com/X7waM49cnf/_m2ts)

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

Версия обновлена до 0.3.3.933.
Исправлен поворот кадра в режиме DX11.
Название: MPC Video Renderer
Отправлено: LongKick64 от 07 Ноябрь 2019, 00: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, 02:19:02
Все отображаются субтитры - зачем вносить смуту :)
Название: MPC Video Renderer
Отправлено: V0lt от 07 Ноябрь 2019, 02:36:56
LongKick64
Спасибо за тесты.
Субтитры у меня отображаются. Если у тебя не так, то покажи настройки субтитров в плеере и выложи небольшой проблемный файл.
Название: MPC Video Renderer
Отправлено: LongKick64 от 07 Ноябрь 2019, 12: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, 14: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, 15: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, 16:03:41
LongKick64, сделай лог тогда.
Используй отладочную (DEBUG) версию MPC VR. Запусти DebugView (https://docs.microsoft.com/en-us/sysinternals/downloads/debugview) перед началом воспроизведения файла СубтитрыТест.mkv. После завершения воспроизведения (там  всего 10 секунд) сохрани лог в файл и выложи куда-нибудь.
Название: MPC Video Renderer
Отправлено: LongKick64 от 07 Ноябрь 2019, 16:12:58
Вот: https://mega.nz/#!GkJmVaBD!p5B2YXhnSAW9FtW5fWtLjo61a8FyVFTNLDUy-Tk3Gaw
Название: MPC Video Renderer
Отправлено: V0lt от 07 Ноябрь 2019, 17:12:36
В логе мало информации. Если рядом положить вот эти DLL (https://yadi.sk/d/1LurZiRLY2_l7g) соответствующей разрядности, станет ли лог жирнее?
Название: MPC Video Renderer
Отправлено: LongKick64 от 07 Ноябрь 2019, 18:30:16
Завтра проверю. ;)
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 08 Ноябрь 2019, 01:29:48
Возможно это все из-за гибридной графики. У нас такого железа нет - проверить не можем :)

P.S. Вот попробуй - https://yadi.sk/d/ZXkdO-ANwue4Mg
Название: MPC Video Renderer
Отправлено: LongKick64 от 08 Ноябрь 2019, 18:50:34
Цитата: V0lt
В логе мало информации. Если рядом положить вот эти DLL (https://yadi.sk/d/1LurZiRLY2_l7g) соответствующей разрядности, станет ли лог жирнее?
Бросил эти файлы в папку с плеером 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, 18:59:24
Рендерер видит эти DLL, но использовать не получается. DX11 отваливается и MPC VR в итоге работает в режиме DX9. Поэтому и субтитры есть.
Без установки WinSDK расширенный лог для DX11 похоже не получить. DLL-ки можешь удалить.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 09 Ноябрь 2019, 00:16:12
А то что я выложил для проверки выше - как на нем ?
Название: MPC Video Renderer
Отправлено: LongKick64 от 09 Ноябрь 2019, 02: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, 02:55:09
Там все сложнее, но без такого железа - без шансов понять.
Название: MPC Video Renderer
Отправлено: vitsat от 09 Ноябрь 2019, 12: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/36c54462efc5t.jpg) (https://c.radikal.ru/c20/1911/9e/36c54462efc5.png)
С любыми интерлейсными и MBAFF роликами на Intel Graphics 4600 HD (и на 4000 HD) в последнее время проблем тоже нет.
Благодарю за работу!
Название: MPC Video Renderer
Отправлено: V0lt от 10 Ноябрь 2019, 06: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/images/f6/42/f64200e905343ea5d8fa648b4f99838b.png) (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, 08:24:15
Чето нифигу у меня не качает с яндекса ((
Название: MPC Video Renderer
Отправлено: LongKick64 от 10 Ноябрь 2019, 19:43:20
А что значит Direct3D 9Ex в статистике? Что за Ex?

(https://i.imgur.com/mA3dOMj.png)
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 11 Ноябрь 2019, 02:33:25
Не обращай внимание - это просто DX9 :)
Название: MPC Video Renderer
Отправлено: V0lt от 11 Ноябрь 2019, 02:39:27
LongKick64
Вот чего гугл выдает - Direct3D 9Ex Improvements (https://docs.microsoft.com/en-us/windows/win32/direct3darticles/direct3d-9ex-improvements).
Название: MPC Video Renderer
Отправлено: V0lt от 25 Ноябрь 2019, 16: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, 16:57:08
Цитировать
Релиз 0.3.4 мы типа выпустили
А где скачать можно?
Название: MPC Video Renderer
Отправлено: V0lt от 25 Ноябрь 2019, 16:57:59
Ссылку добавил.
Название: MPC Video Renderer
Отправлено: LongKick64 от 25 Ноябрь 2019, 17:01:12
Проверил, у меня нет никаких ошибок.
Название: MPC Video Renderer
Отправлено: V0lt от 25 Ноябрь 2019, 17:58:24
LongKick64
Какая винда? Какая разрядность рендерера?
Название: MPC Video Renderer
Отправлено: LongKick64 от 25 Ноябрь 2019, 18:11:37
10. x64.
Название: MPC Video Renderer
Отправлено: V0lt от 25 Ноябрь 2019, 18:24:42
Скриншот падения релизной версии (но отладочного плеера) для Aleksoid1978.
(https://i.ibb.co/pw4bmJq/crash.png) (https://ibb.co/pw4bmJq)
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 25 Ноябрь 2019, 23:01:41
Win10, x86 - все отлично.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 26 Ноябрь 2019, 02:33:16
V0lt,
Цитировать
Сбрасываю настройки. Включаю режим DX11 и статистику. Запускаю плеер, начинаю воспроизведение, закрываю плеер и тут же получаю ошибку. Версия v0.3.4.956 x64, Win8.1.

Прошу проверить.
Проверил релизную версию видео-рендерера. По вашему алгоритму, при закрытии плеера, нет никаких ошибок.
Проверял на Windows 10, x64. Естественно, плеер и видео-рендерер были "Release", а не "Debug".
Название: MPC Video Renderer
Отправлено: V0lt от 26 Ноябрь 2019, 02: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, 02:45:53
V0lt,
Цитировать
А у меня падают все наши Релизы - https://github.com/Aleksoid1978/VideoRenderer/releases
Вот это новость!
Цитировать
Причем может быть сразу две ошибки при закрытии подряд.
Вот это жесть!

Получается, что у вас падают только релизные версии, а бета-версии не падают вообще. Я правильно понял?
Название: MPC Video Renderer
Отправлено: V0lt от 26 Ноябрь 2019, 02: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, 10:25:04
Цитата: Evgeniy1990
Получается, что у вас падают только релизные версии, а бета-версии не падают вообще. Я правильно понял?
У меня падают любые сборки. И официальные релизы и беты. Не падают только отладочные (DEBUG) версии.

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

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

MPC-HC с нашем рендерером падает при переходе на другой файл. При закрытии плеера не падает.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 26 Ноябрь 2019, 22:34:14
Т.к. падение только на 8.1 - надо что бы другие пользователи у кого 8.1 проверили, на 10 все норм.
Название: MPC Video Renderer
Отправлено: LongKick64 от 27 Ноябрь 2019, 00:09:01
V0lt, надо бы первый пост в теме обновить, добавить ссылку на новый релиз.
Название: MPC Video Renderer
Отправлено: V0lt от 28 Ноябрь 2019, 08: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, 16:49:38
V0lt,
Commit 372deed - некорректный. После него, перестала работать отладочная версия видео-рендерера. При попытке зарегистрировать (установить) Debug-версию в операционную систему, выскакивает ошибка переменной HW_AVX (https://yadi.sk/i/219FBuHJ0dcgBw), которая используется без инициализации.

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

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

Новость из мира DirectShow-плееров :)
(https://i.ibb.co/YW86knk/MPCVRin-Pot-Player.png) (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, 03: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, 04: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, 02: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, 07: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, 12: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, 08:57:06
V0lt

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

Тогда почему на EVR-CP нормально? Странно...
Название: MPC Video Renderer
Отправлено: V0lt от 24 Январь 2020, 12: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, 13:34:19
Цитата: V0lt
Воспроизводится видео 60 fps. Декодируется аппаратно, кодек неизвестен. Шейдеры надеюсь не добавлены.
Ответ почему можно дать, если будут скриншоты GPU-Z после 10 секунд воспроизведения с одинаковым размером окна:
1) для EVR-CP или старого MPC VR (v0.3.8.1060);
2) для свежего MPC VR.
Шейдеры я не добавлял.

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

1. Свежий MPC VR (https://yadi.sk/i/jkdDSWBJv6pgoA)
2. EVR-CP (https://yadi.sk/i/cTkp9_kn2qLVZw)
Название: MPC Video Renderer
Отправлено: V0lt от 24 Январь 2020, 19: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 от 24 Январь 2020, 21: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!

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

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

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

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

Цитата: Evgeniy1990
1. Используется 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 (https://yadi.sk/d/X0EVMKP4TcmnHQ)
Добавлена поддержка режима D3D11 для Windows 7 SP1.
Для D3D11 на Win7 cкорее всего понадобиться Platform update (KB2670838 (https://www.microsoft.com/en-us/download/details.aspx?id=36805)).
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 27 Январь 2020, 07: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, 07:56:38
Какие настройки синхронизации на EVR-CP ? Попробуй без галок вообще и сравни.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 27 Январь 2020, 08: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, 08:33:15
Бред какой то.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 27 Январь 2020, 08:54:34
Aleksoid1978
Цитата: Aleksoid1978
Бред какой то.
Увы, но это не бред. Это чистая правда.

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

1. 60 Гц (https://yadi.sk/i/3UD4-OXxgjcoGA)
2. 75 Гц (https://yadi.sk/i/kejtpHg7oVwlrA)
Название: MPC Video Renderer
Отправлено: V0lt от 27 Январь 2020, 15:27:29
У меня ощущение, что где-то в DWM или драйвере кадры придерживаются на +1 обновление экрана.
Название: MPC Video Renderer
Отправлено: V0lt от 29 Январь 2020, 02: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, 05: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, 17:31:26
Цитата: Evgeniy1990
У меня вообще 8.065i на входе и 20.854 на выходе (https://yadi.sk/i/XQeWzuJ3u5i4vA) вместо 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 (https://github.com/Aleksoid1978/VideoRenderer/commit/7a81052c67aa6076c8c5a4b1b8f087322de9f055)


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

В общем сделал частичный откат 7a81052. Собирайте v0.4.0.1122 и проверяйте на своих системах. Мне похоже помогло на Win7.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 30 Январь 2020, 01: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, 02:13:35
Вопрос был о частоте кадров.

Microsoft DTV-DVD Video Decoder - это отдельная тема.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 30 Январь 2020, 02:17:49
Microsoft DTV-DVD Video Decoder - на Win 8.1/10 не подключается к MPEG1/2, убрали эту возможность после 7.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 30 Январь 2020, 02: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, 02:40:09
Цитата: Evgeniy1990
После частичного отката проблемного изменения, частота на входе и выходе стала нормальной.
Спасибо. Сборку 1122 залил.
Цитировать
Да что вы говорите... Я воспроизводил баг с частотой кадров на DVD-Video как раз при помощи Microsoft DTV-DVD Video Decoder.
Работа этого декодера перепроверяется просто. Подключается обычный EVR или EVR-CP и запускается DVD-Video.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 30 Январь 2020, 05: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, 06:07:06
Еще раз повторюсь - начиная с 8(или 8.1) Microsoft DTV-DVD Video Decoder перестал подключатся и декодировать MPEG1/2, DVD в том числе.

Проверяется легко - в графстудии.
Название: MPC Video Renderer
Отправлено: V0lt от 30 Январь 2020, 14:25:47
Цитата: Evgeniy1990
Впервые в своей жизни слышу про такой способ. (О_о) Они что связаны (взаимосвязаны)???
EVR-CP или EVR - это штатные рендереры MPC-BE и MPC-HC уже более десятка лет. Если с этими рендерарами не работает Microsoft DTV-DVD Video Decoder при воспроизведении DVD-Video, то с любым другим не будет и подавно.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 01 Февраль 2020, 17: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, 09:10:57
Microsoft DTV-DVD Audio Decoder умеет проигрывать ас3.

Не умеет DTS-HD.

Смысла им пользоваться мало.
Название: MPC Video Renderer
Отправлено: lexxx от 03 Февраль 2020, 10:23:25
Попробовал Ваш рендерер с MPC-HC (Windows 10, GTX 660 или UHD 630).
DXVA2 Flip кажется наименее ресурсоемким. Заметил только моргание видео, при изменении размера окна, но это не критично.
Я не пользуюсь никакой постобработкой. Правильно я понимаю, что в моем случае использование Direct3D11 не даст никаких преимуществ, а только более загруженный GPU?
В описании не понятно, с точки зрения пользователя есть ли разница (Дополнительные возможности режима DirectX 11: - Умеет работать с аппаратным декодером D3D11 - что это дает, не понятно. Разве что DXVA2 перестанет поддерживаться).
Название: MPC Video Renderer
Отправлено: V0lt от 03 Февраль 2020, 14:27:42
Принципиальных преимущество режим Direct3D11 пока не дает.
Название: MPC Video Renderer
Отправлено: V0lt от 09 Февраль 2020, 11:38:50
Кусок градиента под "лупой" без дизеринга (MPC VR) и с дизерингом (madVR)
(https://jpegshare.net/images/d7/f5/d7f5f75e9b152491206f9e7b5c3762c5.png) (https://jpegshare.net/images/fb/b3/fbb357ab564767664217d0858a1cd179.png)

Тоже самое увеличено в 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, 06: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, 12: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, 15:33:29
kingofpower
Я не подтверждаю.
(https://i.ibb.co/P6VJKYn/Float16.png) (https://ibb.co/P6VJKYn)
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 12 Февраль 2020, 18:24:01
kingofpower,
I don\'t confirm! (https://yadi.sk/i/Uu_KlEYeLrbq6g)
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 12 Февраль 2020, 22:41:37
AMD ?
Название: MPC Video Renderer
Отправлено: kingofpower от 13 Февраль 2020, 12: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, 12: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, 12: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, 13: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, 14: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 от 13 Февраль 2020, 22: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, 11:37:21
(http://d.radikal.ru/d23/2002/3e/ddde41e9fe1b.jpg)
Скажите пожалуйста,как узнать точно, включился hdr или нет? Просто цветастая картинка становится и все. С Madvr все переключается,но картинка блеклая.
Название: MPC Video Renderer
Отправлено: V0lt от 14 Февраль 2020, 16:01:29
djpete79
Что конкретно подразумевается под "включился hdr"?
В первом сообщении темы расписаны возможности рендерера, там и про HDR есть одна строчка.
Название: MPC Video Renderer
Отправлено: djpete79 от 14 Февраль 2020, 20:55:29
Увеличил картинку,посмотрите пожалуйста на настройки рендера, монитор в Hdr не переключается,хотя он включен в настройках монитора.

А полноценный HDR рендер не воспроизводит? смотреть через madvr тогда? просто нравится ваш рендер.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 15 Февраль 2020, 04:10:35
Переключать в HDR режим и передавать HDR метаданные на устройство - этого нет, т.к. у разработчиков просто нет ТВ/монитора с поддержкой HDR.

Я тут как то кинул кличь для сбора средств на покупку данного оборудования - но в ответ тишина :)
Название: MPC Video Renderer
Отправлено: V0lt от 15 Февраль 2020, 04:15:57
djpete79
Чтобы скриншоты можно было читать, они должны быть полноразмерными (без уменьшения). Показывать большую картинку в сообщении не нужно, достаточно дать ссылку.

Рендерер умеет делать "Автоматическое преобразование HDR в SDR".
Рендерер не умеет делать "HDR passthrough".
Название: MPC Video Renderer
Отправлено: djpete79 от 15 Февраль 2020, 08:33:52
Все понял,спасибо! Буду Коди тогда просматривать,но ваш рендер очень крутой! Успехов!!
Название: MPC Video Renderer
Отправлено: V0lt от 15 Февраль 2020, 15: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, 16:43:13
V0lt,
На Win8 и на hd4000 и на gt730m c яркостью всё нормально с bt709.
Название: MPC Video Renderer
Отправлено: V0lt от 15 Февраль 2020, 16:54:27
MPCfan
Там 10-битный источник и декодирование в P010. Твои видеокарты не смогут задействовать видоепроцессор D3D11 на этих сэмплах.
Я попробую сделать 8-битные сэмплы и проверить.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 15 Февраль 2020, 17: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, 17:10:19
V0lt,
Проверил ещё на одном девайсе с hd5500, Win8.1, dx11native+dx11 videoprocessor(если верить статистике), всё ОК с яркостью.
Название: MPC Video Renderer
Отправлено: V0lt от 15 Февраль 2020, 17: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, 17:33:25
V0lt,
Цитировать
На Windows 7 проверять бессмысленно. В ней отсутствует видеопроцессор D3D11.
Понятно, что бессмысленно, но зато я увидел баг (проблему) с пропуском кадров во время воспроизведения этих 10-битных видео файлов на D3D11 при работе видеопроцессора Shaders, который вполне можно и желательно бы исправить.
Название: MPC Video Renderer
Отправлено: V0lt от 16 Февраль 2020, 05: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, 05:47:13
Похожая ситуация была - когда сам вывод(SwapChain) пытались сделать 16bit float - так же картинка "портилась".
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 16 Февраль 2020, 05:50:30
V0lt,
Цитировать
Недостаточная производительность D3D11 на Win7 - это не баг.
Что-то не похоже это на естественное поведение самого D3D11 на Win7. Уж больно чрезмерно высокая нагрузка присутствует во время воспроизведения. Настолько высокая, что даже интерфейс с курсором мышки еле двигаются.
Хоть это и не утечка памяти, но поведение именно такое, как будто бы вся память забита подчистую.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 16 Февраль 2020, 06:07:33
Ну память можно помониторить. А так - возможно шейдеры "тупят". Все бы ничего - но вот студию в 7 не запустить ))
Название: MPC Video Renderer
Отправлено: V0lt от 16 Февраль 2020, 07: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, 08: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, 09:00:56
Ну если студия запускается на 7 - то берем ее и смотрим через профайлер кто дает нагрузку, правда сперва надо выяснить нагрузка на что - CPU или GPU.
Название: MPC Video Renderer
Отправлено: V0lt от 16 Февраль 2020, 11: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, 11:21:50
Aleksoid1978,
Цитировать
Ну если студия запускается на 7 - то берем ее и смотрим через профайлер кто дает нагрузку, правда сперва надо выяснить нагрузка на что - CPU или GPU.
Выяснил. Бешеная нагрузка идет именно на GPU, он всегда под 100%.
Если отключить DXVA2 для HEVC, то воспроизведение нормальное, без пропусков кадров.
Значит, проблема, связанная с аппаратным ускорением 10-битных HEVC-файлов на Win7 SP1 + D3D11 + Shaders.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 16 Февраль 2020, 11:50:07
Ну не хватает видимо "мощей" одновременно крутить HEVC 10bit + DX11 shaders.
Название: MPC Video Renderer
Отправлено: V0lt от 16 Февраль 2020, 12:01:32
Я думаю там на копирование много ресурсов тратиться. Но тогда на Win8.1/10 при тех же условиях ситуация должна быть похожая.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 16 Февраль 2020, 12:07:03
Aleksoid1978
Цитата: Aleksoid1978
Ну не хватает видимо "мощей" одновременно крутить HEVC 10bit + DX11 shaders.
Это смешно... Быть такого не может, чтобы в аппаратном режиме не хватало мощностей.

Посмотрите, пожалуйста, видеозапись (https://yadi.sk/i/ZhJ_z--A4nBezg). На ней видно, что частота кадров не соответствует действительной.
Причем, в режиме DXVA2 идет достаточно много копирования данных.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 16 Февраль 2020, 12:20:03
Так, разберёмся - декодер же DXVA2. Если так - то смотрим сколько времени занимает копирование, которое для связки DXVA2 + DX11 сделано «для галки», обычным копированием из GPU памяти в локальную, а это очень медленная операция. Видно же сразу по статистике. Уже блин 100500 раз поднимали этот вопрос и опять одно и тоже.

DXVA2 + DX9, либо LAV DX11 Native + DX11 - вот оптимальные связки. Софтовое декодирование одинаково будет работать с DX9/DX11.
Название: MPC Video Renderer
Отправлено: V0lt от 16 Февраль 2020, 12:44:23
У Nvidia c копированием все хорошо :)
(https://i.ibb.co/jTkYFGS/D3-D11-Win7.png) (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, 14: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, 17: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 от 16 Февраль 2020, 21: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, 02:01:07
Ну значит на радеоне слишком затратный прямой доступ к GPU памяти, ну и то что DDR2 тоже может сказаться.

Добавлено: 2020-02-17 12:01:07

Evgeniy1990
Могу подсказать что посмотреть дабы увидеть причину такого длительного копирования данных.
DX11VideoProcessor.cpp - строка 1444 ставишь бряку, запускаешь проигрывание того 10-битного видео. Когда студия останавливается - жмешь F10(один шаг) - и студия покажет сколько времени занял этот кусок кода. Тоже самое на строке 1446.

Проверять ессно надо в релизной версии.
Название: MPC Video Renderer
Отправлено: V0lt от 17 Февраль 2020, 05: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, 05:48:33
V0lt,
Цитировать
Выкладываю mpcvr_1137_upsr_4. Зелень вроде убрал.
Ха, зелень так и осталась.
И еще поломался D3D11 видеопроцессор. Работает только Shaders.
Название: MPC Video Renderer
Отправлено: V0lt от 17 Февраль 2020, 07: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, 16: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, 17:54:50
Evgeniy1990
Даже не знаю что сказать. Сделай лог для mpcvr_1138_nv12p010_d3d11vp_Debug с помощью DebugView, пожалуйста. Находится там же.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 17 Февраль 2020, 18:37:27
Цитата: V0lt
Даже не знаю что сказать. Сделай лог для mpcvr_1138_nv12p010_d3d11vp_Debug с помощью DebugView, пожалуйста. Находится там же.
Сделал. Пожалуйста (https://yadi.sk/d/y9jdH1UfZm_SVQ).
Название: MPC Video Renderer
Отправлено: V0lt от 18 Февраль 2020, 03:44:15
Evgeniy1990, судя по логу все хорошо. Почему у тебя зелень в этом билде, мне непонятно.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 18 Февраль 2020, 03:51:52
V0lt,
Цитировать
Evgeniy1990, судя по логу все хорошо. Почему у тебя зелень в этом билде, мне непонятно.
Вот и мне непонятно. Что самое странное, так это то что зелень присутствует только в ваших тестовых билдах, на Git-билдах ее и близко нет.
Название: MPC Video Renderer
Отправлено: V0lt от 18 Февраль 2020, 03:56:27
Evgeniy1990
На этой машине студия установлена? Это может повлиять на полноту лога.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 18 Февраль 2020, 04:06:02
V0lt,
Цитировать
На этой машине студия установлена?
Конечно, установлена.

Я предлагаю вам сделать проще, подключиться ко мне удаленно через TeamViewer (https://www.teamviewer.com/ru/) и удаленным способом разобраться. Данные для входа могу отправить вам в личку.
Студия, все исходники и весь инструментарий у меня установлены и настроены.
Название: MPC Video Renderer
Отправлено: V0lt от 18 Февраль 2020, 06:08:50
В общем все очень странно. У тебя на AMD UpdateSubresource() просто не работает и никаких ошибок не выдает.

Nvidia не советует использовать UpdateSubresource() для часто изменяемых ресурсов, но если не использовать, то приходится делать дополнительное копирование, т.к. D3D11 VP хочет текстуру определенного типа. А на встройках Intel лишнее копирование заметно тормозит процесс передачи кадра в D3D11 VP. Такая вот ерунда.
Название: MPC Video Renderer
Отправлено: Evgeniy1990 от 18 Февраль 2020, 12:47:25
V0lt,
Цитировать
В общем все очень странно. У тебя на AMD UpdateSubresource() просто не работает и никаких ошибок не выдает.

Nvidia не советует использовать UpdateSubresource() для часто изменяемых ресурсов, но если не использовать, то приходится делать дополнительное копирование, т.к. D3D11 VP хочет текстуру определенного типа. А на встройках Intel лишнее копирование заметно тормозит процесс передачи кадра в D3D11 VP. Такая вот ерунда.
Да уж, ну и ерунда... Один не требует, другой - требует, третьему хуже с требуемой функцией...
Получается, что для каждого вендора (производителя графического процессора) требуется свой собственный определенный алгоритм (программный код). Выходит, что реализовать некий универсальный алгоритм сразу для трех вендоров не получится.
Название: MPC Video Renderer
Отправлено: V0lt от 19 Февраль 2020, 06:11:32
Сейчас способ копирования как раз универсальный. Но он на встроенных видеокартах тормозит. Я попытался сделать быстрее, но на AMD не прокатило.

В общем обновил сборку mpcvr_1144_d3d11vp_UpdateSubresource (https://yadi.sk/d/uwBu4owfK9vOwg). Вдруг кто-нибудь еще захочет потестировать на Intel.
Название: MPC Video Renderer
Отправлено: lexxx от 19 Февраль 2020, 06:33:25
С какими-нибудь новым драйвером на AMD вдруг заработает, или новым драйвером НЕ AMD вдруг сломается. Может имеет смысл вынести такие неоднозначные оптимизации в опцию, типа как раньше было в винде: отключить аппаратное ускорение, или уровень аппаратного ускорения. А значения опций в сборке по умолчанию ставить подходящим для вендора на момент выхода сборки. Конечно, у кого оптимизация работает, не хотелось бы ее терять.
Название: MPC Video Renderer
Отправлено: MPCfan от 19 Февраль 2020, 09: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, 11: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, 14:03:37
Интересно как поведет себя этот механизм на дискретной видеокарте от intel, если она появится. И работает ли такое на встройке от AMD. Я поэтому и подумал делать опционально.
Название: MPC Video Renderer
Отправлено: V0lt от 22 Февраль 2020, 06: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, 12:55:07
В режиме DX11 заметил странность.
Видео тормозит, пропусков кадров почему-то нет. Сабы отключены. SynсOffset естественно растет, но кадры упорно не выбрасываются.
(https://jpegshare.net/images/a3/8b/a38b705eab1d7670b96b27d7b7b0c60c.jpg)
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 24 Февраль 2020, 02:44:21
Так нагрузить Present не смог - но в других случаях у меня норм пропускаются кадры.
Название: MPC Video Renderer
Отправлено: V0lt от 24 Февраль 2020, 06: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, 10:35:38
Вызов Render() у нас идет в основном потоке на DX9/11, тут нет никакой разницы.

Добавлено: 2020-02-24 20:35:38

С эмулировал "долгий" Present(выставил просто Sleep() после вызова) - все равно все ок, кадры пропускаются.
Название: MPC Video Renderer
Отправлено: V0lt от 24 Февраль 2020, 16: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, 14:23:07
MPC-VR 1148/1165, MPC-BE 5092/5095, Win7x64.
С включенным режимом DX11 на видео с субтитрами при появлении первой строки экран мигает белым, видно только строку субтитра.
На DX9 такого нет.
Название: MPC Video Renderer
Отправлено: V0lt от 25 Февраль 2020, 15:51:42
krmit
Белый экран не видел. Если хочется нормального воспроизведения субтитров, то посоветую использовать режим DX9.

Добавлено: 2020-02-25 18:51:42

Тем более в Win7, режим DX11 чисто для галочки сделан.
Название: MPC Video Renderer
Отправлено: Angel от 25 Февраль 2020, 15:54:49
V0lt, а в WIN 10?
а то мб я зря включаю его в своей 10 x64 LTSB.
Название: MPC Video Renderer
Отправлено: V0lt от 25 Февраль 2020, 17: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, 18: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, 01:06:17
Цитата: krmit
MPC-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 (https://github.com/Aleksoid1978/VideoRenderer/commit/4714f04e8ca367c24505529e811592e14a82aeb7) стало плавнее.
Название: MPC Video Renderer
Отправлено: Angel от 26 Февраль 2020, 14:17:36
господа, всем большое спасибо за ваши ответы!
простите что не слежу за форумом и задаю повторные вопросы. (которые уже были)
Evgeniy1990, насчёт навидии интересная инфа: я всегда был сторонником их продукции и сейчас у меня 1070 gtx.
---
насчёт сабов к сожалению я вам ничем помочь не могу, тк исползую XySubFilter.
раньше пока я сидел на встроенном рендере субтитров, но жизнь вынудила поставить внешний фильтр, тк анимешники народ не следующий стандартам написания сабов и зачастую их творения отображались во встроенном движке как минимум некорректно (я писал об этом пару раз на руборд в наш профильный топик).
в итоге устал бороться и просто поставил фильтр, 99% проблем с сабами исчезли.

вот и сейчас
Цитировать
Режим D3D11 медленнее выводит субтитры.
как пишет V0lt, на XySubFilter в директ 11 я этого никогда не замечал.
Название: MPC Video Renderer
Отправлено: V0lt от 27 Февраль 2020, 16:55:09
Выложил MPCVideoRenderer-v0.4.2.1168. В этой сборке у меня для веб-камеры стало выдавать нормальные данные в статистике.

Добавлено: 2020-02-27 19:53:35

Цитата: Evgeniy1990
9. Dither под вопросом. Работает он, или нет
Работу дизеринга на типовом мониторе врядли можно увидеть.
Имхо, нужен большой телевизор с честной 8-битной (или лучше) матрицей, работающий в режиме "ПК", "Рабочий стол" или другом подобном, который минимизирует обработку картинки самим телевизором. Смотреть на нем надо видео с плавными градиентами (закаты там всякие или просто тестовые картинки). И вот в некоторых случаях, градиент с дизерингом будет плавнее, чем без него.


Добавлено: 2020-02-27 19:55:09

PS: Дизеринг не удаляет существующий бандинг.
Название: MPC Video Renderer
Отправлено: lexxx от 29 Февраль 2020, 09: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, 14: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, 05:30:00
Я разобрался с проблемой отсутствия пропуска кадров и последующим рассинхроном видео и звука.
(https://jpegshare.net/images/a3/8b/a38b705eab1d7670b96b27d7b7b0c60c.jpg)
В "базовом рендерере" считается среднее время рендеринга. Это время потом учитывается при решении пропускать кадр или нет. В коде есть фильтр от случайных больших всплесков рендеринга. Например, из последовательности 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, 06:47:51
V0lt
Все на одной минимальной частоте. Когда увидел, как выстрелил DX11 Discard (интересно, почему это произошло), подумал, что вот и настало время переходить на DX11. Но т.к. на интерлейсном видео этого не происходит, пока остался на DX9 Flip.
Название: MPC Video Renderer
Отправлено: V0lt от 05 Март 2020, 05:49:37
Aleksoid1978
+ SubRenderIntf.h
m_pSubCallBack -> bUseInMPCBE
Был простой рабочий код. Теперь костыли ради кривого кода в второнних плеерах? :|
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 05 Март 2020, 06:09:20
В том то и дело - что m_pSubCallBack не дает никакой гарантии. Свой то код(MPC-BE) мы знаем, в нашем коде уже есть вызовы Paint() -> ReDraw(). А как оно там в других программах - нет. Поэтому я и сделал так - и это правильно.
Название: MPC Video Renderer
Отправлено: V0lt от 07 Март 2020, 10:18:55
Хмм... допустим. Тогда мне непонятно зачем для MPC-BE и других плееров разный код поддержки. Комментриев в коде по использованию bUseInMPCBE нет. Эта переменная просто меняет логику 3 функций. Я не понимаю, как такое поддерживать.

Добавлено: 2020-03-07 13:18:55

Например CMpcVideoRenderer::SetMediaType() в которой есть такой код:
if (!bUseInMPCBE) {
    Redraw();
}
У меня нет ни одной идеи, зачем понадобился этот костыль именно в этой фукции.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 07 Март 2020, 12:29:33
Чем мешает ? :)

Ну а по факту - честно говоря я даже не знаю зачем в CMpcVideoRenderer::SetMediaType() вызов принудительной отрисовки.
Название: MPC Video Renderer
Отправлено: V0lt от 10 Март 2020, 15: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, 17:50:31
V0lt,
На паузе в статистике mpc-vr некоторые элементы реагируют на движение мышки в зоне видео-области в полно-экранном режиме > https://yadi.sk/i/Rm2fNSjiINoSlg Так должно быть?
Название: MPC Video Renderer
Отправлено: V0lt от 14 Март 2020, 18:36:46
MPCfan
Да так и должно быть, т.к. рендерер перерисовает кадр и статистику.

Ранее статистика еще считала кадры при любой перерисовке, но это некоторым сильно не понравилось (типа "некрасиво") и данную фичу урезали.
Название: MPC Video Renderer
Отправлено: MPCfan от 14 Март 2020, 18:42:13
V0lt,
Спасибо. Понял.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 15 Март 2020, 03:22:21
На самом деле надо глянуть в коде MPC-BE - зачем при каждом движении мыши вызывается отрисовка.

P.S. Оптимизировал это дело, теперь не будет вызова перерисовки при простом движении мыши.
Название: MPC Video Renderer
Отправлено: Prog от 24 Март 2020, 10:12:10
А где бы описание интерфейсов посмотреть? У меня (ProgDVB) чёрный экран только.
Название: MPC Video Renderer
Отправлено: V0lt от 24 Март 2020, 15:26:51
Prog
Все стандартные интерфейсы на скриншоте (GraphStudioNext).
(https://i.ibb.co/9NNFnyy/gsn-mpcvr.png) (https://ibb.co/9NNFnyy)
Описание можно найти по ссылкам, которые дает GraphStudioNext или поиском на сайта Microsoft.
Название: MPC Video Renderer
Отправлено: Prog от 24 Март 2020, 16:54:42
Смог получить картинку, разбирваюсь дальше....
1. put_MessageDrain не реализован? как мышиные события перехватывать?
2. Какой способ для вывода битмапов поверх? (osd)
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 25 Март 2020, 05:28:47
OSD нет. А по поводу сообщений - разве они неловяться в основном приложении ? Ибо в MPC-BE, MPC-HC и Pot все нормально.
Название: MPC Video Renderer
Отправлено: Prog от 26 Март 2020, 08:20:31
А как можно получить события миши в другом окне? Может забыл чего..
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 26 Март 2020, 08:38:48
Ну в том же MPC-BE/HC все просто - получаем события в окне вывода видео(то окно, чей HWND передается в VR). И все.
Так что я не совсем понимаю суть вопроса.
Название: MPC Video Renderer
Отправлено: Prog от 26 Март 2020, 11:36:43
А как именно? Есть окно VRWindow, которое своим WndProc получает события мыши. Мне как получить? Перехватывать WndProc? Целый хак, вместо стандартного put_MessageDrain
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 26 Март 2020, 12:44:52
А что, в своём окне ты разве не получаешь эти события ? В MPC-BE/HC так и есть, без всяких хаков.
Название: MPC Video Renderer
Отправлено: Prog от 26 Март 2020, 14:52:38
Нет. Их получает то окно в которое события приходят. WM_LBUTTONDOWN,WM_MOUSEMOVE,...
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 27 Март 2020, 02:58:59
Ну вот пробуем - реализовал поддержку put_MessageDrain() и последующий PostMessage() в получаемый HWND внутри WndProc. Правда не смог проверить в MPC-BE(не приходят сообщения по клавиатуре/мыше), видимо потому что основное окно(видео-окно) перехватывает сообщения.

https://yadi.sk/d/fu0iMyvbxvfdMg
Название: MPC Video Renderer
Отправлено: oliv77@r159 от 27 Март 2020, 18:59:29
Привет команда,спасибо за вашу прекрасную работу

статистика всегда равна нулю,они ничего не указали
https://zupimages.net/viewer.php?id=20/13/knny.jpg
Я пробовал других читателей, цветовое пространство, варианты, всегда ноль,в чем проблема?
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 28 Март 2020, 01:16:49
Никакой проблемы - все отлично. По нулям - значит столько тратиться на эти операции.
Название: MPC Video Renderer
Отправлено: Prog от 28 Март 2020, 11:11:10
put_MessageDrain вроде работает. Спасибо.
Если интересно, опубликовал у себя пререлизах.
https://www.progdvb.com/download_progdvb_prerelease.html

Видео рендерер можно настроить в Options->Video->Codecs а потом на закладке OSD включить GUI режим, что бы оно было.
Название: MPC Video Renderer
Отправлено: MPCfan от 28 Март 2020, 20: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, 20:38:21
Цитата: Aleksoid1978
Никакой проблемы - все отлично. По нулям - значит столько тратиться на эти операции.
Спасибо Aleksoid,да, я видел это прошлой ночью с фильмом 2160p 4k статистика отображает результаты кроме нуля.
Вы не хотите отображать статистику как пользовательский EVR в виде графика?
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 29 Март 2020, 01:59:32
Цитата: MPCfan
Aleksoid1978,
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, 04: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, 04:37:25
Цитата: oliv77@r159
Вы не хотите отображать статистику как пользовательский EVR в виде графика?
Я планирую сделать график, но как в EVR он не будет.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 29 Март 2020, 04:49:56
EVR-CP использует DXVA VP для цветового преобразования.
Название: MPC Video Renderer
Отправлено: V0lt от 29 Март 2020, 04:55:17
MPCfan, Aleksoid1978
У EVR на входе NV12, так P010 карта GT 730М не умеет.
P010 занимает в 2 раза больше места, чем NV12, от этого нагрузка выше.

9 пропущеных кадров из 18000. Я бы не заморачивался. :-)
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 29 Март 2020, 05:36:18
Ну и получается что копирование данных вручную, так как карта не поддерживает работу напрямую с P010
Название: MPC Video Renderer
Отправлено: MPCfan от 29 Март 2020, 08: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, 10:03:52
Мне кажется тут дропы не из-за нагрузки.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 30 Март 2020, 03:12:20
Цитата: MPCfan
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

Вот попробуй Debug версию, вывод смотреть в DbgView - после окончания проигрывания выложи лог из DbgView, глянем.
https://yadi.sk/d/cztDlcl0WT4NKg
Название: MPC Video Renderer
Отправлено: V0lt от 30 Март 2020, 06: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, 09:56:34
Aleksoid1978,
Вот три лога https://yadi.sk/d/QfqpW5DDgQkUBQ Пробовал ещё с dx11, разницы нет.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 30 Март 2020, 12:07:01
Вот еще проверь - так же с логом https://yadi.sk/d/AL4lN2dCP6pbSA

Добавлено: 2020-03-30 22:07:01

Ну а так могу сказать только одно - мы используем(в отличии от EVR-CP/madVR) готовое решение для очереди/планировщика в виде базовых классов DirectShow, и при большой нагрузке на CPU он дает сбой(работает не совсем оптимально). Переделывать очередь/планировщик - думаю вряд ли будем в ближайшее время(если вообще решимся).
Название: MPC Video Renderer
Отправлено: MPCfan от 30 Март 2020, 20:21:05
Aleksoid1978,
https://yadi.sk/d/SOYClg7z0ScljA Спасибо за разъяснение. В любом случае не критично.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 31 Март 2020, 00:40:10
Дополню - в базовом классе вообще нет никакой очереди, т.е. когда приходит очередной сэмпл фильтр просто ждет когда наступит его время(ну примерно), поэтому при высокой нагрузке на CPU такой метод не совсем хорош :)
Название: MPC Video Renderer
Отправлено: V0lt от 01 Апрель 2020, 05: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, 08: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, 09:38:14
lexxx, какой плеер (версия) используется?
Название: MPC Video Renderer
Отправлено: lexxx от 06 Апрель 2020, 09: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, 10:19:52
Полноценая поддержка имеется только в свежих MPC-BE.

Я думаю, надо будет убрать возможность изменения Swap effect во время воспроизведения, слишком на многое она влияет.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 06 Апрель 2020, 11:46:40
Цитата: lexxx
Настроить LAV video decoder и MPC VR на DX11 Flip.
Запустить проигрывание видеофайла, остановить его, зайти в настройки MPC VR через контекстное меню на черном экране и изменить Swap effect, сохранить настройки.
Затем снова попытаться зайти в контекстное меню настроек, то пропадает указатель мыши, хотя пункты меню по-прежнему подсвечиваются. Указатель перестает быть виден во всем окне плеера.

А если точно так же на последнем MPC-BE ?
А если не на паузе ?
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 06 Апрель 2020, 13:17:38
Цитата: V0lt
Я думаю, надо будет убрать возможность изменения Swap effect во время воспроизведения, слишком на многое она влияет.

Выражусь фразой из известного мультика - "А Баба-Яга против". Не надо ничего убирать, этот же код/принцип в будущем будет использоваться для полноэкранного эксклюзивного режима.
Название: MPC Video Renderer
Отправлено: V0lt от 06 Апрель 2020, 14:05:04
Цитата: Aleksoid1978
Не надо ничего убирать, этот же код/принцип в будущем будет использоваться для полноэкранного эксклюзивного режима.
Я говорил лишь об отключении возможности изменения Swap effect юзером через настройки во время воспроизведения.

Юзер будет менять настройку, но действовать она будет только в следующей сессии, или если произойдет что-то глобальное. Дергать туда-сюда юзер не сможет.
Название: MPC Video Renderer
Отправлено: lexxx от 06 Апрель 2020, 15: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 от 06 Апрель 2020, 23:15:45
Ну я хз - проверил в MPC-BE, и на стоп и во время проигрывания - все ок, ни какого черного экрана или моргания кадров, с мышкой все отлично :)

Можешь записать видео всего процесса, включив статистику в VR.
Название: MPC Video Renderer
Отправлено: lexxx от 07 Апрель 2020, 09:40:07
Здесь пропадание указателя MPC-HC и заполнение черного экрана MPC-BE.
https://yadi.sk/d/OXGIRZ3pgxWo6A
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 07 Апрель 2020, 09:42:37
Ок, проверю.
Название: MPC Video Renderer
Отправлено: MPCfan от 07 Апрель 2020, 09:51:22
Aleksoid1978,
Ещё добавлю в копилку приколов переключения swap effect на стопе. Прошу помимо проскакивания кадра обратить внимание на переход с flip на discard, здесь почему-то включается нижняя панель инструментов, когда плеер в FS >  https://yadi.sk/i/J3CcJSMGCFCYig
Название: MPC Video Renderer
Отправлено: lexxx от 07 Апрель 2020, 10:49:25
Здесь возврат к предыдущим кадрам при переключении в Discard (такое хорошо заметно на уменьшенной скорости воспроизведения в MPC-HC, в MPC-BE я не разобрался как уменьшить скорость)
https://yadi.sk/i/g7v0YX1ZBmjJdA
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 07 Апрель 2020, 11:33:12
Так - последний кадр и так моргает, после нажатия стоп и потом на проигрывание, переключение Swap на это не влияет.
Название: MPC Video Renderer
Отправлено: Aleksoid1978 от 08 Апрель 2020, 00:31:49
Цитата: MPCfan
Aleksoid1978,
Ещё добавлю в копилку приколов переключения swap effect на стопе. Прошу помимо проскакивания кадра обратить внимание на переход с flip на discard, здесь почему-то включается нижняя панель инструментов, когда плеер в FS >  https://yadi.sk/i/J3CcJSMGCFCYig

Исправил.
Название: MPC Video Renderer
Отправлено: V0lt от 17 Апрель 2020, 04: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, 06: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, 17: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, 19:25:30
Спасибо за графическое изображение, появившееся в V.1280, я давно его жду, может быть, вы сможете добавить индикаторы на правильное положение красной трассы. ;)
Название: Re: MPC Video Renderer
Отправлено: V0lt от 05 Май 2020, 03:28:47
вы сможете добавить индикаторы на правильное положение красной трассы.
Я ничего не понял.
Название: Re: MPC Video Renderer
Отправлено: oliv77@r159 от 05 Май 2020, 19:38:46
(https://zupimages.net/up/20/19/v282.png) (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, 06:05:24
oliv77@r159
Картинка не открывается. Скажите словами, что такое "правильное положение" и "индикаторы".
Название: Re: MPC Video Renderer
Отправлено: Angel от 06 Май 2020, 14:30:49
мне кажется человеку нужны цифры со значениями у этих полосок, и цифры рядом с красной кривой? /имхо/
для информативности.
Название: Re: MPC Video Renderer
Отправлено: oliv77@r159 от 06 Май 2020, 19:37:00
мне кажется человеку нужны цифры со значениями у этих полосок, и цифры рядом с красной кривой? /имхо/
для информативности.
Да спасибо вот что я имел ввиду ;)
синяя линия соответствует значению частоты изображения,было бы неплохо показать это на графике.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 07 Май 2020, 06:18:15
Светло синяя линия 0 мс.
График показывает последние 120 замеров Sync Offset. Текущий Sync Offset можно посмотреть в статистике.
В общем случае, чем меньше высота всплесков графика, тем лучше.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 24 Май 2020, 05:11:58
Предлагаю вернуть возможность получать кадры с исходным размером с помощью IBasicVideo::GetCurrentImage, как это делают стандартные видеорендереры Windows.

Если нужно получать кадры с измененным размером, то предлагаю запланировать специальную функцию для этого.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 24 Май 2020, 05:33:55
Повторю свой вопрос - зачем(не теоретически, а практически) получать кадры с исходным размером с помощью IBasicVideo::GetCurrentImage() ?
Название: Re: MPC Video Renderer
Отправлено: V0lt от 24 Май 2020, 08:19:26
В очередной раз отвечаю. Потому что так правильно и единообразно. Потому что изначально Я специально так сделал, но потом сломали. Потому что мне нужна возможность получать кадр без ресайза, например для анализа кадра (нужен оригинальный размер) или для последующего ресайза (двойной ресайз мне не нужен).
Больше на вопрос "Зачем?" отвечать не буду, объяснений уже достаточно.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 24 Май 2020, 10:56:43
Это все теория, практического применения мы так и не услышали. А если надо "в коде" в самом VR, для каких то своих целей - так кто мешает написать доп. функцию ?
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 25 Май 2020, 09:52:01
V0lt

При переключении с Discard на FlipEx во время воспроизведения (на лету) и обратно, при активной статистике, ломается отображение графика. Т.е. сам график полностью пропадает и остается только зеленая линия.

В оконном режиме, в случае обратного возвращения, вместо синих линий, получается какая-то "мазня".
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 25 Май 2020, 11:55:18
Подтверждаю, но что самое интересно - только на DX9, на DX11 все ровно. Посмотрю - но позже, щас другим процессов занят.

P.S. Исправлено.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 25 Май 2020, 13:52:16
Aleksoid1978,

Статистика видео-рендерера не знает границ  (https://yadi.sk/i/YG5Vn6QzRiWmKw)!

При полноэкранном режиме, она может выходить за пределы экрана монитора.

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

1. Открыть видео файл
2. Открыть статистику видео-рендерера
3. Открыть плейлист (Он должен быть в состоянии по умолчанию)
4. Открепить плейлист от основного экрана плеера
5. Закрыть Flybar, нажав на "замочек"
6. Перетащить плейлист в самый верх и закрепить его с основным окном плеера
7. Открепить плейлист и, не отпуская его, перетащить его в самый низ и тут же закрепить с основным окном плеера.

В итоге, статистика видео-рендерера выйдет за пределы экрана монитора.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 25 Май 2020, 15:09:21
Цитировать
При полноэкранном режиме, она может выходить за пределы экрана монитора.
Проверь на версии 0.4.6.1285 (https://yadi.sk/d/X0EVMKP4TcmnHQ)
Похоже там весь кадр уехал вверх, а не статистика.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 25 Май 2020, 23:49:39
Наверное я что-то делаю не так - не смог у себя воспроизвести :) Ну или не понял алгоритма.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 26 Май 2020, 03: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, 05:30:13
Пытаюсь реализовать поддержку мульти-мониторных(мульти-адаптерных) конфигураций, а конкретнее - пересоздание D3D9/D3D11 устройств при смене монитора/адаптера(при перемещении окна или переключение в полный экран и обратно). И столкнулся с проблемой - D3D9 требует чтобы окно, на которое выводим, в режиме Flip так же было пересоздано. И вот тут, как говорится, пошли нюансы - либо подвисание всего проигрывателя, либо вообще странности с окном(окно создается, но потом куда-то исчезает). Все эти проблемы из-за того что мы создаем child окно в другом потоке, чем его родитель. Получается тупик ...

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

Или можно еще координальнее поступить - на DX9 оставить Discard, а на DX11 - Flip.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 26 Май 2020, 05:37:06
D3D11 спокойно позволяет пересоздавать SwapChain даже в режиме Flip без пересоздания окна, с этим все отлично.
Название: Re: MPC Video Renderer
Отправлено: lexxx от 26 Май 2020, 15: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 от 26 Май 2020, 23:00:25
Проверь на самой последней SVN версии MPC-BE.
И можно скрин такого "эффекта".
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 27 Май 2020, 08: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, 08:45:55
Ну мало ли что планировалось :) А так - может быть без всех этих пересозданий окон и эксклюзив заработает, кто знает - все сразу не могу проверить, а просто так убирать/добавлять особого нет желания :)
Название: Re: MPC Video Renderer
Отправлено: lexxx от 27 Май 2020, 18: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, 18:17:52
Я не понимаю смысла в последних изменениях. Зачем пересоздавать окно? Перемещение окна плеера на другой дисплей, подключенного к другой видеокарте, у меня не создавало никаких серьезных проблем. Как играло видео, так и играет, и даже аппаратный HEVC декодер не отваливался. Можно даже расположить окно одновременно на двух дисплеях, и ничего страшного не произойдет. А скоро похоже все мигать будет.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 27 Май 2020, 18: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, 18:41:57
Evgeniy1990,
Не воспроизводится. Ясно.
Интересно, сборщики K-Lite понимают, что MPC-НС может поддерживать ваш рендер с оговорками? Всмысле надеяться, что он там полноценно может заработать это бесполезно?
В пакете K-Lite идет декодер DX11, а у Вас используется DXVA. В вашем плеере можно использовать DX11 декодер?
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 27 Май 2020, 19: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 от 27 Май 2020, 22:56:13
Я не понимаю смысла в последних изменениях. Зачем пересоздавать окно? Перемещение окна плеера на другой дисплей, подключенного к другой видеокарте, у меня не создавало никаких серьезных проблем. Как играло видео, так и играет, и даже аппаратный HEVC декодер не отваливался. Можно даже расположить окно одновременно на двух дисплеях, и ничего страшного не произойдет. А скоро похоже все мигать будет.

Ну а интересно зачем так сделано, опционально, в EVR-CP, зачем так сделано даже без опций в madVR ?
Это еще норм когда несколько мониторов/ТВ к одной карте подключены, а если к разным - то получиться что декодирует одна, а выводит другая.
Другой вопрос - субтитры, размер "Desktop" задается под текущий монитор, и если разные - ну и качество рендеринга будет разным.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 28 Май 2020, 00:07:00
Так что мое предложение:
1 - убрать переключение swap effect, оставив для DX9 - discard, для DX11 - flip.
2 - далее реализую(ессно опционально) - реинициализацию при смене монитора.
3 - далее пробую реализовать эксклюзивный режим(в начале для DX9, потом можно пробовать DX11).

Если нет - ну и ладно, тогда не бывать нормальной поддержке мультимониторности, ну и эксклюзивного полноэкранного режима наверное тоже.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 28 Май 2020, 04:05:24
Aleksoid1978,
Так что мое предложение:
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, 04:16:46
Ну если оставить Flip для DX9 - то все что я описывал(мультимониторность, эксклюзив) будет невозможно внедрить.

А проверьте еще в madVR, встроенные видео-рендереры в Pot с discard - там есть похожие проблемы как у EVR-CP/MPCVR с discard ?
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 28 Май 2020, 05:33:56
Ну если оставить 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, 05:41:43
На телеке надо смотреть исключительно в эксклюзивном режиме :)
Название: Re: MPC Video Renderer
Отправлено: lexxx от 28 Май 2020, 11:41:17
Evgeniy1990,
Я уже попробовал его c MPC-HC.
При переключении Swap при проигрывании пропадает указатель мыши (об этом сообщил на форуме).
Поскольку Flip более производительный в интерлейсном видео, я использовал его.
Теперь появилась проблема с ALT+TAB с Flip. Я начал использовать DX11 Discard - он более производительный в неинтерлейсном видео.
Теперь вижу предложения убрать переключение Swap, а для DX11 использовать Flip.
Главное, чтобы не получилось так, что рендер нельзя будет использовать с каким-нибудь другим плеером из-за невозможности его настроить. Тем более телевизор я не использую, отдельный монитор тоже, и особой критичности в наличии эклюзивного режима тоже не вижу, я сомневаюсь, что увижу на глаз повышение плавности видео.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 28 Май 2020, 12:04:51
Ну если оставить 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, 17:58:38
Это еще норм когда несколько мониторов/ТВ к одной карте подключены, а если к разным - то получиться что декодирует одна, а выводит другая.
Я про это как раз и написал. Запускаю видео HEVC на мониторе, подключенный к GTX 950, и перетаскиваю на телевизор, подключенный к Intel HD 4000. И в целом все нормально. Транслировать окно на нужный дисплей для DWM не проблема.
Если же устройство пересоздать, то декодер, получается, уйдет в софт? Думаю, это не очень удачное решение.

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

Цитировать
Другой вопрос - субтитры, размер "Desktop" задается под текущий монитор, и если разные - ну и качество рендеринга будет разным.
Это вопрос уже к рендереру субтитров и плееру.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 28 Май 2020, 20:06:40
Aleksoid1978
Проверил-сравнил ещё раз evr-cp/discard и в поте и в mpc-be: и перетаскивал с воспроизведением, и без, а запускал уже на ТВ, и запускал через настройку с выводом на ТВ с основного монитора. Одинаково - что в поте, что в mpc-be. Есть периодическое дрожание. С флипом - плавно.
 
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 28 Май 2020, 23:01:36
Так если мы хотим со временем добавить 3d frame packing, HDR passthrough - тот тут в любом случае надо будет отслеживать изменения монитора и пересоздание, ну как минимум SwapChain - правда DX9 это не грозит.
Или захотим сделать свой VSync - так же надо будет как-то отслеживать изменения монитора.

Короче я так понял что никому это не надо - ну значит MPC VR остается как VR для просмотра на мониторе, ни о каком использовании более масштабно и речи нет.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 28 Май 2020, 23:24:50
Предлагаю обсудить как мы все видим MPCVR - как VR для просмотра на экране монитора - тогда оставляем все как и есть, в принципе дальше уже и делать почти ничего и не надо, или как VR с поддержкой мультимониторности, с поддержкой VSync и все что я до этого писал ?
Название: Re: MPC Video Renderer
Отправлено: V0lt от 29 Май 2020, 02:44:35
...в любом случае надо будет отслеживать изменения монитора и пересоздание, ну как минимум SwapChain - правда DX9 это не грозит.
Это уже сделано через IExFilterConfig::SetBool("displayChange", true).
Цитировать
Или захотим сделать свой VSync - так же надо будет как-то отслеживать изменения монитора.
Не знаю что подразумевается под "свой VSync", но Я не планировал изменение D3DPRESENT_PARAMETERS::PresentationInterval. Текущее значение D3DPRESENT_INTERVAL_ONE, меня полностью устраивает.
Особую поддержку классической темы Win7 делать так же не планирую. Пусть будет вечный Issue.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 29 Май 2020, 03:16:50
Ну и как, все отлично идет если запустить на мониторе - потом перейти на полный экран ТВ с разной частотой ? Все плавно ?
Мы тут всегда используем эксклюзивный режим что плавности - а тут прям раз и все отлично ? Как-то не вериться ...
Название: Re: MPC Video Renderer
Отправлено: V0lt от 29 Май 2020, 15:04:06
Ну и как, все отлично идет если запустить на мониторе - потом перейти на полный экран ТВ с разной частотой ? Все плавно ?
Допустим ситуация, когда на основном дисплее 60 Гц, на дополнительном 23,976 Гц, и мы смотрим видео 23,976 fps на дополительном дисплее. Эксклюзивный режим не используется.
В этом случае нормальная синхронизация не получиться. DWM все наши потуги обнулит.
Название: Re: MPC Video Renderer
Отправлено: lexxx от 29 Май 2020, 23:03:24
Заработал ALT+TAB на паузе в MPC-HC с DX11 Flip.
Я снес Windows 10, поставил Windows 10 2004 и последний драйвер на видеокарту.
Это был плановый снос, не думал, что после этого заработает, какой-то глюк.


UPD: На следующий день, все обратно не работает (хотя ничего не менял). Оставляю Discard.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 30 Май 2020, 04:00:42
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, 04:14:03
Вот тестовая версия с добавленным реинициализацией при смене дисплея(таймаут проверки - 2 секунды).
https://yadi.sk/d/3PvUzRn083UsJg

Просьба кто может погонять - что да как будет.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 30 Май 2020, 05:19:08
А вот и тестовая версия с поддержкой D3D9 Exclusive режима(в самом MPC-BE галку не сменить, но работает через Ctrl+F).
https://yadi.sk/d/O087I7oBbZ0KVg
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 30 Май 2020, 06: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, 07: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, 07:54:43
Да уж ...
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 30 Май 2020, 08:29:20
Тогда вот debug x86 версия, проверить с получением debug лога в DbgView. Лучше сделать отдельные логи - когда виснет, и когда нет FSE окна.
https://yadi.sk/d/sfmVHvnj56GU5Q
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 30 Май 2020, 08:57:20
А вот еще одна версия для проверки FSE - https://yadi.sk/d/y1uaODWWjhPozQ
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 30 Май 2020, 09: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, 09:12:28
Aleksoid1978,
Цитировать
А вот еще одна версия для проверки FSE - https://yadi.sk/d/y1uaODWWjhPozQ
Проверил. Также нет самого окна FSE, при переходе в полный экран. По прежнему остается окно самого MPC-BE с черным экраном.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 30 Май 2020, 09:14:24
В своё время ловил зависание - только при первом запуске после включения или перезагрузки системы.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 30 Май 2020, 09:16:36
Aleksoid1978,
Цитировать
Тогда вот debug x86 версия, проверить с получением debug лога в DbgView. Лучше сделать отдельные логи - когда виснет, и когда нет FSE окна.
https://yadi.sk/d/sfmVHvnj56GU5Q
Сделал лог (https://yadi.sk/d/nXC4jGWGunnFGA) без самого окна FSE.

В логе все отлично, странно.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 30 Май 2020, 09:19:44
Aleksoid1978,
Цитировать
В своё время ловил зависание - только при первом запуске после включения или перезагрузки системы.
Аналогично, вот только не все так легко и просто. Так как зависание проявляется всего лишь один раз, то для повторного его воспроизведения нужно, что называется вернутся "к истокам", "к началу времен". Т.е. нужна чистая система, сам MPC-BE, а также и отладочный билд MPC-VR. Суть в том, что нужна система, на которой еще ни разу не был запущен MPC-VR. Вот только тогда на все 100% можно получить это мертвое зависание.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 30 Май 2020, 09:20:41
Мне хватало просто ребута системы:)
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 30 Май 2020, 09:21:56
Aleksoid1978,
Цитировать
В логе все отлично, странно.
Да, странно, алгоритм был выполнен успешно, вот только само окно FSE не появилось. Его просто тупо нет.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 30 Май 2020, 09:35:41
Aleksoid1978,
Цитировать
Мне хватало просто ребута системы:)
И мне хватило прямо сейчас. :) Перезагрузил систему и воспроизвел зависание.

В общем, сделал лог (https://yadi.sk/d/JUV1CefvR2Omuw) при зависании во время перехода в режим FSE.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 30 Май 2020, 09:46:11
Aleksoid1978,
Цитировать
Мне хватало просто ребута системы:)
И мне хватило прямо сейчас. :) Перезагрузил систему и воспроизвел зависание.

В общем, сделал лог (https://yadi.sk/d/JUV1CefvR2Omuw) при зависании во время перехода в режим FSE.

Вот же блин - как и в прошлый раз, зависание при создании D3D9 устройства, где-то в дебрях DirectX9, не в нашем коде ...

P.S. Ну чую что очередная попытка так же не удалась ...
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 30 Май 2020, 09:52:35
Aleksoid1978,
Цитировать
Вот же блин - как и в прошлый раз, зависание при создании D3D9 устройства, где-то в дебрях DirectX9, не в нашем коде ...
Странно, тогда почему с EVR-CP ничего подобного не происходит? При использовании EVR-CP, при переходе в режим FSE, присутствует само окно FSE, да и сам переход работает нормально туда и обратно. Такое чувство, что наш MPC VR не способен нормально работать с DirectX9. Вот только почему- непонятно?
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 30 Май 2020, 09:57:20
Странно то что у меня отлично работает переход в FSE и обратно :)
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 30 Май 2020, 09: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|b|pr|19|mar|exact-new-sn|free|t0|0&yclid=2976188574337359308). Думаю, что только таким способом, мы решим все эти проблемы гораздо быстрее. Вы сами сможете все наглядно увидеть и воспроизвести. Пожалуйста, не отказывайтесь. Данные для подключения отправил вам в личку. Будем разбираться, что не так.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 30 Май 2020, 10:08:15
Обновил debug билд, ссылка таже - просьба еще раз проверить с логом, не будет ли там ошибок связанных с PresentEx().

P.S. Я ессно все проверяю на Win10, если у вас нет - просьба проверить так же на 10.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 30 Май 2020, 10:11:04
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|b|pr|19|mar|exact-new-sn|free|t0|0&yclid=2976188574337359308). Думаю, что только таким способом, мы решим все эти проблемы гораздо быстрее. Вы сами сможете все наглядно увидеть и воспроизвести. Пожалуйста, не отказывайтесь. Данные для подключения отправил вам в личку. Будем разбираться, что не так.
1 - нет времени
2 - нужна система с выводом на второй экран чтобы FSE шел на второй экран и не мешал сидеть в отладчике.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 30 Май 2020, 10:12:57
Aleksoid1978,
Цитировать
P.S. Я ессно все проверяю на Win10, если у вас нет - просьба проверить так же на 10.
Я проверяю на Windows 7. Хотя на Windows 10 у меня тоже самое абсолютно, также нет окна FSE и также криво работает Discard с 59.94 и выше и все остальное, включая мультимонитрность и реинициализацию дисплеев.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 30 Май 2020, 10: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, 10:30:47
HDMI->VGA - только "активные", стоят дорого. А вот HDMI -> DVI вполне реально, либо кабель сразу, либо кабель HDMI -> HDMI + переходник HDMI -> DVI.

А производители убрали VGA - да просто нафига нужен уже этот аналог :)
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 30 Май 2020, 10: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, 10:41:23
Как я и думал. Теперь надо думать дальше, искать причину.

Отдал наработки v0lt - у него та же ошибка, может найдет причину.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 30 Май 2020, 10: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, 11:02:54
VGA - Это дополнительный блин для преобразования сигнала цифры в аналог. А все остальные - это цифры, лишний разьем - буквально чуть-чуть запчастей и распайка на плате.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 30 Май 2020, 11:03:51
Evgeniy1990 - проверь на Win10 FSE.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 30 Май 2020, 11:08:14
А, ну да, производителям видимо вообще без разницы, что лепить и куда лепить. Простой пример. На сокете 1155 присутствуют до сих пор COM-порты, LPT-порт, PS/2-порты. И место не остается для тех же USB3.0. Гениально! (FACEPALM) "Гениальность" производителей просто поражает! -> Зачем добавлять USB3.0, COM-порты гораздо более необходимы.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 30 Май 2020, 11:20:50
Заканчиваем оффтоп.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 30 Май 2020, 12: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, 12: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, 12: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, 13:03:05
Aleksoid1978,

Мало того, что видео становится квадратным, так еще и субтитры отображаются где попало и как попало, противоречив своим позициям (pos: x/y). )))
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 30 Май 2020, 13:04:53
FSE - всегда используется Flip режим.
По поводу соотношения сторон - возможно, это мелочи :)
Название: Re: MPC Video Renderer
Отправлено: V0lt от 30 Май 2020, 19:24:10
В MPC VR добавил либу fmt как "Подмодуль" и она уже местами используется.
Это был первый эта перехода на std::[w]string. Будут еще этапы.

Evgeniy1990, если будут проблемы с обновлением подмодуля - пиши.
Иногда бывает что проще удалить старую папку и выкачать весь проект заново вместе с внешними модулями.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 31 Май 2020, 02:51:03
Ну еще одна попытка - debug билд https://yadi.sk/d/HIYH7llCaPNBIQ
Если что - жду лог.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 31 Май 2020, 04: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, 04:25:48
По поводу git и модулей - самое просто выполнить в командной строке git pull(обновление самого проекта) и затем git submodule update --init --recursive(обновление всех внешних модулей, рекурсивно). Так же в том же TortoiseGit есть отдельная команда для обновления модулей.

И не надо каждый раз заново "клонировать" проект.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 31 Май 2020, 04:36:02
Evgeniy1990
fmt::format - это по сути прототип std::format C++20. Либа fmt стабильная, поэтому постоянно обновлять подмодуль не нужно.
Я один раз скачиваю fmt и потом вообще его не трогаю.

По идее надо цеплять релиз подмодуля, чтобы не менялся совсем, но Я не копал в этом направлении.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 31 Май 2020, 06: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, 06:36:19
Aleksoid1978,
Прилагаю два лога (https://yadi.sk/d/wHysM6rK5S4P2g) с Windows 10.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 31 Май 2020, 08:02:37
Да все понятно... что ничего непонятно)))
Название: Re: MPC Video Renderer
Отправлено: V0lt от 31 Май 2020, 11:52:20
Evgeniy1990
Моя версия 5 без доп. фокусного окна (https://yadi.sk/d/X0EVMKP4TcmnHQ/Test/ExclusiveFullscreen). Если не кликать на другом дисплее, то работает. :-)
Но при первом запуске все равно зависает.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 31 Май 2020, 13:06:08
V0lt,
Цитировать
Моя версия 5 без доп. фокусного окна. Если не кликать на другом дисплее, то работает. :-)
Но при первом запуске все равно зависает.
Проверил вашу 5-ую версию на Win7. Действительно, все именно так, как вы сказали. При первом переходе - мертвое зависание, при втором и последующих - нормальный переход и сам режим FSE.

Наконец-то! Первая тестовая версия, в которой работает режим FSE на Windows 7, хоть и со второго раза. :)
Спасибо, что предоставили мне ее для проверки. Получается, что всему виной - дополнительное фокусное окно.

Но вот это мертвое зависание просто бесит. Нужно избавиться от него раз и навсегда. Приятно видеть, что прогресс продвигается в этом направлении. Думаю, что скоро вы решите эту проблему с этим мертвым зависанием. :)
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 01 Июнь 2020, 01:19:54
Вот еще просьба проверить - https://yadi.sk/d/6DKd_n7pndfnuQ
В архиве 2 версии(debug x86). Зависание при первом запуске никуда не делось - главное это наличие FSE окна и нормальное проигрывание и переключение в FSE и обратно.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 01 Июнь 2020, 02: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, 03:00:39
Вот же блин, тогда позже перевыложу :)

P.S. перезалил, ссылка та же.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 01 Июнь 2020, 04: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, 05:02:43
Вот же пля ...
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 01 Июнь 2020, 06:30:08
Вот еще одна попытка - https://yadi.sk/d/AHqzMmu-IE8vcA
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 01 Июнь 2020, 06:54:07
Aleksoid1978,
Цитировать
Вот еще одна попытка - https://yadi.sk/d/AHqzMmu-IE8vcA
Проверил второй отладочный билд. Теперь мертвое зависание происходит всегда, при первом разе и при последующих. (О_о)
Прилагаю лог-файлы (https://yadi.sk/d/0kRX_hTPWoUbGw).
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 01 Июнь 2020, 08:37:55
Ну вот еще одна попытка - https://yadi.sk/d/w9udLKU0a9UeSg
Думаю если и это не поможет - тогда можно забросить и забыть ))
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 02 Июнь 2020, 06:58:08
По MPC VR + FSE - пробуем еще вот так - https://yadi.sk/d/_LSyLmGP6G331Q
В архиве немного измененный mpc-be + сам mpc vr.

Ну и если что - логи в студию.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 02 Июнь 2020, 10: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, 10:21:28
Ну ясно. Все, забываем о FSE, по крайней мере как это реализовано в самом MPC-BE, отдельным окном. Возможно в будущем попробую сделать как в madVR, когда рендерер сам переходит в FSE.
Но лично мне такой FSE уже совершенно не привычен, на столько понравился и прижился способ в MPC-BE/HC, отдельным окном.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 02 Июнь 2020, 15:12:58
Ну ясно. Все, забываем о 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, 16:20:56
Aleksoid1978,
Цитировать
Ну ясно. Все, забываем о FSE, по крайней мере как это реализовано в самом MPC-BE, отдельным окном.
Рано еще сдаваться. Я перепроверил поведение сегодняшнего отладочного билда вместе с тестовым плеером.

В общем так, окно FSE то есть, то его нет. Вот так вот.

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

Вывод: окно FSE нестабильно, проявляется всего лишь один раз и то только после второго перехода текущей сессии. Если выйти из окна FSE и попробовать несколько раз перейти в него обратно, в течении одной сессии, то его больше не будет, вернее оно будет невидимым.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 04 Июнь 2020, 03:28:36
Так - пробуем первую попытку(поэтому сильно надеяться не надо :) ) полноэкранного эксклюзива без отдельного окна FSE, т.е. по аналогии с madVR - при переходе в полный экран автоматом будет переключение в эксклюзив.
Версии дебажные, если что - выложить логи.
https://yadi.sk/d/rvcxs6BQb0sUHw
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 04 Июнь 2020, 04: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, 04:56:35
Короче ясно - такой же отстой, в 10 все великолепно :) Забываем про FSE - реально надоело уже тупить с этим ...
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 04 Июнь 2020, 06: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, 06:49:09
Evgeniy1990,
Второй работает стабильно, да. Одна мелочь - фокус. Нажать хотя бы Alt+Tab и плеер закрывается.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 04 Июнь 2020, 07:29:44
MPCfan,
Цитировать
Второй работает стабильно, да. Одна мелочь - фокус. Нажать хотя бы Alt+Tab и плеер закрывается.
Да, действительно, если в режиме FSE нажать "Alt+Tab", то плеер просто стабильно падает.
Причем, падение происходит именно в самом "MpcVideoRenderer.ax".
Решил я проверить где конкретно падает, так отладчик требует его *.pdb, говорит "...Not Loaded", которого у меня нет.

Теперь по поводу мелочи - "фокус". Вот знаете, я всегда думал, что процесс развития и отладки происходит поэтапно, но в нашем случае - это далеко не так. Мы еще толком не добились нормальной работы режима FSE, даже не определились как он будет реализован - как внешнее отдельное окно, или со стороны самого видео-рендерера, так уже сразу полезли одновременно реализовывать фокусы, мультимониторности и прочее. Я, конечно, не настаиваю, но хочу просто еще раз сказать - давайте действовать поэтапно, закончим и отладим одно, а после уже приступим к следующему. Но не надо одновременно делать и то и другое, так конечно мы будем вечность тут получать зависания и ошибки.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 04 Июнь 2020, 11:39:29
 Evgeniy1990,
На моей памяти уже 3 теста(включая этот) работают корректно с переходами. Всем им свойственно два нюанса: первый запуск и потеря фокуса. Мне казалось, что именно это пытались разрешить. Насколько я понял, на десятке проблем нет.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 04 Июнь 2020, 12:23:33
На 10 вообще почти все попытки удачны :) А вот на 7- все fail ((
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 04 Июнь 2020, 12:41:52
На 10 вообще почти все попытки удачны :) А вот на 7- все fail ((
Почему же? Ведь именно последний тест и на семёрке, и на восьмёрке стабилен с переходами.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 04 Июнь 2020, 12:48:31
Но ... офигенные проблемы при потере фокуса :)
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 04 Июнь 2020, 12:58:28
Aleksoid1978,
Но вот здесь же > https://yadi.sk/d/_LSyLmGP6G331Q проблема с фокусом была решена. Да, не ладилось с выходом из FSE при воспроизведении, но фокус же не перехватывался.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 05 Июнь 2020, 02:30:58
Вот еще пробуем - https://yadi.sk/d/vh0QvU0XKDWHdQ и https://yadi.sk/d/ar9nCVhZNfyJiw
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 05 Июнь 2020, 04:06:02
Вот еще пробуем - 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, 04:11:31
Зависание при первом запуске да - это я вообще хз с чем связано. А по статистике - странно, у меня норм :)
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 05 Июнь 2020, 04:16:45
Вот еще одна версия - https://yadi.sk/d/eMGjXUCOd70tuQ
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 05 Июнь 2020, 05: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, 06:17:53
Зависание при выходе из FSE - наверное из той же истории что зависание при первом запуске и переходе в FSE :)
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 05 Июнь 2020, 09:53:02
Вроде бы выяснил причину зависания при первом запуске и переходе в FSE, буду пробовать обойти. Причина не в нашем коде, придётся использовать хуки:)
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 05 Июнь 2020, 13:02:39
Aleksoid1978,
Проверил третий тест на сегодня. При выходе из FSE c включённой статистикой теперь всё OK. Но а как же без нюансов то! Есть, но это уже задел на будущее. Значит с включенной авто-переключалкой + статистикой при переключении на другую частоту отличной от 60Hz(по умолчанию) на ТВ плеер падает как на одном ТВ, так и на ТВ+монитор ноутбука. Избежать такого поведения можно или отключить статистику, или переключалку. Позже выложу логи, если конечно они нужны.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 05 Июнь 2020, 13:43:57
Логи не надо. У меня(на Win10) все норм с переходом и со статистикой и  авто-перекелючалкой(не берем во внимание первый запуск).
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 05 Июнь 2020, 15:01:30
Evgeniy1990,
Решил я перепроверить ещё раз третий тест, нажимаю этот Alt+Tab и на тебе, FSE исчезло. Ведь проверял же, не было такого. Нажимаю опять Alt+Tab, опять появилось FSE. Открываю статистику, а там уже просто FS. Вот такие дела. Стал я это дело тщательно проверять и понял в чём дело. Ведь когда проверял третий сегодняшний тест, окно браузера было свёрнуто и я решил это повторить. Действительно, при свёрнутом или нет окне браузера, да и вообще любом окне, Alt+Tab не перехватывает фокус, а когда не открыто(свёрнуто) ни одно окно, фокус теряется. Да уж, да плюс приколы со статистикой и авто-переключалкой.......  Win8=OUT.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 05 Июнь 2020, 16: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, 02:03:47
Пробуем еще - https://yadi.sk/d/IXeTXlCFM0Ctig
Вроде бы смог обойти проблемы зависания при первом запуске и FSE - проверяем и отписываемся.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 06 Июнь 2020, 02:30:15
Aleksoid1978,
Цитировать
Пробуем еще - https://yadi.sk/d/IXeTXlCFM0Ctig
Вроде бы смог обойти проблемы зависания при первом запуске и FSE - проверяем и отписываемся.
Проверил отладочный билд. При первом запуске, плеер нормально переходит в режим FSE, а вот при выходе из него уже происходит стабильное падение. При втором и последующих переходах, при выходе из режима FSE в окно, виснет намертво в самом FSE, даже в окно переключиться не может, по сравнению с самым первым разом.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 06 Июнь 2020, 02: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, 03:06:55
Странно - у себя я смог избавиться от падения/зависания при переходе из FSE в окно.

А что это за лог ?
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 06 Июнь 2020, 03:20:23
Aleksoid1978,
Цитировать
А что это за лог ?
Это stacktrace. Просто скинул на всякий случай, вдруг поможет. Это при падении.

Самое странное - это то, что в режим FSE нормально переходит, а вот выйти из него нормально уже не может, тупо виснет намертво.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 06 Июнь 2020, 03:28:36
Нужен лог самого MPC VR.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 06 Июнь 2020, 03:41:20
Aleksoid1978,
Цитировать
Нужен лог самого MPC VR.
Пожалуйста (https://yadi.sk/d/Mnt_EbWCLHa0yw).
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 06 Июнь 2020, 03:45:03
Странно, с логом все отлично. Ладно - попробую еще "подебажить", в MPC-HC тоде получаю падение при переходе из FSE в окно :)
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 06 Июнь 2020, 03:46:38
Пробуем еще - https://yadi.sk/d/IXeTXlCFM0Ctig
Вроде бы смог обойти проблемы зависания при первом запуске и FSE - проверяем и отписываемся.
https://yadi.sk/d/FJ1NK6KWM9gwBw При выходе из FSE есть небольшой фриз, потом уже нет ни FSE, ни плеера.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 06 Июнь 2020, 04:20:15
Да я понял, MPC-HC тоже вылетает при переходе в окно, попробую понять.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 06 Июнь 2020, 07:31:46
Вот пробуем - https://yadi.sk/d/ids8Yt0MfkeG0w
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 06 Июнь 2020, 08:13:25
Aleksoid1978,
Цитировать
Вот пробуем - https://yadi.sk/d/ids8Yt0MfkeG0w
Проверил второй отладочный билд. Теперь полный порядок. При первом запуске плеер нормально переходит в режим FSE и выходит обратно из него. При втором и последующих - аналогично, все нормально.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 06 Июнь 2020, 08:32:55
Ну теперь надо погонять получше, в одномониторной и мультимониторной конфигурациях.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 06 Июнь 2020, 08:42:31
Aleksoid1978,
Цитировать
Ну теперь надо погонять получше, в одномониторной и мультимониторной конфигурациях.
ОК. Вот видите, вы все же смогли реализовать нормальную работу режима FSE. :)
По поводу фокуса через "Alt+tab" - в режиме FSE ничего не происходит, т.е. нельзя переключиться (перейти) на другое окно папки, или же приложения.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 06 Июнь 2020, 08: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, 08:54:13
По Alt Tab - это на одном мониторе, а как на EVR-CP ?
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 06 Июнь 2020, 08:55:46
График и пропуски - это нормально, происходит пересоздание устройства и вслед за этим много ещё чего.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 06 Июнь 2020, 08:59:39
Aleksoid1978,
Цитировать
По Alt Tab - это на одном мониторе, а как на EVR-CP ?
Решил я проверить поведение "Alt+Tab" на EVR-CP в режиме FSE и что обнаружил - теперь на EVR-CP не работает режим FSE. Теперь на нем невидимое окно FSE. Зашибись! (О_о)
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 06 Июнь 2020, 09:01:57
Ага, учитывая что там код не тронулся очень долгое время и уж тем более MPC VR тут не при чем :)
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 06 Июнь 2020, 09:03:24
Aleksoid1978,
Цитировать
График и пропуски - это нормально, происходит пересоздание устройства и вслед за этим много ещё чего.
Я бы так не сказал, на FlipEx их нет вообще.

Основная проблема - это постепенные пропуски кадров видео во время его воспроизведения, при условии, что используется Swap effect: Discard. Не должно быть пропусков кадров во время воспроизведения видео. Вот это и надо устранить, тогда их не будет и при переходах туда и обратно.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 06 Июнь 2020, 09:07:00
100500 раз уже писал - FSE использует Flip режим. При чем здесь discard, и что значит пропуски во время воспроизведения? Не в момент перехода в FSE или обратно а уже после пропуски, просто во время проигрывания?
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 06 Июнь 2020, 09:07:39
Короче пока не ведём речь про обычное проигрывание.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 06 Июнь 2020, 09:09:40
Aleksoid1978,
Ага, учитывая что там код не тронулся очень долгое время и уж тем более MPC VR тут не при чем :)
Да знаю я прекрасно, что код давным давно не менялся, но не работает FSE, нет его.

P.S. Update: черт его знает, что это "такое" было... Перезапустил плеер, вроде бы проблема исчезла. Да уж... Пошли странности какие-то...
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 06 Июнь 2020, 09: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, 09:21:21
Я понял поэтому и сказал - пока не трогаем обычное проигрывание и discard, тем более что тут может быть ничем и не помочь, пока не переделать работу с очередью, а это неизвестно когда будет и неизвестно будет ли вообще.

P.S. Тем более у себя такого не наблюдаю. Да и вообще - юзаем Flip/FlipEx как более современный, не зря же его рекомендуют использовать.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 06 Июнь 2020, 09:28:12
Aleksoid1978,
Я понял поэтому и сказал - пока не трогаем обычное проигрывание и discard, тем более что тут может быть ничем и не помочь, пока не переделать работу с очередью, а это неизвестно когда будет и неизвестно будет ли вообще.

P.S. Тем более у себя такого не наблюдаю. Да и вообще - юзаем Flip/FlipEx как более современный, не зря же его рекомендуют использовать.
Потому что у вас видеокарта NVIDIA. А проблема с пропусками кадров во время воспроизведения проявляется только на видеокартах от AMD, причем именно на новых моделях и последних новейших драйверах.

Тогда почему не сделать по умолчанию Swap effect - FlipEx, если он более современный?
Единственная просьба - это убрать видимость окна плеера при переходе на следующий файл. Реально выглядит странно.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 06 Июнь 2020, 09:33:23
Что ещё за видимость при переходе, покажи ?
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 06 Июнь 2020, 09:41:21
Aleksoid1978,

Мда... И все же, как бы смешно это не звучало, а проблема с работой режима FSE все-таки есть на EVR-CP, несмотря на то, что его код давным давно не менялся. Увы и ах, к сожалению, проблема есть. Я смело это подтверждаю! Причем, она плавающая, если смогу разгадать алгоритм проявления, то сможем ее устранить.

Вот посмотрите, пожалуйста, на это зрелище (https://yadi.sk/i/_6P-xFSFwiJ1Iw).
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 06 Июнь 2020, 09:46:35
Aleksoid1978,
Цитировать
Что ещё за видимость при переходе, покажи ?
Откройте у себя любой видео файл, выберете эффект FlipEx, перейдите в обычный полноэкранный режим, перемотайте почти в конец и ждите переход на следующее видео в папке. В момент перехода, на пару секунд можно будет увидеть окно самого MPC-BE, как при его старте (запуске). Вот этого быть не должно. Почему? Да потому что ни на одном видео-рендерере нет такого явления, который смахивает на "некую недоработку".
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 06 Июнь 2020, 09:50:14
А какие другие рендереры используют FlipEx ?
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 06 Июнь 2020, 09:51:57
Aleksoid1978,
Цитировать
А какие другие рендереры используют FlipEx ?
Тот же EVR-CP.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 06 Июнь 2020, 09:59:14
Нет в счёт - он встроен, и сильно пересекается с самим проигрывателем:)
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 06 Июнь 2020, 10: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, 10:17:15
Так не при чем EVR-CP
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 06 Июнь 2020, 20: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 от 06 Июнь 2020, 21: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, 01: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, 02:02:38
Ситуацию с отсутствием окна FSE на EVR-CP после использования MPC VR FSE подтверждаю, потом разберемся.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 07 Июнь 2020, 04:54:12
И вот еще одна версия с FSE - https://yadi.sk/d/iFTB7WDPjyrXPA
В ней переход в FSE происходит не сразу же по переключению в полный экран, а по таймеру в 2 сек, по мне так даже по лучше - если случайно ткнул переход в полный экран можно быстро выйти обратно, ну и при переходе в полный экран картинка "не рвется".
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 07 Июнь 2020, 06: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, 06:22:54
Aleksoid1978,
Цитировать
Опция FSE в MPC-BE не имеет никакого отношения, влияет только опция в самом MPC VR.
Спасибо, что наконец-то реализовали отдельную опцию конкретно для самого MPC VR. Теперь, хотя бы, на машине с ATI Radeon HD 3650, плеер нормально переходит в обычный полноэкранный режим. До этого, был конфликт, из-за которого при выключенном режиме FSE, плеер все равно переходил именно в него. Но такое явление было только на этой самой машине. Т.е. думаю, что вы сами прекрасно уже видите и понимаете, что конфигурации разные и далеко не на всех из них будет строго одинаковое поведение.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 07 Июнь 2020, 09:57:29
Если падает драйвер - это вопросы к драйверу.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 07 Июнь 2020, 12:31:08
Надо решить какой вариант лучше, с таймером мне больше нравиться.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 07 Июнь 2020, 12:53:53
Мне нравиться без таймера. Не раздражает.

С какой-то версии был убран таймер в madVR и тогда стало возможно нормально пользоваться эксклюзивным режимом без лишней дерготни.

Прошу собрать версию x64.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 07 Июнь 2020, 13:04:48
В madVR по дефолту тоже таймер - 3 секунды(смотрим настройку эксклюзива). Ну можно тогда и нам добавить опцию ?
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 07 Июнь 2020, 13:57:57
Aleksoid1978,
Цитировать
Если падает драйвер - это вопросы к драйверу.
Он упал всего лишь один раз, после чего, спустя 2 сек., согласно таймеру, также завис намертво при переключении на FSE-режим. Т.е. просто черный экран самого FSE. Т.е. надо разбираться почему так. Здесь дело вовсе не в драйвере.

Aleksoid1978,
Цитировать
В madVR по дефолту тоже таймер - 3 секунды(смотрим настройку эксклюзива). Ну можно тогда и нам добавить опцию ?
Я предлагаю сделать таймер опционально, просто добавить отдельную опцию. Пусть будут оба варианта работа режима FSE, а там посмотрим.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 08 Июнь 2020, 06:40:14
Aleksoid1978,

Зависание и падение, при переходе в режим FSE, происходит в этом месте (https://yadi.sk/i/pZyo6e1QEAgyKA).
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 08 Июнь 2020, 07:11:12
Покажи(там же в стеке падения) - CBaseRenderer::Pause().
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 08 Июнь 2020, 07:52:39
Aleksoid1978,
Цитировать
Покажи(там же в стеке падения) - CBaseRenderer::Pause().
Пожалуйста (https://yadi.sk/i/ZMkpfBEAKzkWxg).
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 08 Июнь 2020, 08:10:51
Ну это не падение - это ASSERT в debug версии. Собери релизную версию и проверь на ней.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 08 Июнь 2020, 09:11:54
Aleksoid1978,
Цитировать
Ну это не падение - это ASSERT в debug версии. Собери релизную версию и проверь на ней.
Проверил релизную версию. Также, черный экран FSE, при переходе в режим FSE.

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

Обрыв цепи видео-рендерера и видео декодера выглядит вот так (https://yadi.sk/i/WWm8hTpXQFgtaQ).
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 08 Июнь 2020, 09:17:52
Ну тут я хз :)
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 08 Июнь 2020, 09:40:53
Aleksoid1978,
Цитировать
Ну тут я хз :)
Это я проверяю на машине с ATI Radeon HD 3650. Именно на данной машине режим FSE ведет себя очень странно и некорректно, т.е. то работает, то не работает. Суть в том, что не на всех конфигурациях (машинах), режим FSE работает нормально и корректно. Да, знаю, что в целом, данный режим реализован корректно и на новом современном, или относительно современном железе (конфигурациях машин), он работает нормально, без проблем. А вот я решил пойти дальше и задал себе такой вопрос - а что если конфигурация не совсем современная, по сегодняшним меркам, как интересно тогда будет работать данный режим. И вот для таких случаев, я и собрал машину с ATI Radeon HD 3650, чтобы быть на все 100% уверенным, что любая реализация какого либо функционала, абсолютно точно, на все 100%, работает совершенно на любом железе и на любых конфигурациях. И в случае с режимом FSE, я убедился, что увы, далеко не на всех конфигурациях он работает корректно и стабильно. А я уверен, что найдутся такие пользователи, у которых как раз вот такие не очень современные конфигурации железа. И они не смогут нормально использовать данный режим. Вот в чем беда и огромный недостаток. Хотелось бы конечно его устранить, чтобы его не было вообще. Именно поэтому я и прошу вас обратить на это внимание, что не стоит вот так просто закрывать на это глаза, говоря о том, что у меня работает, значит оставляем как есть.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 08 Июнь 2020, 09:42:48
EVR-CP, madVR(в режиме DX9) - корректно работает FSE ?
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 08 Июнь 2020, 09: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, 09:53:20
А можешь запустить на debug версии MPC-BE и перейти в FSE на EVR-CP ? Ну и потом лог выложи.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 08 Июнь 2020, 10:40:58
Aleksoid1978,
Цитировать
А можешь запустить на debug версии MPC-BE и перейти в FSE на EVR-CP ? Ну и потом лог выложи.
Пожалуйста (https://yadi.sk/d/B2L_4pJuBEZ5Qg).
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 08 Июнь 2020, 10:44:02
Ну как я и думал - на одном мониторе не пересоздается устройство, а "резетится". Проверить бы на такой же конфигурации но с 2-мя мониторами, вывод FSE на 2-ой монитор.
Ну а я посмотрю как сделать "так же как и EVR-CP".
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 09 Июнь 2020, 04:40:56
Вот еще просьба проверить работу FSE, особенно на одном мониторе. На нескольких - проверить как работает потеря фокуса.
https://yadi.sk/d/as7CEKnFWsVQeg
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 09 Июнь 2020, 06: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, 07:24:44
Еще бы вот что проверить - на мультимониторной конфигурации, настроить полный экран на тот же монитор где запускаем, перейти в FSE и проверить "потерю" фокуса - ткнуть мышкой в любое другое окно или просто рабочий стол, не будет ли пропадания окна с FSE.

У себя проверил - вроде все нормально.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 09 Июнь 2020, 10:03:24
Еще бы вот что проверить - на мультимониторной конфигурации, настроить полный экран на тот же монитор где запускаем, перейти в FSE и проверить "потерю" фокуса - ткнуть мышкой в любое другое окно или просто рабочий стол, не будет ли пропадания окна с FSE.

У себя проверил - вроде все нормально.
Проверил на Win8, нормально, Alt+Tab мне кажется работает корректно на одном мониторе, но есть одно НО. В отличие от SVN плеер виснет если выйти из FSE, перезапустить файл и опять перейти в FSE = зависание 100%
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 09 Июнь 2020, 10:20:09
Ок, проверю.

P.S. Исправил, билд перезалил - ссылка та же.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 09 Июнь 2020, 20:09:23
Ок, проверю.

P.S. Исправил, билд перезалил - ссылка та же.
Да, исправилось.

Вернусь ещё раз к альтабу. Вот видео > https://yadi.sk/i/9XUd8qazkk8CaQ Запускаю плеер, видео, переход в FSE, и нажимаю Alt+Tab. Потом перевожу курсор в область, где по-идее расположена панель задач с разными иконками и начинаю произвольно кликать, при этом видно, что иногда у курсора появляется синий кружочек запуска и ждем окончания файла. А вот ещё > https://yadi.sk/i/JryAU9ebiM3WFg Здесь я свободно, примерно помня где какие кнопки пользуюсь панелями инструментов для простого оконного фуллскрина, и это в эксклюзиве. Как так?
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 09 Июнь 2020, 22:56:10
Это вам не FSE как в самом MPC-BE где создается отдельное окно поверх всех окон и на него выводиться. В случае MPC VR - выводиться картинка на окно самого MPC-BE, поэтому все движения мыши в нем так дже работают, и проигрыватель пытается показать панель и обработать события мышки на нем :) Для этого будут доработки(надеюсь со временем получиться и доведу до ума).
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 Июнь 2020, 01:07:12
А кто может сравнит плавность вывода в FSE на телеке - EVR-CP и MPC VR ?
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 10 Июнь 2020, 04:34:13
Aleksoid1978,
Проверил обновленный билд. Да, зависания полностью пропали.
Последние изменения будут в залиты в Git? Просто собрал билд с учетом последнего коммита, а в нем не работает режим FSE на машине с ATI Radeon HD 3650, в отличие от обновленного тестового.
Цитировать
В случае MPC VR - выводиться картинка на окно самого MPC-BE, поэтому все движения мыши в нем так дже работают, и проигрыватель пытается показать панель и обработать события мышки на нем
Это называется - невидимая шкала прогресса и невидимый Flybar. :) )))
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 Июнь 2020, 04:48:29
Изменения будут залиты попозже, как только доведу до ума - времени не хватает, да и ТВ практически всегда занят, не могу нормально тестировать :)
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 Июнь 2020, 06:25:03
Вот "окончательный" вариант, на одном экране переход FSE и обратно стал еще "легче".
https://yadi.sk/d/JoJvbtZLYlpXrA
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 10 Июнь 2020, 08: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, 09:04:16
А проверь такой же алгоритм - окно на одном экране, FSE на второй - на EVR-CP, на madVR.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 10 Июнь 2020, 09:06:36
Вот "окончательный" вариант, на одном экране переход FSE и обратно стал еще "легче".
https://yadi.sk/d/JoJvbtZLYlpXrA

На восьмёрке опять выход из FSE, перезапуск файла, опять переход в FSE заканчивается зависанием.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 Июнь 2020, 09:07:55
Вот "окончательный" вариант, на одном экране переход FSE и обратно стал еще "легче".
https://yadi.sk/d/JoJvbtZLYlpXrA

На восьмёрке опять выход из FSE, перезапуск файла, опять переход в FSE заканчивается зависанием.

Блин - кажется знаю в чем косяк, это поправимо :)

P.S. Перезалил - проверяем(ссылка та же).
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 10 Июнь 2020, 09:18:07
Aleksoid1978,
Цитировать
А проверь такой же алгоритм - окно на одном экране, FSE на второй - на EVR-CP, на madVR.
Проверил на EVR-CP свой тот же самый алгоритм. В итоге, одно из двух - или сразу происходит падение, при переходе в режим FSE, или окно плеера остается на первом мониторе, а черное окно FSE - на втором мониторе висит намертво.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 10 Июнь 2020, 09:19:50
Aleksoid1978,
Проверил на madVR свой тот же самый алгоритм. В итоге, черное окно FSE на втором мониторе висит намертво.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 Июнь 2020, 09:21:40
Ну как я и предполагал - тут вот 100% виновны драйвера, не могут они "на лету" переваривать вызов IDirect3D9Ex::CreateDeviceEx(), ну могу заново создать Direct3D9 устройство.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 10 Июнь 2020, 09:28:07
Aleksoid1978,
Цитировать
Ну как я и предполагал - тут вот 100% виновны драйвера, не могут они "на лету" переваривать вызов IDirect3D9Ex::CreateDeviceEx(), ну могу заново создать Direct3D9 устройство.
Попробуйте создать Direct3D9 устройство для EVR-CP и MPC VR. Я бы проверил.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 Июнь 2020, 09:38:21
Aleksoid1978,
Цитировать
Ну как я и предполагал - тут вот 100% виновны драйвера, не могут они "на лету" переваривать вызов IDirect3D9Ex::CreateDeviceEx(), ну могу заново создать Direct3D9 устройство.
Попробуйте создать Direct3D9 устройство для EVR-CP и MPC VR. Я бы проверил.

В том то и дело что когда FSE и окно на разных экранах - происходит удаление/создание Direct3D9 устройства, и тут получаем отлуп :) Когда на одном экране - то просто устройство "резетится".
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 10 Июнь 2020, 09:43:58
Aleksoid1978,
Цитировать
В том то и дело что когда FSE и окно на разных экранах - происходит удаление/создание Direct3D9 устройства, и тут получаем отлуп :) Когда на одном экране - то просто устройство "резетится".
Ясно. Да уж, как все непросто. :)
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 10 Июнь 2020, 09:47:45
Aleksoid1978,
Перепроверил. Работает. Немного погонял на двух-мониторной конфигурации, насколько фантазии хватило это сделать. Всё стабильно, зависов нет. Фокус вроде не перехватывается. Заметил, что 60 fps и 30 fps воспроизводятся не совсем корректно. Значит хак 24Hz-60Hz для эксклюзива пока не работает?
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 Июнь 2020, 09:48:41
Да уж непросто, а если бы еще знать как эта "хрень" под названием "Direct3D9" работает с окнами и потоками - тут как говориться "знал бы заранее - обошел стороной" :)
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 Июнь 2020, 09:49:27
Aleksoid1978,
Заметил, что 60 fps и 30 fps воспроизводятся не совсем корректно. Значит хак 24Hz-60Hz для эксклюзива пока не работает?

Нет - этого не делал, возможно будет - но позже :)
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 10 Июнь 2020, 10: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, 11:01:03
Aleksoid1978,
Проверил ситуацию с софт-декодированием в режиме FSE на втором мониторе на EVR-CP и madVR. Вот на них нормально работает режим FSE, при софт-декодировании на втором мониторе. Ясно, значит проблема только на MPC VR.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 Июнь 2020, 11:46:17
Ну я смогу только у себя проверить в софтовом декодировании.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 10 Июнь 2020, 12:16:53
Ну у меня все ок.
Короче я заливаю текущий вариант. Дальше уже надо думать про DX11 FSE режим :)
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 10 Июнь 2020, 14: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, 07:36:01
С FSE + DX11 вообще все очень интересно - DX11 берет на себя "вопросы" по работе с окном, меняет стили, меняет положение и т.д. В итоге имеем совершенно непонятного вида с неверным размером и положением наше основное окно MPC-BE после выхода из FSE. Пока даже мыслей нет что с этим делать - вопрос откладывается нап неопределенное время :)
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 11 Июнь 2020, 17: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 от 11 Июнь 2020, 21:48:57
Aleksoid1978,

Собрал и тщательно прогнал commit 60b1786. Вот уж действительно не ожидал такого... Вот совершенно не похоже на ваши последние тестовые отладочные билды. В данном коммите режим FSE работает совершенно не так, как работал в тестовых билдах.
Могу сказать, что вы меня удивили. Режим FSE, в данном коммите, работает полностью нормально, даже не виснет и даже отсутствует проблема с черным экраном FSE при софт-декодировании на втором мониторе. Единственным исключением является неработоспособность на видеокарте ATI Radeon HD 3650. На ней режим FSE способен нормально работать только на одном мониторе (экране) из-за драйверов. На новых моделях видеокарт и драйверов он работает абсолютно стабильно.

P.S. Не знаю, но может быть повлиял именно данный коммит на его работоспособность, ибо в последнем обновленном отладочном билде все совсем не так. Скорее всего, так оно и есть, иначе как объяснить тот факт, что проблемы, о которых я вам говорил - просто "исчезли сами собой". Остался только один изъян - неспособность выйти из режима FSE с первого раза.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 12 Июнь 2020, 05:44:15
MPCfan, в 0.4.6.1332 должно исправиться. Проверь.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 12 Июнь 2020, 05:49:19
MPCfan, в 0.4.6.1332 должно исправиться. Проверь.
Хорошо, проверю. Да, ещё вот что: в DX9 субтитры не отображаются, в DX11 - без проблем.

Проверил. Спасибо. Всё корректно.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 12 Июнь 2020, 06:49:04
Да я гляну сабы, знаю примерно из-за чего :)

P.S. Исправил.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 12 Июнь 2020, 07:32:09
Собрал 0.4.6.1333.

Плеер иногда виснет при выходе из эксклюзива. Win8.1 x64.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 12 Июнь 2020, 08:02:52
Эксклюзив на одном экране ?
С помощью дебагера, к примеру WinDbg - можешь посмотреть из-за чего именно висим.

Исправил зависание - проверяем.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 12 Июнь 2020, 10: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, 10:44:18
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, 11:34:00
Aleksoid1978,
Нет. После перезагрузки первый запуск FSE, а именно выход заканчивается зависанием > https://yadi.sk/i/6Pu5i6RtSP8f1A ну и лог > https://yadi.sk/d/5o1BJxwjlN9UuQ Да, теперь после установки нового SVN полноценного эффекта "первого запуска" нет. Но что-то мне подсказывает что, на "чистой" системе это проявилось бы.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 12 Июнь 2020, 11:35:41
Какого ещё SVN если тут git :)
А по делу - пропал баг с первым запуском и FSE ?
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 12 Июнь 2020, 11:59:58
Какого ещё SVN если тут git :)
А по делу - пропал баг с первым запуском и FSE ?
Качал c альтернативы 1 MPCVideoRenderer-v0.4.6.1335_git2020.06.12-54232da, для меня оттуда всё SVN. Если не то, дождусь нужного, проверю. По поводу первого запуска. На этой машине я в первый раз запустил FSE после регистрации фильтров, и при переходе в эксклюзив сразу завис. Теперь только после перезагрузки и только после выхода из FSE. Последующие запуски работают нормально.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 12 Июнь 2020, 12:16:33
Ну да - это самая последняя версия. И на ней присутствует зависание при переходе в FSE при самом первом запуске ?
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 12 Июнь 2020, 12: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, 13:56:47
Странно все это, все же нормально работало :)
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 12 Июнь 2020, 14:03:55
Странно все это, все же нормально работало :)
Да, что-то не постоянное. С перезагрузкой, да, есть константа.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 12 Июнь 2020, 19:27:15
Aleksoid1978, MPCfan,

Подтверждаю проблему с первым мертвым зависанием при выходе из режима FSE. До этого не зависало. Повлияло какое-то из последних изменений в Git.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 12 Июнь 2020, 19:48:12
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, 00:15:41
На этот раз у себя ну никак не могу поймать зависания.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 13 Июнь 2020, 01:11:48
Aleksoid1978,
Цитировать
На этот раз у себя ну никак не могу поймать зависания.
Я так и знал, что всему виной изменение в Git. И вот, пожалуйста, внимательно перепроверил:

Git 1327 commit 60b1786 - не виснет первый раз, при выходе из режима FSE
Git 1332 commit 1f0e7d2 - уже виснет всегда первый раз, при выходе из режима FSE

Повлияло какое-то из изменений, входящих в интервал [1327 -> 1332]
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 13 Июнь 2020, 02:10:39
Aleksoid1978,

Нашел проблемное изменение - это commit 1f0e7d2 (https://github.com/Aleksoid1978/VideoRenderer/commit/1f0e7d26046aa100c7176246016c2929e54b9ccc).
Именно из-за него и происходит в самый первый раз мертвое зависание плеера, при выходе из режима FSE.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 13 Июнь 2020, 02:15:34
MPCfan,

Проверьте, пожалуйста, эти билды (https://yadi.sk/d/CYxetAG4xiO-yQ). В них я исключил проблемное изменение, которое вызывало мертвое зависание в самый первый раз, при выходе из режима FSE.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 13 Июнь 2020, 03:15:38
Мой краткий лог зависания (https://pastebin.com/xTPKpCaN) после выхода из экслюзива после первой перезагрузки.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 13 Июнь 2020, 03:19:05
Вопрос - как юзаем FSE, с автопереключалкой или нет, если да - то с применением режима по умолчанию после перехода в окно ?
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 13 Июнь 2020, 03:38:15
Aleksoid1978,
Цитировать
Вопрос - как юзаем FSE, с автопереключалкой или нет, если да - то с применением режима по умолчанию после перехода в окно ?
Лично я юзаю его без автопереключалки. Опция "Переключать режим монитора в полноэкранном режиме" у меня всегда выключена.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 13 Июнь 2020, 03:41:36
MPCfan,

Проверьте, пожалуйста, эти билды (https://yadi.sk/d/CYxetAG4xiO-yQ). В них я исключил проблемное изменение, которое вызывало мертвое зависание в самый первый раз, при выходе из режима FSE.
Да. После перезагрузок, при первом запуске теперь нормально.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 13 Июнь 2020, 03:47:56
Aleksoid1978,
Поймал зависание > https://yadi.sk/i/dicJ3T0GdCfM4g Возможно, так и не надо делать, но всё же.....
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 13 Июнь 2020, 03:48:16
MPCfan,
Цитировать
Да. После перезагрузок, при первом запуске теперь нормально.
Ну вот, мы и выяснили, а также убедились, что именно данный коммит 1f0e7d2 является проблемным и вызывает мертвое зависание в самый первый раз, при выходе из режима FSE.
Название: Re: MPC Video Renderer
Отправлено: V0lt от 13 Июнь 2020, 04:08:18
Спасибо за тестирование. Залил 0.4.6.1336.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 14 Июнь 2020, 10: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, 10:51:46
А просто переход из FSE в окно работает?
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 14 Июнь 2020, 10:55:55
Aleksoid1978,
Да, работает.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 14 Июнь 2020, 12: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, 13:36:29
Нашел причину - завтра исправлю.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 15 Июнь 2020, 02:09:10
Ошибку с FSE исправил.

И вот еще просьба погонять тестовый билд - https://yadi.sk/d/F1cY4wzJbYQLfw, проверить как с ним переход в FSE и обратно, в разных комбинациях. Кое что переделал - хочется убедиться что все норм.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 15 Июнь 2020, 04:43:43
Aleksoid1978,
Ошибку с FSE исправил.

И вот еще просьба погонять тестовый билд - https://yadi.sk/d/F1cY4wzJbYQLfw, проверить как с ним переход в FSE и обратно, в разных комбинациях. Кое что переделал - хочется убедиться что все норм.
Исправилось. Пока остаются два нюанса несмотря на последние изменения. Одиночное нажатие Alt+Tab в режиме эксклюзива приводит к отключению работы клавиш и мыши, курсор есть, конечно, но на клики не реагирует. Повторное нажатие Alt+Tab решает этот нюанс. И с переключалкой есть проблемы, корректно работает либо с включённым delay в MPC-VR, либо с "Сменить режим экрана до начала воcпроизведения". Иначе может быть просто чёрный экран при переходе на следующий файл в режиме эксклюзива.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 15 Июнь 2020, 04:52:26
Aleksoid1978,
Ошибку с 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, 05:03:59
Aleksoid1978,
По поводу Alt-Tab, в обоих случаях, если мышь в видео-области. Клавиши - имеется ввиду мультимедия. Насчет переключалки всё верно. Это проявляется во всех последних билдах.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 15 Июнь 2020, 05:05:47
А что насчёт тестового билда, все норм с FSE ?

По поводу Alt-Tab - а как себя ведёт madVR ?
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 15 Июнь 2020, 05:19:09
У себя проверил FSE и Alt+Tab - ну да, фокус как бы переходит на переключенное приложение, но нажатие левой кнопки мыши возвращает фокус и все становиться нормально.

Так же проверил FSE, автопереключалку и переход на следующий файл - у меня норм. Вот debug версия https://yadi.sk/d/oxHiO_7rIFpEDg - можно на ней проверить и лог потом(если будет черный экран) выложить.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 15 Июнь 2020, 07: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, 07:39:01
Вот честно - заниматься с таким "старьем" нет никакого желания, время дороже. Да и никто не будет на такое железо цеплять вторым выводом нормальный ТВ и использовать FSE :) Забываем про этот случай и больше про него не пишем, честно. Там более что это не имеет отношения напрямую к MPC VR.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 15 Июнь 2020, 07:45:49
Aleksoid1978,
Цитировать
Вот честно - заниматься с таким "старьем" нет никакого желания, время дороже. Да и никто не будет на такое железо цеплять вторым выводом нормальный ТВ и использовать FSE :) Забываем про этот случай и больше про него не пишем, честно. Там более что это не имеет отношения напрямую к MPC VR.
Неужели так сложно это исправить? Что значит, не имеет отношения? Еще как имеет, особенно прямое отношение к работе режима FSE на втором мониторе, при использовании MPC VR. Вот опять началось - "старье"... Если уж грамотно развивать проект, то необходимо устранять такие недостатки, при определенных условиях и нюансах.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 15 Июнь 2020, 07:53:36
На EVR CP и madVR так же ведёт, сам же сказал что дело в декодере. Надо - создаём отдельно тему в багах касаемо проигрывателя.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 15 Июнь 2020, 08:06:31
Я то вообще ждал чтобы погоняли последний тестовый билд, сравнили с текущей git версией.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 15 Июнь 2020, 08:21:15
Aleksoid1978,
Цитировать
Я то вообще ждал чтобы погоняли последний тестовый билд, сравнили с текущей git версией.
Я знаю, что вы ждете результатов. Поэтому я сейчас этим и занимаюсь. Я решил сначала прогнать Git, а после - ваш тестовый билд.
Вот сейчас погонял ваш тестовый билд немного. Скажу, что переход в режим FSE туда и обратно работает нормально. По сравнению с последним Git-comiit'ом, разницы особой нет в работе режима FSE. По крайней мере, хуже не стало.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 15 Июнь 2020, 08: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, 08:41:05
Предлагаю пока не трогать все эти моменты с открытием окна настроек и переходом на другой файл. Понятно что все это плохо заканчивается. Это надо куда записать и потом уже думать что с ним делать. Тут надо в самом проигрывателе править, ибо фильтр знать не знает что окно свойств открыто и т.д.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 15 Июнь 2020, 09:02:37
Aleksoid1978,
Теперь по поводу последних наработок, касающихся определения мониторов. Они работают, но работают некорректно.
Проблема некорректной работы заключается именно в самом определении монитора (DISPLAY). Так вот, если на определенных мониторах открыть статистику MPC VR, то можно будет увидеть, что дисплей просто напросто отсутствует, или не определился совсем, несмотря на тот факт, что драйвер видеокарты его определяет правильно и корректно.

У себя я вижу следующее: "Display: [            ] 1280x1024, 60.000 Hz, fullscreen".
На месте скобок просто пустота, вместо названия самого дисплея (монитора)
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 15 Июнь 2020, 09:05:38
Что за монитор, как подключён, как его определяет сама система, видео-драйвер ?

P.S. Вот проверь - https://yadi.sk/d/X56gX1LYR8NzdA
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 15 Июнь 2020, 09:17:18
Aleksoid1978,
Цитировать
А что насчёт тестового билда, все норм с FSE ?
В вашем тестовом билде нормально работает режим FSE туда и обратно. Не знаю, что вы в нем изменили, но в целом, основная работа переходов работает нормально.
Цитировать
Что за монитор, как подключён, как его определяет сама система, видео-драйвер ?
Монитор LG Flatron L1751SQ. Система определяет его как "Универсальный монитор PnP". Видео-драйвер определяет его как "LG L1751SQ".
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 15 Июнь 2020, 09:34:16
Aleksoid1978,
Цитировать
А что насчёт тестового билда, все норм с FSE ?
В вашем тестовом билде нормально работает режим FSE туда и обратно. Не знаю, что вы в нем изменили, но в целом, основная работа переходов работает нормально.
Цитировать
Что за монитор, как подключён, как его определяет сама система, видео-драйвер ?
Монитор LG Flatron L1751SQ. Система определяет его как "Универсальный монитор PnP". Видео-драйвер определяет его как "LG L1751SQ".

Выше тестовый билд - проверь в нем.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 15 Июнь 2020, 09: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, 09:47:39
Aleksoid1978,
А что насчёт тестового билда, все норм с 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, 09:47:52
Ну значит VR все корректно отображает.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 15 Июнь 2020, 10:10:51
Aleksoid1978,
Цитировать
На EVR CP и madVR так же ведёт, сам же сказал что дело в декодере. Надо - создаём отдельно тему в багах касаемо проигрывателя.
Проверил поведение DXVA2-декодера на EVR-CP и madVR. Да, действительно, поведение аналогичное, как и на MPC VR.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 15 Июнь 2020, 10:13:32
Aleksoid1978,
Цитировать
Ну значит VR все корректно отображает.
Соглашусь. Но этот монитор LG мне "весь мозг съел". Самое забавное, так это то, что в статистике EVR-CP даже нет такой строки "Monitor", когда изображение передается именно ему.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 15 Июнь 2020, 10:14:38
Aleksoid1978,
EVR-CP вообще не определяет данный монитор как таковой.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 15 Июнь 2020, 10:16:43
Если не определяет - значит для даже нет EDID информации в системе :) А что показывает madVR ?
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 15 Июнь 2020, 10:30:30
Aleksoid1978,
Цитировать
Если не определяет - значит для даже нет EDID информации в системе :) А что показывает madVR ?
madVR показывает: device type: "Универсальный монитор не PnP".

НО! Это только если данный монитор подключен как второй дополнительный. Если он подключен один, то определяется нормально. EDID в любом случае есть. Просто почему-то его определение странное.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 15 Июнь 2020, 20:23:42
Aleksoid1978,
А кто может сравнит плавность вывода в 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, 20:52:45
Aleksoid1978,
Вот 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 от 15 Июнь 2020, 23:32:05
Спасибо за лог, как я и предполагал.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 16 Июнь 2020, 04:59:51
Aleksoid1978,
Вот 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, 09:58:10
Aleksoid1978,
Проверил по-быстрому несколько переходов на одном ТВ и на ТВ+монитор, работает корректно. Позже погоняю по-лучше. Будут проблемы, будет и лог.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 16 Июнь 2020, 10:29:00
Aleksoid1978,
Проверил по-быстрому несколько переходов на одном ТВ и на ТВ+монитор, работает корректно. Позже погоняю по-лучше. Будут проблемы, будет и лог.
Отлично!
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 16 Июнь 2020, 17:05:11
Aleksoid1978,
Aleksoid1978,
Проверил по-быстрому несколько переходов на одном ТВ и на ТВ+монитор, работает корректно. Позже погоняю по-лучше. Будут проблемы, будет и лог.
Отлично!
Прогнал этот тест-билд получше, и в принципе он работает. Проверил на нескольких способах перехода: естественный, клавиатура, и путём клика по невидимым кнопкам перехода, всё отлично. Пробовал ещё возможности таскбара Windows на двух-мониторной конфигурации, здесь были проблемы. Выглядело хаотично и бессистемно, то переходы осуществлялись корректно, то чёрный экран, даже раз FSE полностью пропало, опять появилось, словом - хаос, но без вылетов. Вот лог > https://yadi.sk/d/q5NdVsu5_V9akg на всякий случай.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 17 Июнь 2020, 06:37:09
Вот про таскбар я чето не понял - что делали, что происходило :)
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 17 Июнь 2020, 08:27:56
Была проблема что после FSE не закрывая плейер выбрать EVR CP и в нем попытаться перейти в FSE - самого окна FSE не было. У меня вроде как этой проблемы уже нет, просьба перепроверить.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 17 Июнь 2020, 09:44:23
Aleksoid1978,
Цитировать
Была проблема что после FSE не закрывая плейер выбрать EVR CP и в нем попытаться перейти в FSE - самого окна FSE не было. У меня вроде как этой проблемы уже нет, просьба перепроверить.
Перепроверил данную проблему. Ее больше нет. :)
P.S. Если вдруг что - отпишусь.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 17 Июнь 2020, 09:47:24
Aleksoid1978,
Была проблема что после FSE не закрывая плейер выбрать EVR CP и в нем попытаться перейти в FSE - самого окна FSE не было. У меня вроде как этой проблемы уже нет, просьба перепроверить.
На win8 нормально. По поводу  таскбара: запускаем плеер на основном мониторе, воспроизведение, отправляем в FSE на ТВ, на основном мониторе наводим курсор на иконку плеера в панели задач, всплывает окно с элементарной панелью инструментов. Вот ею я и делал переходы. Таким способом переходы не всегда получались корректными. Получались и полноценные FSE, и черный экран, было и полное отсутствие FSE, всё вперемешку, хаотично.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 17 Июнь 2020, 09:49:53
Aleksoid1978,
Цитировать
Была проблема что после FSE не закрывая плейер выбрать EVR CP и в нем попытаться перейти в FSE - самого окна FSE не было. У меня вроде как этой проблемы уже нет, просьба перепроверить.
И только я обрадовался, как...

Так  и знал, что не все так волшебно. Обычно проблема не исчезает сама собой.
Да, эта проблема ушла, но вместо нее возникла еще более неприятная проблема. Теперь плеер, в течении сессии, при переходе на следующий файл виснет и падает, при условии, что был полностью выполнен алгоритм, т.е. данная проблема и ее получение.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 17 Июнь 2020, 09:52:46
Я проверял FSE и обратно именно через кнопки на превью на таскбаре, было норм.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 17 Июнь 2020, 09:54:36
Падает при переходе на следующий файл в FSE режиме ? Ну попробуй поймать место падения в debug версии.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 17 Июнь 2020, 10:01:34
Evgeniy1990,
На восьмёрке нормально, но именно переход с MPC-VR FSE на EVR-CP FSE не всегда срабатывает. Так что проблема не ушла.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 17 Июнь 2020, 10:09:44
MPCfan,
Цитировать
,
На восьмёрке нормально, но именно переход с MPC-VR FSE на EVR-CP FSE не всегда срабатывает. Так что проблема не ушла.
Она видоизменилась. И ее поведение отличается от версий ОС. Пытаюсь поймать ее повторно у себя на семерке.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 17 Июнь 2020, 10:11:11
Ну у себя эту проблему уже не ловлю, а так было 100%
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 17 Июнь 2020, 10:12:46
Aleksoid1978,
Вот ее место падения: Direct3DShaderValidatorCreate9(). Странно, причем тут шейдеры вообще, я их даже не загружал.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 17 Июнь 2020, 10: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, 10:59:48
А, так значит падает при использовании EVR-CP + FSE, после использования MPC VR + FSE.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 17 Июнь 2020, 18: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, 19: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, 19:54:30
MPCfan,
Теперь я от себя добавлю еще один нюанс - если на EVR-CP запустить видео файл, перейти в режим FSE, затем нажать на кнопку в правом верхнем углу экрана FSE (левую кнопку), а затем заново включить воспроизведение видео файла, то он уже будет воспроизводиться некорректно в режиме FSE на EVR-CP. Подтверждаю!
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 17 Июнь 2020, 19:55:41
Evgeniy1990,
Я немного ошибся, нужно в плейлисте поставить галочку на " Скрывать на по полном экране". И тогда нажимать Ctrl+7. У меня именно так было.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 17 Июнь 2020, 20:12:27
MPCfan,
Цитировать
Evgeniy1990,
Я немного ошибся, нужно в плейлисте поставить галочку на " Скрывать на по полном экране". И тогда нажимать Ctrl+7. У меня именно так было.
Нестрашно. Это, наоборот, еще один нюанс, еще одно условие - опция "Скрывать на полном экране".
В этом случае, при данном условии, вообще не будет отображаться шкала прогресса (seekbar) и кнопки в режиме FSE в правом верхнем углу самого экрана FSE. Подтверждаю!
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 17 Июнь 2020, 20:25:19
Evgeniy1990,
Есть вопрос по настройкам "Полный экран". Там есть твик "Выход ..... по окончании воспроизведения" Просто интересно, включена ли эта опция или нет, с EVR-CP FSE плеер всегда выходит по окончании воспроизведения из FSE и вообще из FS, а c MPC-VR FSE плеер ведёт себя корректно согласно данной опции, как мне кажется. Или тут всё наоборот? 
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 17 Июнь 2020, 20: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, 20:46:34
Evgeniy1990,
Спасибо за ответ и за подтверждения. По поводу разной реализации: не есть ли эта разная реализации причина некорректного перехода c MPC-VR FSE на EVR-CP FSE в одной сессии, ведь если это делать с перезапуском плеера, то и проблемы нет.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 17 Июнь 2020, 20:50:34
MPCfan,
Цитировать
Evgeniy1990,
Спасибо за ответ и за подтверждения. По поводу разной реализации: не есть ли эта разная реализации причина некорректного перехода c MPC-VR FSE на EVR-CP FSE в одной сессии, ведь если это делать с перезапуском плеера, то и проблемы нет.
В том-то и дело, что из-за разной реализации режима FSE на двух разных видео-рендерерах EVR-CP и MPC VR и возникают различные конфликты в течении одной текущей сессии. Просто, после перезапуска, сбрасывается предыдущая рабочая конфигурация работы режима FSE, отсюда и проблем нет.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 17 Июнь 2020, 21:04:58
MPCfan,
Самое обидное, так этот то, что у нас также еще есть и Sync Renderer (EVR Sync), для которого также не были учтены данные расписанные, проверенные и подтвержденные нюансы (проблемы/недоработки). Если уж править проблемы для EVR-CP, то сразу же аналогично надо вносить корректировки и для EVR Sync, поскольку их код практически схожий.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 18 Июнь 2020, 00: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, 04:40:08
Aleksoid1978,
Цитировать
P.S. Вот пробуем - https://yadi.sk/d/LKWRjUjbEOLUHg. Когда будет использоваться MPC VR + FSE - сделал скрытие плейлиста(даже если не выставлена галка не его авто-скрытие) и запретил "отображение" различных панелей/котроллов.
Проверил тестовый билд. С опцией "Скрывать на по полном экране" плейлист, проблемы исправились. А вот без данной опции, пока, к сожалению, остались.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 18 Июнь 2020, 05:32:50
Aleksoid1978,
Цитировать
P.S. Вот пробуем - https://yadi.sk/d/LKWRjUjbEOLUHg. Когда будет использоваться MPC VR + FSE - сделал скрытие плейлиста(даже если не выставлена галка не его авто-скрытие) и запретил "отображение" различных панелей/котроллов.
Проверил тестовый билд. С опцией "Скрывать на по полном экране" плейлист, проблемы исправились. А вот без данной опции, пока, к сожалению, остались.

Осталось что именно - присутствует невидимый плейлист или только некорректно определяются координаты для отображения полосы прокрутки и FlyBar ?
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 18 Июнь 2020, 05:39:54
Aleksoid1978,
Цитировать
Осталось что именно - присутствует невидимый плейлист или только некорректно определяются координаты для отображения полосы прокрутки и FlyBar ?
Некорректно определяются координаты для отображения полосы прокрутки.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 18 Июнь 2020, 06:05:57
Обновил, ссылка та же.
Еще проверьте будут ли показываться меню по нажатию на правую кнопку меню(если можно проверить так же и с madVR FSE режиме).
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 18 Июнь 2020, 06:13:41
Aleksoid1978,
Цитировать
Обновил, ссылка та же.
Еще проверьте будут ли показываться меню по нажатию на правую кнопку меню(если можно проверить так же и с madVR FSE режиме).
При нажатии ПКМ, есть невидимое контекстное меню, потому что если кликнуть два раза ЛКМ в область, где располагается контекстное меню, невозможно выйти из режиме FSE (вернуться обратно в оконный режим).

Проверил madVR в режиме FSE. При нажатии ПКМ, отображается контекстное меню прямо в режиме FSE.
Хотя особенностью работы режима FSE в madVR является тот факт, что пока не будут убраны все лишние окна, сам режим FSE просто не запустится.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 18 Июнь 2020, 06:46:19
А что насчет плейлиста и всего такого :) ?
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 18 Июнь 2020, 07:37:02
Aleksoid1978,
Цитировать
А что насчет плейлиста и всего такого :) ?
В вашем втором обновленном тестовом билде координаты исправились. Теперь корректно отображается полоса прокрутки в режиме FSE совместно с курсором мышки, при его наведении на нее. Также теперь нормально отображаются две кнопки в правом верхнем углу экрана FSE, при взаимодействии с плейлистом. Больше они не пропадают.

Что касается madVR, то на нем плейлист будет отображаться всегда, пока мы его не закроем. Потому что, еще раз повторюсь, на madVR режим FSE работает только после закрытия всех лишних и дополнительных окон. Поэтому его постоянное отображение - это правильное поведение.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 18 Июнь 2020, 07: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, 08:01:55
Да я бы вообще выкинул этот Sync. Я его не трогал и трогать не собираюсь.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 18 Июнь 2020, 08:03:48
Aleksoid1978,
Цитировать
Да я бы вообще выкинул этот Sync. Я его не трогал и трогать не собираюсь.
Чем он вам не угодил? Чем он так плох? В некоторых местах, у него даже код схожий с EVR-CP.
Название: Re: MPC Video Renderer
Отправлено: Evgeniy1990 от 18 Июнь 2020, 08:09:33
Aleksoid1978,
Если уж EVR Sync присутствует в нашем проекте, значит и для него также, по логике вещей, необходимо вносить различные правки и корректировки. Иначе зачем он нам в "мертвом" виде? Тогда непонятно другое - зачем его тогда оставлять в проекте, если он заброшенный? Мы же все-таки грамотно развиваем проект, а непросто так - одно исправили, на другое забили.

Сразу вспомнился мертвый "MPC Audio Renderer" в проекте MPC-HC со словами "MPC Audio Renderer сломан. Не используйте его". :)
Я это сказал к тому, что или мы убираем функционал, который работает некорректно и больше нам не нужен, или же учитываем его, при развитии проекта, т.е. вносим и для него различные правки и корректировки, с учетом последних изменений.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 18 Июнь 2020, 08:39:44
А я давно ГОВОРЮ что надо избавиться от Sync, но v0lt зачем то его держит.

P.S. Все, не оффтопим.
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 18 Июнь 2020, 09:21:30
Aleksoid1978,
Evgeniy1990,
Не успел проверить первый тест как следует, а тут уже обновлённый. Есть нюанс. Нужно выключить "Exit fullscreen at the end of playback". Запустить файл, перейти в FSE, Ctrl+C, перезапустить файл и проверить корректность координат мыши с seekbar. Пока всё.
Название: Re: MPC Video Renderer
Отправлено: Aleksoid1978 от 18 Июнь 2020, 10:02:53
Проверил - все ок с координатами. Или надо чтобы плейлист был включен и находился внизу ?
Название: Re: MPC Video Renderer
Отправлено: MPCfan от 18 Июнь 2020, 14:25:59
Aleksoid1978,