2ndboy@释放3.0 » Blog Archive » FOURCC

  在 DirectShow 里面,各种 audio/video 的编码格式都可以用一个 GUID 来表示,比如 RGB24 的 GUID 是 MEDIASUBTYPE_RGB24(e436eb7d-524f-11ce-9f53-0020af0ba770)。但是在多媒体播放软件里(比如暴风影音),我们经常看到的是类似 AVC1、AAC2 这样的表示方法,这种用 4 个字符来表示的多媒体数据编码格式叫做 FourCC(Four-Character Codes)。

  FourCC 是一个 32 bits 的数值,基本上你可以把这个 32 bits 的值看作是 FourCC 里 4 个字符的 ASCII 码的组合,比如 YUY2 的 FourCC 是 0×32595559(Y=0×59, U=0×55, 2=0×32)。但并不是所有 FourCC 都符合这个规律,比如我上面举的 RGB24 就不是这样地:)

  FourCC 跟它对应的 GUID 之间是可以相互转换的,其实在 FourCC 后面加上 0000-0010-8000-00AA00389B71 就得到了它所对应的 GUID。比如 FourCC YUY2 所对应的 GUID MEDIASUBTYPE_YUY2 的值就是 {32595559-0000-0010-8000-00AA00389B71}。DirectShow 里面提供了一个工具类就是用来干这件事的:GUID g = (GUID)FOURCCMap( MAKEFOURCC(‘Y’,'U’,'Y’,'2′) );。

  FourCC 的分配是由 Microsoft 管理的,在可以找到一个已经注册的 FourCC 的列表,当然,不太全。

Leave a Reply

郑重声明:资讯 【2ndboy@释放3.0 » Blog Archive » FOURCC】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——