美文网首页iOS开发笔记oc开发OC音视频
教你看懂kCVPixelFormatType类型

教你看懂kCVPixelFormatType类型

作者: 偶是星爷 | 来源:发表于2017-03-31 21:57 被阅读1584次

    iOS系统定义了很多很多视频格式,让人眼花缭乱。不过一旦熟悉了它的命名规则,其实一眼就能看明白。

    kCVPixelFormatType_{长度|序列}{颜色空间}{Planar|BiPlanar}{VideoRange|FullRange}
    

    Planar: 平面;BiPlanar:双平面
    平面/双平面主要应用在yuv上。uv分开存储的为Planar,反之是BiPlanar。所以,kCVPixelFormatType_420YpCbCr8PlanarFullRange是420p,kCVPixelFormatType_420YpCbCr8BiPlanarFullRange是nv12.

    VideoRange和FullRange的区别在于数值的范围,FullRange比VideoRange大一些,颜色也更丰富一些。
    如果没有指定颜色范围,默认都是FullRange。但有一个除外:kCVPixelFormatType_420YpCbCr8Planar。因为有一个kCVPixelFormatType_420YpCbCr8PlanarFullRange定义,所以kCVPixelFormatType_420YpCbCr8Planar理论上应该是VideoRange (参考链接

    颜色空间对应的就是它在内存中的顺序。比如kCVPixelFormatType_32BGRA,内存中的顺序是 B G R A B G R A...。
    有一些特别的,比如kCVPixelFormatType_16BE555,这里需要用BE或LE指定字节顺序。

    有的颜色空间后面还带有一个数字,用于表示bit长度。

    以上都是经验方法,最准确的还是去看文档 :)。

    相关文章

      网友评论

      本文标题:教你看懂kCVPixelFormatType类型

      本文链接:https://www.haomeiwen.com/subject/lvzvottx.html