[PATCH v3] media: usb: uvc: Add UVC_GUID_FORMAT_H265

James_Lin Ping-lei.Lin at mediatek.com
Thu Apr 21 02:23:54 PDT 2022


Hi All,

Do I need to add the comment 
"some cameras represent hevc as h265"
at /drivers/media/usb/uvc/uvc_driver.c ?
Also, is there anything else that needs to be modified?

Or can it move to queue on next merged window?
thanks for your reply

Best regards,
James_Lin

On WED, 20 Apr 2022 at 01:37, Nicolas Dufresne <nicolas at ndufresne.ca> wrote:
> Le mardi 19 avril 2022 à 14:18 +0200, Ricardo Ribalda a écrit :
> > On Tue, 19 Apr 2022 at 14:17, Laurent Pinchart 
> > <laurent.pinchart at ideasonboard.com> wrote:
> > > 
> > > 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 at mediatek.com> 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 at mediatek.com>
> > > > 
> > > > Reviewed-by: Ricardo Ribalda <ribalda at chromium.org>
> > > > > ---
> > > > >  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...
> > 
> > Thought that was the kernel codebase :)
> 
> You'll find multiple fourcc for the same thing in the linux kernel ;-P
> 
> > 
> > > 
> > > Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> > > 
> > > > > +       {
> > > > > +               .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
> > 
> > 
> > 



More information about the linux-arm-kernel mailing list