Re: [PATCHv2] New V4L2 ioctls for OMAP class of Devices

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux