2015-04-03 43 views
1

我在我的应用程序中使用DirectShow & FFmpeg呈现视频。 FFmpeg仅用于解码MPEG4/Part2帧(自定义解码器过滤器)。我的应用程序不播放音频(仅限视频)。FFmpeg在我的应用程序中禁用Window Desktop Manager

当我锁我的电脑(Win7的临64位)与Win + L,然后解开它的Windows带给我的以下信息:

颜色方案已更改

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

...应用程序的名称,出版商,PID ...

Windows会自动改变颜色方案回为Windows Aero,当该程序或执行类似的操作其他程序不再运行。

我有可能使用另一个开发不使用FFmpeg的自定义解码器过滤器,并使用它,Windows不会向我显示这样的消息。

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

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

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

+1

这个问题与FFmpeg无关(我希望),即使我“禁用”与FFmpeg相关的代码和库,也会出现问题。此问题与DirectShow过滤器图形中使用的视频呈现有关。我使用CLSID_VideoRenderer,但FFmpeg和CLSID_MixingVideoRender9/CLSID_EnhancedVideoRenderer没有出现问题。 – Sergey 2015-04-06 14:07:03

回答

2

该问题是由于在协商媒体类型时在bitmapinfoheader中提供负高度(自上而下位图)所致。 我在我的解码器中改变了高度为正值(自下而上的位图),Windows 7的配色方案不再受到影响。

相关问题