linux/drivers/media/usb
Philipp Zabel 07b7d9fc2a media: uvcvideo: Support multiple frame descriptors with the same dimensions
The Microsoft HoloLens Sensors device has two separate frame descriptors
with the same dimensions, each with a single different frame interval:

      VideoStreaming Interface Descriptor:
        bLength                            30
        bDescriptorType                    36
        bDescriptorSubtype                  5 (FRAME_UNCOMPRESSED)
        bFrameIndex                         1
        bmCapabilities                   0x00
          Still image unsupported
        wWidth                           1280
        wHeight                           481
        dwMinBitRate                147763200
        dwMaxBitRate                147763200
        dwMaxVideoFrameBufferSize      615680
        dwDefaultFrameInterval         333333
        bFrameIntervalType                  1
        dwFrameInterval( 0)            333333
      VideoStreaming Interface Descriptor:
        bLength                            30
        bDescriptorType                    36
        bDescriptorSubtype                  5 (FRAME_UNCOMPRESSED)
        bFrameIndex                         2
        bmCapabilities                   0x00
          Still image unsupported
        wWidth                           1280
        wHeight                           481
        dwMinBitRate                443289600
        dwMaxBitRate                443289600
        dwMaxVideoFrameBufferSize      615680
        dwDefaultFrameInterval         111111
        bFrameIntervalType                  1
        dwFrameInterval( 0)            111111

Skip duplicate dimensions in enum_framesizes, let enum_frameintervals list
the intervals from both frame descriptors. Change set_streamparm to switch
to the correct frame index when changing the interval. This enables 90 fps
capture on a Lenovo Explorer Windows Mixed Reality headset.

[laurent.pinchart@ideasonboard.com: Renamed tmp_ival to ival]

Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2018-02-23 02:10:41 -05:00
..
airspy media: usb: make video_device const 2017-08-27 08:45:32 -04:00
as102 media: fix usage of whitespaces and on indentation 2018-01-04 13:12:01 -05:00
au0828 media: replace all <spaces><tab> occurrences 2018-01-04 13:15:05 -05:00
b2c2 media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
cpia2 vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
cx231xx vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
dvb-usb media: cxusb, dib0700: ignore XC2028_I2C_FLUSH 2018-01-29 07:47:47 -05:00
dvb-usb-v2 media: move dvb kAPI headers to include/media 2017-12-28 13:16:01 -05:00
em28xx media: convert g/s_parm to g/s_frame_interval in subdevs 2018-02-22 12:27:35 -05:00
go7007 License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
gspca vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
hackrf media: usb: make video_device const 2017-08-27 08:45:32 -04:00
hdpvr vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
msi2500 media: usb: fix spelling mistake: "synchronuously" -> "synchronously" 2017-11-07 03:47:09 -05:00
pulse8-cec media: pulse8-cec: print time using time64_t 2017-12-08 11:08:22 -05:00
pvrusb2 vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
pwc media: replace all <spaces><tab> occurrences 2018-01-04 13:15:05 -05:00
rainshadow-cec media: usb: rainshadow-cec: constify serio_device_id 2017-08-20 08:27:29 -04:00
s2255 media: s2255drv: update firmware load 2017-12-08 10:43:59 -05:00
siano media: replace all <spaces><tab> occurrences 2018-01-04 13:15:05 -05:00
stk1160 media: replace all <spaces><tab> occurrences 2018-01-04 13:15:05 -05:00
stkwebcam vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
tm6000 vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
ttusb-budget media updates for v4.16-rc1 2018-02-06 11:27:48 -08:00
ttusb-dec media updates for v4.16-rc1 2018-02-06 11:27:48 -08:00
usbtv media: fix usage of whitespaces and on indentation 2018-01-04 13:12:01 -05:00
usbvision media: don't include drivers/media/i2c at cflags 2017-12-28 14:14:09 -05:00
uvc media: uvcvideo: Support multiple frame descriptors with the same dimensions 2018-02-23 02:10:41 -05:00
zr364xx media: annotate ->poll() instances 2017-11-27 16:20:06 -05:00
Kconfig [media] rainshadow-cec: new RainShadow Tech HDMI CEC driver 2017-04-10 12:42:10 -03:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00