关闭

JM解码器阅读笔记之一

1473人阅读 评论(0) 收藏 举报

 今天看到宏块解码 macroblock.c中的

 int decode_one_macroblock(struct img_par *img,struct inp_par *inp)  其中比较重要的部分是最后的luma decoding 和chroma decoding即亮度块解码和色度块解码

 

其中亮度块解码比较关键的部分:

。。。。

 itrans   (img,ioff,joff,i,j);     

// use DCT transform and make 4x4 block m7 from prediction block mpr DCT反变换输出m7[16][16] 象素
。。。。

 

dec_picture->imgY[j4*BLOCK_SIZE+jj][i4*BLOCK_SIZE+ii]=img->m7[ii][jj];

// contruct picture from 4x4 blocks ,imgY是亮度分量   [j4,i4]是当前块的位置,每次通过m7赋值[4][4]大小的块

。。。。


色度解码关键部分:

if (!smb)
        {
          itrans(img,ioff,joff,2*uv+i,j);
          for(ii=0;ii<4;ii++)
            for(jj=0;jj<4;jj++)
            {
              dec_picture->imgUV[uv][j4+jj][i4+ii]=img->m7[ii][jj]; //dec_picture 的UV分量
            }
        }

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:80902次
    • 积分:855
    • 等级:
    • 排名:千里之外
    • 原创:12篇
    • 转载:11篇
    • 译文:0篇
    • 评论:12条
    文章分类
    最新评论