- 论坛徽章:
- 0
|
搞USB驱动好就了,还是有一些基本的问题没搞懂,拿出来请高手们指点。
在驱动经常要填充v4l2_pix_format结构体参数,其中有个参数是sizeimage表示的是存储一帧图片的内存大小;
奇怪的是当我在分析驱动程序时 发现对sizeimage赋值是多种多样的,如下
format->fmt.pix.sizeimage = width * height * 2; ------------------1
.sizeimage = (width * height * fmt->depth) >> 3;------------------2
.sizeimage = 176 * 144 * 3 / 8 + 590,---------------------------------3
sizeimage = 128 * 1024;------------------------------------------------4
sizeimage = pixfmt->height * 720 * 3 / 2;--------------------------5
sizeimage = pixfmt->height * 720 * 3 / 8;等--------------------------6
我现在的疑问是:.sizeimage究竟应该设置为多大。
我个人理解 如果像素值深度为24 图片大小为320x240 大小应该为320x240x24/8 (RGB数据)
如果是灰度值的话那么应改是 320x240 ;如果是YUV420的话那么就应该是320x240x24/8 x 3/2。
但是.sizeimage = 176 * 144 * 3 / 8 + 590,这种情况应该怎么理解呢?
请高手指点。
先谢了! |
|