[RK3288][Android6.0] 调试笔记 --- USB Camera旋转图像方法
2017-05-31 13:20
901 查看
Platform: Rockchip
OS: Android 6.0
Kernel: 3.10.92
HAL层修改:
通过修改orientation的值。
int camera_get_number_of_cameras(void)
{
......
if (ptr != NULL) {
ptr++;
camInfoTmp[cam_cnt&0x01].facing_info.orientation = atoi(ptr);
} else {
ALOGE("null");
camInfoTmp[cam_cnt&0x01].facing_info.orientation = 0;
}
......
}
驱动层修改:
通过修改驱动对应的capability.
static long uvc_v4l2_do_ioctl(struct file *file, unsigned int cmd, void *arg)
{
......
case VIDIOC_QUERYCAP:
{
struct v4l2_capability *cap = arg;
......
strlcpy(cap->card, vdev->name, sizeof cap->card);
}
......
}
上层获取当前orientation:
int camera_get_camera_info(int camera_id, struct camera_info *info)
{
......
info->facing = gCamInfos[camera_id].facing_info.facing;
......
}
OS: Android 6.0
Kernel: 3.10.92
HAL层修改:
通过修改orientation的值。
int camera_get_number_of_cameras(void)
{
......
if (ptr != NULL) {
ptr++;
camInfoTmp[cam_cnt&0x01].facing_info.orientation = atoi(ptr);
} else {
ALOGE("null");
camInfoTmp[cam_cnt&0x01].facing_info.orientation = 0;
}
......
}
驱动层修改:
通过修改驱动对应的capability.
static long uvc_v4l2_do_ioctl(struct file *file, unsigned int cmd, void *arg)
{
......
case VIDIOC_QUERYCAP:
{
struct v4l2_capability *cap = arg;
......
strlcpy(cap->card, vdev->name, sizeof cap->card);
}
......
}
上层获取当前orientation:
int camera_get_camera_info(int camera_id, struct camera_info *info)
{
......
info->facing = gCamInfos[camera_id].facing_info.facing;
......
}
相关文章推荐
- [RK3288][Android6.0] 调试笔记 --- 同时支持两颗USB UVC Camera
- [RK3288][Android6.0] 调试笔记 --- ECHI上的USB Camera无法打开
- [RK3288][Android6.0] 调试笔记 --- Camera HAL固定fps的方法
- [RK3288][Android6.0] 调试笔记 --- 如何区分两颗相同的USB UVC Camera
- [RK3288][Android6.0] 调试笔记 --- Camera配置信息dump方法
- [RK3288][Android6.0] 调试笔记 --- 屏幕显示旋转方法
- [RK3288][Android6.0] 调试笔记 --- 开机设置默认出厂时间方法
- [RK3288][Android6.0] 调试笔记 --- 测试I2C设备正常传输方法
- [RK3288][Android6.0] 调试笔记 --- Camera设备节点往后偏移
- [RK3288][Android6.0] 调试笔记 --- Camera没有权限打开问题
- [RK3288][Android6.0] 调试笔记 --- Ubuntu下重新签名apk方法
- [RK3288][Android6.0] 调试笔记 --- Camera丢帧检测
- [RK3288][Android6.0] 调试笔记 --- Recovery模式下显示旋转180度
- [RK3288][Android6.0] 调试笔记 --- 隐藏系统状态栏的方法
- [RK3288][Android6.0] 调试笔记 --- 同时支持多颗Camera打开的问题
- [RK3288][Android6.0] 调试笔记 --- 系统Dump Callstack方法
- [RK3288][Android6.0] 调试笔记 --- UVC Camera jpg和yuv数据帧dump
- [RK3288][Android6.0] 调试笔记 --- 原生Camera apk打开闪退
- [RK3288][Android6.0] 调试笔记 --- 系统识别不同硬件版本方法
- [RK3288][Android6.0] 调试笔记 --- 命令行录音方法