|
Ce6.0摄像头驱动不支持高分辨率格式的YUV
[复制链接]
按照微软给的例子Camera_null来开发摄像头驱动,最近一直有个困扰,因为camera sensor ov3640过来的是YUV格式,拍照时候用到QXGA(2048*1536)分辨率,但DShow不支持,现象是CameraDshowApp.exe程序进入时候查询Pin,最终失败!我的设置如下:
/* 000=> RGB format */
MAKE_STREAM_MODE_RGB565(DCAM_StreamMode_001, 320, 240, 16, 30);//320x240 QVGA
MAKE_STREAM_MODE_RGB565(DCAM_StreamMode_002, 352, 288, 16, 15);//352x288 CIF
MAKE_STREAM_MODE_RGB565(DCAM_StreamMode_003, 640, 480, 16, 15);//640x480 VGA
MAKE_STREAM_MODE_RGB565(DCAM_StreamMode_004, 800, 600, 16, 15);//800x600 SVGA
MAKE_STREAM_MODE_RGB565(DCAM_StreamMode_005, 1024,768, 16, 15);//1024x768 XGA
MAKE_STREAM_MODE_RGB565(DCAM_StreamMode_006, 2048,1536,16, 15);//2048x1536 QXGA
//High resolution pic can only take RGB,not YUV
/* 100==> YUY2 format */
MAKE_STREAM_MODE_YUY2(DCAM_StreamMode_101, 320, -240, 16, 30);//320x240 QVGA
MAKE_STREAM_MODE_YUY2(DCAM_StreamMode_102, 352, -288, 16, 30);//352x288 CIF
MAKE_STREAM_MODE_YUY2(DCAM_StreamMode_103, 640, -480, 16, 15);//640x480 VGA
MAKE_STREAM_MODE_YUY2(DCAM_StreamMode_104, 800, -600, 16, 15);//800x600 SVGA
MAKE_STREAM_MODE_YUY2(DCAM_StreamMode_105, 1024,-768, 16, 15);//1024x768 XGA
MAKE_STREAM_MODE_YUY2(DCAM_StreamMode_106, 2048,-1536,16, 15);//2048x1536 QXGA
用DCAM_StreamMode_006拍照是可以的,但用DCAM_StreamMode_106就失败,用DCAM_StreamMode_105 XGA也可以,说明其不支持YUV高分辨率的图像。如果用DCAM_StreamMode_006,数据到来得软件转换YUV到RGB,太慢了点,所以想法看DCAM_StreamMode_106可行否,可以速度会提高很多。有点怀疑,是不是内存大小的限制???
|
|