]> www.infradead.org Git - users/jedix/linux-maple.git/commit
usb: gadget: uvc: configfs: Add frame-based frame format support
authorAkash Kumar <quic_akakum@quicinc.com>
Fri, 27 Sep 2024 15:21:38 +0000 (20:51 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 16 Oct 2024 08:45:47 +0000 (10:45 +0200)
commit7b5a58952fc3b51905c2963647485565df1e5e26
tree1f55b14296623dd52d94254701b45bb606b9d35d
parente1b2772ea957c91694aa91b90e4c0a1d7b0fb144
usb: gadget: uvc: configfs: Add frame-based frame format support

Add support for frame-based frame format, which can be used to support
multiple formats like H264 or H265, in addition to MJPEG and YUV frames.

The frame-based format is set to H264 by default, but it can be updated
to other formats by modifying the GUID through the guid configfs
attribute. Different structures are used for all three formats, as
H264 has a different structure compared to MJPEG and uncompressed
formats. These structures will be passed to the frame make function
based on the active format, using a common frame structure with
additional parameters needed only for frame-based formats. These
parameters are handled at runtime in the UVC driver.

Signed-off-by: Akash Kumar <quic_akakum@quicinc.com>
Link: https://lore.kernel.org/r/20240927152138.31416-1-quic_akakum@quicinc.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Documentation/ABI/testing/configfs-usb-gadget-uvc
drivers/usb/gadget/function/uvc_configfs.c
drivers/usb/gadget/function/uvc_configfs.h
drivers/usb/gadget/function/uvc_v4l2.c
include/uapi/linux/usb/video.h