FFmpeg在我的应用程序中禁用Window Desktop Manager

时间:2015-04-03 14:24:34

标签: c++ ffmpeg directshow aero

我使用DirectShow& amp; FFmpeg在我的应用程序中。 FFmpeg仅用于解码MPEG4 / Part2帧(自定义解码器滤波器)。我的应用不播放音频(仅限视频)。

当我使用Win + L锁定我的PC(Win7 Pro 64位)然后解锁时,Windows会给我带来以下消息:

  

配色方案已更改

     

以下程序执行了一项操作,要求Windows暂时将颜色方案更改为Windows 7 Basic。

     

... app name,publisher,pid ......

     

当此程序或执行类似操作的其他程序不再运行时,Windows会自动将配色方案更改回Windows Aero。

我有可能使用另一个自定义解码器过滤器,它是在没有FFmpeg的情况下开发的,并且使用它时,Windows不会向我显示此类消息。

我运行了Aero疑难解答程序,检测到桌面窗口管理器已被禁用。

我的主要问题:解锁后为什么会显示此消息?

P.S。我正在使用ffmpeg mpeg4解码器,从RGB24到YUV420p的sws_scale。 FFmpeg仅使用mpeg4解码器/编码器构建,其他一切都被禁用。

1 个答案:

答案 0 :(得分:2)

问题是由于在协商媒体类型时在bitmapinfoheader中提供负高度(自上而下的位图)引起的。 我在解码器中将高度改为正(自下而上的位图),不再触及Windows 7的配色方案。