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

2023-11-11

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 展开讨论。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux:全志H3图像codec使用笔记 的相关文章

  • 安装J语言的JQt IDE,出现错误

    我一直按照这里的说明进行操作 http code jsoftware com wiki System Installation Linux http code jsoftware com wiki System Installation L
  • SSE:跨页边界的未对齐加载和存储

    我在页面边界旁边执行未对齐加载或存储之前读过某处 例如使用 mm loadu si128 mm storeu si128内在函数 代码应首先检查整个向量 在本例中为 16 个字节 是否属于同一页 如果不属于同一页 则切换到非向量指令 我知道
  • 在我的 index.php 中加载 CSS 和 JS 等资源时出现错误 403

    我使用的是 Linux Elementary OS 并在 opt 中安装了 lampp My CSS and JS won t load When I inspect my page through browser The console
  • 在脚本内使用不带密码的 sudo

    由于某种原因 我需要作为用户在没有 sudo 的情况下运行脚本 script sh 该脚本需要 root 权限才能工作 我认为将 sudo 放入 script sh 中是唯一的解决方案 让我们举个例子 script sh bin sh su
  • 删除 Git 存储库,但保留所有文件

    在我使用 Linux 的过程中的某个时刻 我决定将我的主目录中的所有内容都放入源代码管理中是个好主意 我不是在问这是否是一个好主意 我是在问如何撤销它 删除存储库的原因是我最近安装了 Oh My Zsh 而且我非常喜欢它 问题是我的主目录有
  • Linux - 从第二个选项卡获取文本

    假设我们有这样的文件 一些文本11 一些文本12 一些文本13 一些文本21 一些文本22 一些文本23 文本由制表符分隔 我们知道第 1 列中的一些文本 但希望从第 2 列中获取文本 我知道我可以通过以下方式获取线路 grep somet
  • 在两次之间每分钟执行一次 Cronjob

    我需要在 crontab 中每分钟运行一个 bash 脚本8 45am and 9 50am每天的 Code 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 8 home pull sh gt ho
  • 使用 Grep 查找两个短语之间的文本块(包括短语)

    是否可以使用 grep 来高亮所有以以下内容开头的文本 mutablePath CGPathCreateMutable 并以以下内容结尾 CGPathAddPath skinMutablePath NULL mutablePath 这两个短
  • 监视目录的更改

    很像一个类似的问题 https stackoverflow com questions 112276 directory modification monitoring 我正在尝试监视 Linux 机器上的目录以添加新文件 并希望在这些新文
  • 如何构建任务“gems:install”

    我正在将 Rails 应用程序部署到 Linux 服务器 并且缺少一些 rake 任务 包括 rake gems install 和 rake db 我正在运行来自 GEM 的 Rails 2 3 4 为什么是这样 我该如何解决 我可以以某
  • Urwid:使光标不可见

    我正在使用 urwid 它是一个用于在 ncurses 中设计终端用户界面的 Python 框架 但有一件事我在 urwid 中无法做到 而这在 Curses 中很容易做到 使光标不可见 现在 选择按钮时光标是可见的 而且看起来很丑 有办法
  • 如何查询X11显示分辨率?

    这似乎是一个简单的问题 但我找不到答案 如何查询 通过 X11 存在哪些监视器及其分辨率 查看显示宏 http tronche com gui x xlib display display macros html and 屏幕宏 http
  • 在 Mac OSX 上交叉编译 x86_64-unknown-linux-gnu 失败

    我尝试将我的 Rust 项目之一编译到 x86 64 unknown linux gnu 目标 cargo build target x86 64 unknown linux gnu Compiling deployer v0 1 0 fi
  • 在 C++ linux 中将 STRINGS 写入串口

    我知道这个问题遍布互联网 但仍然没有任何东西能让我完全解决这个问题 我想用 C linux 将数据写入 Propeller 板的串行端口 从控制台获取输入时程序运行良好 但是当我向它写入字符串时总是返回 ERROR Invalid comm
  • 捕获实时流量时如何开启纳秒精度?

    如何告诉 libpcap v1 6 2 将纳秒值存储在struct pcap pkthdr ts tv usec 而不是微秒值 捕获实时数据包时 Note This question is similar to How to enable
  • 如何允许应用程序声明“https”方案 URI? (即如何从 https URL 打开桌面应用程序?)

    目前我正在尝试为 OAuth 2 0 授权流程创建一个客户端 实际上是一个本机应用程序 并且在规范中就在这儿 https www rfc editor org rfc rfc8252 section 7 2据说有 3 种方法来处理重定向 U
  • 为什么C Clock()返回0

    我有这样的事情 clock t start end start clock something else end clock printf nClock cycles are d d n start end 我总是得到输出 时钟周期是 0
  • 使用 plistBuddy 获取值数组

    var keychain access groups declare a val usr libexec PlistBuddy c Print var sample plist echo val echo val 0 Ouput Array
  • 限制 Imagemagick 使用的空间和内存

    我在 Rails 应用程序上使用 Imagemagick 使用 rmagick 但我的服务器 Ubuntu 不是很大 当我启动转换进程时 Imagemagick 占据了我的服务器 30GB HDD 的所有位置 内存 我想限制内存和 tmp
  • 如何从 PROC 获取有关子进程的信息

    我正在尝试编写一个以几个进程作为参数的程序 然后父进程执行每个子进程并打印出一些相关的统计信息 示例 generate ls l 将生成一个程序 打印出有关 ls l 的一些统计信息 特别是其系统时间 用户时间和上下文切换次数 我不想使用

随机推荐

  • 正规式和正则表达式的异同

    正规式的定义及使用方法 转自正规式 设 是有穷字母表 并定义辅助字母表 都是 上的正规式 它们所表示的正规集为 任何a是一个正规式 若a 它所表示的正规集为 a 如果R1和R2是正规式 它们表示的正规集分别为L1和L2 则 R1 R2 R1
  • 滤波电容容值与所滤噪声频率的关系

    去耦电容的选择不存在与频率的精确对应关系 理论上越大越好 但现实中所有器件都不是理想器件 不论何种电容 ESL ESR都是必然存在的 于是实际电容的频响曲线明显呈非线性 仅在一定频率区间内基本符合纯电容的理论计算结果 超出一定界限后就与理论
  • Chaincode之间调用

    API InvokeChaincode 可以一个chaincode中调用另外一个chaincode中的函数 两个chaincode需要安装在相同的peer结点中 如果只需要查询被调链码的世界状态 可以在不同通道中进行 如果涉及更新操作 两个
  • QT中为生成的exe运行文件添加图标

    1 准备好ico图标文件名字为test ico 最好放在和 pro文件同一个文件夹中 2 创建一个叫icon rc的文件 里面写上文本信息IDI ICON1 ICON test ico 保存好 3 在pro文件中添加代码 RC FILE i
  • 09.Javascript设计模式之装饰器模式----Decorator

    09 Javascript设计模式之装饰器模式 Decorator 首先 我非常遗憾的要说一声 我花了两个小时整理的关于装饰器模式的笔记 因为一个不可预期的故障 ADoc文档上传到服务器后 文件损坏了 文件毫无备份 难道是我的笔记中包含法律
  • 数据结构--线性表详解(一)

    这里写链接内容1 前言 线性表是最常用且是最简单的一种数据结构 形如 A1 A2 A3 An这样含有有限的数据序列 我们就称之为线性表 2 线性表的两种表示形式 顺序表示 其实就是数组 链表表示 3 线性表一般操作的介绍 线性表一般包含如下
  • Swift语法学习--实用函数&关键词

    文章目录 abs min max swap filter map reduce Defer guard let 自定义运算符 abs min max swap filter map reduce Defer guard let 自定义运算符
  • 人脸识别系统具有哪些管理功能

    人脸识别系统是一个具有名单管理 资源管理 布控管理 任务管理的多功能系统 主要功能有 1 名单管理 对名单库及库内名单进行管理 支持用户新增 修改 删除名单库 也可以对库内名单进行新增 修改 删除等动作 2 资源管理 对布控点及布控点内的人
  • [学习flex] 1.利用flex实现文字和谐小程序

    灵感来自于09平台dota1 游戏选手对喷时经常互飙国粹 问候对方全家 后来09平台进行了聊天和谐 不和谐的文字都会被 替换 今天我就就用flex实现类似的效果 话不多说上flex代码 脏话 printf 国粹 printf printf
  • BF算法与KMP模式匹配算法(画图详解,C语言实现)

    KMP算法 1 BF算法 1 1BF算法定义 1 2BF算法举例 1 3BF算法代码实现 1 4BF算法性能分析 2 KMP算法 2 1KMP算法与BF算法的区别 2 2求KMP算法next数组 2 3KMP算法的过程举例 2 4KMP算法
  • attr 和 prop 的区别介绍

    attr 和 prop 的区别介绍 对于 HTML 元素本身就带有的固有属性 在处理时 使用 prop 方法 对于 HTML 元素我们自己自定义的 DOM 属性 在处理时 使用 attr 方法 实例 1 a href https www r
  • Cesium设置时间类

    场景时钟类 export default class SceneClock viewer multiplier constructor viewer this viewer viewer 设置场景时钟 param start 开始时间 pa
  • vue+cesium汉化包

    把这个js放进你的项目里面然后调用就可以 我这个是vue项目 然后运用的是es6的导出语法 cesium 可视化部分的中文汉化 包含内容如下 1 汉化方式非从源码层面进行 而是外挂了一个插件执行 使用方便 但是汉化程度不深 只汉化了cesi
  • Introducing Language Guidance in Prompt-based Continual Learning

    本文是LLM系列文章 针对 Introducing Language Guidance in Prompt based Continual Learning 的翻译 基于提示的持续学习中引入语言指导 摘要 1 引言 2 相关工作 3 背景
  • IDE 之 Eclipse安装

    目录 前言 一 Eclipse是什么 二 Eclipse优缺点 1 优点 2 缺点 三 安装Eclipse 1 官方下载Eclipse 2 安装Eclipse 3 运行eclipse 3 1 进入欢迎页面 前言 对于学习java的人来说 E
  • PTA(浙大版《C语言程序设计(第3版)》题目集)习题6-4 使用函数输出指定范围内的Fibonacci数 (20 分)

    PTA 浙大版 C语言程序设计 第3版 题目集 习题6 4 使用函数输出指定范围内的Fibonacci数 20 分 本题要求实现一个计算Fibonacci数的简单函数 并利用其实现另一个函数 输出两正整数m和n 0
  • [科普] 狭义相对论

    本文转载至 http www dlkp gov cn keputiandi universe article dispArticle Asp ID 58 第一章 狭义相对论 一 狭义相对论思想的根源 1 法拉第 麦克斯维将电磁学推向 场 的
  • 支付宝小程序框架分析

    支付宝小程序框架逆向分析 本文对支付宝小程序的正向开发做了简单介绍 并从正向开发的文件类型入手 对小程序的宿主框架进行了逆向分析 包括运行机制 通信模型以及安全防护体系等内容 代码开发 支付宝小程序开发在语法方面与传统的前端网页开发非常类似
  • Python——发送邮件

    一 smtplib模块 主要通过SMTP类与邮件系统进行交互 使用方法如下 1 实例化一个SMTP对象 s smtplib SMTP 邮件服务地址 端口号 s smtplib SMTP SSL 邮件服务地址 端口号 2 登陆邮件 权限验证
  • Linux:全志H3图像codec使用笔记

    1 前言 限于作者能力水平 本文可能存在谬误 因此而给读者带来的损失 作者不做任何承诺 2 图像 codec 概述 图像编解码器 codec 包含 Encoder 和 Decoder 两部分功能 我们用下列分别说明 Encoder 和 De