这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 物联网技术 » [求助]算术编码中的一个问题

共2条 1/1 1 跳转至

[求助]算术编码中的一个问题

菜鸟
2007-07-28 02:30:33     打赏

在算术编码的文件biariencode.c中,以下put_byte() ,put_one_bit(b),put_one_bit_plus_outstanding(b)分别是做什麽用的始终不太清楚,麻烦高人指点一下,谢谢!
************************************************************************
* Macro for writing bytes of code
***********************************************************************
*/

#define put_byte() { \
Ecodestrm[(*Ecodestrm_len)++] = Ebuffer; \
Ebits_to_go = 8; \
while (eep->C > 7) { \
eep->C-=8; \
eep->E++; \
} \
}

#define put_one_bit(b) { \
Ebuffer <<= 1; Ebuffer |= (b); \
if (--Ebits_to_go == 0) \
put_byte(); \
}

#define put_one_bit_plus_outstanding(b) { \
put_one_bit(b); \
while (Ebits_to_follow > 0) \
{ \
Ebits_to_follow--; \
put_one_bit(!(b)); \
} \
}




关键词: 求助     算术     编码     中的     一个     问题    

助工
2007-08-01 21:50:04     打赏
2楼
这是定义的头文件,分别实现输出字节,输出位,输出相乘上一输出的位

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]