Linux: 全志H3图像codec使用笔记

文章介绍了图像编解码器的基本结构,重点讨论了全志H3平台上的sunxi-cedarx项目,尽管该项目缺少Decoder代码,作者补充了这部分并实现了ION内存分配器和ARMNEON指令优化的Decoder测试demo。然而,由于全志H3对图像尺寸的严格对齐要求,导致在实际应用中未能采用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 前言

限于作者能力水平,本文可能存在谬误,因此而给读者带来的损失,作者不做任何承诺。

2. 图像 codec 概述

图像编解码器(codec) 包含 EncoderDecoder 两部分功能。我们用下列分别说明 EncoderDecoder 的工作方式。

           ---------------
           |   ---------   |
输入数据 -->|->| Encoder |->|-> 编码后的输出数据
           |   ---------   |
           |               |
           |   ---------   |
           |  | Decoder |  |
           |   ---------   |
            ---------------

              ---------------
             |   ---------   |
             |  | Encoder |  |
             |   ---------   |
             |               |
             |   ---------   |
  输入数据 -->|->| Decoder |->|-> 解码后的输出数据
             |   ---------   |
              ---------------

3. 全志H3的图像编解码器

全志H3 平台开源了一个图像编解码器项目 sunxi-cedarx ,但该项目没有我们需要的 Decoder 相关代码,我补全了 Decoder 功能需要的相关代码 ,见 这里这里,其中包括:

. 用于 Decoder 的 ION 内存分配器代码:sunxi-cedarx/SOURCE/common/ve_alloc.*
. Decoder 测试 demo: sunxi-cedarx/demo/vdecoder/*

其中 Decoder 测试 demo 程序可以通过选项 --neon=1 启用 ARM NEON 指令优化,加速解码过程;同时,加上 ION 的加持,在我们项目实际应用场景中,速度上基本满足了要求,但全志 H3 图像解码器对图像尺寸有对齐要求,使得我们最后不得不放弃在项目中使用它。但不管怎样,学习的过程还是令人愉快的。
另外,想了解 ION 实现相关细节的童鞋请移步 BSP for FriendlyARM NanoPi H3,本篇基于该 Linux 3.4 内核进行测试,编译所需的内核头文件也从该内核代码提取。本篇不对 ION 展开讨论。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值