常规注册表项
必须为解码器和编码器单独创建以下注册表项:
HKEY_CLASSES_ROOT
CLSID
{Your Encoder/Decoder CLSID}
Author = Author's Name
Description = Your Codec Description
DeviceManufacturer = Manufacturer's Name
DeviceModels = Device,Device
FriendlyName = Codec Friendly Name
Date = mm-dd-yyyy
Vendor = {GUID_Vendor}
ContainerFormat = {GUID_ContainerFormat}
Version = Major.Minor.Build.Number
SpecVersion = Major.Minor.Build.Number
MimeTypes = Your Mime Type
SupportAnimation = 0|1
SupportChromakey = 0|1
SupportLossless = 0|1
SupportMultiframe = 0|1
Formats
{Supported PixelFormat GUID 1}
{Supported PixelFormat GUID ...}
{Supported PixelFormat GUID N}
ArbitrationPriority = 0-10
FriendlyName、VendorGUID、ContainerFormat、MimeTypes、FileExtensions 和 Formats 条目是必需的。 所有其他选项都是可选的。
请注意,DeviceManufacturer 和 DeviceModels 条目特定于原始编解码器,并引用编解码器适用的相机制造商和相机型号。 规范版本是编解码器所遵循的映像格式规范的版本。 格式项指定编解码器支持的像素格式。 编解码器可能支持多个像素格式。 在这种情况下,将在 HKEY_CLASSES_ROOT\CLSID\{Encoder/Decoder CLSID}\Formats 下输入多个键。
ArbitrationPriority
从Windows 8开始,ArbitrationPriority 是一个新的注册表项。 有效值为 0 到 10。 如果存在 ArbitrationPriority 键,则此键的值将指示 WIC 将关联的编解码器优先于具有较低 ArbitrationPriority 值的任何其他编解码器。 此评估在现有 WIC 编解码器仲裁发生之前进行,并确保关联的编解码器优先于任何竞争编解码器,即使它具有或更强大的功能。 注册表中未定义显式 ArbitrationPriority 值的任何编解码器都将默认为 Priority 0。
相关主题