- 博客(64)
- 收藏
- 关注
原创 Android Thread解析--run()
android Thread run flowAbort message: 'incStrongRequireStrong() called on 0xee0804d0 which isn't already owned'
2023-05-30 16:10:29 1093 1
原创 Android智能指针SP WP
Android的C++部分代码中有大量的sp/wp存在,意思是strong pointer和weak pointer,看字面意思就是指针相关的东西。C++是通过new和delete进行内存的分配和释放的,但是有时候开发者会忘记使用delete导致内存泄露,所以Android中就创建了sp/wp等,用于避免内存泄露和提高开发效率。强指针通过引用计数来记录有多少使用者在使用一个对象,如果所有使用者都放弃了对该对象的引用,则该对象将被自动销毁。
2023-05-30 15:14:31 889
原创 高通mm-camera_setting
horizontalViewAngle and verticalViewAngle data_rate 计算
2022-11-04 15:43:30 492
原创 高通mm-camera_setting
高通下lib.h 中line_length_pclk ,frame_length_lines ,vt_pixel_clk ,op_pixel_clk,data_rate 计算horizontalViewAngle and verticalViewAngle
2022-10-18 19:06:15 502
原创 V4L2-框架
1.概述V4L2 是专门为linux 设备设计的一套视频框架,其主体框架在linux内核,可以理解为是整个linux系统上面的视频源捕获驱动框架。相机驱动层位于HAL Moudle 与硬件层之间,借助linux 内核驱动框架,以文件节点的方式暴露接口给用户空间,让hal Module 通过标准的文件访问接口,从而能够将请求顺利下发到内核中。按照v4l2标准,他将一个数据流设备抽象成一个videoX节点,丛书的子设备都对应着各自的v4l2_subdev实现,并且通过media controller 进
2022-05-22 12:13:19 4518 2
原创 AF BAF tuning <5>
1.BAF overivew在大多数情况下,系统提供的BAF缺省值就足够了,不需要进行BAF调优。在某些情况下,可能需要以下可选调优:BAF ROI sizeGammaFilter coringY-conversionFilter (coefficients, shifter)图像预处理(Y 转换和 Gamma 校正)对焦值生成Y 转换提供了将 RGB bayer 四像素组合为一个信号的方法, 该信号由每个通道的指定权重给定。 Gamma LUT 用于提高弱光环境中偏暗像素的对比度。
2022-04-18 13:57:09 700 5
原创 AF debug tuning <3>
1. Continue TRIGGERINGCAF 依赖于陀螺仪参数、SAD(sum of absolute differences)、SADR 参数以检测场景切换。PDAF依赖于当前帧defocus value、算法的confidence 和 场景的稳定性(stability of the scene)。SAD 指两帧间亮度值的绝对误差和 (SAD)。 将从 AEC 统计引擎中得到的亮度值传递到 AF,AF 会计算 SAD 以推断是否已发生场景切换。AF 按当前图像帧与上一图像帧的亮度值之差计算
2022-04-14 15:52:02 666
原创 AF Haf tuning <4>
参数名称说明调试Enable Section混合AF算法使能标记置1启用深度算法Stats Select不同统计类型(HW1、HW2、SW)选择期望启用的统计类型Fine Search Drop Threshold用以确定考虑峰值丢弃所需要对焦值下降的阈值增大:更易终止精确搜索或找到峰值。减小:更难终止,更多失真,但更稳定Fine Step Size精确搜索的镜头移动步长
2022-04-13 17:22:01 725
原创 AF monitor tuning <2>
1. af monitor conceptAF 监控状态的主要功能是场景切换检测。直观地看,场景切换意味着当前场景没有对焦,导致算法触发搜索以找到准焦的最佳位置。每种算法有其自己的场景切换检测标准。例如, CAF 依赖于陀螺仪参数、绝对误差和 (SAD)参数以及 SAD 相关参考帧 (SADR) 参数以检测场景切换。相比之下, PDAF 依赖于当前帧散焦值的组合、算法的可信度以及场景的稳定性。AF 监控也负责场景平移检测。为避免不必要的搜索,算法区分了场景切换和场景平移。搜索算法直到场景稳定(即,不平
2022-04-10 23:12:30 1903
原创 AF pdaf tuning <1>
1.PDAF 驱动功能验证1.1 pdaf log 设置log 设置,打开AF(8),State(2),Sensor(2) 的logCT30P:/ # cat /vendor/etc/camera/camxoverridesettings.txtoverrideLogLevels=0x3FlogWarningMask=0x08000202logInfoMask=0x08000202logVerboseMask=0x08000202enable3ADebugData=TRUEdumpSens
2022-04-08 18:20:50 2671
原创 AF base tuning <0>
马达客观■ Actuator Hysteresis/Damping 双向完整扫描磁滞■ Actuator range test 开环马达范围■ Actuator settle time 马达稳定时间■ Focus value contrast and tail 对焦值曲线的反差与拖尾■ Distance to lens mapping 镜头距离映射如有错误欢迎指正。1. Comlete RFI worksheetxxx_actuator.xml 的initialCode 修改为RFI计算
2022-03-18 17:37:28 2383 5
原创 Chromatix_AEC—exposure table
## 1.曝光表的设置第一行exp time 需要根据sensor info 进行计算 。高通文档的公式1S秒 = 1000 ms毫秒 = 1000_1000 us微妙 = 1000_000_000 ns纳秒1GHz = 1000 MHz = 1000_000 KHz = 1000_000_000 Hz转换为ns ,乘以1,000,000,000 sensor 驱动获得到帧行长 <frameLengthLines>3260<...
2021-10-18 16:55:44 3523 2
原创 Chromatix 7 使用<2>
Edit region triggersUtilties->Parameter Editor可以修改triggers 的值 和添加regionsAdd scenariosEdit-> Edit project scenarios主要包含:sensor 、usecase、feature、scene场景结构如下:Initial tuning介绍ISP模块调优的步骤。缩写全称linearization线性PDPCphase detection pi
2021-05-11 17:09:17 14622 4
原创 Chromatix 7创建项目<1>
刚开始camera tuning 记录下。 不对的地方请留言。一.描述Chromatix 7 是用来给 Qualcomm 下一代 ISP (Spectra 280, SDM845, SDM670…) 平台和camera 软件架构做 IQ tuning 的工具. 由于整个 ISP pipeline, 软件架构都是全新的, Chromatix 7 的UI 和产生的文件上都和 Chromatix 6 有很大的差异. 本文档是用来给Qualcomm 的客户介绍如何使用 Chromatix 7 创建一个项目二
2021-05-08 10:54:06 3860 2
原创 camera-杂项
Sensor输出格式CIS sensor类型Sensor输出formatBayer RAWMEDIA_BUS_FMT_SBGGR10_1X10 MEDIA_BUS_FMT_SRGGB10_1X10 MEDIA_BUS_FMT_SGBRG10_1X10 MEDIA_BUS_FMT_SGRBG10_1X10 MEDIA_BUS_FMT_SRGGB12_1X12 MEDIA_BUS_FMT_SBGGR12_1X12 MEDIA_BUS_FMT_SGBRG12_1X12 MEDIA_BUS_
2021-01-26 10:08:23 1706 1
原创 ubuntu16.04开发环境搭建
1.修改软件软安装完Ubuntu 16.04后更换为国内的软件源:sudo gedit /etc/apt/sources.list 修改为阿里软件源# deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main restricteddeb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by soft
2020-12-19 16:37:32 113 1
原创 missing Change-Id in commit message footer.md
主要针对本地刚下载的仓库,第一次提交会出现这个情况.原因:缺少commit-msg参考报错信息:gitdir=$(git rev-parse --git-dir); scp -p -P 29418 [email protected]:hooks/commit-msg ${gitdir}/hooks/自己创建:scp -p -P 29418 [email protected]:hooks/commit-msg ${gitdir}/hooks/127.0.0.1为代码管理的网址,改为需要的.
2020-07-08 11:30:05 167
原创 Linux-spi_代码分析
代码目录核心层:drivers/spi/spi.c 实现SPI核心的功能总线层drivers/spi/spi-rockchip.c设备层所用的spi总线的设备驱动drivers/media/spi/rk1608.cSPI核心层代码分析1.SPI子系统注册函数:spi_initdrivers/spi/spi.cstatic int __init spi_init(void){ int status; buf = kmalloc(SPI_BUFSIZ, GFP_KE
2020-05-14 17:13:47 907 1
转载 Linux-spi_硬件接口
spi接口介绍1. 概述SPI = Serial Peripheral Interface,是串行外围设备接口,是一种高速,全双工,同步的通信总线。常规只占用四根线,节约了芯片管脚,PCB的布局省空间。现在越来越多的芯片集成了这种通信协议,常见的有EEPROM、FLASH、AD转换器等。优点:支持全双工,push-pull的驱动性能相比open-drain信号完整性更好;支持高速(100MHz以上);协议支持字长不限于8bits,可根据应用特点灵活选择消息字长;硬件连接简单;缺点:
2020-05-13 15:11:51 514
原创 Display--基本概念
文章目录Display中的DRM模块介绍DRM概述:Display中的DRM模块介绍DRM概述:DRM全称 Direct Rendering Manager(直接渲染管理器),进行显示输出管理、 buffer 分配、 帧缓冲, 是device-independent内核级别驱动,内核提供直接访问硬件的权限, 原本是设计提供给PC使用来支持复杂的图形设备,后来也用于嵌入式系统上。PC一般都有显卡并且有自己的video memory,而嵌入式系统没有。DRM的设备节点为 "/dev/dri/cardX"
2020-05-11 17:33:03 4325
原创 ubuntu 16.04 wps不能输入中文
WPS表格打开终端输入:sudo vim /usr/bin/wps添加输入方式为fctix(添加到“#!/bin/bash”下面):export XMODIFIERS="@im=fcitx"export QT_IM_MODULE=“fcitx”WPS文字打开终端输入:sudo vim /usr/bin/wps添加输入方式为fctix(添加到“#!/bin/bash”下面):ex...
2020-05-05 09:06:18 214
原创 Linux SD卡/SDIO驱动开发3-core
核心的一个函数便是之前提到的位于core.c的mmc_rescan,概括来讲,主要完成两项任务,即扫描SD总线,插入SD卡扫描SD总线,拔出SD卡插入SD卡插入SD卡,主控制器产生中断,dw_mci_interrupt 判断host->state == STATE_SENDING_CMD11,调用dw_mci_cmd_interrupt调用tasklet_schedule(&...
2020-04-16 16:04:55 817 1
原创 Linux SD卡/SDIO驱动开发2-host
一、struct mmc_host 结构体struct dw_mci { spinlock_t lock; spinlock_t irq_lock; void __iomem *regs; void __iomem *fifo_reg; struct scatterlist *sg; struct sg_mapping_iter sg_miter; struct dw_...
2020-04-16 11:10:31 850
原创 Linux SD卡/SDIO驱动开发1-框架
MMC/SD设备驱动在Linux中的结构层次在Linux中MMC/SD卡的记忆体都当作块设备。drivers\mmc 分别有card、core和host三个文件夹card层 要把操作的数据以块设备的处理方式写到记忆体上或从记忆体上读取;因为这些记忆卡都是块设备,当然需要提供块设备的驱动程序,这部分就是实现了将你的SD 卡如何实现为块设备的。core层 则是将数据以何种格式,何种方式在 M...
2020-04-10 10:21:36 1842
原创 Linux SD卡/SDIO驱动开发0-基本知识
文章目录##Linux驱动子系统-sdio子系统###sdio系统概述MMC SD SDIO三种卡,从发展历程来看,是先有MMC卡,后来有SD卡,这两种都是纯粹的存储卡,而SDIO是什么呢,从字面意思理解,应该是SD+IO,也就是既有存储功能,又有IO控制功能,不过也有纯IO功能的SDIO设备(本人用到的WIFI模块就是这种)。并且,这三种卡可以使用同一个插槽,系统还能正确的识别!!,...
2020-04-10 10:10:32 6251 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人