自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 查看 .so 库(共享对象库)的依赖

如果你是在使用基于 RPM 的发行版(如 Red Hat, CentOS, Fedora 等),可以使用 rpm 命令来查找 .so 文件属于哪个 RPM 包。readelf 命令可以读取 ELF 格式的文件信息,包括 .so 文件。objdump 命令也可以用来查看 .so 文件的依赖库。通过上述方法,你可以轻松地查看 .so 文件的依赖库,并且找到它们在系统上的位置。在 Linux 中查看 .so 库(共享对象库)的依赖,可以使用几个不同的命令。输出将会显示 .so 文件所属的 RPM 包名称。

2024-09-30 17:50:19 1798

原创 undefined reference to `dladdr@GLIBC_2.34` 和 `std::__exception_ptr::exception_ptr::_M_rel

在/etc/apt/sources.list文件末尾增加:deb http://mirrors.aliyun.com/ubuntu/ jammy main。运行 strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep CXXABI。安装完后运行,sudo apt --fix-broken install。然后ldd --version再查看下版本是否升级好了。ldd --version 查看GLIBC的版本。上面只是安装了C库,C++库没有更新,

2024-09-29 15:32:46 660

原创 ls 命令出现段错误(Segmentation Fault)

通过以上步骤,你可以逐步排查 ls 命令出现段错误的原因。关键在于生成并分析核心转储文件,使用 gdb 和 strace 等工具来深入了解问题发生的上下文。同时,检查系统日志和使用内存检测工具也能提供额外的帮助。

2024-09-26 09:06:56 965

原创 dlopen函数的执行过程

其中:filename:要加载的共享库文件的路径。flag:指定打开共享库的方式,常见的标志位有 RTLD_LAZY 和 RTLD_NOW。dlopen 函数的具体操作打开文件dlopen 首先会打开指定的共享库文件,并检查其格式是否为有效的 ELF 文件。如果文件不是有效的 ELF 文件,则返回 NULL 并设置 dlerror。映射到内存将共享库文件映射到进程的虚拟地址空间中。这通常通过 mmap 系统调用完成。映射完成后,共享库中的代码和数据段会被加载到内存中。重定位。

2024-09-25 14:29:20 658

原创 Utgard风格的平铺和Arm FrameBuffer Compression(AFBC)

Utgard风格的平铺和Arm FrameBuffer Compression(AFBC)是两种不同的纹理和帧缓冲区压缩技术,它们在性能上有显著差异。

2024-09-19 16:16:07 1535

原创 解析查看elf文件的构成

x86下用clang编译一段c代码,编译成elf文件,读elf文件,dump出里面的所有段,并打印出段中的数据和含义以及汇编的内容。

2024-09-05 12:00:00 472

原创 片上存储、DDR、Shared Memory以及DRAM的区别

片上存储(On-chip Memory)、DDR(Double Data Rate SDRAM)、Shared Memory(共享内存)以及DRAM(Dynamic Random Access Memory)都是计算机系统中用于存储数据的机制,但它们各自有不同的特性和用途。

2024-09-04 19:12:57 1251

原创 IR的表示形式分类

AST是一种表示源代码结构的树形结构,其中每个节点代表一个语法元素,例如表达式、语句或函数。AST是许多编译器的前端的一部分,用于解析和检查源代码。

2024-09-03 13:28:34 425

原创 程序运行过程

操作系统在加载可执行程序时,会将程序的各个段映射到内存中,并为程序分配必要的内存资源。堆和栈的大小在程序启动时由操作系统预先分配,堆的大小可以动态增长,而栈的大小可以通过编译器选项或环境变量来调整。动态链接器(Dynamic Linker)负责将程序所需的动态库加载到内存中,并更新相应的符号引用。加载器负责将程序的各个部分从磁盘加载到内存中,并设置好相应的内存布局。编译好的程序在运行时涉及多个步骤,包括加载、链接、初始化和执行。加载器负责将程序的各个部分从磁盘加载到内存中,并设置好相应的内存布局。

2024-09-02 12:50:13 688

原创 glsl中使用自定义的struct

opengl的glsl spec说可以使用自定义的struct,这里做下测试,验证下,整体来说,这个struct对uniform单独使用没有什么作用,是给shader程序中数据整理用的。glGetUniform的时候和数组一样,name要指定到最基本的类型中,unform没有给自定义的类型设置值的,这个要在高版本中用uniform block。和C中不一样,glsl的语法中的是不需要typedef,struct定义完了直接就是类型。

2024-08-28 10:19:59 255

原创 AEC10 SA计算整理 --- ADRCCapSA & AuxRoleFrameSA & AFBrktFrameSA

在计算 TriggerCtrlADRCCap 时,需要综合考虑多个限制条件,包括闪烁检测、曝光次数限制等。优化后的公式如下:触发控制自动动态范围压缩(ADRC)的能力值计算TriggerCtrlADRCCap, # 初始或预设值ADRCFlickerCap, # 基于闪烁检测的限制ADRCExposureCountCap # 基于曝光次数的限制如果人脸检测置信度极低,则可能使用不同的计算方式(但原公式似乎有误,未明确展示不同计算)

2024-07-30 10:38:25 974

原创 AEC10 SA计算整理 --- ADRCCapSA & AuxRoleFrameSA & AFBrktFrameSA

在计算 TriggerCtrlADRCCap 时,需要综合考虑多个限制条件,包括闪烁检测、曝光次数限制等。优化后的公式如下:触发控制自动动态范围压缩(ADRC)的能力值计算TriggerCtrlADRCCap, # 初始或预设值ADRCFlickerCap, # 基于闪烁检测的限制ADRCExposureCountCap # 基于曝光次数的限制如果人脸检测置信度极低,则可能使用不同的计算方式(但原公式似乎有误,未明确展示不同计算)

2024-07-15 18:00:10 633

原创 AEC10 SA计算整理 --- ExtremeColorSA & SaliencySA

在图像处理中,自动曝光算法对于提升图像质量至关重要,特别是在光线变化复杂的环境下。本文将详细介绍并优化两种自动曝光算法:SaliencySA 和 ExtremeColorSA,通过调整曝光参数以适应不同的光照条件和颜色特性。

2024-07-11 09:01:47 553

原创 AEC10 SA计算整理 --- 基础SA

LuxSALuma: 计算16x16区域的平均亮度(Luma值)。LuxSATarget: 通过参数设置获取目标亮度值(通常与当前光线条件相关)。LuxSAAdjRatio: 计算调整比例,即目标亮度与当前亮度的比值。

2024-07-09 09:07:28 527

原创 AEC10 SA计算整理 --- YHistSA & BrightenImgSA

在YHistSA部分,我们主要对图像的亮度直方图进行动态调整,以适应不同的光照条件。

2024-07-08 10:41:33 941

原创 AEC10 SA计算整理 --- 3HDR相关

在探讨Safe3HDRSnapshotSA的计算时,我们首先需要明确其调整比例(AdjRatio)的计算方式。这一比例是基于SafeAggSA模式下的3HDR安全曝光值(SafeExp)与触发控制短曝光值(TriggerCtrlShortExp)之间的比值来确定的。

2024-07-08 10:40:56 935

原创 AEC10 SA计算整理 --- Agg相关

在SafeAggSA模块中,我们旨在通过最小化加权绝对差异来优化调整比例,以达到最佳的图像质量。具体计算如下:计算HDR安全曝光下的调整因子计算EV0下的安全调整因子最终确定SafeAggSA的调整比例。

2024-07-05 19:09:27 1545 1

原创 AEC10 SA计算整理 --- SatPrev & DarkPrev

在SatPrevSA的计算中,我们首先定义亮部预览的亮度(Luma)为SatPrevHighPCTLLuma。目标饱和度(SATarget)通过参数设置获取,形式为[setparam/tr:lux+lux](这里假设lux为变量占位符,实际使用中需替换为具体值)。接着,我们计算调整比率(Adjustment Ratio)的帧内平均目标值(FSATgt),该值基于目标饱和度、当前帧与目标帧的亮度比。

2024-07-05 19:03:37 780

原创 AEC10 SA计算整理 --- Depth & Tracker

DepthSALuma=NormalizedWeightedSum(DepthLuma,FrameLumaBE16x16)DepthSATarget=[setparam/tr:lux+lux]DepthSADistanceStorage=(TriggerCtrlDistance>0.0)?TriggerCtrlDistance:DepthSADistanceStorageDepthSALumaWeight=[setparam/tr:lux+DepthSADistanceStorage]DepthSA

2024-07-04 17:07:18 403

原创 AEC10 SA计算整理 --- QLL相关

QLLADRC。

2024-07-04 17:06:45 374

原创 AEC10 SA计算整理 --- Touch & Face

整理了AE计算的一些参数和计算公式,方便查找。

2024-07-03 15:08:26 696

原创 AEC10 SA计算整理 --- flash部分

整理了AE计算的一些参数和计算公式,方便查找。

2024-07-03 15:07:39 705

原创 用Chromatix进行tuning流程

初始化可以中需要的配置:target(硬件MSM8x16等),version(ISP的版本),driver info(sensor的驱动信息:fps,line cnt,gain,bayer patern,crop和black level等),image info(图像信息:宽高等)c、MCC照片:70%视野,D65、D50、TL84、CWF、A、室外1000lux或最亮各拍一张,TL84在500lux、200lux、100lux、50lux、10lux,D65在10lux各一张。

2024-07-03 15:06:03 1586

原创 GPU性能相关的工具

一般常见的都是这种。android提供的一个工具GPU Debugger,可以分析GLES程序的GPU 性能:http://tools.android.com/tech-docs/gpu-profiler。GPU的性能测试工具比较多,已知的各个开发厂家是有自己开发的性能测试工具,一般市场上开源或通用的性能测试工具,主要是跑定制的渲染场景,统计平均帧率,经过包装得到跑分值。AMD的GPU性能呢个工具:https://gpuopen.com/radeon-gpu-profiler-1-4/

2024-06-18 14:02:31 1465

原创 libdrm 2.4.107 needed because amdgpu has the highest requirement

原因是前面解决llvm-config版本不对时,把/usr/bin/llvm-config删掉了,直接用cp /usr/bin/llvm-config-12 /usr/bin/llvm-config。打开"/usr/lib/python3/dist-packages/mesonbuild/dependencies/dev.py的前面备注的是LLVM的环境库的查找。改用ln -s /usr/bin/llvm-config-12 /usr/bin/llvm-config。

2024-06-17 19:20:02 799

原创 VSCode的几种配置方法

可以参考:https://blog.csdn.net/Wannna/article/details/105109375。可能不同的编译器配置的方式不同,主要是编译选项和方式写法不同。问题点是,要通过windows的命令窗口打开工程。编译器用cl.exe。

2024-06-17 19:18:08 461

原创 glmark2代码阅读总结

glmark2代码阅读总结一、总体用输入参数生成testbench项用scene和benchmark管理进行复用通过类的重载,创建出不同的分支和具体的实现点,如scene和mainloop类用例执行又规划,每个scene都统一有setup,等使用scene的继承关系,整体的调用流程就比较简单,好组织二、小技巧1. 一组字符串添加间隔方法用一个static的变量控制第一个std::string Values;for (iterator It = Map.begin(); I

2024-06-17 19:11:51 918

原创 ioquake笔记

这里写自定义目录标题边际成本平均成本功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入边际成本MC:产量增加1个单位引擎的总成本的增量。计算方法是总成本的变动量除以产量增加的变动量。平均成本平均成本AC分成:平均固定成本AF

2024-06-17 19:09:20 760 1

原创 SHA-1哈希算法简介

该算法的主要思想是将任意长度的输入数据(通常称为“消息”或“明文”)通过一系列复杂的数学和逻辑运算,转换为一个固定长度(通常为160位,即20字节或40个十六进制数)的输出值,这个输出值被称为“哈希值”、“消息摘要”或“散列值”。由于SHA-1能够生成固定长度的哈希值,因此它被广泛用于验证数据的完整性和生成数字签名。然而,随着计算机技术的发展,SHA-1算法的安全性已经受到了一定的挑战,因此在需要更高安全性的应用中,建议使用更安全的哈希算法,如SHA-256或SHA-3。

2024-06-12 10:38:12 1220

原创 【Mesa EGL代码分析 --- 环境配置】

enable_drienable_glxenable_eglenable_gbmzlib1g-devpkg-configdrm:cd drmmake -j8。

2024-06-02 15:33:53 719 1

原创 内存管理【侯捷】——— const和new

内存管理【侯捷】——— const和new相关资料:书籍:《Small Memory Software》《Modern C++ Design》C++ Applications| | | C++ Library| | C++ primitives(new,new[], operator new)| CRT(malloc/free)OS API (HeapAlloc, VitualAlloc)...

2022-09-23 16:54:22 218

原创 glmark2代码分析8(其他scene)

Effect2D 主要实现的功能和测试点:实现方式:只有一个类 SceneEffect2Dcreate_convolution_fragment_shader:创建图像卷积的shader程序,用字符串替换的方式,传入的参数是:图像的宽高、卷积因子kernel_printout: 打印shader函数parse_matrix:将矩阵的字符串形式转成数字矩阵normalize:对kernel矩阵进行Normalizessetup:查找纹理 effect-2d,加载shader,解析输入参数,创建g

2022-09-23 16:52:54 1290

原创 Linux下查看和监控GPU 信息的工具汇总

GPU信息查看要获取显卡信息,只有两种可能,一种是通过系统的API访问,或者直接读取/dev/下相关文件的状态,另一种方式是通过BIOS读取。1. 通过PCI查看通用的方法,通过lspci查看:lspci | grep -i vga前边的序号 "00:0f.0"是显卡的代号,然后lspci -v -s 00:0f.0其他方法:监控程序glances与其GPU monitoring plug-in一起使用:开源安装:sudo apt-get install -y python-pi

2022-09-23 16:52:13 7967 1

原创 纹理压缩(二) ETC格式

ETC:每个子块中只存储一个基色,剩下的由亮度变换得到。先存一个基色和一个luma index值,通过luma index从亮度表中查出亮度四个亮度修改值,然后加到基色上得到四个基色,再按照后面的索引表中的索引进行填充即可。ETC1:两个ETC拼在一起,做一个4x4的像素块,分两中模式,individual模式中两个基色color0、color1都是444格式的,differential模式中,color0用555格式,color1用3bit的差值存储,R1=R0+dR0得到。剩下两个标志位:d

2022-05-06 17:09:33 3122

原创 纹理压缩(一)BC格式

BC系列:从BTC和CCC演变过来的BC1(S3TC、DXT1):是CCC中将索引改成两位表示,用64bit压缩16个像素,压缩比4bpp。两个32bit的数,第一个32bit中存了两个基色color0和color1,第二个32bit中存了一个4x4的索引表,每个索引是2bit。通过color0和color1算出另外两个基色,计算方法有两种,先比较两个基色大小,如果是color0<=color1,就表示图像中有alpha值,这个alpha只能表示1bit的值,即:全透明或不透明联众,blac

2022-05-06 09:56:49 2072

原创 编译AMD Compressonator遇到的问题

Compressonator有有Windows版本的可以直接下载安装,但是想加一些debug的输出,Windows下用visual studio编译需要安装cmake qt等一些列配置,以及VS工程配置,还是觉得Linux下编译比较方便。

2022-04-28 18:47:34 495

原创 Could not find a package configuration file provided by “Qt5WebEngineWidgets“ with any of the follow

问题:Could not find a package configuration file provided by “Qt5WebEngineWidgets” with any of the follow解决方法:安装:下面两个库:sudo apt-get install -y libqt5webenginewidgets5sudo apt-get install -y qtwebengine5-dev

2022-04-28 15:34:53 1508

原创 Could not find a package configuration file provided by “Qt5Qml“

解决方法:sudo apt-get install qtdeclarative5-dev

2022-04-28 14:53:29 788

原创 WSL登录失败:未授权用户再次计算机上的请求登录类型

WSL登录失败:未授权用户再次计算机上的请求登录类型问题:解决方法:问题:电脑安装东西后重启WSL中的Ubuntu,提示:登录失败:未授权用户再次计算机上的请求登录类型重启之前是正常的解决方法:Win+R用管理者权限打开shell,重启虚拟机:Get-Service vmcompute | Restart-Service...

2022-04-25 10:41:06 4299 1

原创 Linux 下 Qt工具使用过程问题记录

find -name Qt1.进入Qt5.5.1的安装目录:例如我的目录:cd /opt/Qt5.5.1;2.运行命令:./MaintenanceTool;3.进入图形化界面,按照操作卸载即可。

2021-03-16 11:18:39 197

空空如也

空空如也

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

TA关注的人

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