FFmpeg отключает Window Desktop Manager в моем приложении

Я рендеринг видео с помощью DirectShow & FFmpeg в моем приложении. FFmpeg используется только для декодирования кадров MPEG4 / Part2 (пользовательский фильтр декодера). Мое приложение не воспроизводит аудио (только видео).

Когда я блокирую свой компьютер (Win7 Pro 64bit) с помощью Win + L, а затем разблокирую его, Windows выдает мне следующее сообщение:

Цветовая схема была изменена

Следующая программа выполнила действие, требующее от Windows временного изменения цветовой схемы на Windows 7 Basic.

…название приложения, издатель, pid …

Windows автоматически изменит цветовую схему обратно на Windows Aero, если эта программа или другие программы, выполняющие аналогичные действия, больше не работают.

У меня есть возможность использовать другой пользовательский фильтр декодера, который был разработан без FFmpeg, и при его использовании Windows не показывает такие сообщения мне.

Я запустил средство устранения неполадок Aero, которое обнаружило, что Диспетчер окон рабочего стола отключен.

Мой главный вопрос: почему это сообщение появляется после разблокировки?

Постскриптум Я использую ffmpeg mpeg4 декодер, sws_scale от RGB24 до YUV420p. FFmpeg был собран только с декодером / кодировщиком mpeg4, все остальное было отключено.

1

Решение

Проблема была вызвана предоставлением отрицательная высота (сверху вниз) в bitmapinfoheader при согласовании типов мультимедиа.
Я изменил высоту, чтобы быть положительным (растровое изображение снизу вверх) в моем декодере, и цветовая схема Windows 7 больше не затрагивается.

2

Другие решения