Platform: rk3399
OS: Android 7.1
Kernel: v4.4.83
HAL中在new CamaerHal对象的时候会根据不同类型的sensor创建不同的adapter,以下是区别:
- CameraUSBAdapter: USB接口类型的摄像头,走v4l2.
- CameraIspSOCAdapter:dvp接口,isp控制器接收。
- CameraIspAdapter:mipi接口,isp控制器接收,不走v4l2.
- CameraSOCAdapter:dvp接口,VIP控制器接收。
到rk3399上, 据说VIP控制器已经没有了,TRM不知道是因为不全还是没有写VIP的信息,至少ISP的内容也是没看到的。
像素低的camera,一般用yuv格式,用dvp接口传输;
像素高的camera,一般用raw格式,用mipi来传输,因为相对来说raw的数据量更小,mipi传输的速率更高。
调用在CameraHal.cpp:
if((strcmp(gCamInfos[cameraId].driver,"uvcvideo") == 0)) {
LOGD("it is a uvc camera!");
mCameraAdapter