uvideo problems with mjpeg on external cameras

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

uvideo problems with mjpeg on external cameras

Laurence Tratt
External webcams don't seem to work fully correctly with the uvideo driver
and mjpeg? If I use this command as an example (since it's cross platform):

  $ ffmpeg -f v4l2 -input_format mjpeg -video_size 1280x720 -framerate 30 \
    -i /dev/video0 webcam.mkv

on my X1 Carbon (6th gen), the internal camera produces correct output, but
an external Logitech C920s produces endless warnings along the lines of:

  [mjpeg @ 0xe666c20b800] mjpeg_decode_dc: bad vlc: 0:0 (0xe66ec71f248)
  [mjpeg @ 0xe666c20b800] error dc
  [mjpeg @ 0xe666c20b800] error y=57 x=9
  [mjpeg @ 0xe666c20b800] Found EOI before any SOF, ignoring
  [mjpeg @ 0xe666c20b800] No JPEG data found in image
  Error while decoding stream #0:0: Invalid data found when processing input
  [mjpeg @ 0xe666c20b800] Found EOI before any SOF, ignoring
  [mjpeg @ 0xe666c20b800] No JPEG data found in image
  Error while decoding stream #0:0: Invalid data found when processing input

A video is produced, but it is at roughly 2fps and most frames are corrupted
(either partially captured or sheared). The same thing happens on my desktop
with the C920s. However, the same C920s on Linux on an older 3rd gen X1
Carbon produces correct output at 30fps, so the webcam itself doesn't seem
to be at fault.

I can get correct output from the C920s with:

  $ ffmpeg -f v4l2 -video_size 1280x720 -framerate 30 \
    -i /dev/video0 webcam.mkv

but at a framerate of only 10fps. I get the same 10fps with:

  $ video -s 1280x720

[Weirdly, sometimes, "video" only produces output the first time it's
invoked, with subsequent invocations just producing a black screen. ffmpeg
continues to capture video no matter how many times it's run.]

The framerate isn't too surprising if we use "video" to query the webcam:

  $ video -q -f /dev/video0
  video device /dev/video0:
  encodings: yuy2
  frame sizes (width x height, in pixels) and rates (in frames per second):
        160x90: 30, 24, 20, 15, 10, 7, 5
        160x120: 30, 24, 20, 15, 10, 7, 5
        176x144: 30, 24, 20, 15, 10, 7, 5
        320x180: 30, 24, 20, 15, 10, 7, 5
        320x240: 30, 24, 20, 15, 10, 7, 5
        352x288: 30, 24, 20, 15, 10, 7, 5
        432x240: 30, 24, 20, 15, 10, 7, 5
        640x360: 30, 24, 20, 15, 10, 7, 5
        640x480: 30, 24, 20, 15, 10, 7, 5
        800x448: 30, 24, 20, 15, 10, 7, 5
        800x600: 24, 20, 15, 10, 7, 5
        864x480: 24, 20, 15, 10, 7, 5
        960x720: 15, 10, 7, 5
        1024x576: 15, 10, 7, 5
        1280x720: 10, 7, 5
        1600x896: 7, 5
        1920x1080: 5
  controls: brightness, contrast, saturation, gain, sharpness

though ffmpeg also lists the mjpeg modes:

  $ ffmpeg -f v4l2 -list_formats all -i /dev/video0
  ffmpeg version 4.3 Copyright (c) 2000-2020 the FFmpeg developers
    built with OpenBSD clang version 8.0.1 (tags/RELEASE_801/final) (based on LLVM 8.0.1)
    configuration: --enable-shared --arch=amd64 --cc=cc --disable-altivec --disable-debug --disable-indev=jack --disable-indev=oss --disable-mipsdsp --disable-mipsdspr2 --disable-mipsfpu --disable-mmi --disable-msa --disable-outdev=oss --disable-outdev=sdl2 --enable-avresample --enable-fontconfig --enable-frei0r --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libdav1d --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libmp3lame --enable-libopus --enable-libspeex --enable-libtheora --enable-libv4l2 --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-nonfree --enable-openssl --extra-cflags='-I/usr/local/include -I/usr/X11R6/include' --extra-libs='-L/usr/local/lib -L/usr/X11R6/lib' --extra-ldsoflags= --mandir=/usr/local/man --objcc=/usr/bin/false --optflags='-O2 -pipe -Wno-redundant-decls'
    libavutil      56. 51.100 / 56. 51.100
    libavcodec     58. 91.100 / 58. 91.100
    libavformat    58. 45.100 / 58. 45.100
    libavdevice    58. 10.100 / 58. 10.100
    libavfilter     7. 85.100 /  7. 85.100
    libavresample   4.  0.  0 /  4.  0.  0
    libswscale      5.  7.100 /  5.  7.100
    libswresample   3.  7.100 /  3.  7.100
    libpostproc    55.  7.100 / 55.  7.100
  [video4linux2,v4l2 @ 0x15539494c000] Raw       :     yuyv422 :                 YUYV : 640x480 160x90 160x120 176x144 320x180 320x240 352x288 432x240 640x360 800x448 800x600 864x480 960x720 1024x576 1280x720 1600x896 1920x1080
  [video4linux2,v4l2 @ 0x15539494c000] Compressed:       mjpeg :                MJPEG : 640x480 160x90 160x120 176x144 320x180 320x240 352x288 432x240 640x360 800x448 800x600 864x480 960x720 1024x576 1280x720 1600x896 1920x1080
  /dev/video0: Immediate exit requested

When I run the FFmpeg command at the top of this email with debugging turned
on in uvideo.c I get lots of warnings including:

  uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
  ...
  uvideo0: uvideo_mmap_queue: mmap queue is full!uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!

I attach a full dmesg with this debugging turned on in case it's useful.


Laurie



OpenBSD 6.7-current (GENERIC.MP) #2: Wed Jun 24 08:37:39 BST 2020
    [hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
real mem = 17028239360 (16239MB)
avail mem = 16497127424 (15732MB)
random: good seed from bootblocks
mpath0 at root
scsibus0 at mpath0: 256 targets
mainbus0 at root
bios0 at mainbus0: SMBIOS rev. 3.0 @ 0xc3200000 (89 entries)
bios0: vendor American Megatrends Inc. version "3805" date 05/16/2018
bios0: ASUSTeK COMPUTER INC. Z170M-PLUS
acpi0 at bios0: ACPI 6.1
acpi0: sleep states S0 S3 S4 S5
acpi0: tables DSDT FACP APIC FPDT BGRT MCFG SSDT FIDT SSDT SSDT HPET SSDT SSDT UEFI SSDT LPIT WSMT SSDT SSDT DBGP DBG2
acpi0: wakeup devices PEG0(S4) PEGP(S4) PEG1(S4) PEGP(S4) PEG2(S4) PEGP(S4) SIO1(S3) UAR1(S4) RP09(S4) PXSX(S4) RP10(S4) PXSX(S4) RP11(S4) PXSX(S4) RP12(S4) PXSX(S4) [...]
acpitimer0 at acpi0: 3579545 Hz, 24 bits
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz, 4011.39 MHz, 06-5e-03
cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,TSC_ADJUST,SGX,BMI1,HLE,AVX2,SMEP,BMI2,ERMS,INVPCID,RTM,MPX,RDSEED,ADX,SMAP,CLFLUSHOPT,PT,MD_CLEAR,TSXFA,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,XSAVEC,XGETBV1,XSAVES,MELTDOWN
cpu0: 256KB 64b/line 8-way L2 cache
cpu0: smt 0, core 0, package 0
mtrr: Pentium Pro MTRR support, 10 var ranges, 88 fixed ranges
cpu0: apic clock running at 24MHz
cpu0: mwait min=64, max=64, C-substates=0.2.1.2.4.1, IBE
cpu1 at mainbus0: apid 2 (application processor)
cpu1: Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz, 4009.91 MHz, 06-5e-03
cpu1: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,TSC_ADJUST,SGX,BMI1,HLE,AVX2,SMEP,BMI2,ERMS,INVPCID,RTM,MPX,RDSEED,ADX,SMAP,CLFLUSHOPT,PT,MD_CLEAR,TSXFA,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,XSAVEC,XGETBV1,XSAVES,MELTDOWN
cpu1: 256KB 64b/line 8-way L2 cache
cpu1: smt 0, core 1, package 0
cpu2 at mainbus0: apid 4 (application processor)
cpu2: Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz, 4009.91 MHz, 06-5e-03
cpu2: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,TSC_ADJUST,SGX,BMI1,HLE,AVX2,SMEP,BMI2,ERMS,INVPCID,RTM,MPX,RDSEED,ADX,SMAP,CLFLUSHOPT,PT,MD_CLEAR,TSXFA,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,XSAVEC,XGETBV1,XSAVES,MELTDOWN
cpu2: 256KB 64b/line 8-way L2 cache
cpu2: smt 0, core 2, package 0
cpu3 at mainbus0: apid 6 (application processor)
cpu3: Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz, 4009.91 MHz, 06-5e-03
cpu3: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,TSC_ADJUST,SGX,BMI1,HLE,AVX2,SMEP,BMI2,ERMS,INVPCID,RTM,MPX,RDSEED,ADX,SMAP,CLFLUSHOPT,PT,MD_CLEAR,TSXFA,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,XSAVEC,XGETBV1,XSAVES,MELTDOWN
cpu3: 256KB 64b/line 8-way L2 cache
cpu3: smt 0, core 3, package 0
ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 20, 120 pins
acpimcfg0 at acpi0
acpimcfg0: addr 0xf8000000, bus 0-63
acpihpet0 at acpi0: 23999999 Hz
acpiprt0 at acpi0: bus 0 (PCI0)
acpiprt1 at acpi0: bus -1 (PEG0)
acpiprt2 at acpi0: bus -1 (PEG1)
acpiprt3 at acpi0: bus -1 (PEG2)
acpiprt4 at acpi0: bus 4 (RP09)
acpiprt5 at acpi0: bus -1 (RP10)
acpiprt6 at acpi0: bus -1 (RP11)
acpiprt7 at acpi0: bus -1 (RP12)
acpiprt8 at acpi0: bus -1 (RP13)
acpiprt9 at acpi0: bus 3 (RP01)
acpiprt10 at acpi0: bus -1 (RP02)
acpiprt11 at acpi0: bus -1 (RP03)
acpiprt12 at acpi0: bus -1 (RP04)
acpiprt13 at acpi0: bus -1 (RP05)
acpiprt14 at acpi0: bus -1 (RP06)
acpiprt15 at acpi0: bus -1 (RP07)
acpiprt16 at acpi0: bus -1 (RP08)
acpiprt17 at acpi0: bus 1 (RP17)
acpiprt18 at acpi0: bus -1 (RP18)
acpiprt19 at acpi0: bus -1 (RP19)
acpiprt20 at acpi0: bus 2 (RP20)
acpiprt21 at acpi0: bus -1 (RP21)
acpiprt22 at acpi0: bus -1 (RP22)
acpiprt23 at acpi0: bus -1 (RP23)
acpiprt24 at acpi0: bus -1 (RP24)
acpiprt25 at acpi0: bus -1 (RP14)
acpiprt26 at acpi0: bus -1 (RP15)
acpiprt27 at acpi0: bus -1 (RP16)
acpiec0 at acpi0: not present
acpicpu0 at acpi0: C1(@1 halt!), PSS
acpicpu1 at acpi0: C1(@1 halt!), PSS
acpicpu2 at acpi0: C1(@1 halt!), PSS
acpicpu3 at acpi0: C1(@1 halt!), PSS
acpipwrres0 at acpi0: PG00, resource for PEG0
acpipwrres1 at acpi0: PG01, resource for PEG1
acpipwrres2 at acpi0: PG02, resource for PEG2
acpipwrres3 at acpi0: WRST
acpipwrres4 at acpi0: WRST
acpipwrres5 at acpi0: WRST
acpipwrres6 at acpi0: WRST
acpipwrres7 at acpi0: WRST
acpipwrres8 at acpi0: WRST
acpipwrres9 at acpi0: WRST
acpipwrres10 at acpi0: WRST
acpipwrres11 at acpi0: WRST
acpipwrres12 at acpi0: WRST
acpipwrres13 at acpi0: WRST
acpipwrres14 at acpi0: WRST
acpipwrres15 at acpi0: WRST
acpipwrres16 at acpi0: WRST
acpipwrres17 at acpi0: WRST
acpipwrres18 at acpi0: WRST
acpipwrres19 at acpi0: WRST
acpipwrres20 at acpi0: WRST
acpipwrres21 at acpi0: WRST
acpipwrres22 at acpi0: WRST
acpipwrres23 at acpi0: FN00, resource for FAN0
acpipwrres24 at acpi0: FN01, resource for FAN1
acpipwrres25 at acpi0: FN02, resource for FAN2
acpipwrres26 at acpi0: FN03, resource for FAN3
acpipwrres27 at acpi0: FN04, resource for FAN4
acpitz0 at acpi0: critical temperature is 119 degC
acpitz1 at acpi0: critical temperature is 119 degC
acpipci0 at acpi0 PCI0: 0x00000004 0x00000011 0x00000001
extent `acpipci0 pcibus' (0x0 - 0xff), flags=0
     0x3f - 0xff
extent `acpipci0 pciio' (0x0 - 0xffffffff), flags=0
     0xcf8 - 0xcff
     0x10000 - 0xffffffff
extent `acpipci0 pcimem' (0x0 - 0xffffffffffffffff), flags=0
     0x0 - 0x9ffff
     0xc0000 - 0xc7ffffff
     0xf8000000 - 0xfcffffff
     0xfe800000 - 0xffffffffffffffff
acpicmos0 at acpi0
"PNP0C14" at acpi0 not configured
acpibtn0 at acpi0: SLPB
"INT33A1" at acpi0 not configured
acpibtn1 at acpi0: PWRB
"PNP0C0B" at acpi0 not configured
"PNP0C0B" at acpi0 not configured
"PNP0C0B" at acpi0 not configured
"PNP0C0B" at acpi0 not configured
"PNP0C0B" at acpi0 not configured
"PNP0C14" at acpi0 not configured
acpivideo0 at acpi0: GFX0
cpu0: using VERW MDS workaround (except on vmm entry)
cpu0: Enhanced SpeedStep 4011 MHz: speeds: 4001, 4000, 3800, 3500, 3300, 3100, 2900, 2600, 2400, 2200, 1900, 1700, 1500, 1300, 1000, 800 MHz
pci0 at mainbus0 bus 0
pchb0 at pci0 dev 0 function 0 "Intel Core 6G Host" rev 0x07
inteldrm0 at pci0 dev 2 function 0 "Intel HD Graphics 530" rev 0x06
drm0 at inteldrm0
inteldrm0: msi, SKYLAKE, gen 9
xhci0 at pci0 dev 20 function 0 "Intel 100 Series xHCI" rev 0x31: msi, xHCI 1.0
usb0 at xhci0: USB revision 3.0
uhub0 at usb0 configuration 1 interface 0 "Intel xHCI root hub" rev 3.00/1.00 addr 1
"Intel 100 Series MEI" rev 0x31 at pci0 dev 22 function 0 not configured
ahci0 at pci0 dev 23 function 0 "Intel 100 Series AHCI" rev 0x31: msi, AHCI 1.3.1
ahci0: PHY offline on port 0
ahci0: PHY offline on port 1
ahci0: PHY offline on port 2
ahci0: PHY offline on port 3
ahci0: PHY offline on port 4
ahci0: port 5: 1.5Gb/s
scsibus1 at ahci0: 32 targets
cd0 at scsibus1 targ 5 lun 0: <ATAPI, iHAS124 F, CL98> removable
ppb0 at pci0 dev 27 function 0 "Intel 100 Series PCIE" rev 0xf1
pci1 at ppb0 bus 1
ppb1 at pci0 dev 27 function 3 "Intel 100 Series PCIE" rev 0xf1: msi
pci2 at ppb1 bus 2
iwm0 at pci2 dev 0 function 0 "Intel Dual Band Wireless AC 7260" rev 0x73, msi
ppb2 at pci0 dev 28 function 0 "Intel 100 Series PCIE" rev 0xf1
pci3 at ppb2 bus 3
ppb3 at pci0 dev 29 function 0 "Intel 100 Series PCIE" rev 0xf1: msi
pci4 at ppb3 bus 4
nvme0 at pci4 dev 0 function 0 "Samsung SM951/PM951 NVMe" rev 0x01: msix, NVMe 1.1
nvme0: SAMSUNG MZVLV512HCJH-00000, firmware BXV7000Q, serial XXX
scsibus2 at nvme0: 2 targets, initiator 0
sd0 at scsibus2 targ 1 lun 0: <NVMe, SAMSUNG MZVLV512, BXV7>
sd0: 488386MB, 512 bytes/sector, 1000215216 sectors
pcib0 at pci0 dev 31 function 0 "Intel Z170 LPC" rev 0x31
"Intel 100 Series PMC" rev 0x31 at pci0 dev 31 function 2 not configured
azalia0 at pci0 dev 31 function 3 "Intel 100 Series HD Audio" rev 0x31: msi
azalia0: codecs: Realtek/0x0887, Intel/0x2809, using Realtek/0x0887
audio0 at azalia0
ichiic0 at pci0 dev 31 function 4 "Intel 100 Series SMBus" rev 0x31: apic 2 int 16
iic0 at ichiic0
iic0: addr 0x20 01=2a 02=2a 03=13 04=11 05=13 06=e0 07=fc 08=fc 09=fc 0a=fc 0b=22 0c=22 0d=dd 0e=dd 0f=44 10=44 13=73 15=ab 16=35 17=d4 19=8a 1a=50 1b=68 1c=22 1d=3f 1e=3c 20=70 21=70 22=45 23=44 29=24 2a=3e 2b=fc 2c=fc 2d=22 2e=dd 2f=44 31=73 33=ab 37=8a 38=50 39=3f 3a=3c 3b=45 3c=44 43=45 44=40 48=03 92=0b b2=29 words 00=00ff 01=2aff 02=2aff 03=13ff 04=11ff 05=13ff 06=e0ff 07=fcff
spdmem0 at iic0 addr 0x51: 8GB DDR4 SDRAM PC4-17000
spdmem1 at iic0 addr 0x53: 8GB DDR4 SDRAM PC4-17000
em0 at pci0 dev 31 function 6 "Intel I219-V" rev 0x31: msi, address XXX
isa0 at pcib0
isadma0 at isa0
com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
pckbc0 at isa0 port 0x60/5 irq 1 irq 12
pckbd0 at pckbc0 (kbd slot)
wskbd0 at pckbd0: console keyboard
pcppi0 at isa0 port 0x61
spkr0 at pcppi0
vmm0 at mainbus0: VMX/EPT
efifb at mainbus0 not configured
uhidev0 at uhub0 port 1 configuration 1 interface 0 "MALTRON USB Multimedia Keyboard" rev 1.10/1.22 addr 2
uhidev0: iclass 3/1
ukbd0 at uhidev0: 8 variable keys, 6 key codes, country code 13
wskbd1 at ukbd0 mux 1
uhidev1 at uhub0 port 1 configuration 1 interface 1 "MALTRON USB Multimedia Keyboard" rev 1.10/1.22 addr 2
uhidev1: iclass 3/0, 3 report ids
uhid0 at uhidev1 reportid 2: input=1, output=0, feature=0
uhid1 at uhidev1 reportid 3: input=2, output=0, feature=0
uhidev2 at uhub0 port 10 configuration 1 interface 0 "Logitech USB Receiver" rev 2.00/12.03 addr 3
uhidev2: iclass 3/1
ukbd1 at uhidev2: 8 variable keys, 6 key codes
wskbd2 at ukbd1 mux 1
uhidev3 at uhub0 port 10 configuration 1 interface 1 "Logitech USB Receiver" rev 2.00/12.03 addr 3
uhidev3: iclass 3/1, 8 report ids
ums0 at uhidev3 reportid 2: 16 buttons, Z and W dir
wsmouse0 at ums0 mux 0
uhid2 at uhidev3 reportid 3: input=4, output=0, feature=0
uhid3 at uhidev3 reportid 4: input=1, output=0, feature=0
uhid4 at uhidev3 reportid 8: input=1, output=0, feature=0
uhidev4 at uhub0 port 10 configuration 1 interface 2 "Logitech USB Receiver" rev 2.00/12.03 addr 3
uhidev4: iclass 3/0, 33 report ids
uhid5 at uhidev4 reportid 16: input=6, output=6, feature=0
uhid6 at uhidev4 reportid 17: input=19, output=19, feature=0
uhid7 at uhidev4 reportid 32: input=14, output=14, feature=0
uhid8 at uhidev4 reportid 33: input=31, output=31, feature=0
uaudio0 at uhub0 port 13 configuration 1 interface 1 "Solid State Logic SSL 2+" rev 2.00/0.61 addr 4
uaudio0: class v2, high-speed, sync, channels: 4 play, 2 rec, 0 ctls
audio1 at uaudio0
umidi0 at uhub0 port 13 configuration 1 interface 4 "Solid State Logic SSL 2+" rev 2.00/0.61 addr 4
umidi0: (genuine USB-MIDI)
umidi0: out=1, in=1
midi0 at umidi0: <USB MIDI I/F>
ugen0 at uhub0 port 13 configuration 1 "Solid State Logic SSL 2+" rev 2.00/0.61 addr 4
uvideo0 at uhub0 port 14 configuration 1 interface 0 "Logitech HD Pro Webcam C920" rev 2.00/0.19 addr 5
bLength=9
bDescriptorType=0x02 (UDESC_CONFIG)
|
bLength=9
bDescriptorType=0x02
wTotalLength=2439
bNumInterface=0x04
bConfigurationValue=0x01
iConfiguration=0x00
bmAttributes=0x80
bMaxPower=0xfa

bLength=8
bDescriptorType=0x0b (UDESC_IFACE_ASSOC)
|
bLength=8
bDescriptorType=0x0b
bFirstInterface=0x00
bInterfaceCount=2
bFunctionClass=0x0e
bFunctionSubClass=0x03
bFunctionProtocol=0x00
iFunction=0x00

bLength=9
bDescriptorType=0x04 (UDESC_INTERFACE)
|
bLength=9
bDescriptorType=0x04
bInterfaceNumber=0x00
bAlternateSetting=0x00
bNumEndpoints=1
bInterfaceClass=0x0e
bInterfaceSubClass=0x01
bInterfaceProtocol=0x00
iInterface=0x00

bLength=13
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x01 (UDESCSUB_VC_HEADER)
|
bLength=13
bDescriptorType=0x24
bDescriptorSubtype=0x01
bcdUVC=0x0100
wTotalLength=214
dwClockFrequency=30000000
bInCollection=0x01

bLength=18
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x02 (UDESCSUB_VC_INPUT_TERMINAL)
|
bLength=18
bDescriptorType=0x24
bDescriptorSubtype=0x02
bTerminalID=0x01
wTerminalType=0x0201
bAssocTerminal=0x00
iTerminal=0x00

bLength=11
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x05 (UDESCSUB_VC_PROCESSING_UNIT)
|
bLength=11
bDescriptorType=0x24
bDescriptorSubtype=0x05
bUnitID=0x03
bSourceID=0x01
wMaxMultiplier=16384
bControlSize=2
bmControls=0x5b17
iProcessing=0x00
bmVideoStandards=0x1b

bLength=27
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x06 (UDESCSUB_VC_EXTENSION_UNIT)
|
bLength=27
bDescriptorType=0x24
bDescriptorSubtype=0x06
bUnitID=0x06
guidExtensionCode=0xd09ee4237811314fae52d2fb8a8d3b48
bNumControls=0x0a
bNrInPins=0x01

bLength=27
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x06 (UDESCSUB_VC_EXTENSION_UNIT)
|
bLength=27
bDescriptorType=0x24
bDescriptorSubtype=0x06
bUnitID=0x08
guidExtensionCode=0xe48e67690f41db40a8507420d7d8240e
bNumControls=0x07
bNrInPins=0x01

bLength=28
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x06 (UDESCSUB_VC_EXTENSION_UNIT)
|
bLength=28
bDescriptorType=0x24
bDescriptorSubtype=0x06
bUnitID=0x09
guidExtensionCode=0xa94c5d1f11de8744840d50933c8ec8d1
bNumControls=0x10
bNrInPins=0x01

bLength=27
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x06 (UDESCSUB_VC_EXTENSION_UNIT)
|
bLength=27
bDescriptorType=0x24
bDescriptorSubtype=0x06
bUnitID=0x0a
guidExtensionCode=0x1502e44934f4fe47b1580e885023e51b
bNumControls=0x07
bNrInPins=0x01

bLength=28
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x06 (UDESCSUB_VC_EXTENSION_UNIT)
|
bLength=28
bDescriptorType=0x24
bDescriptorSubtype=0x06
bUnitID=0x0b
guidExtensionCode=0x212de5ff30802c4e82d9f587d00540bd
bNumControls=0x03
bNrInPins=0x01

bLength=26
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x06 (UDESCSUB_VC_EXTENSION_UNIT)
|
bLength=26
bDescriptorType=0x24
bDescriptorSubtype=0x06
bUnitID=0x0d
guidExtensionCode=0x262d6113aa5ac446b13dff4d9a60db86
bNumControls=0x01
bNrInPins=0x01

bLength=9
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x03 (UDESCSUB_VC_OUTPUT)
|
bLength=9
bDescriptorType=0x24
bDescriptorSubtype=0x03
bTerminalID=0x04
bAssocTerminal=0x00
bSourceID=0x03
iTerminal=0x00

bLength=7
bDescriptorType=0x05 (UDESC_ENDPOINT)
|
bLength=7
bDescriptorType=0x05
bEndpointAddress=0x86 (IN)
bmAttributes=0x03 (UE_INTERRUPT)
wMaxPacketSize=64
bInterval=0x08

bLength=5
bDescriptorType=0x25 (UDESC_CS_ENDPOINT)
bDescriptorSubtype=0x03 (EP_INTERRUPT)
|
bLength=5
bDescriptorType=0x25
bDescriptorSubtype=0x03
wMaxTransferSize=64

bLength=9
bDescriptorType=0x04 (UDESC_INTERFACE)
|
bLength=9
bDescriptorType=0x04
bInterfaceNumber=0x01
bAlternateSetting=0x00
bNumEndpoints=0
bInterfaceClass=0x0e
bInterfaceSubClass=0x02
bInterfaceProtocol=0x00
iInterface=0x00

bLength=15
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x01 (UDESCSUB_VS_INPUT_HEADER)
|
bLength=15
bDescriptorType=0x24
bDescriptorSubtype=0x01
bNumFormats=2
wTotalLength=1809
bEndpointAddress=0x81
bmInfo=0x00
bTerminalLink=0x04
bStillCaptureMethod=0x00
bTriggerSupport=0x00
bTriggerUsage=0x00
bControlSize=1

bLength=27
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x04 (UDESCSUB_VS_FORMAT_UNCOMPRESSED)
bLength=27
bDescriptorType=0x24
bDescriptorSubtype=0x04
bFormatIndex=0x01
bNumFrameDescriptors=0x11
guidFormat=YUY2
bBitsPerPixel=0x10
bDefaultFrameIndex=0x01
bAspectRatioX=0x00
bAspectRatioY=0x00
bmInterlaceFlags=0x00
bCopyProtect=0x00

bLength=54
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x05 (UDESCSUB_VS_FRAME_UNCOMPRESSED)
bLength=54
bDescriptorType=0x24
bDescriptorSubtype=0x05
bFrameIndex=0x01
bmCapabilities=0x00
wWidth=640
wHeight=480
dwMinBitRate=24576000
dwMaxBitRate=147456000
dwMaxVideoFrameBufferSize=614400
dwDefaultFrameInterval=333333
bFrameIntervalType=0x07
dwFrameInterval = 333333
dwFrameInterval = 416666
dwFrameInterval = 500000
dwFrameInterval = 666666
dwFrameInterval = 1000000
dwFrameInterval = 1333333
dwFrameInterval = 2000000

bLength=54
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x05 (UDESCSUB_VS_FRAME_UNCOMPRESSED)
bLength=54
bDescriptorType=0x24
bDescriptorSubtype=0x05
bFrameIndex=0x02
bmCapabilities=0x00
wWidth=160
wHeight=90
dwMinBitRate=1152000
dwMaxBitRate=6912000
dwMaxVideoFrameBufferSize=28800
dwDefaultFrameInterval=333333
bFrameIntervalType=0x07
dwFrameInterval = 333333
dwFrameInterval = 416666
dwFrameInterval = 500000
dwFrameInterval = 666666
dwFrameInterval = 1000000
dwFrameInterval = 1333333
dwFrameInterval = 2000000

bLength=54
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x05 (UDESCSUB_VS_FRAME_UNCOMPRESSED)
bLength=54
bDescriptorType=0x24
bDescriptorSubtype=0x05
bFrameIndex=0x03
bmCapabilities=0x00
wWidth=160
wHeight=120
dwMinBitRate=1536000
dwMaxBitRate=9216000
dwMaxVideoFrameBufferSize=38400
dwDefaultFrameInterval=333333
bFrameIntervalType=0x07
dwFrameInterval = 333333
dwFrameInterval = 416666
dwFrameInterval = 500000
dwFrameInterval = 666666
dwFrameInterval = 1000000
dwFrameInterval = 1333333
dwFrameInterval = 2000000

bLength=54
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x05 (UDESCSUB_VS_FRAME_UNCOMPRESSED)
bLength=54
bDescriptorType=0x24
bDescriptorSubtype=0x05
bFrameIndex=0x04
bmCapabilities=0x00
wWidth=176
wHeight=144
dwMinBitRate=2027520
dwMaxBitRate=12165120
dwMaxVideoFrameBufferSize=50688
dwDefaultFrameInterval=333333
bFrameIntervalType=0x07
dwFrameInterval = 333333
dwFrameInterval = 416666
dwFrameInterval = 500000
dwFrameInterval = 666666
dwFrameInterval = 1000000
dwFrameInterval = 1333333
dwFrameInterval = 2000000

bLength=54
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x05 (UDESCSUB_VS_FRAME_UNCOMPRESSED)
bLength=54
bDescriptorType=0x24
bDescriptorSubtype=0x05
bFrameIndex=0x05
bmCapabilities=0x00
wWidth=320
wHeight=180
dwMinBitRate=4608000
dwMaxBitRate=27648000
dwMaxVideoFrameBufferSize=115200
dwDefaultFrameInterval=333333
bFrameIntervalType=0x07
dwFrameInterval = 333333
dwFrameInterval = 416666
dwFrameInterval = 500000
dwFrameInterval = 666666
dwFrameInterval = 1000000
dwFrameInterval = 1333333
dwFrameInterval = 2000000

bLength=54
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x05 (UDESCSUB_VS_FRAME_UNCOMPRESSED)
bLength=54
bDescriptorType=0x24
bDescriptorSubtype=0x05
bFrameIndex=0x06
bmCapabilities=0x00
wWidth=320
wHeight=240
dwMinBitRate=6144000
dwMaxBitRate=36864000
dwMaxVideoFrameBufferSize=153600
dwDefaultFrameInterval=333333
bFrameIntervalType=0x07
dwFrameInterval = 333333
dwFrameInterval = 416666
dwFrameInterval = 500000
dwFrameInterval = 666666
dwFrameInterval = 1000000
dwFrameInterval = 1333333
dwFrameInterval = 2000000

bLength=54
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x05 (UDESCSUB_VS_FRAME_UNCOMPRESSED)
bLength=54
bDescriptorType=0x24
bDescriptorSubtype=0x05
bFrameIndex=0x07
bmCapabilities=0x00
wWidth=352
wHeight=288
dwMinBitRate=8110080
dwMaxBitRate=48660480
dwMaxVideoFrameBufferSize=202752
dwDefaultFrameInterval=333333
bFrameIntervalType=0x07
dwFrameInterval = 333333
dwFrameInterval = 416666
dwFrameInterval = 500000
dwFrameInterval = 666666
dwFrameInterval = 1000000
dwFrameInterval = 1333333
dwFrameInterval = 2000000

bLength=54
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x05 (UDESCSUB_VS_FRAME_UNCOMPRESSED)
bLength=54
bDescriptorType=0x24
bDescriptorSubtype=0x05
bFrameIndex=0x08
bmCapabilities=0x00
wWidth=432
wHeight=240
dwMinBitRate=8294400
dwMaxBitRate=49766400
dwMaxVideoFrameBufferSize=207360
dwDefaultFrameInterval=333333
bFrameIntervalType=0x07
dwFrameInterval = 333333
dwFrameInterval = 416666
dwFrameInterval = 500000
dwFrameInterval = 666666
dwFrameInterval = 1000000
dwFrameInterval = 1333333
dwFrameInterval = 2000000

bLength=54
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x05 (UDESCSUB_VS_FRAME_UNCOMPRESSED)
bLength=54
bDescriptorType=0x24
bDescriptorSubtype=0x05
bFrameIndex=0x09
bmCapabilities=0x00
wWidth=640
wHeight=360
dwMinBitRate=18432000
dwMaxBitRate=110592000
dwMaxVideoFrameBufferSize=460800
dwDefaultFrameInterval=333333
bFrameIntervalType=0x07
dwFrameInterval = 333333
dwFrameInterval = 416666
dwFrameInterval = 500000
dwFrameInterval = 666666
dwFrameInterval = 1000000
dwFrameInterval = 1333333
dwFrameInterval = 2000000

bLength=54
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x05 (UDESCSUB_VS_FRAME_UNCOMPRESSED)
bLength=54
bDescriptorType=0x24
bDescriptorSubtype=0x05
bFrameIndex=0x0a
bmCapabilities=0x00
wWidth=800
wHeight=448
dwMinBitRate=28672000
dwMaxBitRate=172032000
dwMaxVideoFrameBufferSize=716800
dwDefaultFrameInterval=333333
bFrameIntervalType=0x07
dwFrameInterval = 333333
dwFrameInterval = 416666
dwFrameInterval = 500000
dwFrameInterval = 666666
dwFrameInterval = 1000000
dwFrameInterval = 1333333
dwFrameInterval = 2000000

bLength=50
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x05 (UDESCSUB_VS_FRAME_UNCOMPRESSED)
bLength=50
bDescriptorType=0x24
bDescriptorSubtype=0x05
bFrameIndex=0x0b
bmCapabilities=0x00
wWidth=800
wHeight=600
dwMinBitRate=38400000
dwMaxBitRate=184320000
dwMaxVideoFrameBufferSize=960000
dwDefaultFrameInterval=416666
bFrameIntervalType=0x06
dwFrameInterval = 416666
dwFrameInterval = 500000
dwFrameInterval = 666666
dwFrameInterval = 1000000
dwFrameInterval = 1333333
dwFrameInterval = 2000000

bLength=50
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x05 (UDESCSUB_VS_FRAME_UNCOMPRESSED)
bLength=50
bDescriptorType=0x24
bDescriptorSubtype=0x05
bFrameIndex=0x0c
bmCapabilities=0x00
wWidth=864
wHeight=480
dwMinBitRate=33177600
dwMaxBitRate=159252480
dwMaxVideoFrameBufferSize=829440
dwDefaultFrameInterval=416666
bFrameIntervalType=0x06
dwFrameInterval = 416666
dwFrameInterval = 500000
dwFrameInterval = 666666
dwFrameInterval = 1000000
dwFrameInterval = 1333333
dwFrameInterval = 2000000

bLength=42
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x05 (UDESCSUB_VS_FRAME_UNCOMPRESSED)
bLength=42
bDescriptorType=0x24
bDescriptorSubtype=0x05
bFrameIndex=0x0d
bmCapabilities=0x00
wWidth=960
wHeight=720
dwMinBitRate=55296000
dwMaxBitRate=165888000
dwMaxVideoFrameBufferSize=1382400
dwDefaultFrameInterval=666666
bFrameIntervalType=0x04
dwFrameInterval = 666666
dwFrameInterval = 1000000
dwFrameInterval = 1333333
dwFrameInterval = 2000000

bLength=42
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x05 (UDESCSUB_VS_FRAME_UNCOMPRESSED)
bLength=42
bDescriptorType=0x24
bDescriptorSubtype=0x05
bFrameIndex=0x0e
bmCapabilities=0x00
wWidth=1024
wHeight=576
dwMinBitRate=47185920
dwMaxBitRate=141557760
dwMaxVideoFrameBufferSize=1179648
dwDefaultFrameInterval=666666
bFrameIntervalType=0x04
dwFrameInterval = 666666
dwFrameInterval = 1000000
dwFrameInterval = 1333333
dwFrameInterval = 2000000

bLength=38
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x05 (UDESCSUB_VS_FRAME_UNCOMPRESSED)
bLength=38
bDescriptorType=0x24
bDescriptorSubtype=0x05
bFrameIndex=0x0f
bmCapabilities=0x00
wWidth=1280
wHeight=720
dwMinBitRate=73728000
dwMaxBitRate=147456000
dwMaxVideoFrameBufferSize=1843200
dwDefaultFrameInterval=1000000
bFrameIntervalType=0x03
dwFrameInterval = 1000000
dwFrameInterval = 1333333
dwFrameInterval = 2000000

bLength=34
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x05 (UDESCSUB_VS_FRAME_UNCOMPRESSED)
bLength=34
bDescriptorType=0x24
bDescriptorSubtype=0x05
bFrameIndex=0x10
bmCapabilities=0x00
wWidth=1600
wHeight=896
dwMinBitRate=114688000
dwMaxBitRate=172032000
dwMaxVideoFrameBufferSize=2867200
dwDefaultFrameInterval=1333333
bFrameIntervalType=0x02
dwFrameInterval = 1333333
dwFrameInterval = 2000000

bLength=30
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x05 (UDESCSUB_VS_FRAME_UNCOMPRESSED)
bLength=30
bDescriptorType=0x24
bDescriptorSubtype=0x05
bFrameIndex=0x11
bmCapabilities=0x00
wWidth=1920
wHeight=1080
dwMinBitRate=165888000
dwMaxBitRate=165888000
dwMaxVideoFrameBufferSize=4147200
dwDefaultFrameInterval=2000000
bFrameIntervalType=0x01
dwFrameInterval = 2000000

bLength=6
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x0d (UDESCSUB_VS_COLORFORMAT)
|
bLength=6
bDescriptorType=0x24
bDescriptorSubtype=0x0d
bColorPrimaries=0x01
bTransferCharacteristics=0x01
bMatrixCoefficients=0x04

bLength=11
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x06 (UDESCSUB_VS_FORMAT_MJPEG)
|
bLength=11
bDescriptorType=0x24
bDescriptorSubtype=0x06
bFormatIndex=0x02
bNumFrameDescriptors=0x11
bmFlags=0x01
bDefaultFrameIndex=0x01
bAspectRatioX=0x00
bAspectRatioY=0x00
bmInterlaceFlags=0x00
bCopyProtect=0x00

bLength=54
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x07 (UDESCSUB_VS_FRAME_MJPEG)
|
bLength=54
bDescriptorType=0x24
bDescriptorSubtype=0x07
bFrameIndex=0x01
bmCapabilities=0x00
wWidth=640
wHeight=480
dwMinBitRate=24576000
dwMaxBitRate=147456000
dwMaxVideoFrameBufferSize=614400
dwDefaultFrameInterval=333333
bFrameIntervalType=0x07
dwFrameInterval = 333333
dwFrameInterval = 416666
dwFrameInterval = 500000
dwFrameInterval = 666666
dwFrameInterval = 1000000
dwFrameInterval = 1333333
dwFrameInterval = 2000000

bLength=54
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x07 (UDESCSUB_VS_FRAME_MJPEG)
|
bLength=54
bDescriptorType=0x24
bDescriptorSubtype=0x07
bFrameIndex=0x02
bmCapabilities=0x00
wWidth=160
wHeight=90
dwMinBitRate=1152000
dwMaxBitRate=6912000
dwMaxVideoFrameBufferSize=28800
dwDefaultFrameInterval=333333
bFrameIntervalType=0x07
dwFrameInterval = 333333
dwFrameInterval = 416666
dwFrameInterval = 500000
dwFrameInterval = 666666
dwFrameInterval = 1000000
dwFrameInterval = 1333333
dwFrameInterval = 2000000

bLength=54
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x07 (UDESCSUB_VS_FRAME_MJPEG)
|
bLength=54
bDescriptorType=0x24
bDescriptorSubtype=0x07
bFrameIndex=0x03
bmCapabilities=0x00
wWidth=160
wHeight=120
dwMinBitRate=1536000
dwMaxBitRate=9216000
dwMaxVideoFrameBufferSize=38400
dwDefaultFrameInterval=333333
bFrameIntervalType=0x07
dwFrameInterval = 333333
dwFrameInterval = 416666
dwFrameInterval = 500000
dwFrameInterval = 666666
dwFrameInterval = 1000000
dwFrameInterval = 1333333
dwFrameInterval = 2000000

bLength=54
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x07 (UDESCSUB_VS_FRAME_MJPEG)
|
bLength=54
bDescriptorType=0x24
bDescriptorSubtype=0x07
bFrameIndex=0x04
bmCapabilities=0x00
wWidth=176
wHeight=144
dwMinBitRate=2027520
dwMaxBitRate=12165120
dwMaxVideoFrameBufferSize=50688
dwDefaultFrameInterval=333333
bFrameIntervalType=0x07
dwFrameInterval = 333333
dwFrameInterval = 416666
dwFrameInterval = 500000
dwFrameInterval = 666666
dwFrameInterval = 1000000
dwFrameInterval = 1333333
dwFrameInterval = 2000000

bLength=54
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x07 (UDESCSUB_VS_FRAME_MJPEG)
|
bLength=54
bDescriptorType=0x24
bDescriptorSubtype=0x07
bFrameIndex=0x05
bmCapabilities=0x00
wWidth=320
wHeight=180
dwMinBitRate=4608000
dwMaxBitRate=27648000
dwMaxVideoFrameBufferSize=115200
dwDefaultFrameInterval=333333
bFrameIntervalType=0x07
dwFrameInterval = 333333
dwFrameInterval = 416666
dwFrameInterval = 500000
dwFrameInterval = 666666
dwFrameInterval = 1000000
dwFrameInterval = 1333333
dwFrameInterval = 2000000

bLength=54
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x07 (UDESCSUB_VS_FRAME_MJPEG)
|
bLength=54
bDescriptorType=0x24
bDescriptorSubtype=0x07
bFrameIndex=0x06
bmCapabilities=0x00
wWidth=320
wHeight=240
dwMinBitRate=6144000
dwMaxBitRate=36864000
dwMaxVideoFrameBufferSize=153600
dwDefaultFrameInterval=333333
bFrameIntervalType=0x07
dwFrameInterval = 333333
dwFrameInterval = 416666
dwFrameInterval = 500000
dwFrameInterval = 666666
dwFrameInterval = 1000000
dwFrameInterval = 1333333
dwFrameInterval = 2000000

bLength=54
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x07 (UDESCSUB_VS_FRAME_MJPEG)
|
bLength=54
bDescriptorType=0x24
bDescriptorSubtype=0x07
bFrameIndex=0x07
bmCapabilities=0x00
wWidth=352
wHeight=288
dwMinBitRate=8110080
dwMaxBitRate=48660480
dwMaxVideoFrameBufferSize=202752
dwDefaultFrameInterval=333333
bFrameIntervalType=0x07
dwFrameInterval = 333333
dwFrameInterval = 416666
dwFrameInterval = 500000
dwFrameInterval = 666666
dwFrameInterval = 1000000
dwFrameInterval = 1333333
dwFrameInterval = 2000000

bLength=54
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x07 (UDESCSUB_VS_FRAME_MJPEG)
|
bLength=54
bDescriptorType=0x24
bDescriptorSubtype=0x07
bFrameIndex=0x08
bmCapabilities=0x00
wWidth=432
wHeight=240
dwMinBitRate=8294400
dwMaxBitRate=49766400
dwMaxVideoFrameBufferSize=207360
dwDefaultFrameInterval=333333
bFrameIntervalType=0x07
dwFrameInterval = 333333
dwFrameInterval = 416666
dwFrameInterval = 500000
dwFrameInterval = 666666
dwFrameInterval = 1000000
dwFrameInterval = 1333333
dwFrameInterval = 2000000

bLength=54
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x07 (UDESCSUB_VS_FRAME_MJPEG)
|
bLength=54
bDescriptorType=0x24
bDescriptorSubtype=0x07
bFrameIndex=0x09
bmCapabilities=0x00
wWidth=640
wHeight=360
dwMinBitRate=18432000
dwMaxBitRate=110592000
dwMaxVideoFrameBufferSize=460800
dwDefaultFrameInterval=333333
bFrameIntervalType=0x07
dwFrameInterval = 333333
dwFrameInterval = 416666
dwFrameInterval = 500000
dwFrameInterval = 666666
dwFrameInterval = 1000000
dwFrameInterval = 1333333
dwFrameInterval = 2000000

bLength=54
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x07 (UDESCSUB_VS_FRAME_MJPEG)
|
bLength=54
bDescriptorType=0x24
bDescriptorSubtype=0x07
bFrameIndex=0x0a
bmCapabilities=0x00
wWidth=800
wHeight=448
dwMinBitRate=28672000
dwMaxBitRate=172032000
dwMaxVideoFrameBufferSize=716800
dwDefaultFrameInterval=333333
bFrameIntervalType=0x07
dwFrameInterval = 333333
dwFrameInterval = 416666
dwFrameInterval = 500000
dwFrameInterval = 666666
dwFrameInterval = 1000000
dwFrameInterval = 1333333
dwFrameInterval = 2000000

bLength=54
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x07 (UDESCSUB_VS_FRAME_MJPEG)
|
bLength=54
bDescriptorType=0x24
bDescriptorSubtype=0x07
bFrameIndex=0x0b
bmCapabilities=0x00
wWidth=800
wHeight=600
dwMinBitRate=38400000
dwMaxBitRate=230400000
dwMaxVideoFrameBufferSize=960000
dwDefaultFrameInterval=333333
bFrameIntervalType=0x07
dwFrameInterval = 333333
dwFrameInterval = 416666
dwFrameInterval = 500000
dwFrameInterval = 666666
dwFrameInterval = 1000000
dwFrameInterval = 1333333
dwFrameInterval = 2000000

bLength=54
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x07 (UDESCSUB_VS_FRAME_MJPEG)
|
bLength=54
bDescriptorType=0x24
bDescriptorSubtype=0x07
bFrameIndex=0x0c
bmCapabilities=0x00
wWidth=864
wHeight=480
dwMinBitRate=33177600
dwMaxBitRate=199065600
dwMaxVideoFrameBufferSize=829440
dwDefaultFrameInterval=333333
bFrameIntervalType=0x07
dwFrameInterval = 333333
dwFrameInterval = 416666
dwFrameInterval = 500000
dwFrameInterval = 666666
dwFrameInterval = 1000000
dwFrameInterval = 1333333
dwFrameInterval = 2000000

bLength=54
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x07 (UDESCSUB_VS_FRAME_MJPEG)
|
bLength=54
bDescriptorType=0x24
bDescriptorSubtype=0x07
bFrameIndex=0x0d
bmCapabilities=0x00
wWidth=960
wHeight=720
dwMinBitRate=55296000
dwMaxBitRate=331776000
dwMaxVideoFrameBufferSize=1382400
dwDefaultFrameInterval=333333
bFrameIntervalType=0x07
dwFrameInterval = 333333
dwFrameInterval = 416666
dwFrameInterval = 500000
dwFrameInterval = 666666
dwFrameInterval = 1000000
dwFrameInterval = 1333333
dwFrameInterval = 2000000

bLength=54
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x07 (UDESCSUB_VS_FRAME_MJPEG)
|
bLength=54
bDescriptorType=0x24
bDescriptorSubtype=0x07
bFrameIndex=0x0e
bmCapabilities=0x00
wWidth=1024
wHeight=576
dwMinBitRate=47185920
dwMaxBitRate=283115520
dwMaxVideoFrameBufferSize=1179648
dwDefaultFrameInterval=333333
bFrameIntervalType=0x07
dwFrameInterval = 333333
dwFrameInterval = 416666
dwFrameInterval = 500000
dwFrameInterval = 666666
dwFrameInterval = 1000000
dwFrameInterval = 1333333
dwFrameInterval = 2000000

bLength=54
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x07 (UDESCSUB_VS_FRAME_MJPEG)
|
bLength=54
bDescriptorType=0x24
bDescriptorSubtype=0x07
bFrameIndex=0x0f
bmCapabilities=0x00
wWidth=1280
wHeight=720
dwMinBitRate=73728000
dwMaxBitRate=442368000
dwMaxVideoFrameBufferSize=1843200
dwDefaultFrameInterval=333333
bFrameIntervalType=0x07
dwFrameInterval = 333333
dwFrameInterval = 416666
dwFrameInterval = 500000
dwFrameInterval = 666666
dwFrameInterval = 1000000
dwFrameInterval = 1333333
dwFrameInterval = 2000000

bLength=54
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x07 (UDESCSUB_VS_FRAME_MJPEG)
|
bLength=54
bDescriptorType=0x24
bDescriptorSubtype=0x07
bFrameIndex=0x10
bmCapabilities=0x00
wWidth=1600
wHeight=896
dwMinBitRate=114688000
dwMaxBitRate=688128000
dwMaxVideoFrameBufferSize=2867200
dwDefaultFrameInterval=333333
bFrameIntervalType=0x07
dwFrameInterval = 333333
dwFrameInterval = 416666
dwFrameInterval = 500000
dwFrameInterval = 666666
dwFrameInterval = 1000000
dwFrameInterval = 1333333
dwFrameInterval = 2000000

bLength=54
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x07 (UDESCSUB_VS_FRAME_MJPEG)
|
bLength=54
bDescriptorType=0x24
bDescriptorSubtype=0x07
bFrameIndex=0x11
bmCapabilities=0x00
wWidth=1920
wHeight=1080
dwMinBitRate=165888000
dwMaxBitRate=995328000
dwMaxVideoFrameBufferSize=4147200
dwDefaultFrameInterval=333333
bFrameIntervalType=0x07
dwFrameInterval = 333333
dwFrameInterval = 416666
dwFrameInterval = 500000
dwFrameInterval = 666666
dwFrameInterval = 1000000
dwFrameInterval = 1333333
dwFrameInterval = 2000000

bLength=6
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x0d (UDESCSUB_VS_COLORFORMAT)
|
bLength=6
bDescriptorType=0x24
bDescriptorSubtype=0x0d
bColorPrimaries=0x01
bTransferCharacteristics=0x01
bMatrixCoefficients=0x04

bLength=9
bDescriptorType=0x04 (UDESC_INTERFACE)
|
bLength=9
bDescriptorType=0x04
bInterfaceNumber=0x01
bAlternateSetting=0x01
bNumEndpoints=1
bInterfaceClass=0x0e
bInterfaceSubClass=0x02
bInterfaceProtocol=0x00
iInterface=0x00

bLength=7
bDescriptorType=0x05 (UDESC_ENDPOINT)
|
bLength=7
bDescriptorType=0x05
bEndpointAddress=0x81 (IN)
bmAttributes=0x05 (UE_ISOCHRONOUS, UE_ISO_ASYNC)
wMaxPacketSize=192
bInterval=0x01

bLength=9
bDescriptorType=0x04 (UDESC_INTERFACE)
|
bLength=9
bDescriptorType=0x04
bInterfaceNumber=0x01
bAlternateSetting=0x02
bNumEndpoints=1
bInterfaceClass=0x0e
bInterfaceSubClass=0x02
bInterfaceProtocol=0x00
iInterface=0x00

bLength=7
bDescriptorType=0x05 (UDESC_ENDPOINT)
|
bLength=7
bDescriptorType=0x05
bEndpointAddress=0x81 (IN)
bmAttributes=0x05 (UE_ISOCHRONOUS, UE_ISO_ASYNC)
wMaxPacketSize=384
bInterval=0x01

bLength=9
bDescriptorType=0x04 (UDESC_INTERFACE)
|
bLength=9
bDescriptorType=0x04
bInterfaceNumber=0x01
bAlternateSetting=0x03
bNumEndpoints=1
bInterfaceClass=0x0e
bInterfaceSubClass=0x02
bInterfaceProtocol=0x00
iInterface=0x00

bLength=7
bDescriptorType=0x05 (UDESC_ENDPOINT)
|
bLength=7
bDescriptorType=0x05
bEndpointAddress=0x81 (IN)
bmAttributes=0x05 (UE_ISOCHRONOUS, UE_ISO_ASYNC)
wMaxPacketSize=512
bInterval=0x01

bLength=9
bDescriptorType=0x04 (UDESC_INTERFACE)
|
bLength=9
bDescriptorType=0x04
bInterfaceNumber=0x01
bAlternateSetting=0x04
bNumEndpoints=1
bInterfaceClass=0x0e
bInterfaceSubClass=0x02
bInterfaceProtocol=0x00
iInterface=0x00

bLength=7
bDescriptorType=0x05 (UDESC_ENDPOINT)
|
bLength=7
bDescriptorType=0x05
bEndpointAddress=0x81 (IN)
bmAttributes=0x05 (UE_ISOCHRONOUS, UE_ISO_ASYNC)
wMaxPacketSize=640
bInterval=0x01

bLength=9
bDescriptorType=0x04 (UDESC_INTERFACE)
|
bLength=9
bDescriptorType=0x04
bInterfaceNumber=0x01
bAlternateSetting=0x05
bNumEndpoints=1
bInterfaceClass=0x0e
bInterfaceSubClass=0x02
bInterfaceProtocol=0x00
iInterface=0x00

bLength=7
bDescriptorType=0x05 (UDESC_ENDPOINT)
|
bLength=7
bDescriptorType=0x05
bEndpointAddress=0x81 (IN)
bmAttributes=0x05 (UE_ISOCHRONOUS, UE_ISO_ASYNC)
wMaxPacketSize=800
bInterval=0x01

bLength=9
bDescriptorType=0x04 (UDESC_INTERFACE)
|
bLength=9
bDescriptorType=0x04
bInterfaceNumber=0x01
bAlternateSetting=0x06
bNumEndpoints=1
bInterfaceClass=0x0e
bInterfaceSubClass=0x02
bInterfaceProtocol=0x00
iInterface=0x00

bLength=7
bDescriptorType=0x05 (UDESC_ENDPOINT)
|
bLength=7
bDescriptorType=0x05
bEndpointAddress=0x81 (IN)
bmAttributes=0x05 (UE_ISOCHRONOUS, UE_ISO_ASYNC)
wMaxPacketSize=944
bInterval=0x01

bLength=9
bDescriptorType=0x04 (UDESC_INTERFACE)
|
bLength=9
bDescriptorType=0x04
bInterfaceNumber=0x01
bAlternateSetting=0x07
bNumEndpoints=1
bInterfaceClass=0x0e
bInterfaceSubClass=0x02
bInterfaceProtocol=0x00
iInterface=0x00

bLength=7
bDescriptorType=0x05 (UDESC_ENDPOINT)
|
bLength=7
bDescriptorType=0x05
bEndpointAddress=0x81 (IN)
bmAttributes=0x05 (UE_ISOCHRONOUS, UE_ISO_ASYNC)
wMaxPacketSize=2688
bInterval=0x01

bLength=9
bDescriptorType=0x04 (UDESC_INTERFACE)
|
bLength=9
bDescriptorType=0x04
bInterfaceNumber=0x01
bAlternateSetting=0x08
bNumEndpoints=1
bInterfaceClass=0x0e
bInterfaceSubClass=0x02
bInterfaceProtocol=0x00
iInterface=0x00

bLength=7
bDescriptorType=0x05 (UDESC_ENDPOINT)
|
bLength=7
bDescriptorType=0x05
bEndpointAddress=0x81 (IN)
bmAttributes=0x05 (UE_ISOCHRONOUS, UE_ISO_ASYNC)
wMaxPacketSize=2848
bInterval=0x01

bLength=9
bDescriptorType=0x04 (UDESC_INTERFACE)
|
bLength=9
bDescriptorType=0x04
bInterfaceNumber=0x01
bAlternateSetting=0x09
bNumEndpoints=1
bInterfaceClass=0x0e
bInterfaceSubClass=0x02
bInterfaceProtocol=0x00
iInterface=0x00

bLength=7
bDescriptorType=0x05 (UDESC_ENDPOINT)
|
bLength=7
bDescriptorType=0x05
bEndpointAddress=0x81 (IN)
bmAttributes=0x05 (UE_ISOCHRONOUS, UE_ISO_ASYNC)
wMaxPacketSize=3040
bInterval=0x01

bLength=9
bDescriptorType=0x04 (UDESC_INTERFACE)
|
bLength=9
bDescriptorType=0x04
bInterfaceNumber=0x01
bAlternateSetting=0x0a
bNumEndpoints=1
bInterfaceClass=0x0e
bInterfaceSubClass=0x02
bInterfaceProtocol=0x00
iInterface=0x00

bLength=7
bDescriptorType=0x05 (UDESC_ENDPOINT)
|
bLength=7
bDescriptorType=0x05
bEndpointAddress=0x81 (IN)
bmAttributes=0x05 (UE_ISOCHRONOUS, UE_ISO_ASYNC)
wMaxPacketSize=4992
bInterval=0x01

bLength=9
bDescriptorType=0x04 (UDESC_INTERFACE)
|
bLength=9
bDescriptorType=0x04
bInterfaceNumber=0x01
bAlternateSetting=0x0b
bNumEndpoints=1
bInterfaceClass=0x0e
bInterfaceSubClass=0x02
bInterfaceProtocol=0x00
iInterface=0x00

bLength=7
bDescriptorType=0x05 (UDESC_ENDPOINT)
|
bLength=7
bDescriptorType=0x05
bEndpointAddress=0x81 (IN)
bmAttributes=0x05 (UE_ISOCHRONOUS, UE_ISO_ASYNC)
wMaxPacketSize=5120
bInterval=0x01

bLength=8
bDescriptorType=0x0b (UDESC_IFACE_ASSOC)
|
bLength=8
bDescriptorType=0x0b
bFirstInterface=0x02
bInterfaceCount=2
bFunctionClass=0x01
bFunctionSubClass=0x02
bFunctionProtocol=0x00
iFunction=0x00

bLength=9
bDescriptorType=0x04 (UDESC_INTERFACE)
|
bLength=9
bDescriptorType=0x04
bInterfaceNumber=0x02
bAlternateSetting=0x00
bNumEndpoints=0
bInterfaceClass=0x01
bInterfaceSubClass=0x01
bInterfaceProtocol=0x00
iInterface=0x00

bLength=9
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x01 (unknown)

bLength=12
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x02 (UDESCSUB_VC_INPUT_TERMINAL)
|
bLength=12
bDescriptorType=0x24
bDescriptorSubtype=0x02
bTerminalID=0x01
wTerminalType=0x0201
bAssocTerminal=0x00
iTerminal=0x01

bLength=9
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x03 (UDESCSUB_VC_OUTPUT)
|
bLength=9
bDescriptorType=0x24
bDescriptorSubtype=0x03
bTerminalID=0x03
bAssocTerminal=0x00
bSourceID=0x05
iTerminal=0x00

bLength=8
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x06 (UDESCSUB_VC_EXTENSION_UNIT)
|
bLength=8
bDescriptorType=0x24
bDescriptorSubtype=0x06
bUnitID=0x05
guidExtensionCode=0x01010300090403000001020000090403
bNumControls=0x01
bNrInPins=0x01

bLength=9
bDescriptorType=0x04 (UDESC_INTERFACE)
|
bLength=9
bDescriptorType=0x04
bInterfaceNumber=0x03
bAlternateSetting=0x00
bNumEndpoints=0
bInterfaceClass=0x01
bInterfaceSubClass=0x02
bInterfaceProtocol=0x00
iInterface=0x00

bLength=9
bDescriptorType=0x04 (UDESC_INTERFACE)
|
bLength=9
bDescriptorType=0x04
bInterfaceNumber=0x03
bAlternateSetting=0x01
bNumEndpoints=1
bInterfaceClass=0x01
bInterfaceSubClass=0x02
bInterfaceProtocol=0x00
iInterface=0x00

bLength=7
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x01 (unknown)

bLength=11
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x02 (UDESCSUB_VC_INPUT_TERMINAL)
|
bLength=11
bDescriptorType=0x24
bDescriptorSubtype=0x02
bTerminalID=0x01
wTerminalType=0x0202
bAssocTerminal=0x10
iTerminal=0x01

bLength=9
bDescriptorType=0x05 (UDESC_ENDPOINT)
|
bLength=9
bDescriptorType=0x05
bEndpointAddress=0x83 (IN)
bmAttributes=0x05 (UE_ISOCHRONOUS, UE_ISO_ASYNC)
wMaxPacketSize=68
bInterval=0x04

bLength=7
bDescriptorType=0x25 (UDESC_CS_ENDPOINT)
bDescriptorSubtype=0x01 (EP_GENERAL)
|
bLength=7
bDescriptorType=0x25
bDescriptorSubtype=0x01
wMaxTransferSize=1

bLength=9
bDescriptorType=0x04 (UDESC_INTERFACE)
|
bLength=9
bDescriptorType=0x04
bInterfaceNumber=0x03
bAlternateSetting=0x02
bNumEndpoints=1
bInterfaceClass=0x01
bInterfaceSubClass=0x02
bInterfaceProtocol=0x00
iInterface=0x00

bLength=7
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x01 (unknown)

bLength=11
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x02 (UDESCSUB_VC_INPUT_TERMINAL)
|
bLength=11
bDescriptorType=0x24
bDescriptorSubtype=0x02
bTerminalID=0x01
wTerminalType=0x0202
bAssocTerminal=0x10
iTerminal=0x01

bLength=9
bDescriptorType=0x05 (UDESC_ENDPOINT)
|
bLength=9
bDescriptorType=0x05
bEndpointAddress=0x83 (IN)
bmAttributes=0x05 (UE_ISOCHRONOUS, UE_ISO_ASYNC)
wMaxPacketSize=100
bInterval=0x04

bLength=7
bDescriptorType=0x25 (UDESC_CS_ENDPOINT)
bDescriptorSubtype=0x01 (EP_GENERAL)
|
bLength=7
bDescriptorType=0x25
bDescriptorSubtype=0x01
wMaxTransferSize=1

bLength=9
bDescriptorType=0x04 (UDESC_INTERFACE)
|
bLength=9
bDescriptorType=0x04
bInterfaceNumber=0x03
bAlternateSetting=0x03
bNumEndpoints=1
bInterfaceClass=0x01
bInterfaceSubClass=0x02
bInterfaceProtocol=0x00
iInterface=0x00

bLength=7
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x01 (unknown)

bLength=11
bDescriptorType=0x24 (CS_INTERFACE)
bDescriptorSubtype=0x02 (UDESCSUB_VC_INPUT_TERMINAL)
|
bLength=11
bDescriptorType=0x24
bDescriptorSubtype=0x02
bTerminalID=0x01
wTerminalType=0x0202
bAssocTerminal=0x10
iTerminal=0x01

bLength=9
bDescriptorType=0x05 (UDESC_ENDPOINT)
|
bLength=9
bDescriptorType=0x05
bEndpointAddress=0x83 (IN)
bmAttributes=0x05 (UE_ISOCHRONOUS, UE_ISO_ASYNC)
wMaxPacketSize=132
bInterval=0x04

bLength=7
bDescriptorType=0x25 (UDESC_CS_ENDPOINT)
bDescriptorSubtype=0x01 (EP_GENERAL)
|
bLength=7
bDescriptorType=0x25
bDescriptorSubtype=0x01
wMaxTransferSize=1

uvideo0: uvideo_vc_parse_desc
uvideo0: number of total interfaces=2
uvideo0: number of VS interfaces=1
uvideo0: uvideo_vs_parse_desc_format
uvideo0: number of total format descriptors=2
uvideo0: uvideo_vs_parse_desc_frame
uvideo0: VS interface 0, bInterfaceNumber=0x01, numalts=12
uvideo0: bAlternateSetting=0x00, no endpoint descriptor
uvideo0: bAlternateSetting=0x01, bEndpointAddress=0x81, wMaxPacketSize=192
uvideo0: bAlternateSetting=0x02, bEndpointAddress=0x81, wMaxPacketSize=384
uvideo0: bAlternateSetting=0x03, bEndpointAddress=0x81, wMaxPacketSize=512
uvideo0: bAlternateSetting=0x04, bEndpointAddress=0x81, wMaxPacketSize=640
uvideo0: bAlternateSetting=0x05, bEndpointAddress=0x81, wMaxPacketSize=800
uvideo0: bAlternateSetting=0x06, bEndpointAddress=0x81, wMaxPacketSize=944
uvideo0: bAlternateSetting=0x07, bEndpointAddress=0x81, wMaxPacketSize=2688
uvideo0: bAlternateSetting=0x08, bEndpointAddress=0x81, wMaxPacketSize=2848
uvideo0: bAlternateSetting=0x09, bEndpointAddress=0x81, wMaxPacketSize=3040
uvideo0: bAlternateSetting=0x0a, bEndpointAddress=0x81, wMaxPacketSize=4992
uvideo0: bAlternateSetting=0x0b, bEndpointAddress=0x81, wMaxPacketSize=5120
uvideo0: SET probe request successfully
bmHint=0x01
bFormatIndex=0x01
bFrameIndex=0x01
dwFrameInterval=333333 (100ns units)
wKeyFrameRate=0
wPFrameRate=0
wCompQuality=0
wCompWindowSize=0
wDelay=0 (ms)
dwMaxVideoFrameSize=0 (bytes)
dwMaxPayloadTransferSize=0 (bytes)
uvideo0: GET probe request successfully
bmHint=0x01
bFormatIndex=0x01
bFrameIndex=0x01
dwFrameInterval=333333 (100ns units)
wKeyFrameRate=0
wPFrameRate=0
wCompQuality=61
wCompWindowSize=0
wDelay=0 (ms)
dwMaxVideoFrameSize=614400 (bytes)
dwMaxPayloadTransferSize=2688 (bytes)
fixed dwMaxVideoFrameSize=614400, width=640 height=480 bpp=16
uvideo_attach: doing video_attach_mi
video0 at uvideo0
uaudio1 at uhub0 port 14 configuration 1 interface 3 "Logitech HD Pro Webcam C920" rev 2.00/0.19 addr 5
uaudio1: class v1, high-speed, sync, channels: 0 play, 2 rec, 2 ctls
audio2 at uaudio1
vscsi0 at root
scsibus3 at vscsi0: 256 targets
softraid0 at root
scsibus4 at softraid0: 256 targets
sd1 at scsibus4 targ 1 lun 0: <OPENBSD, SR CRYPTO, 006>
sd1: 488385MB, 512 bytes/sector, 1000213601 sectors
root on sd1a (7616443b0c944587.a) swap on sd1b dump on sd1b
inteldrm0: 1920x1200, 32bpp
wsdisplay0 at inteldrm0 mux 1: console (std, vt100 emulation), using wskbd0
wskbd1: connecting to wsdisplay0
wskbd2: connecting to wsdisplay0
wsdisplay0: screen 1-5 added (std, vt100 emulation)
iwm0: hw rev 0x140, fw ver 17.3216344376.0, address XXX
wskbd1: disconnecting from wsdisplay0
wskbd1 detached
ukbd0 detached
uhidev0 detached
uhid0 detached
uhid1 detached
uhidev1 detached
uhidev0 at uhub0 port 1 configuration 1 interface 0 "MALTRON USB Multimedia Keyboard" rev 1.10/1.22 addr 2
uhidev0: iclass 3/1
ukbd0 at uhidev0: 8 variable keys, 6 key codes, country code 13
wskbd1 at ukbd0: console keyboard, using wsdisplay0
uhidev1 at uhub0 port 1 configuration 1 interface 1 "MALTRON USB Multimedia Keyboard" rev 1.10/1.22 addr 2
uhidev1: iclass 3/0, 3 report ids
uhid0 at uhidev1 reportid 2: input=1, output=0, feature=0
uhid1 at uhidev1 reportid 3: input=2, output=0, feature=0
uvideo0: uvideo_open: sc=0xffff800000672000
uvideo0: uvideo_s_fmt: requested width=1280, height=720
uvideo0: uvideo_find_res: frame index 0: width=640, height=480
uvideo0: uvideo_find_res: frame index 1: width=160, height=90
uvideo0: uvideo_find_res: frame index 2: width=160, height=120
uvideo0: uvideo_find_res: frame index 3: width=176, height=144
uvideo0: uvideo_find_res: frame index 4: width=320, height=180
uvideo0: uvideo_find_res: frame index 5: width=320, height=240
uvideo0: uvideo_find_res: frame index 6: width=352, height=288
uvideo0: uvideo_find_res: frame index 7: width=432, height=240
uvideo0: uvideo_find_res: frame index 8: width=640, height=360
uvideo0: uvideo_find_res: frame index 9: width=800, height=448
uvideo0: uvideo_find_res: frame index 10: width=800, height=600
uvideo0: uvideo_find_res: frame index 11: width=864, height=480
uvideo0: uvideo_find_res: frame index 12: width=960, height=720
uvideo0: uvideo_find_res: frame index 13: width=1024, height=576
uvideo0: uvideo_find_res: frame index 14: width=1280, height=720
uvideo0: uvideo_find_res: frame index 15: width=1600, height=896
uvideo0: uvideo_find_res: frame index 16: width=1920, height=1080
uvideo0: SET probe request successfully
bmHint=0x01
bFormatIndex=0x02
bFrameIndex=0x0f
dwFrameInterval=333333 (100ns units)
wKeyFrameRate=0
wPFrameRate=0
wCompQuality=0
wCompWindowSize=0
wDelay=0 (ms)
dwMaxVideoFrameSize=0 (bytes)
dwMaxPayloadTransferSize=0 (bytes)
uvideo0: GET probe request successfully
bmHint=0x01
bFormatIndex=0x02
bFrameIndex=0x0f
dwFrameInterval=333333 (100ns units)
wKeyFrameRate=0
wPFrameRate=0
wCompQuality=61
wCompWindowSize=0
wDelay=0 (ms)
dwMaxVideoFrameSize=1843200 (bytes)
dwMaxPayloadTransferSize=2688 (bytes)
uvideo0: SET commit request successfully
uvideo0: uvideo_s_fmt: offered width=1280, height=720
uvideo0: SET probe request successfully
bmHint=0x01
bFormatIndex=0x02
bFrameIndex=0x0f
dwFrameInterval=333333 (100ns units)
wKeyFrameRate=0
wPFrameRate=0
wCompQuality=0
wCompWindowSize=0
wDelay=0 (ms)
dwMaxVideoFrameSize=0 (bytes)
dwMaxPayloadTransferSize=0 (bytes)
uvideo0: GET probe request successfully
bmHint=0x01
bFormatIndex=0x02
bFrameIndex=0x0f
dwFrameInterval=333333 (100ns units)
wKeyFrameRate=0
wPFrameRate=0
wCompQuality=61
wCompWindowSize=0
wDelay=0 (ms)
dwMaxVideoFrameSize=1843200 (bytes)
dwMaxPayloadTransferSize=2688 (bytes)
uvideo0: SET commit request successfully
uvideo0: uvideo_reqbufs: count=256
uvideo0: allocated 14745600 bytes mmap buffer
uvideo0: uvideo_reqbufs: index=0, offset=0, length=1843200
uvideo0: uvideo_reqbufs: index=1, offset=1843200, length=1843200
uvideo0: uvideo_reqbufs: index=2, offset=3686400, length=1843200
uvideo0: uvideo_reqbufs: index=3, offset=5529600, length=1843200
uvideo0: uvideo_reqbufs: index=4, offset=7372800, length=1843200
uvideo0: uvideo_reqbufs: index=5, offset=9216000, length=1843200
uvideo0: uvideo_reqbufs: index=6, offset=11059200, length=1843200
uvideo0: uvideo_reqbufs: index=7, offset=12902400, length=1843200
uvideo0: uvideo_querybuf: index=0, offset=0, length=1843200
uvideo0: uvideo_querybuf: index=1, offset=1843200, length=1843200
uvideo0: uvideo_querybuf: index=2, offset=3686400, length=1843200
uvideo0: uvideo_querybuf: index=3, offset=5529600, length=1843200
uvideo0: uvideo_querybuf: index=4, offset=7372800, length=1843200
uvideo0: uvideo_querybuf: index=5, offset=9216000, length=1843200
uvideo0: uvideo_querybuf: index=6, offset=11059200, length=1843200
uvideo0: uvideo_querybuf: index=7, offset=12902400, length=1843200
uvideo0: uvideo_vs_open
uvideo0: set alternate iface to bAlternateSetting=0x0a psize=2688 max_packet_size=2688
uvideo0: open pipe for bEndpointAddress=0x81
uvideo0: nframes=40
uvideo0: uvideo_vs_alloc_isoc
uvideo0: allocated 107520 bytes isoc VS xfer buffer
uvideo0: allocated 107520 bytes isoc VS xfer buffer
uvideo0: allocated 107520 bytes isoc VS xfer buffer
uvideo0: uvideo_vs_alloc_frame: allocated 1843200 bytes frame buffer
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_mmap_queue: mmap queue is full!uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_mmap_queue: mmap queue is full!uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_mmap_queue: mmap queue is full!uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_mmap_queue: mmap queue is full!uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_mmap_queue: mmap queue is full!uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_mmap_queue: mmap queue is full!uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_mmap_queue: mmap queue is full!uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_mmap_queue: mmap queue is full!uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_mmap_queue: mmap queue is full!uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_mmap_queue: mmap queue is full!uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: stream error!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: stream error!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_mmap_queue: mmap queue is full!uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_mmap_queue: mmap queue is full!uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_vs_decode_stream_header: wrong FID, ignore last frame!
uvideo0: uvideo_mmap_queue: mmap queue is full!uvideo0: uvideo_vs_cb: CANCELLED
uvideo0: uvideo_vs_cb: CANCELLED
uvideo0: uvideo_vs_cb: CANCELLED
uvideo0: uvideo_close: sc=0xffff800000672000
uvideo0: uvideo_vs_free_isoc

Reply | Threaded
Open this post in threaded view
|

Re: uvideo problems with mjpeg on external cameras

Laurence Tratt
On Wed, Jun 24, 2020 at 08:51:37AM +0100, Laurence Tratt wrote:

> External webcams don't seem to work fully correctly with the uvideo driver
> and mjpeg? If I use this command as an example (since it's cross platform):
>
>   $ ffmpeg -f v4l2 -input_format mjpeg -video_size 1280x720 -framerate 30 \
>     -i /dev/video0 webcam.mkv
>
> on my X1 Carbon (6th gen), the internal camera produces correct output, but
> an external Logitech C920s produces endless warnings along the lines of:
>
>   [mjpeg @ 0xe666c20b800] mjpeg_decode_dc: bad vlc: 0:0 (0xe66ec71f248)
>   [mjpeg @ 0xe666c20b800] error dc
>   [mjpeg @ 0xe666c20b800] error y=57 x=9
>   [mjpeg @ 0xe666c20b800] Found EOI before any SOF, ignoring
>   [mjpeg @ 0xe666c20b800] No JPEG data found in image
>   Error while decoding stream #0:0: Invalid data found when processing input
>   [mjpeg @ 0xe666c20b800] Found EOI before any SOF, ignoring
>   [mjpeg @ 0xe666c20b800] No JPEG data found in image
>   Error while decoding stream #0:0: Invalid data found when processing input

It seems this is because the Logitech C920 has been revised (mine has the
USB ID 046d:0892) and no longer supports a separate H264 mode. Instead it
(somehow) embeds H264 data into the mjpeg stream. From what I can gather,
most/all new Logitech webcams use this new Logitech format. This post [1] is
informative. FFmpeg have an issue for this [2] which goes into more detail.
Since my C920 works fine with FFmpeg on Linux, my working guess is that
FFmpeg has implemented an appropriate demuxer for the Logitech format, but
that uvideo chokes on it. If anyone has any suggestions, I'm all ears!


Laurie

[1] https://stackoverflow.com/posts/56403628/revisions
[2] https://trac.ffmpeg.org/ticket/8413

Reply | Threaded
Open this post in threaded view
|

Re: uvideo problems with mjpeg on external cameras

Laurence Tratt
On Thu, Jun 25, 2020 at 11:21:51PM +0100, Laurence Tratt wrote:

> It seems this is because the Logitech C920 has been revised (mine has the
> USB ID 046d:0892) and no longer supports a separate H264 mode.

This turns out to be a total red herring -- modern FFmpeg deals with the
MJPEG fine and you *can* get it to work for pointlessly small resolutions on
OpenBSD. Using this command:

  ffplay -f v4l2 -input_format mjpeg -video_size 160x90 -i /dev/video0

one can quickly map which resolutions work and which don't. There is some
variation from reboot to reboot, but the approximate summary for MJPEG
resolutions is roughly as follows:

  160x90       Works
  160x120      Works
  176x144      Works
  320x180      Mostly works
  320x240      Sometimes works
  352x288      Sometimes works
  432x240      Breaks up
  640x360      Breaks up
  640x480      Breaks up
  800x448      Breaks up
  800x600      Breaks up
  864x480      Breaks up
  960x720      Breaks up
  1024x576     Breaks up
  1280x720     Breaks up
  1600x896     Breaks up
  1920x1080    Breaks up

I can only guess as to why this might be: perhaps OpenBSD's USB stack isn't
able to transfer data from the USB device? Or maybe there's a problem in
uvideo.c (but I've spent several hours fiddling with it and comparing it to
the Linux UVC support: I couldn't find anything obvious)? Or ...?

I'm now stuck. If anyone has suggestions, I'm all ears! At a basic level, it
would be interesting simply to know if anyone else uses MJPEG mode on a
webcam and whether they've experienced video break-up too.


Laurie

Reply | Threaded
Open this post in threaded view
|

Re: uvideo problems with mjpeg on external cameras

Ingo Feinerer-2
In reply to this post by Laurence Tratt
On Fri, Jun 26, 2020 at 10:20:04PM +0000, Laurence Tratt wrote:

> This turns out to be a total red herring -- modern FFmpeg deals with the
> MJPEG fine and you *can* get it to work for pointlessly small resolutions on
> OpenBSD. Using this command:
>
>   ffplay -f v4l2 -input_format mjpeg -video_size 160x90 -i /dev/video0
>
> one can quickly map which resolutions work and which don't. There is some
> variation from reboot to reboot, but the approximate summary for MJPEG
> resolutions is roughly as follows:
>
>   160x90       Works
>   160x120      Works
>   176x144      Works
>   320x180      Mostly works
>   320x240      Sometimes works
>   352x288      Sometimes works
>   432x240      Breaks up
>   640x360      Breaks up
>   640x480      Breaks up
>   800x448      Breaks up
>   800x600      Breaks up
>   864x480      Breaks up
>   960x720      Breaks up
>   1024x576     Breaks up
>   1280x720     Breaks up
>   1600x896     Breaks up
>   1920x1080    Breaks up

Same behavior with an old MS LifeCam NX-6000 (which only supports
MJPEG). It works up to 160x120 without problems on USB3 ports and up to
the maximum resolution supported by the camera on USB2 ports (i.e., USB3
disabled in the BIOS).

By the way nice observation; I always thought that this camera does not
work at all with USB3 ...

For the higher resolutions with USB3:

[mjpeg @ 0xffad3cb2000] Found EOI before any SOF, ignoring
[mjpeg @ 0xffad3cb2000] No JPEG data found in image
[mjpeg @ 0xffad3cb2000] overread 8aq=    0KB vq=    0KB sq=    0B f=0/0  
[mjpeg @ 0xffad3cb2000] mjpeg: unsupported coding type (cb)
[mjpeg @ 0xffad3cb2000] unable to decode APP fields: Invalid data found when processing input
[mjpeg @ 0xffad3cb2000] Found EOI before any SOF, ignoring=    0B f=0/0

Reply | Threaded
Open this post in threaded view
|

Re: uvideo problems with mjpeg on external cameras

Laurence Tratt
On Sat, Jun 27, 2020 at 02:41:25AM +0200, Ingo Feinerer wrote:

Hello Ingo,

> Same behavior with an old MS LifeCam NX-6000 (which only supports
> MJPEG). It works up to 160x120 without problems on USB3 ports and up to
> the maximum resolution supported by the camera on USB2 ports (i.e., USB3
> disabled in the BIOS).

Interesting. I've just tried the webcam on what my desktop motherboard
manual claims is a USB 2.0/2.1 port, but it doesn't make any difference to
MJPEG mode on the C920 for me unfortunately. Indeed, MJPEG mode functions
worse on my desktop than it did on my Thinkpad (more modes break up). I'm
CCing Marcus, because he's had recent success with Logitech webcams [1, 2,
3] and perhaps can tell us if that was in H264 or MJPEG mode?

I've also noticed that I can now make video(1) work properly more often.
Basically if I invoke it twice:

  $ video -s 800x480
  $ video -s 800x480

on the second invocation it will always show a black screen. However, if I
change the resolution it works again:

  $ video -s 800x600

Flipping resolution seems to always work, perhaps because it's resetting
some internal state in the camera? [video(1)'s settings such as saturation
are otherwise "sticky".]


Laurie

[1] https://marc.info/?l=openbsd-cvs&m=157863712513236&w=2
[2] https://marc.info/?l=openbsd-cvs&m=157610240222816&w=2
[3] https://marc.info/?l=openbsd-cvs&m=157301922818383&w=2

Reply | Threaded
Open this post in threaded view
|

Re: uvideo problems with mjpeg on external cameras

Laurence Tratt
On Thu, Jul 02, 2020 at 01:54:52PM +0200, Marcus Glocker wrote:

Hello Marcus,

> Can you send me your cams USB device id again please?

Here's the relevant excerpt from usbdevs:

  addr 04: 046d:0892 Logitech, HD Pro Webcam C920
           high speed, power 500 mA, config 1, rev 0.19, iSerial AECF521F
           driver: uvideo0
           driver: uaudio0

That corresponds to the "modern" USB ID from [1].

> I just can re-test my Logitech C920 Pro next week again since I'm
> currently not at home.

Thanks!

> Since the last time I have tested it there were some more changes in
> xhci(4) - Not sure if there is any relation to that. But you said you face
> the same issues on USB3 and USB2, right?

My Asus 170M-PLUS manual claims to have a mix of USB2 and USB3 ports on the
back (I'm not sure how I can actually tell other than hoping the manual is
correct!), but plugging it into either type seemed to make no difference.

One other odd thing to add to the mix. `video -q` now (sometimes? always?
I'm not sure) shows extra modes:

  video device /dev/video:
    encodings: yuy2
    frame sizes (width x height, in pixels) and rates (in frames per second):
  160x90: 30, 24, 20, 15, 10, 7, 5
  160x120: 30, 24, 20, 15, 10, 7, 5
  176x144: 30, 24, 20, 15, 10, 7, 5
  320x180: 30, 24, 20, 15, 10, 7, 5
  320x240: 30, 24, 20, 15, 10, 7, 5
  352x288: 30, 24, 20, 15, 10, 7, 5
  432x240: 30, 24, 20, 15, 10, 7, 5
  640x360: 30, 24, 20, 15, 10, 7, 5
  640x480: 30, 24, 20, 15, 10, 7, 5
  800x448: 30, 24, 20, 15, 10, 7, 5
  800x600: 24, 20, 15, 10, 7, 5
  864x480: 24, 20, 15, 10, 7, 5
  960x720: 15, 10, 7, 5
  1024x576: 15, 10, 7, 5
  1280x720: 10, 7, 5
  1600x896: 7, 5
  1920x1080: 5
  2304x1296: 2
  2304x1536: 2
    controls: brightness, contrast, saturation, gain, sharpness

In my original bug report [2], only modes up to 1920x1080 (inclusive) were
shown. Those new modes do work -- sort of. For the first few seconds, `video
-s 2304x1536` does show about two frames a second for roughly 10 seconds.
Then it pauses with a certain frame for several seconds before printing
"video: ioctl VIDIOC_DQBUF: Invalid argument". Sometimes it then resumes, but
with 1 frame every 2-4 seconds; sometimes it crashes outright. [The same
thing happens with ffplay at that resolution -- a few seconds of 2fps, a big
pause, then "video: ioctl VIDIOC_DQBUF: Invalid argument".] Sometimes I get
"usbd_start_next: error=13" in my dmesg at about the same time, though I'm
not entirely sure if that's related or not.

One possibility has occurred to me: when communicating with Alexandre
Ratchov about sound on my machine sometimes dying, he said (from memory)
that the USB stack could only buffer about 50ms of audio before failing, and
that the USB stack ran at a relatively low priority in the kernel.
[Apologies to Alexandre if I've misrepresented him!] I'm wondering if maybe
the amount of data the camera is trying to transfer exceeds the USB stack's
ability to transfer it? This is a wild stab in the dark: I don't have the
first idea as to how I might test this theory out!


Laurie

[1] https://trac.ffmpeg.org/ticket/8413
[2] https://marc.info/?l=openbsd-bugs&m=159298546428570&w=2