探索YUVGray过滤器:实现视频处理与转换
1. 唯一标识符的生成
在创建任何DirectShow过滤器或要在整个操作系统中可用的COM对象时,必须为其类和接口ID赋予唯一标识符。可以使用 uuidgen.exe
实用程序或Visual Studio .NET工具菜单中的“Create GUID”命令来生成GUID。以下是生成YUVGray过滤器所需GUID的命令行:
uuidgen –s >guids.txt
此命令会生成一个GUID并将其放入 guids.txt
文件中,之后可将该GUID复制并粘贴到源代码文件中用于类ID定义。
YUVGray项目包含两个源文件: YUVGray.cpp
(C++源代码)和 YUVGray.def
(用于从编译代码创建动态链接库(DLL)的定义文件)。使用命令行程序 regsvr32.exe
将该DLL发布到操作系统后,它就可供所有DirectShow应用程序使用。
在 YUVGray.cpp
中定义过滤器的类ID如下:
// Define the filter's CLSID
// {A6512C9F-A47B-45ba-A054-0DB0D4BB87F7}
static const GUID CLSID_YuvGray =
{ 0xa6512c9f, 0