Android 10 Camera源码分析4:Rockchip ISP1 Driver 分析
注:文章都是通过阅读各位前辈总结的资料 Android 10.0 && Linux(Kernel 4.19)Rockchip平台源码、加上自己的思考分析总结出来的,其中难免有理解不对的地方,欢迎大家批评指正。文章为个人学习、研究、欣赏之用,图文内容整理自互联网,如有侵权,请联系删除(◕‿◕),转载请注明出处(©Rockchip ©Android @Linux 版权所有),谢谢。(==文章基于 Kernel-4.19==)&&(==文章基于 Android 10.0==) 【zhoujinjian.com博客原图链接】 【开发板 Khadas Edge V】【开发板 Khadas Edge V Android 10.0 && Linux(Kernel 4.19)源码链接】
正是由于前人的分析和总结,帮助我节约了大量的时间和精力,特别感谢!!!
V4L2框架解析 camera linux v4l2相关接口 Rockchip ISP1 Driver
==源码(部分)==:F:\Khadas_Edge_Android_Q\kernel\in ...
Android 10 Camera源码分析3:videobuf2 申请与map、入队与出队
注:文章都是通过阅读各位前辈总结的资料 Android 10.0 && Linux(Kernel 4.19)Rockchip平台源码、加上自己的思考分析总结出来的,其中难免有理解不对的地方,欢迎大家批评指正。文章为个人学习、研究、欣赏之用,图文内容整理自互联网,如有侵权,请联系删除(◕‿◕),转载请注明出处(©Rockchip ©Android @Linux 版权所有),谢谢。(==文章基于 Kernel-4.19==)&&(==文章基于 Android 10.0==) 【zhoujinjian.com博客原图链接】 【开发板 Khadas Edge V】【开发板 Khadas Edge V Android 10.0 && Linux(Kernel 4.19)源码链接】
正是由于前人的分析和总结,帮助我节约了大量的时间和精力,特别感谢!!!
V4L2框架-videobuf2 camera linux v4l2相关接口
==源码(部分)==:F:\Khadas_Edge_Android_Q\kernel\include\uapi\li ...
Android 10 Camera源码分析2:V4L2简介
注:文章都是通过阅读各位前辈总结的资料 Android 10.0 && Linux(Kernel 4.19)Rockchip平台源码、加上自己的思考分析总结出来的,其中难免有理解不对的地方,欢迎大家批评指正。文章为个人学习、研究、欣赏之用,图文内容整理自互联网,如有侵权,请联系删除(◕‿◕),转载请注明出处(©Rockchip ©Android @Linux 版权所有),谢谢。(==文章基于 Kernel-4.19==)&&(==文章基于 Android 10.0==) 【zhoujinjian.com博客原图链接】 【开发板 Khadas Edge V】【开发板 Khadas Edge V Android 10.0 && Linux(Kernel 4.19)源码链接】
正是由于前人的分析和总结,帮助我节约了大量的时间和精力,特别感谢!!!
第一章 V4L2简介 linux v4l2学习之-消息机制 linux v4l2学习之-v4l2设备注册过程及各个设备之间的联系 V4L2框架解析
==源码(部分)==:F:\Khadas_Ed ...
Android 10 Camera源码分析1:MIPI CSI2总结基于DPHY2.1(转载)
注:文章都是通过阅读各位前辈总结的资料 Android 10.0 && Linux(Kernel 4.19)Rockchip平台源码、加上自己的思考分析总结出来的,其中难免有理解不对的地方,欢迎大家批评指正。文章为个人学习、研究、欣赏之用,图文内容整理自互联网,如有侵权,请联系删除(◕‿◕),转载请注明出处(©Rockchip ©Android @Linux 版权所有),谢谢。(==文章基于 Kernel-4.19==)&&(==文章基于 Android 10.0==) 【zhoujinjian.com博客原图链接】 【开发板 Khadas Edge V】【开发板 Khadas Edge V Android 10.0 && Linux(Kernel 4.19)源码链接】
正是由于前人的分析和总结,帮助我节约了大量的时间和精力,特别感谢!!!
[Gustav杂物间]:MIPI CSI-2总结: 基于DPHY2.1
==源码(部分)==:CSI(Camera Serial Interface)定义了摄像头外设与主机控制器之间的接口,旨在确定 ...
Android 10 Display System源码分析(9):App("com.android.testgreen")界面显示流程源码分析(2):Window加载显示流程分析(Android 10.0 && Kernel 4.15)
==源码(部分)==:packages/apps/testViewportGreen && testViewportBlue && testViewportRed/frameworks/base/core/java/android/app/frameworks/base/services/core/java/com/android/server/wm/frameworks/base/services/core/java/com/android/server/am/frameworks/base/services/core/java/com/android/server/policy/frameworks/native/services/surfaceflinger/frameworks/native/libs/gui/frameworks/native/libs/ui/
(一)、Window添加过程(1)、ActivityThread.performLaunchActivity()接着上一篇文章开始分析,performLaunchActivity() ...
Android 10 Display System源码分析(8):App("com.android.testgreen")界面显示流程源码分析(1):Activity启动流程分析(Android 10.0 && Kernel 4.15)
准备我们首先去除掉系统的:
123456adb rootadb remountadb shellrk3399_Android10:/system/bin # rm -rf bootanimationrk3399_Android10:/product/priv-app # rm -rf SystemUI/rk3399_Android10:/product/priv-app # rm -rf Launcher3QuickStep/
然后等待开机完成App(”com.android.testgreen”),抓取Log。setprop vendor.dump true。抓取的帧会按数字排列,还带分辨率参数。adb pull /data/dump/。抓到的bin文件可以用软件7yuv打开查看,格式设定为RGBA8888App(”com.android.testgreen”)渲染图:FrameBuffer渲染图:
效果图:
==源码(部分)==:packages/apps/testViewportGreen && testViewportBlue && testV ...
Android 10 Display System源码分析(7):Native Surface创建 && SurfaceFlinger合成流程分析(Android 10.0 && Kernel 4.15)
我们首先去除掉系统的:
1234rk3399_Android10:/system/bin # rm -rf bootanimationrk3399_Android10:/product/priv-app # rm -rf Settings/rk3399_Android10:/product/priv-app # rm -rf SystemUI/rk3399_Android10:/product/priv-app # rm -rf Launcher3QuickStep/
然后等待开机完成SurfaceFlinger_test_red,抓取Log。setprop vendor.dump true。抓取的帧会按数字排列,还带分辨率参数。adb pull /data/dump/。抓到的bin文件可以用软件7yuv打开查看,格式设定为RGBA8888Layer test#0渲染图:FrameBuffer渲染图:效果图:
(一)、Native Surface创建过程1.1.0 、Native Surface创建步骤123456789101112131415161718192021222324252 ...
Android 10 Display System源码分析(6):【DRM/KMS】HWComposer && Gralloc2 分析(Android 10.0 && Kernel 4.15)
(一)、DRM/KMS for Android介绍(1)、Pre-DRM world
Issues:
(2)、DRM world
Objectives:
(3)、Future
(二)、Android drm_hwcomposer介绍(1)、Android Hardware Composer 2.0What is Android’s Hardware Composer?● Determines the most efficient way to composite buffers with the availablehardware○ Overlay planes○ GPU composition○ Blit/2D engine● Often device specific and written by the display hardware OEM
Hardware Composer 1.x
Key Differences between 1.x and 2.0Increases API functions from 12 to 43● Adds support for HDR, c ...
Android 10 Display System源码分析(5):ModeTest分析(Android 10.0 && Kernel 4.15)
(一)、ModeTest显示图像
//modetestadb shellmodetest -M rockchipEncoders:id crtc type possible crtcs possible clones88 56 DSI 0x00000001 0x00000000&&89 88 connected DSI-1 0x0 1 88stopmodetest -M rockchip -s 89@56:1088x1920 -v //connector@crtc = 89@56
(二)、ModeTest显示流程图Flow
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686 ...
Android 10 Display System源码分析(4):DRM/KMS分析(Android 10.0 && Kernel 4.15)
(一)、DRM/KMS简介(1)、DRM(Direct Rendering Manager)简介DRM 是 Linux 目前主流的图形显示框架,相比 FB 架构,DRM 更能适应当前日益更新的显示硬件。比如 FB 原生不支持多层合成,不支持 VSYNC,不支持 DMA-BUF,不支持异步更新,不支持 fence 机制等等,而这些功能 DRM 原生都支持。同时 DRM 可以统一管理 GPU 和 Display 驱动,使得软件架构更为统一,方便管理和维护。
DRM 从模块上划分,可以简单分为 3 部分:libdrm、KMS、GEM
1.1、libdrm对底层接口进行封装,向上层提供通用的 API 接口,主要是对各种 IOCTL 接口进行封装。
1.2、GEMGraphic Execution Manager,主要负责显示 buffer 的分配和释放,也是 GPU 唯一用到 DRM 的地方。
1.3、基本元素DRM 框架涉及到的元素很多,大致如下:KMS:CRTC,ENCODER,CONNECTOR,PLANE,FB,VBLANK,propertyGEM:DUMB、PRIME、fence
...