关闭

Android USB Camera(2) : UVC协议分析

1. 前言 本文对USB的功能类协议USB Video Class(UVC)的具体设计进行介绍,但不会介绍USB基础协议,所以需要对USB基础协议有一定的了解,包括USB四大描述符以及四种传输方式。分析usb协议的重点在于描述符,这里将以实际设备的描述符为线索,贯穿、分析uvc协议。 2. UVC功能概述 UVC设备都是多Interface设备,这点同普通的u盘不同。UVC设备最起码有两个I...
阅读(3972) 评论(1)

Android USB Camera(1) : 调试记录

1. 前言 前段时间应为公司项目需要调试了一个uvc摄像头,这里做下记录。硬件平台为mt6735,软件平台为android 5.0 2. 底层配置 UVC全称是usb video class,一种usb视频规范。所有遵循uvc协议的摄像头都不需要安装额外的驱动,只需要一个通用驱动即可。Linux内核已经集成了uvc驱动,代码路径是kernel-3.10/drivers/med...
阅读(3371) 评论(6)

Android 5.0 Camera系统源码分析(5):Camera预览3A流程

本文分析的是Android Hal层的源码,硬件平台基于mt6735。之前几篇讲的预览流程中3A相关的环节都忽略了,现在重新整理下。3A指的是Auto Exposure,Auto Focus,Auto White Balance。这三个一起放上来代码实在太多了,这里将重点记录AF的代码。...
阅读(3460) 评论(4)

Android 5.0 Camera系统源码分析(4):Camera预览流程数据流

1. 前言,上一篇讲了怎么让Camera进入预览模式,提到了DisplayClient负责显示图像数据,而CamAdapter负责提供图像数据,这里主要记录了CamAdapter怎么获取图像,然后DisplayClient怎么将图像显示在屏幕上。2. DisplayClient,上一篇提到在setPreviewWindow的时候会构造并初始化DisplayClient,之前没有仔细分析,现在来看看...
阅读(2495) 评论(0)

Android 5.0 Camera系统源码分析(3):Camera预览流程控制流

本文分析的是Android系统源码,从frameworks层到hal层,记录了Camera进入预览模式的重点代码,主要为控制流程的代码,有关图像buffer的传递暂不涉及,硬件平台基于mt6735。由于某些函数比较复杂,在贴出代码时会适当对其进行简化。这里将分析app层令Camera进入预览模式的两个重点api:setPreviewDisplay和startPreview...
阅读(2554) 评论(0)

Android 5.0 Camera系统源码分析(2):Camera打开流程

1. 前言 本文将分析android系统源码,从frameworks层到hal层,暂不涉及app层和kernel层,属于自己对源码的总结,仅仅是贯穿代码流程,不会深入分析各个细节。由于某些函数比较复杂,在贴出代码时会适当对其进行简化 2. app层 从apk开始,简单列出各个入口函数 private void initCamera() { Camera mCamera = Ca...
阅读(3118) 评论(3)

Android 5.0 Camera系统源码分析(1):CameraService启动流程

本文将分析android系统源码,从frameworks层到hal层,暂不涉及app层和kernel层。由于某些函数比较复杂,在贴出代码时会适当对其进行简化。本文属于自己对源码的总结,仅仅是贯穿代码流程,不会深入分析各个细节。Android的各个子模块的启动都是从它们的Service的启动开始的,所以我们将从CameraService的启动开始分析。CameraService的启动就在MediaServer的main函数中,代码路径在:frameworks/av/media/mediaserver/main...
阅读(3827) 评论(5)
    个人资料
    • 访问:23010次
    • 积分:325
    • 等级:
    • 排名:千里之外
    • 原创:7篇
    • 转载:0篇
    • 译文:0篇
    • 评论:19条
    最新评论