MPC Video Renderer - падение в начале воспроизведения DVD Video [исправлено]

Автор Evgeniy1990, 05 июля 2022, 06:28:33

« назад - далее »

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

Evgeniy1990

После запуска просмотра DVD VIdeo из главного меню, происходит падение.
Причем, падает именно MPC Video Renderer. Если поменять его на EVR-CP, то падения нет.

P.S. Падение в проектном файле "DXVA2VP.cpp", строка:
HRESULT hr = m_pDXVA2_VP->VideoProcessBlt(pRenderTarget, &m_BltParams, m_VideoSamples.Data(), m_VideoSamples.Size(), nullptr);
Stack Frame:
atiumd6a.dll!000000006f82ae32() Unknown
  atiumd6a.dll!000000006f8291ca() Unknown
  atiumd64.dll!000007fed9f0a457() Unknown
  d3d9.dll!000007fef4945d26() Unknown
  d3d9.dll!000007fef49580ab() Unknown
  dxva2.dll!000007fee32a1dd7() Unknown
> [Inline Frame] MpcVideoRenderer64.ax!CDXVA2VP::Process(IDirect3DSurface9 *) Line 491 C++
  MpcVideoRenderer64.ax!CDX9VideoProcessor::DxvaVPPass(IDirect3DSurface9 * pRenderTarget, const CRect & srcRect, const CRect & dstRect, const bool second) Line 2179 C++
  MpcVideoRenderer64.ax!CDX9VideoProcessor::Process(IDirect3DSurface9 * pRenderTarget, const CRect & srcRect, const CRect & dstRect, const bool second) Line 2404 C++
  MpcVideoRenderer64.ax!CDX9VideoProcessor::Render(int field) Line 1441 C++
  MpcVideoRenderer64.ax!CMpcVideoRenderer::Redraw() Line 1438 C++
  MpcVideoRenderer64.ax!CMpcVideoRenderer::SetBool(const char * field, bool value) Line 1332 C++
  mpc-be64.exe!DSObjects::CMPCVRAllocatorPresenter::Paint(bool __formal) Line 340 C++
  mpc-be64.exe!CSubPicAllocatorPresenterImpl::SetPosition(tagRECT w, tagRECT v) Line 187 C++
  mpc-be64.exe!DSObjects::CMPCVRAllocatorPresenter::SetPosition(tagRECT w, tagRECT v) Line 258 C++
  mpc-be64.exe!CMainFrame::MoveVideoWindow(bool bShowStats, bool bForcedSetVideoRect) Line 11317 C++
  mpc-be64.exe!CChildView::OnSize(unsigned int nType, int cx, int cy) Line 319 C++
  mpc-be64.exe!CWnd::OnWndMsg(unsigned int message, unsigned __int64 wParam, __int64 lParam, __int64 * pResult) Line 2698 C++
  mpc-be64.exe!CWnd::WindowProc(unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 2099 C++
  mpc-be64.exe!AfxCallWndProc(CWnd * pWnd, HWND__ * hWnd, unsigned int nMsg, unsigned __int64 wParam, __int64 lParam) Line 265 C++
  mpc-be64.exe!AfxWndProc(HWND__ * hWnd, unsigned int nMsg, unsigned __int64 wParam, __int64 lParam) Line 417 C++
  [External Code]
  mpc-be64.exe!CWnd::DefWindowProcW(unsigned int nMsg, unsigned __int64 wParam, __int64 lParam) Line 1107 C++
  mpc-be64.exe!CWnd::WindowProc(unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 2100 C++
  mpc-be64.exe!AfxCallWndProc(CWnd * pWnd, HWND__ * hWnd, unsigned int nMsg, unsigned __int64 wParam, __int64 lParam) Line 265 C++
  mpc-be64.exe!AfxWndProc(HWND__ * hWnd, unsigned int nMsg, unsigned __int64 wParam, __int64 lParam) Line 417 C++
  [External Code]
  mpc-be64.exe!CWnd::RepositionBars(unsigned int nIDFirst, unsigned int nIDLast, unsigned int nIDLeftOver, unsigned int nFlags, tagRECT * lpRectParam, const tagRECT * lpRectClient, int bStretch) Line 3273 C++
  mpc-be64.exe!CFrameWnd::RecalcLayout(int bNotify) Line 2185 C++
  mpc-be64.exe!CMainFrame::RecalcLayout(int bNotify) Line 1360 C++
  mpc-be64.exe!CFrameWnd::OnSize(unsigned int nType, int cx, int cy) Line 2236 C++
  mpc-be64.exe!CMainFrame::OnSize(unsigned int nType, int cx, int cy) Line 1991 C++
  mpc-be64.exe!CWnd::OnWndMsg(unsigned int message, unsigned __int64 wParam, __int64 lParam, __int64 * pResult) Line 2698 C++
  mpc-be64.exe!CWnd::WindowProc(unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 2099 C++
  mpc-be64.exe!CMainFrame::WindowProc(unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 19006 C++
  mpc-be64.exe!AfxCallWndProc(CWnd * pWnd, HWND__ * hWnd, unsigned int nMsg, unsigned __int64 wParam, __int64 lParam) Line 265 C++
  mpc-be64.exe!AfxWndProc(HWND__ * hWnd, unsigned int nMsg, unsigned __int64 wParam, __int64 lParam) Line 417 C++
  [External Code]
  MpcVideoRenderer64.ax!ParentWndProc(HWND__ * hWnd, unsigned int Msg, unsigned __int64 wParam, __int64 lParam) Line 122 C++
  [External Code]
  mpc-be64.exe!CWnd::DefWindowProcW(unsigned int nMsg, unsigned __int64 wParam, __int64 lParam) Line 1107 C++
  mpc-be64.exe!CWnd::WindowProc(unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 2100 C++
  mpc-be64.exe!CMainFrame::WindowProc(unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 19006 C++
  mpc-be64.exe!AfxCallWndProc(CWnd * pWnd, HWND__ * hWnd, unsigned int nMsg, unsigned __int64 wParam, __int64 lParam) Line 265 C++
  mpc-be64.exe!AfxWndProc(HWND__ * hWnd, unsigned int nMsg, unsigned __int64 wParam, __int64 lParam) Line 417 C++
  [External Code]
  MpcVideoRenderer64.ax!ParentWndProc(HWND__ * hWnd, unsigned int Msg, unsigned __int64 wParam, __int64 lParam) Line 122 C++
  [External Code]
  [Inline Frame] mpc-be64.exe!CWnd::MoveWindow(const tagRECT *) Line 73 C++
  mpc-be64.exe!CMainFrame::ZoomVideoWindow(bool snap, double scale) Line 11551 C++
  mpc-be64.exe!CMainFrame::OnGraphNotify(unsigned __int64 wParam, __int64 lParam) Line 3446 C++
  mpc-be64.exe!CWnd::OnWndMsg(unsigned int message, unsigned __int64 wParam, __int64 lParam, __int64 * pResult) Line 2698 C++
  mpc-be64.exe!CWnd::WindowProc(unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 2099 C++
  mpc-be64.exe!CMainFrame::WindowProc(unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 19006 C++
  mpc-be64.exe!AfxCallWndProc(CWnd * pWnd, HWND__ * hWnd, unsigned int nMsg, unsigned __int64 wParam, __int64 lParam) Line 265 C++
  mpc-be64.exe!AfxWndProc(HWND__ * hWnd, unsigned int nMsg, unsigned __int64 wParam, __int64 lParam) Line 417 C++
  [External Code]
  MpcVideoRenderer64.ax!ParentWndProc(HWND__ * hWnd, unsigned int Msg, unsigned __int64 wParam, __int64 lParam) Line 122 C++
  [External Code]
  mpc-be64.exe!AfxInternalPumpMessage() Line 183 C++
  mpc-be64.exe!CWinThread::Run() Line 629 C++
  mpc-be64.exe!AfxWinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * lpCmdLine, int nCmdShow) Line 61 C++
  [External Code]
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

Aleksoid1978

#1
1 - На любом DVD?
2 - Что значит "просмотра DVD VIdeo из главного меню" ?
3 - При использовании D3D11 есть падение ? Если включить шейдерный движок - есть падение ?

05 июля 2022, 09:00:14
Проверил на 5 разных DVD - все работает, пробовал с дефолтными настройками MPC VR и по всякому менял, DX9/11.
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

Evgeniy1990

Aleksoid1978
Цитата: Aleksoid1978 от 05 июля 2022, 06:32:561 - На любом DVD?
На любом DVD, при запуске сцены из меню. Падает даже на тех DVD, где происходит смена аспекта.
Цитата: Aleksoid1978 от 05 июля 2022, 06:32:562 - Что значит "просмотра DVD VIdeo из главного меню" ?
Запуск основного видео из меню.
Цитата: Aleksoid1978 от 05 июля 2022, 06:32:563 - При использовании D3D11 есть падение ? Если включить шейдерный движок - есть падение ?
Я проверяю на Windows 7, поэтому только DX9. На шейдерном видеопроцессоре вместо падения просто зеленый экран. Класс!!! Еще хлеще! Т.е. на месте, где должно быть падение - тупо зеленый экран.

Ладно, буду искать проблемное изменение. Потому что и "ежу" понятно, что это поломка, после очередного хитрого изменения от V0lt'a. А он любит лезть в эти шейдеры и прочее.
Цитата: Aleksoid1978 от 05 июля 2022, 06:32:56Проверил на 5 разных DVD - все работает, пробовал с дефолтными настройками MPC VR и по всякому менял, DX9/11.
Да у вас всегда все в идеале.

Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

V0lt

#3
Цитата: Evgeniy1990 от 05 июля 2022, 17:07:09Да у вас всегда все в идеале.
Напиши свою конфигурацию.
Система, CPU, GPU, количество памяти, версия плеера, версия рендерера, список фильтров.

05 июля 2022, 18:11:37
Проверь на другой машине (у тебя их вроде несколько).

05 июля 2022, 19:12:18
Еще можно использовать отладочный билд (Debug), лог которого можно глянуть в DebugView.

Evgeniy1990

#4
V0lt
Цитата: V0lt от 05 июля 2022, 18:06:58Напиши свою конфигурацию.
Система, CPU, GPU, количество памяти, версия плеера, версия рендерера, список фильтров.
О как! Ладно напишу, только не надо мне бред про процессор в очередной раз нести, или про видеокарту, которая не умеет работать с DVD.

Система: Windows 7, x64.
Процессор (CPU): Intel Xeon L5420.
Видеокарта (GPU): ATI Radeon HD 4670.
Память: 4 ГБ Dual Channel Enhanced Mode
Версия плеера: 1.6.3.81
Версия видео-рендерера: 0.6.0.1917
Цитата: V0lt от 05 июля 2022, 18:06:58Проверь на другой машине (у тебя их вроде несколько).
Проверил на "P4 Titan". Как ни странно, но на ней падения нет, несмотря на тот факт, что железо там более раннее. Т.е. видеокарта тоже ATI, только Radeon HD 2600 with Rialto. Что касается шейдерного видеопроцессора, то на нем также присутствует зеленый экран.

По поводу машин с различными NVIDIA. Тут и вовсе "хрень" творится странная.
Выглядит примерно так: изображение появилось, вытянулось (применился аспект), после - исчезло, далее - черный экран, спустя некоторое время - нормальные кадры изображения. В обшем, - "чудеса". Точно скажу, что раньше такого не было. От драйверов тут точно не зависит, ибо они все разных версий и столько совпадений явно быть не может. Да и встроенный MPC DVD Video Decoder всегда работает в софте. Поддержки DXVA2 у него нет и никогда не было. Тут проблема явно на стороне MPC Video Renderer.

05 июля 2022, 23:40:13
V0lt
Сделал лог.

06 июля 2022, 06:34:13
Aleksoid1978
V0lt
Выяснил. Оказывается, есть доп. условие, при котором и проявляется данное падение.
Это - масштабирование = 100%. Опция "Масштабировать по видео = 100%".
Но это еще не все. Также и обязательным является и сам размер окна. Если, при данной опции, оно развернуто на полный экран, или во весь экран, то падения нет. Если же размер, при данной опции, по умолчанию, то падение есть. В общем, для начала, предлагаю вам скачать эти DVD-Video. По сути это одно и тоже DVD, разница только в формате: DVD5/DVD9. И уже проверять на нем. Вот теперь-то до меня дошло, почему у Aleksoid'a все всегда работает идеально - он просто не пользуется автомасштабированием. А у V0lt'a просто "особые" (свои) настройки для основного окна плеера, при которых падение также не проявляется.
Неудивительно, что я не замечал его раньше, потому что после запуска просмотра, я разворачивал окно плеера на полный экран и естественно, при данном условии, оно просто не проявляется. Получается, что да, это поломка, которая идет со времен, когда у V0lt'a "улетало окно в разные стороны (углы экрана монитора)", после чего он внес глобальные изменения и естественно они не могли пройти без неприятных последствий. Вы просто поймите, при каких условиях оно проявляется:

1. DVD-Video с автоизменением аспекта, поскольку оно анаморфное.
2. Условие (опция) автомасштабирования = 100%.
3. Окно плеера, при автомасштабе, должно быть строго по умолчанию.

А дальше уже, в зависимости от видеокарт, возникают те, или иные дополнительные проблемы, например зеленый экран для ATI/AMD, черный экран для NVIDIA, если мы затрагиваем шейдерный видеопроцессор, при тех же условиях. Ну и прочие косяки с ними связанные, в зависимости от различных условий.

P.S. В общем поломалась подстройка окна плеера, при изменении аспекта видео, при условии автомасштабирования, равного 100%. Вот только это, как ни странно, проявляется только на MPC Video Renderer.
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

V0lt


MPCfan

#6
Цитата: V0lt от 06 июля 2022, 18:28:39Вроде исправил в 0.6.0.1920 (3e5ebfa).
У меня падений не было, но зелень никуда не ушла при изменении AR > https://disk.yandex.ru/i/ryjJegpCC0DIaw

Evgeniy1990

#7
V0lt
Цитата: V0lt от 06 июля 2022, 18:28:39Вроде исправил в 0.6.0.1920 (3e5ebfa).
Собрал и проверил билд 1921. Вот теперь падение полностью устранено. Основная проблема исправлена! :)

MPCfan
Цитата: MPCfan от 06 июля 2022, 19:00:24У меня падений не было, но зелень никуда не ушла при изменении AR > https://disk.yandex.ru/i/ryjJegpCC0DIaw
К сожалению, зелень - это "раковая опухоль" всех видеокарт от ATI и в дальнейшем от AMD, причем всех поколений, от самых древних, до самых новых.

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

06 июля 2022, 19:49:27
MPCfan
Я тут проверил один способ и скажу так, лучше бы я его не проверял, иначе ни один обычный видео файл потом не начнет воспроизводиться. Это что касается "устранения" зелени. Очень рискованно и небезопасно.
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

V0lt

Цитата: MPCfan от 06 июля 2022, 19:00:24У меня падений не было, но зелень никуда не ушла при изменении AR
Цели исправлять однокадровую зелень у меня не было. Это не связанно с описанным багом.

Evgeniy1990

V0lt
Цитата: V0lt от 06 июля 2022, 20:47:44Цели исправлять однокадровую зелень у меня не было. Это не связанно с описанным багом.
Но учитывая тот факт, что зелень проявлялась и до сих пор проявляется именно на шейдерном видеопроцессоре, как раз на месте падения, то можно было бы попытаться ее исправить (устранить).

Да, согласен, что основная проблема была - это падение, но это только на DXVA2VP.
А на Shaders VP - это зелень, или же зеленый экран.

По сути, обе проблемы схожи, только на одном видеопроцессоре - это падение, а на другом - зеленый экран на месте пустого, или пустых кадров.
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

Aleksoid1978

#10
Зелень на экране происходит - когда мы выводим "пустую" текстуру, т.е. в ней еще нет данных.
Но это очень не просто отлавливать/отлаживать, поэтому скажу так - получится исправим, нет - тоже ничего страшного.

07 июля 2022, 04:49:57
Вот пробуем "про зелень" - https://disk.yandex.ru/d/FAMzK-cnpVgEFQ
Мне, к примеру, помогла в случае когда на паузе переключать опцию вывода HDR(при это происходило включение/отключение HDR режима в системе и пересоздание всего в MPC VR).
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215

Evgeniy1990

Aleksoid1978
Цитата: Aleksoid1978 от 07 июля 2022, 04:19:57Вот пробуем "про зелень" - https://disk.yandex.ru/d/FAMzK-cnpVgEFQ
Мне, к примеру, помогла в случае когда на паузе переключать опцию вывода HDR(при это происходило включение/отключение HDR режима в системе и пересоздание всего в MPC VR).
Проверил ваш тестовый билд. Больше нет "зелени", при смене аспекта видео. Великолепно! Дополнительная проблема на шейдерном видеопроцессоре полностью устранена. Мне также помог ваш тестовый билд. :)
Motherboards: ASUS P5Q/GIGABYTE EP35C-DS3R, CPU: Core 2 Duo E8300/E8400, Memory: DDR2/DDR3, Video: MSI GTX 465/ASUS EAH5770/GTX 650 Ti, Audio: ASUS Xonar DG 5.1/Creative SB 5.1. VX/X-Fi Xtreme Gamer.

Aleksoid1978

Цитата: Evgeniy1990 от 07 июля 2022, 06:13:43Aleksoid1978
Цитата: Aleksoid1978 от 07 июля 2022, 04:19:57Вот пробуем "про зелень" - https://disk.yandex.ru/d/FAMzK-cnpVgEFQ
Мне, к примеру, помогла в случае когда на паузе переключать опцию вывода HDR(при это происходило включение/отключение HDR режима в системе и пересоздание всего в MPC VR).
Проверил ваш тестовый билд. Больше нет "зелени", при смене аспекта видео. Великолепно! Дополнительная проблема на шейдерном видеопроцессоре полностью устранена. Мне также помог ваш тестовый билд. :)
Ну и отлично.
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215


Aleksoid1978

Цитата: MPCfan от 07 июля 2022, 07:16:21
Цитата: Aleksoid1978 от 07 июля 2022, 04:19:57Вот пробуем "про зелень" - https://disk.yandex.ru/d/FAMzK-cnpVgEFQ
Получилось.

В смысле исправилось или у тебя получилось все равно "зелень" получить ?
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /AMD Radeon R9 16Gb@3200 /Kingston 500Gb M.2 /GTX 1650 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215