b206548be6
- Add bFrameIndex as a UVCG_FRAME_ATTR_RO for each frame size. - Automatically assign ascending bFrameIndex to each frame in a format. Before all "bFrameindex" attributes were set to "1" with no way to configure the gadget otherwise. This resulted in the host always negotiating for bFrameIndex 1 (i.e. the first frame size of the gadget). After the negotiation the host driver will set the user or application selected frame size, while the gadget is actually set to the first frame size. Now, when the containing format is linked into the streaming header, iterate over all child frame descriptors and assign ascending indices. The automatically assigned indices can be read from the new read only bFrameIndex configfs attribute in each frame descriptor item. Signed-off-by: Joel Pepper <joel.pepper@rwth-aachen.de> [Simplified documentation, renamed function, blank space update] Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
295 lines
9.6 KiB
Plaintext
295 lines
9.6 KiB
Plaintext
What: /config/usb-gadget/gadget/functions/uvc.name
|
|
Date: Dec 2014
|
|
KernelVersion: 4.0
|
|
Description: UVC function directory
|
|
|
|
streaming_maxburst - 0..15 (ss only)
|
|
streaming_maxpacket - 1..1023 (fs), 1..3072 (hs/ss)
|
|
streaming_interval - 1..16
|
|
|
|
What: /config/usb-gadget/gadget/functions/uvc.name/control
|
|
Date: Dec 2014
|
|
KernelVersion: 4.0
|
|
Description: Control descriptors
|
|
|
|
All attributes read only:
|
|
bInterfaceNumber - USB interface number for this
|
|
streaming interface
|
|
|
|
What: /config/usb-gadget/gadget/functions/uvc.name/control/class
|
|
Date: Dec 2014
|
|
KernelVersion: 4.0
|
|
Description: Class descriptors
|
|
|
|
What: /config/usb-gadget/gadget/functions/uvc.name/control/class/ss
|
|
Date: Dec 2014
|
|
KernelVersion: 4.0
|
|
Description: Super speed control class descriptors
|
|
|
|
What: /config/usb-gadget/gadget/functions/uvc.name/control/class/fs
|
|
Date: Dec 2014
|
|
KernelVersion: 4.0
|
|
Description: Full speed control class descriptors
|
|
|
|
What: /config/usb-gadget/gadget/functions/uvc.name/control/terminal
|
|
Date: Dec 2014
|
|
KernelVersion: 4.0
|
|
Description: Terminal descriptors
|
|
|
|
What: /config/usb-gadget/gadget/functions/uvc.name/control/terminal/output
|
|
Date: Dec 2014
|
|
KernelVersion: 4.0
|
|
Description: Output terminal descriptors
|
|
|
|
What: /config/usb-gadget/gadget/functions/uvc.name/control/terminal/output/default
|
|
Date: Dec 2014
|
|
KernelVersion: 4.0
|
|
Description: Default output terminal descriptors
|
|
|
|
All attributes read only:
|
|
iTerminal - index of string descriptor
|
|
bSourceID - id of the terminal to which this terminal
|
|
is connected
|
|
bAssocTerminal - id of the input terminal to which this output
|
|
terminal is associated
|
|
wTerminalType - terminal type
|
|
bTerminalID - a non-zero id of this terminal
|
|
|
|
What: /config/usb-gadget/gadget/functions/uvc.name/control/terminal/camera
|
|
Date: Dec 2014
|
|
KernelVersion: 4.0
|
|
Description: Camera terminal descriptors
|
|
|
|
What: /config/usb-gadget/gadget/functions/uvc.name/control/terminal/camera/default
|
|
Date: Dec 2014
|
|
KernelVersion: 4.0
|
|
Description: Default camera terminal descriptors
|
|
|
|
All attributes read only:
|
|
bmControls - bitmap specifying which controls are
|
|
supported for the video stream
|
|
wOcularFocalLength - the value of Locular
|
|
wObjectiveFocalLengthMax- the value of Lmin
|
|
wObjectiveFocalLengthMin- the value of Lmax
|
|
iTerminal - index of string descriptor
|
|
bAssocTerminal - id of the output terminal to which
|
|
this terminal is connected
|
|
wTerminalType - terminal type
|
|
bTerminalID - a non-zero id of this terminal
|
|
|
|
What: /config/usb-gadget/gadget/functions/uvc.name/control/processing
|
|
Date: Dec 2014
|
|
KernelVersion: 4.0
|
|
Description: Processing unit descriptors
|
|
|
|
What: /config/usb-gadget/gadget/functions/uvc.name/control/processing/default
|
|
Date: Dec 2014
|
|
KernelVersion: 4.0
|
|
Description: Default processing unit descriptors
|
|
|
|
All attributes read only:
|
|
iProcessing - index of string descriptor
|
|
bmControls - bitmap specifying which controls are
|
|
supported for the video stream
|
|
wMaxMultiplier - maximum digital magnification x100
|
|
bSourceID - id of the terminal to which this unit is
|
|
connected
|
|
bUnitID - a non-zero id of this unit
|
|
|
|
What: /config/usb-gadget/gadget/functions/uvc.name/control/header
|
|
Date: Dec 2014
|
|
KernelVersion: 4.0
|
|
Description: Control header descriptors
|
|
|
|
What: /config/usb-gadget/gadget/functions/uvc.name/control/header/name
|
|
Date: Dec 2014
|
|
KernelVersion: 4.0
|
|
Description: Specific control header descriptors
|
|
|
|
dwClockFrequency
|
|
bcdUVC
|
|
What: /config/usb-gadget/gadget/functions/uvc.name/streaming
|
|
Date: Dec 2014
|
|
KernelVersion: 4.0
|
|
Description: Streaming descriptors
|
|
|
|
All attributes read only:
|
|
bInterfaceNumber - USB interface number for this
|
|
streaming interface
|
|
|
|
What: /config/usb-gadget/gadget/functions/uvc.name/streaming/class
|
|
Date: Dec 2014
|
|
KernelVersion: 4.0
|
|
Description: Streaming class descriptors
|
|
|
|
What: /config/usb-gadget/gadget/functions/uvc.name/streaming/class/ss
|
|
Date: Dec 2014
|
|
KernelVersion: 4.0
|
|
Description: Super speed streaming class descriptors
|
|
|
|
What: /config/usb-gadget/gadget/functions/uvc.name/streaming/class/hs
|
|
Date: Dec 2014
|
|
KernelVersion: 4.0
|
|
Description: High speed streaming class descriptors
|
|
|
|
What: /config/usb-gadget/gadget/functions/uvc.name/streaming/class/fs
|
|
Date: Dec 2014
|
|
KernelVersion: 4.0
|
|
Description: Full speed streaming class descriptors
|
|
|
|
What: /config/usb-gadget/gadget/functions/uvc.name/streaming/color_matching
|
|
Date: Dec 2014
|
|
KernelVersion: 4.0
|
|
Description: Color matching descriptors
|
|
|
|
What: /config/usb-gadget/gadget/functions/uvc.name/streaming/color_matching/default
|
|
Date: Dec 2014
|
|
KernelVersion: 4.0
|
|
Description: Default color matching descriptors
|
|
|
|
All attributes read only:
|
|
bMatrixCoefficients - matrix used to compute luma and
|
|
chroma values from the color primaries
|
|
bTransferCharacteristics- optoelectronic transfer
|
|
characteristic of the source picutre,
|
|
also called the gamma function
|
|
bColorPrimaries - color primaries and the reference
|
|
white
|
|
|
|
What: /config/usb-gadget/gadget/functions/uvc.name/streaming/mjpeg
|
|
Date: Dec 2014
|
|
KernelVersion: 4.0
|
|
Description: MJPEG format descriptors
|
|
|
|
What: /config/usb-gadget/gadget/functions/uvc.name/streaming/mjpeg/name
|
|
Date: Dec 2014
|
|
KernelVersion: 4.0
|
|
Description: Specific MJPEG format descriptors
|
|
|
|
All attributes read only,
|
|
except bmaControls and bDefaultFrameIndex:
|
|
bFormatIndex - unique id for this format descriptor;
|
|
only defined after parent header is
|
|
linked into the streaming class;
|
|
read-only
|
|
bmaControls - this format's data for bmaControls in
|
|
the streaming header
|
|
bmInterfaceFlags - specifies interlace information,
|
|
read-only
|
|
bAspectRatioY - the X dimension of the picture aspect
|
|
ratio, read-only
|
|
bAspectRatioX - the Y dimension of the picture aspect
|
|
ratio, read-only
|
|
bmFlags - characteristics of this format,
|
|
read-only
|
|
bDefaultFrameIndex - optimum frame index for this stream
|
|
|
|
What: /config/usb-gadget/gadget/functions/uvc.name/streaming/mjpeg/name/name
|
|
Date: Dec 2014
|
|
KernelVersion: 4.0
|
|
Description: Specific MJPEG frame descriptors
|
|
|
|
bFrameIndex - unique id for this framedescriptor;
|
|
only defined after parent format is
|
|
linked into the streaming header;
|
|
read-only
|
|
dwFrameInterval - indicates how frame interval can be
|
|
programmed; a number of values
|
|
separated by newline can be specified
|
|
dwDefaultFrameInterval - the frame interval the device would
|
|
like to use as default
|
|
dwMaxVideoFrameBufferSize- the maximum number of bytes the
|
|
compressor will produce for a video
|
|
frame or still image
|
|
dwMaxBitRate - the maximum bit rate at the shortest
|
|
frame interval in bps
|
|
dwMinBitRate - the minimum bit rate at the longest
|
|
frame interval in bps
|
|
wHeight - height of decoded bitmap frame in px
|
|
wWidth - width of decoded bitmam frame in px
|
|
bmCapabilities - still image support, fixed frame-rate
|
|
support
|
|
|
|
What: /config/usb-gadget/gadget/functions/uvc.name/streaming/uncompressed
|
|
Date: Dec 2014
|
|
KernelVersion: 4.0
|
|
Description: Uncompressed format descriptors
|
|
|
|
What: /config/usb-gadget/gadget/functions/uvc.name/streaming/uncompressed/name
|
|
Date: Dec 2014
|
|
KernelVersion: 4.0
|
|
Description: Specific uncompressed format descriptors
|
|
|
|
bFormatIndex - unique id for this format descriptor;
|
|
only defined after parent header is
|
|
linked into the streaming class;
|
|
read-only
|
|
bmaControls - this format's data for bmaControls in
|
|
the streaming header
|
|
bmInterfaceFlags - specifies interlace information,
|
|
read-only
|
|
bAspectRatioY - the X dimension of the picture aspect
|
|
ratio, read-only
|
|
bAspectRatioX - the Y dimension of the picture aspect
|
|
ratio, read-only
|
|
bDefaultFrameIndex - optimum frame index for this stream
|
|
bBitsPerPixel - number of bits per pixel used to
|
|
specify color in the decoded video
|
|
frame
|
|
guidFormat - globally unique id used to identify
|
|
stream-encoding format
|
|
|
|
What: /config/usb-gadget/gadget/functions/uvc.name/streaming/uncompressed/name/name
|
|
Date: Dec 2014
|
|
KernelVersion: 4.0
|
|
Description: Specific uncompressed frame descriptors
|
|
|
|
bFrameIndex - unique id for this framedescriptor;
|
|
only defined after parent format is
|
|
linked into the streaming header;
|
|
read-only
|
|
dwFrameInterval - indicates how frame interval can be
|
|
programmed; a number of values
|
|
separated by newline can be specified
|
|
dwDefaultFrameInterval - the frame interval the device would
|
|
like to use as default
|
|
dwMaxVideoFrameBufferSize- the maximum number of bytes the
|
|
compressor will produce for a video
|
|
frame or still image
|
|
dwMaxBitRate - the maximum bit rate at the shortest
|
|
frame interval in bps
|
|
dwMinBitRate - the minimum bit rate at the longest
|
|
frame interval in bps
|
|
wHeight - height of decoded bitmap frame in px
|
|
wWidth - width of decoded bitmam frame in px
|
|
bmCapabilities - still image support, fixed frame-rate
|
|
support
|
|
|
|
What: /config/usb-gadget/gadget/functions/uvc.name/streaming/header
|
|
Date: Dec 2014
|
|
KernelVersion: 4.0
|
|
Description: Streaming header descriptors
|
|
|
|
What: /config/usb-gadget/gadget/functions/uvc.name/streaming/header/name
|
|
Date: Dec 2014
|
|
KernelVersion: 4.0
|
|
Description: Specific streaming header descriptors
|
|
|
|
All attributes read only:
|
|
bTriggerUsage - how the host software will respond to
|
|
a hardware trigger interrupt event
|
|
bTriggerSupport - flag specifying if hardware
|
|
triggering is supported
|
|
bStillCaptureMethod - method of still image caputre
|
|
supported
|
|
bTerminalLink - id of the output terminal to which
|
|
the video endpoint of this interface
|
|
is connected
|
|
bmInfo - capabilities of this video streaming
|
|
interface
|
|
|
|
What: /sys/class/udc/udc.name/device/gadget/video4linux/video.name/function_name
|
|
Date: May 2018
|
|
KernelVersion: 4.19
|
|
Description: UVC configfs function instance name
|