JPEG驱动(二)

JPEG驱动,说实话,整体结构比较简单。也只是在probe()里做下初始化,然后创建一个video设备,上层通过s_fmt和ioctl等方法设好参数。最好上层调用stream_on 下层就开始编码或解码了。

具体的代码就不讲了,我们主要看一下JPEG的整个硬件结构和哪些需要我们实现代码的(我说的JPEG驱动是指硬件实现的JPEG)。下面我只是举个例子。


上面是硬件jpeg编解码的过程



这是整个JPEG的硬件结构,寄存器是通过APB总结来设置的,而JPEG数据流是通过AXI总线传输的,分为读跟写。也就是说,JPEG的图像数据都存储在内存中,编解码时从内存中读取,编解码完了之后又会把数据写回内存,从上面两个图我们可以看到数据流的方向。其中有两个memory是需要我们设置的,一个是huffman table,即哈夫曼表;另一个是quant table,即量化表。这两个表都需要我们把具体的数值写下去。其中huffman table和quant table也是分Y和UV的。也就是DC和AC的表是不同的。

下面看编解码的过程。

编码流程:


解码流程:



  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值