- 博客(7)
- 收藏
- 关注
原创 Android USB Camera(2) : UVC协议分析
1. 前言本文对USB的功能类协议USB Video Class(UVC)的具体设计进行介绍,但不会介绍USB基础协议,所以需要对USB基础协议有一定的了解,包括USB四大描述符以及四种传输方式。分析usb协议的重点在于描述符,这里将以实际设备的描述符为线索,贯穿、分析uvc协议。2. UVC功能概述UVC设备都是多Interface设备,这点同普通的u盘不同。UVC设备最起码有两个I
2016-12-08 19:15:18 26423 1
原创 Android USB Camera(1) : 调试记录
1. 前言前段时间应为公司项目需要调试了一个uvc摄像头,这里做下记录。硬件平台为mt6735,软件平台为android 5.02. 底层配置UVC全称是usb video class,一种usb视频规范。所有遵循uvc协议的摄像头都不需要安装额外的驱动,只需要一个通用驱动即可。Linux内核已经集成了uvc驱动,代码路径是kernel-3.10/drivers/med
2016-11-07 19:00:26 24943 13
原创 Android 5.0 Camera系统源码分析(5):Camera预览3A流程
本文分析的是Android Hal层的源码,硬件平台基于mt6735。之前几篇讲的预览流程中3A相关的环节都忽略了,现在重新整理下。3A指的是Auto Exposure,Auto Focus,Auto White Balance。这三个一起放上来代码实在太多了,这里将重点记录AF的代码。
2016-10-18 14:39:13 8670 5
原创 Android 5.0 Camera系统源码分析(4):Camera预览流程数据流
1. 前言,上一篇讲了怎么让Camera进入预览模式,提到了DisplayClient负责显示图像数据,而CamAdapter负责提供图像数据,这里主要记录了CamAdapter怎么获取图像,然后DisplayClient怎么将图像显示在屏幕上。2. DisplayClient,上一篇提到在setPreviewWindow的时候会构造并初始化DisplayClient,之前没有仔细分析,现在来看看
2016-10-17 14:46:06 7500 2
原创 Android 5.0 Camera系统源码分析(3):Camera预览流程控制流
本文分析的是Android系统源码,从frameworks层到hal层,记录了Camera进入预览模式的重点代码,主要为控制流程的代码,有关图像buffer的传递暂不涉及,硬件平台基于mt6735。由于某些函数比较复杂,在贴出代码时会适当对其进行简化。这里将分析app层令Camera进入预览模式的两个重点api:setPreviewDisplay和startPreview
2016-10-11 19:28:22 6175 1
原创 Android 5.0 Camera系统源码分析(2):Camera打开流程
1. 前言本文将分析android系统源码,从frameworks层到hal层,暂不涉及app层和kernel层,属于自己对源码的总结,仅仅是贯穿代码流程,不会深入分析各个细节。由于某些函数比较复杂,在贴出代码时会适当对其进行简化2. app层从apk开始,简单列出各个入口函数private void initCamera(){ Camera mCamera = Ca
2016-08-05 10:09:17 12304 3
原创 Android 5.0 Camera系统源码分析(1):CameraService启动流程
本文将分析android系统源码,从frameworks层到hal层,暂不涉及app层和kernel层。由于某些函数比较复杂,在贴出代码时会适当对其进行简化。本文属于自己对源码的总结,仅仅是贯穿代码流程,不会深入分析各个细节。Android的各个子模块的启动都是从它们的Service的启动开始的,所以我们将从CameraService的启动开始分析。CameraService的启动就在MediaServer的main函数中,代码路径在:frameworks/av/media/mediaserver/main
2016-08-01 15:11:04 8798 6
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人