自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 高通camera驱动 camx read xml 和 probe 流程 和 sensor I2C读写的波形图 (三)

Camx 刚接触的时候对于这个xml 一脸懵逼,实际上和mm-camera差不多就是以xml node节点的方式标准化了driver相关的code,exposure 和 gain的逻辑实现还是在同级目录的cpp中,并且将 xml 的解析工作放在了 out/target/<product>/gen/STATIC_LIBERARIES/libcamxgenerated_intermediates/generated/ 中主要是包含了:g_chromatix : tuning 相关xml的解析co

2020-06-04 23:21:21 7970 5

转载 Linux下反编译java的class文件

要转换文件,我们需要一个反编译器。使用CFT 反编译器,它可靠且易于使用,几乎支持所有JDK版本。的cfr的最新版本为0.155。

2023-06-06 16:34:18 793

转载 Android 13 或更高版本中添加的相机功能只能通过 AIDL 相机 HAL 接口使用 没有HIDL的事情了

AIDL 和 HIDL 的区别

2023-02-02 17:25:56 2024

转载 HALBufferManager -- 相机 HAL3 缓冲区管理 API

android camera buffer manager

2023-02-02 16:52:37 411

转载 Android调试源码正确姿势打开ALOGV

当我沉浸在Android C++的世界中,准备通过其相关的ALOGV日志显示出来的时候,却发现怎么在logcat里面也找不到相关的日志,也许对Android ALOG日志有一定了解的会说实在不行通过ALOGD,ALOGW,ALOGE显示出来不就好了。这个是可以做到,但是不能通过相关的宏进行控制不是十分友好,而且如果Android原来的ALOGV打印的很多,难不成一个个的去修改。在本篇章我将带领打过彻底了解ALOGV的控制机制。注意:ALOG日志等级的优先级秉承如下的顺序:ALOGV < AL

2022-01-26 18:31:01 936

转载 深入理解Android相机体系结构之三 相机应用层

经典好文推荐,通过阅读本文,您将收获以下知识点:一、概览二、Camera Api v2三、Camera Framework四、Camera App Demo相机应用层一、概览相机应用处于整个框架的上层,在现实生活中,为了满足各式各样的应用场景,会加入很多业务处理逻辑,但是一旦当我们拨开繁杂的业务逻辑,便会发现其核心部分依然是通过调用谷歌制订的一系列Camera Api接口来完成的,而所有的相机行为都包含在该接口中。起初,相机系统采用的是Camera Api v1接口,它通过一个

2021-06-30 15:53:30 710 2

转载 Better Explained 以通俗易懂的语言阐释数学

Finally understand math, don't memorize it.https://betterexplained.com/开始数学学习

2020-07-14 17:31:38 691

原创 高通camx configure_streams 初始化 和 usecase 创建流程 详解(五)

类CameraUsecaseBase、UsecaseDefault、UsecaseDualCamera、UsecaseQuadCFA、UsecaseTorch和UsecaseMultiVRCamera都派生自公共类Usecase。 类AdvancedCameraUsecase派生自公共类CameraUsecaseBase。 类UsecaseMultiCamera派生自公共类AdvancedCameraUsecase。如下图:AdvancedCameraUsecase是最常用的usecase..

2020-06-09 23:22:07 10605 5

原创 高通camx debug log 控制 及 UseCase pipeline debug(四)

如题,log开的好,问题都能搞。Camera user mode driver (UMD)出于调试目的,有两种方法可以覆盖相机驱动程序的默认设置Push a configuration file to/vendor/etc/camera/camxoverridesettings.txt例如:adb rootadb remountadb shell "echo logInfoMask=0x2 >> /vendor/etc/camera/camxoverrides.

2020-06-08 22:22:09 8431

原创 高通camera驱动 camx相关内容 (二)

camx编译环境中的driver文件的相关位置sensor driver XML files :chi-cdk/vendor/sensor/default/<sensor_name>/<sensor_name)_sensor.xml. Module configuration files : chi-cdk/vendor/module/<module_name>_module.xml. Kernel dts files : kernel/msm-4.9/arch/.

2020-06-04 00:08:04 8433 4

原创 高通camera驱动 mm-camera部分 (一)

想写一份关于qualcomm 平台 的camera driver 的文档 ,想讲清楚 camera 各个 module 和 camera sensor的各个sub module。 无论是 camx 还是 mm-camera 结构, 无论是android O 还是 N 东西就那么多,就不同的写法和实现,万变不离其宗。他强由他强,清风拂山岗。一理通百里用说的就是这个道...

2019-05-18 18:18:05 12412 5

转载 Android 修改framework下资源文件后如何编译

在framework/base/core/res/res 下添加资源文件后需要先编译资源 然后编译framework 才可正常引用进入项目根目录 cd frameworks/base/core/res/ 执行mm命令(原生或高通), 编译 framework-res.apk或 ./mk mm frameworks/base/core/res(mtk  依据各平台编译命令有所不同)编译完...

2019-02-27 14:03:33 1957

转载 [Android O] HAL3 之 Open Camera2 流程(三)从 HAL Service 到 Camera HAL

作者:StoneDemo  来源:CSDN  原文:https://blog.csdn.net/qq_16775897/article/details/81736586 打开相机流程中,从 APP 到 CameraService 再到 HAL Service 的连路创建流程都已经简略分析了一遍。现在需要分析最后的阶段,即从 HAL Service 连接到 Camera HAL 的部分。 其实...

2019-01-30 20:17:14 1335

转载 [Android O] HAL3 之 Open Camera2 流程(二)

之前已经分析了从 App 到 CameraService 的连路创建流程,接下来要分析的是从 CameraService 到 HAL Service 的连接过程。由于 Android O 中加入了 Treble 机制,它带来的一个巨大变化就是将原本的 CameraServer 进程分隔成 CameraServer 与 Provider service 两个进程,它们之间通过 HIDL(一个类似...

2019-01-30 17:15:52 1664

转载 [Android O] HAL3 之 Open Camera2 流程

作者:StoneDemo  来源:CSDN  原文:https://blog.csdn.net/qq_16775897/article/details/81537710  Camera HAL3 构建连路的过程,其总体框架可以通过下图直观地感受一下。 红色虚线是上行路线,黑色虚线则是下行路线。  总的来说,会分成三大部分来分析:从 App 连接到 CameraService;...

2019-01-30 15:19:07 1208

原创 [Android O] Camera 服务provider启动流程简析 camx 初始化 及HIDL服务注册过程

注意: 作者:StoneDemo 原文:https://blog.csdn.net/qq_16775897/article/details/81240600 写的太好了忍不住全抄过来Camera 服务启动流程概览在 Android O 中,系统启动时,就会启动 CameraProvider 服务。它将 Camera HAL 从 cameraserver 进程中分离出来,作为一个...

2019-01-28 19:25:10 4166 3

转载 android camera 框架总述

Android 的相机硬件抽象层 (HAL) 可将 Camera 2 中较高级别的相机框架 API 连接到底层的相机驱动程序和硬件。相机子系统包括相机管道组件的实现,而相机 HAL 则可提供用于实现您的这些组件版本的接口。注意:如果您要在搭载 Android 8.0 或更高版本的设备上实现相机 HAL,则必须使用 HIDL 接口。要了解旧版组件,请参阅旧版 HAL 组件。架构下列图表和...

2019-01-28 17:15:58 1392

转载 android camera 各版本差异

本页详细介绍了 Camera HAL、API 和相关的 Android 兼容性测试套件 (CTS) 测试中的版本差异,还介绍了在 Android 7.0 中为增强和提高相机框架安全性而进行的几项架构更改,在 Android 8.0 中引入 Treble,以及供应商在其相机实现中为支持这些更改而必须进行的更新。术语本页中用到以下术语:Camera API1Android 4.4 或更...

2019-01-28 16:38:37 3223

转载 android camera UVC camera 外接 USB 摄像头

注意 Android O , 平台 qualcomm外接 USB 摄像头Android 平台支持使用即插即用的 USB 摄像头(例如网络摄像头),但前提是这些摄像头采用标准的 Android Camera2 API 和摄像头 HIDL 接口。网络摄像头通常支持 USB 视频类 (UVC) 驱动程序,并且在 Linux 上,系统采用标准的 Video4Linux (V4L) 驱动程序控制 U...

2019-01-28 16:26:40 8004 2

转载 android camera 输出流和剪裁

输出流相机子系统针对所有分辨率和输出格式都仅在基于 ANativeWindow 的管道上运行。您可以一次配置多个流,以便将单个帧发送至多个目标,例如:GPU、视频编码器、RenderScript,或应用可见的缓冲区(RAW Bayer 缓冲区、经处理的 YUV 缓冲区或经 JPEG 编码的缓冲区)。出于优化的目的,这些输出流必须提前配置,而且只有有限的输出流可同时存在。这样一来,就可以预先...

2019-01-28 16:00:09 1521

转载 android camera 3A 模式和状态转换

虽然实际的 3A 算法取决于 HAL 实现,但高级状态机的说明由 HAL 接口定义,以支持 HAL 设备和框架就 3A 的当前状态进行通信并触发 3A 事件。当设备开启时,所有单独的 3A 状态都必须为 STATE_INACTIVE。流配置不会重置 3A。例如,在整个 configure() 调用期间必须保持焦点锁定。要触发 3A 操作,只需在下一个请求的设置中设置相关触发条目,以指示触发...

2019-01-28 15:31:04 2038

转载 android camera hal3 (二)HAL 子系统

请求应用框架会针对捕获的结果向相机子系统发出请求。一个请求对应一组结果。请求包含有关捕获和处理这些结果的所有配置信息。其中包括分辨率和像素格式;手动传感器、镜头和闪光灯控件;3A 操作模式;RAW 到 YUV 处理控件;以及统计信息的生成等。这样一来,便可更好地控制结果的输出和处理。一次可发起多个请求,而且提交请求时不会出现阻塞。请求始终按照接收的顺序进行处理。图 1. 相机模型H...

2019-01-28 13:46:32 1459 3

转载 android camera hal3 (一)

相机 HAL3Android 的相机硬件抽象层 (HAL) 可将 android.hardware.camera2 中较高级别的相机框架 API 连接到底层的相机驱动程序和硬件。Android 8.0 引入了 Treble,用于将 CameraHal API 切换到由 HAL 接口描述语言 (HIDL) 定义的稳定接口。如果您之前为旧版 Android 开发过相机 HAL 模块和驱动程序,请注...

2019-01-28 13:35:21 1134

转载 select()函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET

http://hi.baidu.com/%B1%D5%C4%BF%B3%C9%B7%F0/blog/item/e7284ef16bcec3c70a46e05e.htmlselect函数用于在非阻塞中,当一个套接字或一组套接字有信号时通知你,系统提供select函数来实现多路复用输入/输出模型,原型:       [cpp] view plain copy print

2017-06-13 11:06:48 286

转载 C++拷贝构造函数详解

一. 什么是拷贝构造函数首先对于普通类型的对象来说,它们之间的复制是很简单的,例如:[c-sharp] view plain copy print?int a = 100;  int b = a;   int a = 100;int b = a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对

2017-06-12 18:32:43 218

转载 浅谈C++多态性

C++编程语言是一款应用广泛,支持多种程序设计的计算机编程语言。我们今天就会为大家详细介绍其中C++多态性的一些基本知识,以方便大家在学习过程中对此能够有一个充分的掌握。  多态性可以简单地概括为“一个接口,多种方法”,程序在运行时才决定调用的函数,它是面向对象编程领域的核心概念。多态(polymorphism),字面意思多种形状。  C++多态性是通过虚函数来实现的,虚函数允许子类重新定

2017-06-12 18:05:39 249

转载 Firebreath生成的Windows插件窗口对象与JS交互对象

对于Windows平台框架,Firebreath生成两个主要对象:1.FB::PluginCore派生对象,主要与浏览器交互2.FB::JSAPIAuto派生对象,主要与JS交互对于FB::PluginCore派生对象,可以通过下面方法得到插件窗口句柄:[cpp] view plain copy FB:

2016-09-07 17:20:46 606

转载 NPAPI和PPAPI开发

转载自:http://blog.csdn.net/lee353086/article/details/49302917NPAPI和PPAPI开发Author: kagulaRevison: 1Last modify date:2015-10-20环境: [1]Visual Studio 2010 SP1    Visaul Stuio

2016-09-07 11:46:03 1232

转载 NPAPI插件开发学习:插件中多个dll文件的打包

利用NPAPI开发浏览器插件过程中,发现自己开发的插件调用了多个第三方dll动态库文件。起初按照火狐社区中的方法只在注册表中添加了自己开发的dll文件,未将第三方的dll文件进行注册,浏览器每次加载测试页面的时候,FireFox会出现死机,而且在任务管理器中可以发现有多个plugins-container.exe进程出现。于是在网络中搜索了有关dll打包整合以及NPAPI插件打包的相关资料。现整理

2016-09-07 11:44:25 1220

转载 NPAPI插件开发详细记录:安装包的制作

我们开发好的插件需要交给用户使用的,我们自己在开发的过程中可能有各式各样的方法来使插件可以运行,但是如果要交给用户使用,我们总不至于让用户自己去写注册表,或者让用户将咱们的dll复制到plugins目录下吧!为了让用户的安装操作简单化,介绍两种方法:按照扩展的方式将插件打包这种方式根据浏览器不同需要采取不同的打包方式,比如Firefox需要打包为xpi,而chrome则需要打包为crx

2016-09-07 11:42:43 904

转载 NPAPI脚本化接口

scriptable接口的实现,与属性有关的函数为HasProperty、GetProperty、SetProperty。在JS中设置属性(以bar为例)用plugin.bar=barvalue;来设置,获取属性直接用plugin.bar;如果要为插件创建属性,必须要在HasProperty中返回true,在GetProperty一般调用NPN_GetProperty(mNpp,sWindowOb

2016-09-07 11:41:05 319

转载 NPAPI插件开发

我们有时候需要调整插件窗口的尺寸大小,比如说,当你创建一个视频播放窗口,在用户点击播放之后想要将窗口的大小调整为视频的实际大小。播放完毕之后又将窗口尺寸调整回原来的尺寸大小。要实现这样一个功能,最简单的方式是写JS来实现,只需要首先用getElementById获取插件,然后设置其width属性和height属性。但是,通常情况下我们只管编写插件,不负责网页的设计,如果我们设计完一个插件,

2016-09-07 11:39:09 341

转载 FireBreath设置SDL窗体停靠在网页上面

这个针对在FireBreath里面使用SDL的窗体的一个说明。    当时在FireBreath使用SDL播放视频,视频窗体没有停靠网页上面,而是想一个对话框一样的在外面漂浮着的    找了好久,找到了一个相关的文章:在onWindowAttached里面调用set_sdl_window ();[cpp] view plain c

2016-09-07 11:38:04 516 1

转载 FireBreath开发实时播放接口(Yate + SIP + FFMPEG + SDL)

当时真的是需要这样的一个博文来指导做这个功能模块,可惜网上FireBreath的资料很少,本身对C++的不是很熟悉,所以一路上是不断尝试和摸索,好在马马虎虎的将这个模块实现了,现在记录下来。   首先说明一点,我们的Yate的 SIP Server和终端的SIP Client以及Android的上面的SIP Client还有Windows PC终端的SIP Client和Linux P

2016-09-07 11:37:18 512

转载 用firebreath开发支持所有浏览器的截屏控件

现今浏览器有很多种,其实大致可以分为两种,其一就是ie内核的浏览器,其二就是非ie内核的浏览器,前者是支持Activex控件的开发,而后者是支持NPAPI控件的开发,想要开发一个既可以支持ie内核的浏览器又支持非ie内核的浏览器控件,firebreath就是一个很好的选择,当然你们也可以开发两种对应不同的浏览器就好。这里不叙述firebreath的安装和如何使用,网上有很多相关的信息。

2016-09-07 11:26:19 972

转载 Firebreath新建工程的过程及使用

Firebreath的官方网站:http://www.firebreath.org/display/documentation/FireBreath+Home1、  下载firebreath源码(http://www.firebreath.org/display/documentation/Download),2、  下载firebreath需要的boost文件(tp://www.

2016-09-07 11:25:40 605

转载 wxWidgets结合firebreath开发插件

wxWidgets结合firebreath开发插件1、       编译wxWidget的时候,property->configuration Properties->c/c++->CodeGeneration->Runtime Library一项设置为Multi-threaded Debug(/MTd),因为firebreath生成的工程的这一项均是Multi-threaded Debu

2016-09-07 11:06:53 440

转载 NPAPI插件开发详细记录:用VS2010开发NPAPI插件步骤

前面一段时间关注了用firebreath开发插件,但是感觉用起来不是那么得心应手,还是回到NPAPI开发插件上来。本文根据NPAPI开发详解,Windows版进行开发,其中以VS2008为例进行开发,在VS2010中基本上是相同的。必须的plugin sdk,将其解压到某个目录下,我这里是:D:\Users\zcf\Documents\My Program\2012。下面是创建插件的步

2016-09-07 11:03:06 5303

转载 用FIREBREATH开发插件

在寻找插件开发资料的过程中找到了一个开发浏览器插件的开源项目——firebreath。参考:firebreath主页。根据其介绍可以实现各种浏览器插件的开发。于是我进行了尝试,并试图搜索利用firebreath开发插件的中文资料。搜索到的相关中文资料有一个:徐凡的博客。其中有使用firebreath开发浏览器插件(一、二、三)三篇关于firebreath开发插件的文章。看完了,但是还是不怎么会。

2016-09-07 10:58:49 1013 1

转载 使用FireBreath写浏览器插件

一. FireBreath介绍    FireBreath是一个跨平台和跨浏览器的插件开发框架,通过Firebreath写的插件可以运行在windows,linux和mac上的IE,Firefox,Chrome,Opera,Safari等浏览器上。FireBreath的主要开发者是Richard Bateman, 他工作在Facebook,FireBreath里面使用了不少Face

2016-09-07 10:51:38 1731

空空如也

空空如也

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

TA关注的人

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