首页
社区
课程
招聘
[分享]今日学习的RGB10转32位RGB
发表于: 2015-1-6 20:24 3878

[分享]今日学习的RGB10转32位RGB

2015-1-6 20:24
3878
BYTE  pbyRtab[256][256]={0};
BYTE  pbyGtab[256][256]={0};
BYTE  pbyBtab[256][256]={0};

//已经默认右移2未降质
void InitialTab()
{
    for( int i=0;i<256;i++ )
        for( int j=0;j<256;j++ )
        {
            //i为高位 j为低位
            pbyRtab[i][j] = (j & 0x3F)>>2) | ((i & 0x03)<<6) ;   //低位高6位 高位低2位
            pbyGtab[i][j] = (j & 0xF0)>>4) | ((i & 0x0F)<<4) ;   //低位高4位 高位低4位
            pbyBtab[i][j] = (j & 0xC0)>>6) | ((i & 0x3F)<<2) ;   //低位高2位 高位低6位
        }
}

void ConvertRGB10( DWORD * pDwSrc, BYTE * pbyDst, int nW, int nH )
{
    //小端模式,pDwSrc存放数据
    BYTE * pbySrc = (BYTE *)pDwSrc;
    for( int i=0;i<nH;i++ )
        for( int j=0;j<nW;j++ )
        {
            pbyDst[i*nW*3+j + 0] = pbyRtab[pbySrc[1]][pbySrc[0]];
            pbyDst[i*nW*3+j + 1] = pbyRtab[pbySrc[2]][pbySrc[1]];
            pbyDst[i*nW*3+j + 2] = pbyRtab[pbySrc[3]][pbySrc[2]];
        }
}

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//