Я рендеринг видео с помощью 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, все остальное было отключено.
Проблема была вызвана предоставлением отрицательная высота (сверху вниз) в bitmapinfoheader при согласовании типов мультимедиа.
Я изменил высоту, чтобы быть положительным (растровое изображение снизу вверх) в моем декодере, и цветовая схема Windows 7 больше не затрагивается.