自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Camera-MTK OpenCamera时序以及耗时

MTK Camera HAL性能到这边远没有结束,总的MTK Camera HAL层openCamera架构可以简单的以线程号分成三个大的部分,现在仅仅是对PipelineMode之前的部分进行了流程调用分析,其中的耗时以及等待机制还需要打更多的log去追,以后的优化更不是简简单单能搞定的。...

2022-08-30 18:13:04 1675 1

原创 Camera-ISP DP/DM/EE/NR/CR

Image Process主要过程有DM(Demosic)、DP(Defect Pixel Correction)、CR(Color Reproduction)、EE(Edge Enhancement)、NR(Noise Reduction)处理,主要去研究这些处理的原理以及作用便于工作中更好的接触。

2022-08-24 10:29:15 2122

原创 Camera-3A AE/AWB/AF

AE(自动曝光-画面亮度)、AWB(自动白平衡-画面色彩程度)、AF(自动对焦-影响焦距以及是否清晰)。

2022-08-18 18:30:34 4639 5

原创 Camera-Related Architecture

产生原因:镜头边沿的成像光线与镜头光轴有一个较大的夹角,沿着视场边缘光线的光圈减小,通光路径边长,边角光线成像较大,使得镜头边缘的光线随着视角的变大成像亮度急剧地下降,呈现出画面角落的影像发暗。摩尔纹是数码相机等设备上的感光元件出现的高频干扰,会使图片出现色彩的高频率条纹,摩尔纹是差拍原理的一种表现,空间频率略有差异的条纹叠加,由于条纹间隔的差异、重合位置会逐渐偏移也会形成差拍;蓝B、红R俩色混合误差产生的,这个问题的发生在于拍摄高反差的景物时,在明暗交界的边缘部分会出现异常的紫色。...

2022-08-18 17:00:33 653 2

原创 Camera-HW Introduction

是目前的主流,数据量比YUV Sensor小(RAW10 格式的sensor 1个pixel 10个bit)使用平台ISP处理,能支持较大的size。的接口分为并行和串行两种方式,而目前我们平台主要支持的串行方式为。,需要配置正确,叫做接到高八位或者低八位,接错了可能产生如下现象。等,配置不对可能会导致颜色和亮度错掉,例如下图。后只进行格式的转换,效果方面不进行处理,由于。端控制,需要针对不同的模组进行效果调试,,该信号是高速信号,用来传输。,图像的效果处理使用。,图像的效果处理使用。...

2022-08-18 14:08:02 376

原创 Audio-AudioRecord Binder通信机制

Android进程间通信大量使用IPC通信,在梳理AudioRecord相关流程中,IAudioFlinger、AudioFlinger,IAudioPolicyService、AudioPolicyService之间就是通过Binder进行通信的,结合具体的Audio的使用实例对Binder通信进行一些整理。1.frameworks/native/libs/binder/include/binder/IInterface.h 模板接口类INTERFACE,这个模板接口类就是Serv

2022-07-05 14:05:39 1171 4

原创 Audio-AudioRecord create(一)

AudioRecord create相关代码流程、重点关键接口、参数解析以及相关log share分析比对。参数解析:audioSource: MediaRecorder.AudioSource.MIC,详细定义需check MediaRecorder.AudioSource;sampleRateInHz:默认采样率,单位Hz,44100Hz是唯一能保证在所有设备上工作的采样率;channelConfig: 描述音频通道设置,AudioFormat.CHANNEL_CONFIGURATION_MONO保证能

2022-06-29 18:12:34 1003

原创 Camera-CreateCaptureSession

Camera CaptureSession is a operation to configure the camera device's internal pipelines and allocating memory buffers to sending images to the desired targets. A configured capture session for a cameraDevice is used for capturing images from the c

2022-06-24 16:27:04 763

原创 Camera-memory内存泄漏分析(三)

通过Provider、sysinfo监控查看内存泄漏的机制会有一些利弊,并不能很准确的反应出相对应的memory的变化,更愿意选择通过dumpsys meminfo去check具体进程的memory变化情况,而且dumsys信息也会更全面、更利于整体把控相关问题点。 dumpsys memory拿到的信息量以及可监控的进程量是远远多于Profiler,有的问题可以通过dumpsys发现,有的问题通过Profiler就可能是误判。Profiler实时监控的memory情况:dumpsys监控下的

2022-06-19 16:05:50 443

原创 Open Camera异常分析(一)

负责的项目中遇到一些三方和其他的场景使用camera导致问题,并且没有及时释放camera device致使手机camera应用一直无法使用的严重问题,针对这类问题进行了一系列的分析与追踪,最后算是定位到了问题且提供了一些解决方案,但整个追溯解决的过程却不得不引人深思,万一以后出现这样的情况,该如何能在底层做到高效且完美的处理。 首先对DreamCamera2 apk调用流程进行分析,15:08:35 open fail报错,进而对异常前后的CameraService、HAL层相关log进行

2022-06-12 18:36:56 3569

原创 Camera-memory内存泄漏分析(二)

通过Provider对com.android.camera2进行memory监控仅仅相当于对某一进程的memory info信息监控,当真正发生内存泄漏的情况下,单独check camera.android.camera2单独的包肯定是不能完全的check问题点的,可以通过sysinfo所对应的/proc/meminfo信息里面的MemAvailable 显示的大小进行宏观的使用情况查看,进而对怀疑的进程通过dumpsys meminfo的方式去check具体的怀疑进程,现在以Camera模块为例进行问题说

2022-06-06 17:56:17 1066 1

原创 Camera-memory内存泄漏分析(一)

Camera有很多涉及算法的场景,而且每个场景里面buffer的创建与释放也总是有着跟随其算法的特定规律,在这些过程中总会不可避免的出现一些内存泄漏的相关问题需要我们进行分析,本文及以后的几篇文章就对这些算法流程及memory变化定位问题堆栈的方法以及节点进行一些分析,以便以后继续追踪问题与完善技术。一、不同算法的memory消费监控1.普通的拍照模式每次拍照会增加5M的Memory,占用较大memory会进行一些释放2.加载HDR算法3.双摄虚化模式.

2022-05-06 21:34:01 1802

原创 Camera - dump 预览帧数据处理(三)

应用层处理CPU、GPU框架下TextureView、GLSurfaceView所对应的Surface获取到的ImageReader数据以及dump相关的方法前面已经讲了,本次主要以展讯平台的HAL层dump预览的相关节点看一下如何抓取我们想要的任何节点下的帧数据一、平台HAL层Dump数据分析vendor/sprd/modules/libcamera/oem2v6/src/cmr_preview.ccmr_int prev_construct_frame(struct prev_hand

2022-05-01 18:09:02 1083

原创 Camera - dump 预览帧数据处理(二)

RGBA8888数据处理if(mCount%30 == 0){ byte[] Data = new byte[mOutputWidth * mOutputHeight * 4]; ByteBuffer buf = ByteBuffer.wrap(Data); buf.order(ByteOrder.LITTLE_ENDIAN); GLES20.glReadPixels(0, 0, mOutpu....

2022-04-12 00:23:57 990

原创 Camera - dump 预览帧数据处理(一)

Camera中有很多check预览帧的需求,可以在应用层、HAL层通过不同的方法dump数据进而check某一时刻的Camera YUV数据、RGBA数据是否有异常,本节主要分析应用层dump 预览流YUV数据的方法,之后会继续check GPU框架下dump GLSurfaceView的RGBA数据的方法以及HAL层dump数据的节点和相关命令。1.保存预览上来的YUV数据配置YUV数据配置预览回调数据private static class C...

2022-04-11 19:10:11 1515

原创 Camera-MTK Tag管理以及定义

MTK Camera架构中,Tag是应用层与HAL层相互联系的主要纽带,很多应用层或FrameWork层需要HAL去处理或者接收的信息都是通过Capture Request、Session Requset去进行上下沟通的,这篇文章主要用来记录一下当初区分一起算法场景所自定义的Tag路径以及一些简单的HAL层获取方法,主要介绍Session和Capture Request。1.Tag的定义FrameWork层的定义...

2022-04-09 20:24:25 5066

原创 Camera-MTK 不同apk调用Camera Device

手机中除了单独的Camera apk会使用到Camera Device之外,有很多其他的场景会使用到Camera Device,比如欧美市场的Google Len、Whatsapp、以及短信发送里面的拍照、拍视频功能,这些都可以看做不同的apk使用系统底层的Camera Device,这样的情况下如何去管控不同apk调用Camera Device以及不同三方不开源apk Feature切换之前造成的差异问题,也会造成不小的困扰,分享一下利用Camera架构管控不同不开源apk调用Camera...

2022-04-08 16:18:13 2427

原创 Camera-MTK Capture、Preview request解析

Camera流程分析中最关键的是关于拍照、预览请求的处理以及流控的各种解析,从不同的request里面可以分析出大量的其他信息,对流需要做什么处理以及做了什么处理,这个是研究拍照、预览性能的必要经过。1.通过Log对Camera流程check06:21:22.435应用层开始openCamera06:21:22.471 Open前摄CameraDevice打开成功得到onOpen返回cameraProxy对应底层device...

2021-12-22 14:22:48 1959 2

原创 Audio-AIUI语音交互

通过不同平台设置录音API tinyalsa获取到原始音频,经过回声消除、噪声抑制的简单算法处理得到的单声道音频数据,之后进行关键词唤醒、AI交互、语义理解以及各种TTS播报等场景的使用了。下面就对AIUI交互使用场景中的关键节点以及关键状态为的check问题进行一些分析,方便以后定位问题。https://aiui.xfyun.cn/doc/aiui/3_access_service/access_interact/sdk/msg_event.html1.AIUI流程分析 ...

2021-12-17 15:04:15 2359

原创 Audio-音频降噪、回声消除处理

对音频数据进行处理时经常会对mic阵列的选择有很多特殊要求,当原始录取的音频阵列排布有问题时,会进行一些软件的处理,使阵列排布达到一定的要求。1.回声消除对麦克阵列的特殊要求2.原始音频MIC阵列排布处理 对于4ch音频数据而言,麦克阵列排列要求为mic1、mic2、ref1、ref2,但是通过tinycap采集的原始音频数据的阵列排布为ref1、null、mic1、mic2,俩路mic分别对应左右mic的音频摄入,需要对mic阵列进行一定处理。...

2021-12-14 14:09:35 8408 1

原创 Audio:Android-TinyAlsa架构 Mixer API

Android中对音频多声道数据的配置binary tinymix是tinyplay执行前必要的步骤,对tinymix的源码进行check在整合tinyalsa相关通道配置以及流程上是非常有必要的。tinymix梳理之后还是比较简单的,主要有mixer_open, mixer_close,tinymix_list_controls, tinymix_detail_control,tinymix_set_value这个几个方法。1.tinymix.cfile path: exter...

2021-12-13 11:03:23 4914

原创 Audio:Android-TinyAlsa架构 PCM API

之前有接触过Linux的音频AlsaAudio和PluseAudio框架,Android音频系统是基于Linux的Alsa驱动封装的TinyAlsa音频接口框架,最近在做相关的音频处理项目,正好结合项目check一下Android的TinyAlsa架构。1.TinyAlsa-录制binary tinycap TinyAlsa的录制工具tinycap main函数里面主要是通过shell命令解析相关的音频设备参数以及记录音频数据的文件,然后通过capture_sample...

2021-10-12 11:41:50 3010

原创 Camera: MTK CaptureSession

基于MTK Camera2框架以及Google developers里面关于Camera2的介绍,加以梳理,去整理一下关于Camera CaptureSession的时序以及需要注意的点,方便以后分析问题。1.MTK CaptureSession时序 这份时序图整理的比较早,现在回过头再去check相关的流程,发现很多地方并没有重点说明,甚至遗漏了很多重要的点。2.MTK 应用层CreateCaptureSession重点1.应用层调用F...

2021-08-06 17:55:25 613

原创 Camera: SnapdragonCamera OpenCamera(三)

CameraServer与HAL的HIDL通信机制之前确实没有搞懂,在新的项目下自己找了一些资料,跟着大佬的步伐,去尽力分析每一行代码,了解相关机制。希望能在下个项目能有更加高的进步与提升吧!主要参考资料连接:[Android O] Camera 服务启动流程简析1.CamerServer 端的启动及与HAL交互机制 u1s1,之前MTK Camera项目时候openCamera的机制到了CameraService这边涉及到CameraServer与Camer...

2021-07-29 11:41:12 522

原创 Camera: SnapdragonCamera OpenCamera(二)

高通骁龙相机从FrameWork、CameraService、HAL层去研究相关的OpenCamera相关用到的技术与流程。1.FrameWork层 OpenCamera 应用层采取method的方法调用FrameWork层的openLegacy方法openCamera,此时走的是Camera API1的接口。Framework层其实是定义了不需要必须走API1接口的方法的,下面会先介绍openLegacy的流程,然后再check另一个流程。LA.UM.8.6.2/...

2021-07-22 16:40:57 1190 5

原创 Camera: SnapdragonCamera OpenCamera(一)

高通SnapdragonCamera相机研究一系列OpenCamer相关的流程,以及比较重要的需要check的Error状态的捕捉和监听。1.应用层OpenCamera CameraActivity::onCreate ->cameraAPICheck();这边会走一下openCamera的流程,不过有返回就给release,这边open一下的目的怕是仅仅虚晃一枪,试试API1的接口还能不能走了吧。private boolean cameraAPIC...

2021-07-21 18:11:22 947 3

原创 Camera: MTK OpenCamera

基于MTK Camera框架进行了App -> FrameWork -> CameraService的时序流程的整理,本篇对其中的一些细节进行一下梳理和重点突出。1.MTK Open Camer时序图2.应用层OpenCamera需要check的点 从应用层角度来讲,openCamera层层递进、下发的流程还是比较清晰的;应用层需要特别关注的是openCamera结束后,底层传给应用层的状态,去check Camera是否open成...

2021-07-20 19:53:12 715

原创 Camera: Focus 影响因素与状态管理及下发(二)

Auto-Focus(AF) Tag下发主要是研究点击UI界面,选定特定的聚焦区域,如何从应用层下发关键Tag驱使底层对Focus State进行改变,主要是针对ACTIVE的变化状态的研究。1.点击手机屏幕触发聚焦效果 结合之前俩篇文章,点击屏幕触发的是onSingleTapUp事件,而且肯定也会涉及到request的下发,但是与前篇文章不同之处在于下发的Tag不仅仅是AF Mode、AF Regions、AF Trigger了。@Override ...

2021-07-20 11:38:22 654

原创 Camera: Focus 影响因素与状态管理及下发(一)

手机Camera的Auto-Focue(AF)功能是由俩部分构成的,一种是ACTIVE的状态改变,也就是人为的控制UI,触发聚焦功能,点击改变相对应区域的聚焦状态,下发处理,即上文所做UI操作;还有一种是PASSIVE的状态改变,这一部分是底层自己触发的Auto-Focus聚焦功能,也是本文研究的状态变化流程。1.Auto-Focus(AF)模式需要处理的状态类型: AF status由8种状态的变化来反应聚焦功能所包括的所有变化场景,下面会就我自己的理解将8种状态...

2021-07-19 17:57:35 1018 1

原创 Camera:Focus/AF mdoe

手机相机的对焦处理,应用场景很多,今天可以通过应用层的相关处理代码来研究一下对焦需要走哪些流程以及容易遇到或引发什么样的问题。1.应用层通过对一系列手势事件的监听触发聚焦功能 因为这边涉及到Android开发上对点击、长按等手势事件的处理,我这边就把较全的手势监听处理事件粗略的描述了一下,手势处理不是重点,就先跳过了。//点击屏幕即触发该事件 @Override public boolean onDown(MotionEvent event) { ...

2021-06-22 01:46:45 557

原创 Camera:Exposure / AE mode

最近跟Flash,Exposure-AE,Focus-AF,LongExposure这几个模式搞得焦头烂额,很多小伙伴在使用手机时候会用到一些调节

2021-06-19 18:09:10 1082

原创 Camera:前后闪光灯

手机Camera的前后摄闪光灯虽然是同一个feature,但是从软硬件任意角度来讲,都有着很大的区别。后摄闪光灯是有专门的物理空间支持的,就是手机的手电筒模块

2021-06-18 00:34:41 1494 1

原创 Camera:多帧降噪及photo、video模式下的防抖处理

今天突然遇到手机相机拍出的照片没有多帧降噪效果了,Tunning很多的效果调试需要基于多帧降噪进行处理,最后很坑爹的发现多帧jiangzao

2021-06-15 19:45:27 2637

原创 Camera:高斯模糊

高斯模糊场景:手机相机不同于工业相机、车载相机,手机相机的模式切换往往会伴随着预览分辨率的,而fenbian

2021-06-13 03:24:23 2665 6

Camera相关贼好用技术

可以学习到camera相关的很多东西,绝对超值

2022-11-11

查看yuv的工具,贼好用,以后要多试试

查看yuv数据的

2022-11-10

程序员查看yuv图片专用程序,贼好用

多下载试试,贼好用

2022-11-10

sublime贼好用的下载工具,很吸引人啊

贼好用的程序员工具

2022-11-10

Window下画流程图必备,可以多看看多学学

程序员画UML图必备

2022-11-10

Windows分屏处理工具,类似于Linux Terminator

windows下的分屏,贼好用

2022-11-09

window模拟linux操作系统

可以在windows下执行多个linux命令

2022-11-09

空空如也

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

TA关注的人

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