首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

陆其明老师的<dirctshow开发指南>有段内容看不懂,哪位帮看看解决方案

2014-04-18 
陆其明老师的有段内容看不懂,哪位帮看看第四章例子AppTransform中-- 文件ipfilter.cp

陆其明老师的<dirctshow开发指南>有段内容看不懂,哪位帮看看
第四章例子AppTransform   中--> 文件ipfilter.cpp中--> 函数BuildFromFile:
if   (mtIn.subtype   ==   MEDIASUBTYPE_Overlay)  
{
//   This   connection   may   be   a   overlay   mixer  
//   need   to   move   upstream   one   place
IBaseFilter*   pOvMix   =   NULL;
hr   =   NextUpstream(pVR,   &pOvMix);
pVR-> Release();
if   (FAILED(hr))  
{
return   hr;
}
pVR   =   pOvMix;
}
其中MEDIASUBTYPE_Overlay是什么东西啊?mtIn对应的帮助在什么地方呢,想看都不知道怎么看.哪位知道,摆脱了.快过年了,解决问题好过年.

[解决办法]
我没看过,不过看起来应该是一个常量,实际是个数值,如点击button时 是 MB_OK 还是 MB_CANCEL一样。在C++中,选中它,右键 “Go to Definition”,通常装了MSDN的都能查到。
[解决办法]
4. Filter Media type概述
Media type一般可以有两种表示:AM_MEDIA_TYPE和CMediaType。前者是一个Struct,后者是从这个Struct继承过来的类。
每个Media type有三部分组成:Major type、Subtype和Format type。这三个部分都使用GUID来唯一标示。Major type主要定性描述一种Media type,比如指定这是一个Video,或Audio或Stream等;Subtype进一步细化Media type,如果Video的话可以进一步指定是UYVY或YUY2或RGB24或RGB32等;Format type用一个Struct更进一步细化Media type。
如果Media type的三个部分都是指定了某个具体的GUID值,则称这个Media type是完全指定的;如果Media type的三个部分中有任何一个值是GUID_NULL,则称这个Media type 是不完全指定的。GUID_NULL具有通配符的作用。

常用的Major type:
MEDIATYPE_Video;
MEDIATYPE_Audio;
MEDIATYPE_AnalogVideo; // Analog capture
MEDIATYPE_AnalogAudio;
MEDIATYPE_Text;
MEDIATYPE_Midi;
MEDIATYPE_Stream;
MEDIATYPE_Interleaved; // DV camcorder
MEDIATYPE_MPEG1SystemStream;
MEDIATYPE_MPEG2_PACK;
MEDIATYPE_MPEG2_PES;
MEDIATYPE_DVD_ENCRYPTED_PACK;
MEDIATYPE_DVD_NAVIGATION;

常用的Subtype:
MEDIASUBTYPE_YUY2;
MEDIASUBTYPE_YVYU;
MEDIASUBTYPE_YUYV;
MEDIASUBTYPE_UYVY;
MEDIASUBTYPE_YVU9;
MEDIASUBTYPE_Y411;
MEDIASUBTYPE_RGB4;
MEDIASUBTYPE_RGB8;
MEDIASUBTYPE_RGB565;
MEDIASUBTYPE_RGB555;
MEDIASUBTYPE_RGB24;
MEDIASUBTYPE_RGB32;
MEDIASUBTYPE_ARGB32; // Contains alpha value
MEDIASUBTYPE_Overlay;
MEDIASUBTYPE_MPEG1Packet;
MEDIASUBTYPE_MPEG1Payload; // Video payload
MEDIASUBTYPE_MPEG1AudioPayload; // Audio payload
MEDIASUBTYPE_MPEG1System; // A/V payload
MEDIASUBTYPE_MPEG1VideoCD;
MEDIASUBTYPE_MPEG1Video;
MEDIASUBTYPE_MPEG1Audio;
MEDIASUBTYPE_Avi;
MEDIASUBTYPE_Asf;
MEDIASUBTYPE_QTMovie;
MEDIASUBTYPE_PCM;
MEDIASUBTYPE_WAVE;
MEDIASUBTYPE_dvsd; // DV
MEDIASUBTYPE_dvhd;
MEDIASUBTYPE_dvsl;
MEDIASUBTYPE_MPEG2_VIDEO;
MEDIASUBTYPE_MPEG2_PROGRAM;
MEDIASUBTYPE_MPEG2_TRANSPORT;
MEDIASUBTYPE_MPEG2_AUDIO;
MEDIASUBTYPE_DOLBY_AC3;
MEDIASUBTYPE_DVD_SUBPICTURE;
MEDIASUBTYPE_DVD_LPCM_AUDIO;
MEDIASUBTYPE_DVD_NAVIGATION_PCI;
MEDIASUBTYPE_DVD_NAVIGATION_DSI;
MEDIASUBTYPE_DVD_NAVIGATION_PROVIDER;

常用的Format type:
FORMAT_None
FORMAT_DvInfo DVINFO
FORMAT_MPEGVideo MPEG1VIDEOINFO
FORMAT_MPEG2Video MPEG2VIDEOINFO
FORMAT_VideoInfo VIDEOINFOHEADER
FORMAT_VideoInfo2 VIDEOINFOHEADER2
FORMAT_WaveFormatEx WAVEFORMATEX


参考网页:
http://blog.csdn.net/lanhai/archive/2006/04/25/677096.aspx

热点排行