static inline void bs_write( bs_t *s, int i_count, uint32_t i_bits )详解




不往上贴了,就在源码里吧,common/bs.h

注意的是,第一次循环,只写当前字节剩余位,先把原数据左移,把空位留在右侧
然后把源数据右移,因为需要本次写的数据在左边,把需写的移到最右侧,然后和当前字节按位或,就完成了当前字节的写入。

这时要更新i_count
还有一些其它信息的记录

如果还有数据,进入下一次循环,做同样的操作,第二次循环,i_count与第一次是不一样的。

第一次是作为参数传递来的,第二次的i_count,已经不包括第一次写过的了。

static inline void bs_write( bs_t *s, int i_count, uint32_t i_bits )详解 - 加菲 - 视频会议 - 加菲

  static inline void bs_write( bs_t *s, int i_count, uint32_t i_bits )详解 - 加菲 - 视频会议 - 加菲
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值