财位放了柜机如何化解:博客聚合 - MSDK格式转化篇(五)从IMC2到NV12 : sokerspace.com

来源:百度文库 编辑:九乡新闻网 时间:2024/04/27 15:15:36

MSDK格式转化篇(五)从IMC2到NV12


作者: Yanqing Wang (Intel) |英特尔® 软件网络博客 - 中文
日期: 2010/8/2 17:05
点击: 7

IMC2是另外一种视频的流行格式,它相识于IMC1。本篇博客主要讨论如何它的格式如何,以及如何转成为NV12格式。


IMC2的格式如图1所示。



                                                                               图1 IMC2格式


参考图2所示:


                                                                               图2 IMC1格式


IMC1和IMC2的主要不同点是:

- IMC1的UV是按照Y的Stride对齐的,但是IMC2的UV是按照Y的Stride/2对齐的。

- IMC2的格式更加的紧密,对于空间利用率比较高。


NV12格式如图3所示:



                                                                               图3 NV12格式


对于IMC2转化为NV12,方法也比较简单,如下:

1. 拷贝Y数据

memcpy( NV12->Y, IMC1->Y, Height * Stride );

2. 拷贝UV数据

while ( 有数据 )

{

NV12->U[ index ] = IMC2->U[ index ];

NV12->V[ index ] = IMC2->V[ index ];

++ NV12->U;

++ NV12->V;

++ IMC2->U;

++ IMC2->V;

++ index

}


【小结】

- IMC2和YV12比较接近,这个有利于将IMC1、IMC2和YV12做成统一的转化函数。

- 相比与NV12格式,NV12更加流行,转化为NV12是非常有价值的。


<< MeeGo Bug Tracking系统简介我在google code上建了一个项目。 >>
URL:http://www.sokerspace.com/modules/planet/view.article.php/836
Trackback:http://www.sokerspace.com/modules/planet/trackback.php/836