[PATCH v3] media: usb: uvc: Add UVC_GUID_FORMAT_H265
Ricardo Ribalda
ribalda at chromium.org
Tue Apr 19 04:46:15 PDT 2022
Hi James
Thanks for your patch
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.
> + {
> + .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}
> --
> 2.18.0
>
--
Ricardo Ribalda
More information about the Linux-mediatek
mailing list