Evgeniy_1990
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Aleksoid1978 Цитата: Ну раз такое дело: 1 - попробуй поиграться с опциями VMR9(Микшер и т.д.), сравни поведение с MPC-HC. 2 - подключить внешний декодер. 3 - не проверяй под WinXP. | Цитата: 1 - попробуй поиграться с опциями VMR9(Микшер и т.д.), сравни поведение с MPC-HC. | 1. Попробовал поиграться с различными опциями видео-рендерера: Микшер - не влияет Поверхность - не влияет Формат - не влияет Интерполяция - аналогично не влияет Реинициализация при смене монитора - не влияет Вывод: ни одна опция не влияет на переключение из окна в D3D и обратно из D3D в окно. P.S. В MPC-HC такой проблемы нет. Цитата: 2 - подключить внешний декодер. | 2. Подключил внешний "LAV Video Decoder" вместо встроенного "MPC Video Decoder" - проблема исчезла, т.е. при "LAV Video Decoder" такой проблемы нет. В общем, я понял в чем тут проблема - в нашем встроенном "MPC Video Decoder". Дело в том, что "LAV Video Decoder", в отличие от нашего видео декодера, не способен переключать выходные форматы "на лету", во время реконнекта. А наш встроенный видео декодер это умеет. Так вот, "трабла" возникает именно при переключении режимов окна и D3D, т.е. наш видео декодер думает, что мы якобы меняем выходной формат и делаем реконнект, но на самом деле происходит только переключение из окна в D3D и обратно из D3D в окно. Не случайно, во время переключения режимов происходит обрыв, т.к. наш видео декодер в это время еще и умудряется зачем-то переключать выходные форматы, причем делает это "рандомно" (выборочно). Я уже приводил пример: AVI - выходной формат NV12, после переключения обратно - уже RGB32. MOV (MJPEG) - выходной формат YUY2, после переключения обратно - уже Y416. Решения есть: 1. Как вариант, запретить нашему встроенному видео декодеру менять выходные форматы на лету, при реконнекте, во время процесса переключения двух режимов, т.е. окна и D3D. 2. Вообще запретить менять выходные форматы в текущей сесии, если используется "Полноэкранный D3D". |