fimc_capture_scaler_info: invalid source size(sx : -806203264, sy : -815800792)

文章详细介绍了在将Android 2.2系统的摄像头驱动移植到Android 2.3系统时遇到的问题及解决方案,重点讨论了错误信息解析、驱动代码修改和配置调整,最终成功解决了移植过程中的摄像头驱动兼容性问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

平台: s5pc110

系统: android2.3

摄像头:bf3703、s5k5ba、gc0308、gt2005

1、在andorid2.2系统上调试好的摄像头驱动,移植到android2.3过程中有以下错误:

[36.338839] bf3703_enum_framesizes

[36.341381] bf3703_s_ctrl

[36.343985] xu_bin sx= -806203264,sy = -815800792,tx= 640,ty= 480

[36.350045] s3c-fimc-0 :fimc_capture_scaler_info: invalid source size(sx : -806203264, sy : -815800792)

报错位置:driver\media\video\samsung\fimc\fimc_capture.c中

static int fimc_capture_scaler_info(struct fimc_control *ctrl)

{

struct fimc_scaler *sc = &ctrl->sc;

struct v4l2_rect *window = &ctrl->cam->window;

int tx, ty, sx, sy;

sx = window->width;

sy = window->height;

tx = ctrl->cap->fmt.width;

ty = ctrl->cap->fmt.height;

sc->real_width = sx;

sc->real_height = sy;

printk("xu_bin sx= %d,sy = %d,tx= %d,ty= %d\n",sx,sy,tx,ty);

fimc_dbg("%s: CamOut (%d, %d), TargetOut (%d, %d)\n", \

__func__, sx, sy, tx, ty);

if (sx <= 0 || sy <= 0) {

fimc_err("%s: invalid source size(sx : %d, sy : %d)\n",

__func__, sx, sy);

return -EINVAL;

}

2,在android2.3的内核中要加入下面红色部分:

static int GT2005_enum_framesizes(struct v4l2_subdev *sd, \

struct v4l2_frmsizeenum *fsize)

{

int err = 0;

#if 1//modify by xu_bin for GB

fsize->type = V4L2_FRMSIZE_TYPE_DISCRETE;

fsize->discrete.width = 640;

fsize->discrete.height = 480;

#endif

return err;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值