On Thursday 29 January 2009 09:28:07 Shah, Hardik wrote: > > -----Original Message----- > > From: DongSoo Kim [mailto:dongsoo.kim@xxxxxxxxx] > > Sent: Thursday, January 29, 2009 1:14 PM > > To: Shah, Hardik > > Cc: linux-media@xxxxxxxxxxxxxxx; video4linux-list@xxxxxxxxxx > > Subject: Re: [PATCHv2] New V4L2 ioctls for OMAP class of Devices > > > > Hello. > > > > > +#define VIDIOC_S_COLOR_SPACE_CONV _IOW('V', 83, struct > > > > v4l2_color_space_conversion) > > > > > +#define VIDIOC_G_COLOR_SPACE_CONV _IOR('V', 84, struct > > > > v4l2_color_space_conversion) > > > > Do you mind if I ask a question about those ioctls? > > Because as far as I understand, we can use VIDIOC_S_FMT ioctl to > > convert colorspaces. Setting through colorspace member in > > v4l2_pix_format, we could change output colorspace. > > If there is some different use, can you tell me what it is? > > [Shah, Hardik] OMAP Display sub-system supports various pixel formats as > inputs like YUV, UYVY, RGB24, RGB16 but the compositors which take these > input format and displays on to the output devices like TV, LCD can only > understand RGB format. Hardware has provision for converting any data > taken in YUV or UYVY format to be converted into the RGB formats, before > giving it to the output devices. To convert this hardware needs to be > programmed with correct coefficient and offsets to convert from YUV to > RGB. Does that mean that when I select a YUV format for output, I still need to call the color space conversion ioctl? That is not right. Selecting a format must setup the CSC with decent defaults. I assumed the CSC ioctls were only meant for fine-grained control: first you call S_FMT to select the pixelformat which sets up the CSC with defaults, then you call VIDIOC_G/S_COLOR_SPACE_CONV to modify them if needed. Regards, Hans > These coefficients are pretty standard but still some one may > require altering it. For this new ioctl is added. Standard equation for > converting from YUV or UYVY is > > | R | | RY RCr RCb | | Y - 16 | > | G | = 1/K | Gy GCr Gcb | * | Cr - 128 | > | B | | By BCr BCb | | Cb - 128 | > > Where Ry, Rcr, Rcb Gy, Gcr, Gcb, By, Bcr and Bcb are the programmable > coefficients. But in future offsets like Y-16, Cr-128 or Cb-128 or > constant like 1/K may also be programmable. So I have added this new > ioctl. > > Regards, > Hardik Shah > > > Regards, > > Nate > > > > -- > > ======================================================== > > Dong Soo, Kim > > Engineer > > Mobile S/W Platform Lab. S/W centre > > Telecommunication R&D Centre > > Samsung Electronics CO., LTD. > > e-mail : dongsoo.kim@xxxxxxxxx > > dongsoo45.kim@xxxxxxxxxxx > > ======================================================== > > -- > To unsubscribe from this list: send the line "unsubscribe linux-media" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- Hans Verkuil - video4linux developer - sponsored by TANDBERG -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html