Hello, On Tue, Apr 19, 2022 at 01:46:15PM +0200, Ricardo Ribalda wrote: > On Mon, 18 Apr 2022 at 11:07, James_Lin <Ping-lei.Lin@xxxxxxxxxxxx> wrote: > > > > This patch aims to add UVC_GUID_FORMAT_H265 > > High Efficiency Video Coding (HEVC), also known as H.265 and MPEG-H Part 2. > > They describe the same video encoding method. > > So for handling their behavior is the same. > > However, when external camera device describes this encoding method, > > some use hevc, some use h265. > > There is no uniform specification to describe this encoding method. > > So if an external camera device use h265 to describe this encoding method, > > driver will not recognize it. > > Therefore, this patch is to enable driver to read HEVC/H265 > > and convert it to V4L2_PIX_FMT_HEVC. > > > > Signed-off-by: James_Lin <Ping-lei.Lin@xxxxxxxxxxxx> > > Reviewed-by: Ricardo Ribalda <ribalda@xxxxxxxxxxxx> > > --- > > drivers/media/usb/uvc/uvc_driver.c | 5 +++++ > > drivers/media/usb/uvc/uvcvideo.h | 3 +++ > > 2 files changed, 8 insertions(+) > > > > diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c > > index dda0f0aa78b8..e437e9f95890 100644 > > --- a/drivers/media/usb/uvc/uvc_driver.c > > +++ b/drivers/media/usb/uvc/uvc_driver.c > > @@ -154,6 +154,11 @@ static struct uvc_format_desc uvc_fmts[] = { > > .guid = UVC_GUID_FORMAT_H264, > > .fcc = V4L2_PIX_FMT_H264, > > }, > > Maybe I would add a comment here saying that some cameras represent > hevc as h265. I wish there would be a 4CC and GUID standard with a centralized registry... Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > > + { > > + .name = "H.265", > > + .guid = UVC_GUID_FORMAT_H265, > > + .fcc = V4L2_PIX_FMT_HEVC, > > + }, > > { > > .name = "Greyscale 8 L/R (Y8I)", > > .guid = UVC_GUID_FORMAT_Y8I, > > diff --git a/drivers/media/usb/uvc/uvcvideo.h b/drivers/media/usb/uvc/uvcvideo.h > > index 143230b3275b..41f4d8c33f2a 100644 > > --- a/drivers/media/usb/uvc/uvcvideo.h > > +++ b/drivers/media/usb/uvc/uvcvideo.h > > @@ -139,6 +139,9 @@ > > #define UVC_GUID_FORMAT_H264 \ > > { 'H', '2', '6', '4', 0x00, 0x00, 0x10, 0x00, \ > > 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71} > > +#define UVC_GUID_FORMAT_H265 \ > > + { 'H', '2', '6', '5', 0x00, 0x00, 0x10, 0x00, \ > > + 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71} > > #define UVC_GUID_FORMAT_Y8I \ > > { 'Y', '8', 'I', ' ', 0x00, 0x00, 0x10, 0x00, \ > > 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71} -- Regards, Laurent Pinchart