我们现在预览没有问题,640*480的分辨率,但想在AM3715平台wince6.0,做500万拍照,wince的directshow架构就是那样,现在有两种方法:
1、在拍照瞬间,将OV5640配置成JPEG输出,然后抓取一帧数据到文件,完成拍照,但是OV端已经配置成功,AM3715这一端按照TRM上的和论坛上的TI工程师建议,怎么配置都无法成功,获取到的照片也是乱码。
2、直接抓去到yuv422 packed(也就是uyvy)格式的一帧数据,比如500万时,分辨率为2592*1944,文件大小为2592*1944*2,然后压缩成JPEG格式,尝试了多种方法,包括libjpeg等等,虽然直接压缩yuv422到JPEG,速度上非常慢,大概500W一张需要2S多一点时间,明显太慢了。
现在想用第一种方法,有做过的相关项目,给个建议也行。
备注:
我们平台用的camera是8位并口,应该算是10位的,数据线是data[9~2],接到OV5640上的d[9~2],没有CAM_WEN。
咨询了OV5640技术支持,他们说sensor在输出JPEG的时候,HREF,也就是接到HSYNC是数据水平同步的引脚,貌似在sensor输出JPEG时HREF需要接到CAM_WEN上才行?
Jian Zhou:
OV5640这颗芯片我们有客户在AM3703平台上试过,是可以抓到JPEG图像的,感觉还是时序配的不太正确。
miffy:
回复 Jian Zhou:
1、看到需要用到CAM_WEN,因为CCDC不知道压缩后的数据长度,有针对CAM_WEN的介绍,但是OV5640上没有相关的WEN(Write Enable)的介绍,不知能不能用到该信号;
2、看到CCP2_LCx_CTRL[7:2]是针对data format的设置的,默认是YUV422 big endian,没有在BSP中找到相关的代码,不知道是不是这个问题;
能不能给个debug方向建议。