自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 【图形API】片段着色器自动计算LOD

,用于避免远距离或小物体上的纹理闪烁(Aliasing)。:当纹理被缩小时(如远处的地面),多个像素可能映射到同一个纹素(Texel),导致闪烁或锯齿(Moire 图案)。由于它们的屏幕空间占比不同,GPU 会自动计算不同的 LOD(Mipmap 级别),从而优化渲染效果和性能。,表示纹理被缩得越小(远距离/小物体),应使用更低分辨率的 Mipmap。,表示纹理被放大(近距离/大物体),应使用更高分辨率的 Mipmap。,一个离摄像机近(大立方体),一个离摄像机远(小立方体),并使用。

2025-04-02 09:52:26 701

原创 一个免费 好用的pdf在线处理工具

pdf24

2025-03-21 17:02:33 338

原创 【GPU驱动】快速拷贝 Blitter copy 显存块移动单元

1. 快速记录需求: 图像内存的拷贝为什么需要硬件块移动单元Blit:硬件块移动单元的功能优势。

2025-03-11 15:59:00 146

原创 【图形API】EGLimage 的一些相关概念

buffer参数就是图像源的资源,我们利用这个资源来创建一个EGLImage对象,同样的,由于我们只有一种图像源,那这个buffer 参数必须是一个非零的 OpenGL ES 2D 纹理对象的名称(即纹理 ID),并且需要将其强制转换为 EGLClientBuffer 类型,就像下面这样。此时,源纹理对象和目标纹理对象就是同一个 EGLImage 的兄弟对象。是基于 EGLImage 创建的 Client API 对象,例如 OpenGL ES 中的纹理对象或 OpenVG 中的图像对象。

2025-03-06 10:12:48 769

原创 嵌入式无法gdb时可以使用两个好用的宏来打印

/ 空操作,避免警告。// 空操作,避免警告。

2025-02-25 17:31:25 200

原创 BARs 的角色和它在 GPU 启动过程中的功能? BARs 怎么和 MMIO 联系起来?

在 MMIO 的机制下,设备的寄存器和内存看起来就像是普通的系统内存,CPU 可以使用标准的读/写内存指令来与设备进行交互,这简化了程序设计的难度和接口的复杂性。系统通过查询 GPU 的 PCI 配置空间中的 BARs 信息,了解 GPU 所需的内存地址空间大小和类型(如内存空间或 I/O 空间)。配置完成后,GPU 的 MMIO 地址空间就被确定下来,CPU 可以通过访问这些指定的地址来对 GPU 进行控制和数据传输,例如设置 GPU 的工作模式、控制寄存器、访问 GPU 的缓存等。

2025-02-21 10:52:21 333

原创 LINUX设备驱动程序阅读笔记【第九章】

本章主要讲解如何在保证可移植性的前提下访问I/O端口和I/O内存。

2025-02-17 16:59:45 990

原创 LINUX设备驱动程序阅读笔记【第六章】

本章要讲述了编写全功能字符设备驱动程序的几个概念。包括ioctl系统调用(用于设备控制的公共接口)、和用户空间保持同步的几种方法、驱动程序的设备访问策略。

2025-02-14 11:11:57 799

原创 LINUX设备驱动程序阅读笔记【第五章】

Linux的并发和管理

2025-02-12 16:44:25 734

原创 LINUX设备驱动程序阅读笔记【第四章】

由于内核是一个不与特定进程相关的功能集合,所以内核代码无法轻易放在调试器中执行,也很难跟踪。内核错误可能导致整个系统崩溃,破坏了用来跟踪他们的现场,所以也难以重现。本章将介绍Linux下监视内核代码并且跟踪错误的技术。由于调试功能会造成性能下降,所以通常发行商版本会禁止发行版内核中的这些功能。但是作为一名开发者,我们需要这些功能,所以建议读者构造并安装自己的内核。

2025-02-11 15:58:58 801

原创 LINUX设备驱动程序阅读笔记【第一二三章】

大多数编程问题实际上都可以分成两部分:“需要提供什么功能”(机制)和“如何使用这些功能”(策略)。如果这两个问题由程序的不同部分来处理,或者由不同的程序来处理,则软件包更容易开发和维护。例如 Unix中图形显示器的管理就分成 X服务器 以及 窗口和会话管理器 两部分。前者操作硬件,给用户程序提供统一接口;后者实现特定策略,而不用知道任何跟硬件有关的东西。在编写驱动程序时,程序员应该特别注意:编写访问硬件的内核代码时,不要给用户强加任何特定策略。驱动程序可以看成是应用程序和实际设备之间的一个软件层。

2025-02-10 17:24:28 991

原创 git ignore

git commit -m “更新 .gitignore 并移除被忽略的文件”

2024-12-26 16:47:15 124

原创 VSCODE ssh连接失败

如果报错“The remote host may not meet VS Code Server’s prerequisites for glibc and libstdc++”,可以直接删除远程服务器上的.vscode-server文件夹。今天vscode又连接不上了,之前都是kill一下就行,但是今天用moba连接了一下好像是服务器的host key变了,kill的方式不行。一般是进入计算机中的.ssh文件夹,找到knowhost文件,将出现问题的服务器那一行删除就行。2、有ssh秘钥,但是连接不上。

2024-09-14 09:11:06 2752 1

原创 程序员如何提升自己的技术能力?

工作两年半感觉自己的技术能力完全没有有效提升,进入了一家外企,一家国企,基本上技术都是靠自学,做的项目写出来的东西没有严格的review过程,没有一轮一轮的打磨,感觉写出来的东西好像shit。有网友能够留下程序员每天可以坚持做并且提升自己能力的事情吗?

2024-09-05 10:08:17 145

原创 OpenGL 模板缓冲区stencil到底如何使用?

在写模板缓冲OpenGL相关的API时,看了半天帖子都没有搞清楚模板缓冲区到底是什么时候写入值的。下面总结一下。

2024-08-23 19:14:42 492

原创 【GPU】一些资源、方法和问题记录

毕业后一直做和GPU的相关工作,期间换了一次工作,为了知识的延续性,开始在此更贴。涉及到的工作内容主要包括 video codec 和render模块。未来有机会也会学习并行计算模块。

2024-08-12 11:27:16 149

原创 【记录在WSL2中尝试编写一个简单的驱动遇到的问题】

在WSL下,如果你试图直接编译一个驱动,会出错,原因是WSL2的内核是修改过的,无法使用 ubuntu上游的内核头文件和modules文件,因此,我们需要手动编译并安装一个版本。但实际上我在makefile中用到的kernel版本和uname-r的实际版本是一致的。经过dump也确实一样,这个问题还没有解决。尝试在WSL2中编写一个简单驱动,但是遇到了很多问题,在此记录。可以看到上面显示无法正确insert模块。可以看到有什么版本不匹配了。文件夹内搜索 \wsl$

2024-07-26 11:19:48 671 2

原创 YUV View软件使用问题

用yuvview打开数据集时有时能自动调整格式有时不能现在发现yuvview是通过命名来识别格式的。规则命名像是Bubbles_4096x2160_30_10bit_444,代表yuv444 30帧率的数据

2021-11-24 14:03:39 1176

原创 2021-08-29 认识linux

面试时总被问起linux和多线程,所以在此记录我的linux学习之旅。linux杂谈认识linuxlinux之父:Linus Torvalds什么是GNULinux介绍Linux特点基本思想完全免费完全兼容POSIX1.0标准多用户、多任务良好的界面支持多种平台优点常用命令及技巧认识linuxlinux之父:Linus Torvalds【Linux历史:Linux内核设计与实现 Robert Love】1991年,Linus Torvalds为当时新推出的、使用Intel 80836的微处理器的计

2021-08-30 10:32:14 411

原创 unix的诞生

认识unixunix的特点unix诞生与1969年,由dennis ritchie 和ken thompson 提出。unix的特点简洁 ,unix仅提供几百个系统调用,并且设计目的明确。在unix中,大部分东西都被当作文件对待。这种抽象使得对数据和对设备的操作是通过一套相同的系统调用接口来进行的:open(),read(),write(),lseek(),close().unix的内核和相关的系统工具软件是用c编写的。这使得unix在各种硬件体系架构面前都具备令人惊异的移植能力,并且让广大的开

2021-08-29 21:57:59 470

原创 评价视频/图片质量的3个工具:PSNR,SSIM,VMAF和(MOS)

PSNR(Peak Signal Noise Rate),峰值信噪比peak的中文意思是顶点。而ratio的意思是比率或比列的。整个意思就是到达噪音比率的顶点信号,psnr一般是用于最大值信号和背景噪音之间的一个工程项目。通常在经过影像压缩之后,输出的影像都会在某种程度与原始影像不同。为了衡量经过处理后的影像品质,我们通常会参考PSNR值来衡量某个处理程序能否令人满意。它的单位是dB。 公式自行百度。优缺点:PSNR是最普遍,最广泛使用的评鉴画质的客观量测法,不过许多实验结果都显示,PSNR的分数无法和

2020-11-01 20:46:09 6978 2

原创 free报错和解决/fwrite的文件不能用fopen打开

free报错和解决/fwrite的文件不能用fopen打开解决这个问题花了很长时间,出现的报错是debug assertion…经过调试发现是free的问题。参考了一下https://blog.youkuaiyun.com/qq_25408423/article/details/80660407这位博主总结的方法,解决了问题。free1、问题1free了一个空指针,可以使用断点调试或者 printf("%x",p);我之前用的是pIn = (unsigned char *)malloc(dwSiz

2020-06-05 15:36:49 543

原创 FFMPEG安装及入门

ffmpeg介绍FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流(什么是流?)的开源计算机程序。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。FFmpeg在Linux平台下开发,但它同样也可以在其它操作系统环境中编译运行,包括Windows、Mac OS X等。项目组成功能介绍libavformat:用于各种音视频封装格式的生成和解析,包括

2020-06-03 15:35:11 571 2

原创 生成雷克子波、正弦函数、FM信号和噪声信号的和

生成雷克子波、正弦函数、FM信号和噪声信号的和#include<stdio.h>#include<math.h>#define PI 3.1415926void Shengcheng_leikezibo(float* W_ricker, float fm, float dt, float np)//25 0.002 256{ int i; float t; float *t_second; t_second= (float *).

2020-05-15 22:20:32 2427

978-7-115-58210-2_Optimized.pdf

978-7-115-58210-2_Optimized.pdf

2024-12-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除