读书人

6410 CAMERA解决方法

发布时间: 2012-06-21 13:42:41 作者: rapoo

6410 CAMERA
平台:S3C6410 + WinCE6.0

现象: 在三星官方BSP 原有CAMERA驱动的基础上进行修改,支持OV3640(300万像素)

现在 preview :640x480 still:1024x768 是OK的,但是,当把still设为2048x1536时,就失败了。

我不知道要如何配置pin。

1024x768时的配置是:
//-------------------------------------------
MAKE_STREAM_MODE_RGB565(DCAM_StreamMode_12, 1024,768, 16, 3);

PDDInit()函数如下:
m_pModeVideoFormat[STILL].pCsDataRangeVideo[0] = &DCAM_StreamMode_12;//&;//&;DCAM_StreamMode_10 DCAM_StreamMode_13
//用于拍照;//DCAM_StreamMode_14
m_pModeVideoFormat[STILL].pCsDataRangeVideo[1] = &DCAM_StreamMode_8;

CameraSetFormat()函数

else if(BufferType == STILL_CAPTURE_BUFFER)
{
Still_Buffer.Width = width;
Still_Buffer.Height = height;
Still_Buffer.Format = format;

//--------------------------------set sensor data----
ModuleSetImageSize(XGA); //设置模组 1024 x 768输出
//ModuleSetImageSize(QXGA);
//---------------------------------

}

ModuleWriteBlock()函数
int ModuleWriteBlock()
{
int i;
UCHAR BUF=0;
UCHAR DataRead =0;
RETAILMSG(0,(TEXT("+ModuleWriteBlock\n")));
for(i=0; i<(sizeof(OV3640_YCbCr8bit)/3); i++)
{
HW_WriteRegisters(&OV3640_YCbCr8bit[i][0], 3);
}

ModuleSetImageSize(V640_480); //设置模组输出640x480
RETAILMSG(0,(TEXT("-ModuleWriteBlock\n")));

return TRUE;
}

//--------------------------------

我尝试了很多,比如把m_pModeVideoFormat[STILL].pCsDataRangeVideo[0] = &DCAM_StreamMode_14
MAKE_STREAM_MODE_YV12(DCAM_StreamMode_14, 2048, -1536, 12, 3);但是,这样会崩溃。



请教高手,当我要2048x1536 时,我该如何配置pin?
在PDDInit()函数,我该如何设m_pModeVideoFormat[STILL].pCsDataRangeVideo[0] = ?






[解决办法]

探讨
怎么个错误法,把你的错误贴出来,很有可能是内存不够引起。还有你的应用软件是有什么写的?若dshow的话,它要分配十个缓存传递给驱动。想想吧。30M内存被干掉了。
~~~~~~~

[解决办法]
探讨
引用:
怎么个错误法,把你的错误贴出来,很有可能是内存不够引起。还有你的应用软件是有什么写的?若dshow的话,它要分配十个缓存传递给驱动。想想吧。30M内存被干掉了。
~~~~~~~

这个言过其实了吧,分配的缓存数量在dshow里面是可以设置的,一般不会设这么多

读书人网 >WinCE

热点推荐