Chinaunix首页 | 论坛 | 博客
  • 博客访问: 537127
  • 博文数量: 70
  • 博客积分: 3162
  • 博客等级: 中校
  • 技术积分: 850
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-23 13:30
文章分类
文章存档

2013年(1)

2012年(4)

2011年(1)

2010年(7)

2009年(9)

2008年(20)

2007年(3)

2006年(25)

分类: LINUX

2008-12-04 11:18:13

以前在解码indeo video的时候,用到了yvu9,这个比较少见,一般输出驱动都是yuv420或者yuv422,需要转化下:
#include
void yvu9_to_yuv422(uint8_t * yvu90,uint8_t *yvu91, uint8_t *yvu92, uint8_t * dest, int width, int height)
{
    unsigned int x, y;
    for (y = 0; y < height; ++y) {
  uint8_t *Y = yvu90 + y * width;
  uint8_t *Cb = yvu91 + (y >> 2) * (width >> 2);
  uint8_t *Cr = yvu92 + (y >> 2) * (width >> 2);
  for (x = 0; x < width; x += 4) {
      *(dest + 0) = Y[0];
      *(dest + 1) = Cb[0];
      *(dest + 2) = Y[1];
      *(dest + 3) = Cr[0];
      *(dest + 4) = Y[2];
      *(dest + 5) = Cb[0];
      *(dest + 6) = Y[3];
      *(dest + 7) = Cr[0];
      dest += 8;
      Y += 4;
      ++Cb;
      ++Cr;
  }
    }
}
 
 
阅读(879) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~