2022年12月15日
摘要: 这是第一篇真正的OpenCL教程。这篇文章不会从GPU结构的技术概念和性能指标入手。我们将会从OpenCL的基础API开始,使用一个小的kernel作为例子来讲解基本的计算管理。 首先我们需要明白的是,OpenCL程序是分成两部分的:一部分是在设备上执行的(对于我们,是GPU),另一部分是在主机上运 阅读全文
posted @ 2022-12-15 13:50 feng..liu 阅读(545) 评论(0) 推荐(0) 编辑
  2022年12月6日
摘要: 一,背景介绍DCT,即离散余弦变换,常用图像压缩算法,步骤如下1)分割,首先将图像分割成8x8或16x16的小块;2)DCT变换,对每个小块进行DCT变换;3)舍弃高频系数(AC系数),保留低频信息(DC系数)。高频系数一般保存的是图像的边界、纹理信息,低频信息主要是保存的图像中平坦区域信息。4)图 阅读全文
posted @ 2022-12-06 14:30 feng..liu 阅读(2187) 评论(0) 推荐(0) 编辑
  2022年12月5日
摘要: #include <stdio.h>#include <math.h>#include <stdlib.h> void main() { FILE *fp = fopen("mydata.txt", "w"); fprintf(fp, "%-10.4f", 0); fclose(fp); retur 阅读全文
posted @ 2022-12-05 10:49 feng..liu 阅读(18) 评论(0) 推荐(0) 编辑
  2022年8月22日
摘要: 1.为什么要设计鱼眼镜头? 鱼眼镜头设计的目的是要拍摄大的视野,鱼眼镜头的视场角可达到180-270度,在工程上视角超过140度的镜头被统称为鱼眼镜头。这是因为普通针孔相机视野太小,满足不了一些特别的需求。 为什么针孔相机达不到这么大的视场角呢?因为针孔相机模型是相似性投影,实际场景中的直线仍被投影 阅读全文
posted @ 2022-08-22 16:37 feng..liu 阅读(1449) 评论(0) 推荐(0) 编辑
  2022年8月15日
摘要: 在移动平台上进行一些复杂算法的开发,一般需要用到指令集来进行加速。目前在移动上使用最多的是ARM芯片。 ARM是微处理器行业的一家知名企业,其芯片结构有:armv5、armv6、armv7和armv8系列。芯片类型有:arm7、arm9、arm11、cortex系列。指令集有:armv5、armv6 阅读全文
posted @ 2022-08-15 16:37 feng..liu 阅读(928) 评论(0) 推荐(0) 编辑
  2022年6月16日
摘要: NEON是arm实现的向量操作指令集,在AARCH64架构上可以实现128bit(16个8位数据)的并行计算。 从UYVY格式转换成NV12的示意图是这样的。 NEON实现的关键代码是这样的 下面的图解释了蓝色部分的指令流程 这个算法在8155上面测试,转换1280x720分辨率的图片使用大约2.2 阅读全文
posted @ 2022-06-16 21:33 feng..liu 阅读(531) 评论(0) 推荐(0) 编辑
  2022年4月28日
摘要: objdump命令是用查看目标文件或者可执行的目标文件的构成的gcc工具。 1. 准备代码hello.c 1 #include <linux/module.h> 2 #include <linux/init.h> 3 #include <linux/kernel.h> 4 5 MODULE_LICE 阅读全文
posted @ 2022-04-28 19:49 feng..liu 阅读(1232) 评论(0) 推荐(0) 编辑
  2022年4月22日
摘要: 查看cpu核心数 cpu一般有多个物理核心,但在运行进程和线程时候,可以将其绑定或者指定到某一个或者多个核心上运行。我们在系统上有两种方法可以查看cpu核心数。 1.cat /proc/cpuinfo查看cpu的核心数以及信息,这里以树莓派3B为例: processor : 0model name 阅读全文
posted @ 2022-04-22 16:07 feng..liu 阅读(723) 评论(0) 推荐(0) 编辑
  2022年4月13日
摘要: 1. neon intrinsics介绍 neon intrinsics 是官方提供的 neon内建函数,使开发者不再需要手动使用内嵌汇编也能够使用 neon指令 来优化程序。本来着重讲解此类内建函数的使用方法及简单的代码实例 本文也可用作neon内建函数的快速查找表 PS:本文默认读者们已经熟悉了 阅读全文
posted @ 2022-04-13 16:47 feng..liu 阅读(1961) 评论(0) 推荐(0) 编辑
摘要: 1. neon介绍 neon指令集是 arm 平台的 SIMD 指令集,也即单指令多数据指令集,如名字所说,一条只能可以同时处理多个数据,这里常常也使用另外一个名词来说 向量化编程。向量化编程在音视频处理领域中极为常见,随着人工智能深度学习等技术在嵌入式平台上的应用,neon指令集也可以被使用来优化 阅读全文
posted @ 2022-04-13 11:28 feng..liu 阅读(644) 评论(0) 推荐(0) 编辑