HELP!! V4L2 problem on mini2440 using webcam

idt
Hi, all

I tested the example from v4l2 website (capture.c) on mini2440.

My problem is that when the program is run on the mini2440, the buffer size
is not what I expect.

The format setting is:
fmt.type                = V4L2_BUF_TYPE_VIDEO_CAPTURE;
fmt.fmt.pix.width       = 320;
fmt.fmt.pix.height      = 240;
fmt.fmt.pix.pixelformat = V4L2_PIX_FMT_YUYV;
fmt.fmt.pix.field       = V4L2_FIELD_INTERLACED;

The first webcam used is by Vimicro corp(with vid:pid=0ac8:301b).

The buffer size(length) = 32768. I guess it was a jpeg result.

The second webcam used is PCcam168(with vid:pid=05a9:a511).

The buffer size(length) = 233472. 233472>320*24083.

What format is it? 

How can I get data with RGB or YUV format? Or how can I tell if a webcam
provides RGB or YUV output, not jpeg output? 

Thanks!!