Provideo
Provideo seems to make PCI and PCIe capture cards for DVR applications.
PV-981
The PV-981 is a 16-port capture card, with four BT878 chips, each wired to 4 inputs. It also has four audio codecs on board (not yet tested/documented) and some GPIO (likewise).
It's misdetected as a PV150A, which has apparently never been a valid Provideo part number, and nobody seems to know why, see this thread.
To enable all 4 inputs:
rmmod bttv
modprobe bttv card=77,77,77,77
That's it, now it's a generic 4-input card with no audio or s-video, if you need audio then you'll have to pick a different card to pretend to be.
Card photos
Inputs
While misdetected as a PV150A, each of the 4 chips can be switched between input 0 and input 1, as highlighted in the following image:
Attempting to select input 2 or 3 crashes VLC. Fix your modprobe settings as detailed above, and suddenly it works!
Pinout
The DE-15 connectors (high-density, looks like VGA) on the back of the card have the following pinout:
1 blue 1 2 blue 2 3 ground 4 blue 3 5 blue 4 6 green 1 7 green 2 8 ground 9 green 3 10 green 4 11 red 1 12 red 2 13 ground 14 red 3 15 red 4
If this cable is plugged into connector 1, the "blue" and "green" cables are the video inputs, and the "red" connectors are audio.
If this cable is plugged into connector 2, the "blue" and "green" cables are the video inputs, and the "red" connectors do nothing.
There are 4 small headers and one large one, there are also two 2-pin connectors and the unpopulated footprint for a molex power connector.
OP1, OP2, OP3, and OP4 have the following pinout:
1 ??? 2 ??? 3 ground 4 ground 5 ??? 6 ??? 7 ground 8 ground 9 ground 10 ground
GP1 has the following pinout:
1 ??? 2 ground 3 ??? 4 ground 5 ??? 6 ground 7 ??? 8 ground 9 ??? 10 ground 11 ??? 12 ground 13 ??? 14 ground 15 ??? 16 ground 17 ground 18 ??? 19 ground 20 ??? 21 ground 22 ??? 23 ground 24 ??? 25 ground 26 ??? 27 ground 28 ??? 29 ground 30 ??? 31 ground 32 ??? 33 ??? 34 ???
J1 has the following pinout:
1 ??? 2 ???
J2 has the following pinout
1 ??? 2 ???
Chips
U11, U15, U18, and U21 are 24c02 2-wire eeprom chips and contain the identification number that bttv uses to detect the card (there are 4, one for each bt878), on this card the numbers should be for the PV150A (according to the bttv source code) and if you change them to the ones for the PV143 you will then autodetect the card as having 16 inputs.
Snippet from bttv-cards.c:
223 { 0x1430aa00, BTTV_BOARD_PV143, "Provideo PV143A" }, 224 { 0x1431aa00, BTTV_BOARD_PV143, "Provideo PV143B" }, 225 { 0x1432aa00, BTTV_BOARD_PV143, "Provideo PV143C" }, 226 { 0x1433aa00, BTTV_BOARD_PV143, "Provideo PV143D" }, 227 { 0x1433aa03, BTTV_BOARD_PV143, "Security Eyes" }, 228 229 { 0x1460aa00, BTTV_BOARD_PV150, "Provideo PV150A-1" }, 230 { 0x1461aa01, BTTV_BOARD_PV150, "Provideo PV150A-2" }, 231 { 0x1462aa02, BTTV_BOARD_PV150, "Provideo PV150A-3" }, 232 { 0x1463aa03, BTTV_BOARD_PV150, "Provideo PV150A-4" },
The audio chips U23-U26 are TI AIC23B stereo codecs, use of them is not defined yet.
dmesg
trimmed to just the relevant parts:
media: Linux media interface: v0.10 input: PC Speaker as /devices/platform/pcspkr/input/input12 Linux video capture interface: v2.00 kvm: disabled by bios bttv: driver version 0.9.19 loaded bttv: using 8 buffers with 2080k (520 pages) each for capture bttv: Bt8xx card found (0) bttv: 0: Bt878 (rev 17) at 0000:03:00.0, irq: 18, latency: 32, mmio: 0xfd3ff000 bttv: 0: detected: Provideo PV150A-1 [card=98], PCI subsystem ID is aa00:1460 bttv: 0: using: ProVideo PV150 [card=98,autodetected] bttv: 0: tuner absent bttv: 0: Setting PLL: 28636363 => 35468950 (needs up to 100ms) bttv: PLL set ok bttv: 0: registered device video0 bttv: 0: registered device vbi0 Registered IR keymap rc-hauppauge input: i2c IR (Hauppauge) as /devices/virtual/rc/rc0/input13 rc0: i2c IR (Hauppauge) as /devices/virtual/rc/rc0 ir-kbd-i2c: i2c IR (Hauppauge) detected at i2c-0/0-001a/ir0 [bt878 #0 [sw]] bttv: Bt8xx card found (1) bttv: 1: Bt878 (rev 17) at 0000:03:01.0, irq: 19, latency: 32, mmio: 0xfd3fd000 bttv: 1: detected: Provideo PV150A-2 [card=98], PCI subsystem ID is aa01:1461 bttv: 1: using: ProVideo PV150 [card=98,autodetected] bttv: 1: tuner absent bttv: 1: Setting PLL: 28636363 => 35468950 (needs up to 100ms) bttv: PLL set ok bttv: 1: registered device video1 bttv: 1: registered device vbi1 Registered IR keymap rc-hauppauge input: i2c IR (Hauppauge) as /devices/virtual/rc/rc1/input14 rc1: i2c IR (Hauppauge) as /devices/virtual/rc/rc1 ir-kbd-i2c: i2c IR (Hauppauge) detected at i2c-7/7-001a/ir0 [bt878 #1 [sw]] bttv: Bt8xx card found (2) bttv: 2: Bt878 (rev 17) at 0000:03:02.0, irq: 16, latency: 32, mmio: 0xfd3fb000 bttv: 2: detected: Provideo PV150A-3 [card=98], PCI subsystem ID is aa02:1462 bttv: 2: using: ProVideo PV150 [card=98,autodetected] bttv: 2: tuner absent bttv: 2: Setting PLL: 28636363 => 35468950 (needs up to 100ms) bttv: PLL set ok bttv: 2: registered device video2 bttv: 2: registered device vbi2 Registered IR keymap rc-hauppauge input: i2c IR (Hauppauge) as /devices/virtual/rc/rc2/input15 rc2: i2c IR (Hauppauge) as /devices/virtual/rc/rc2 ir-kbd-i2c: i2c IR (Hauppauge) detected at i2c-8/8-001a/ir0 [bt878 #2 [sw]] bttv: Bt8xx card found (3) bttv: 3: Bt878 (rev 17) at 0000:03:03.0, irq: 17, latency: 32, mmio: 0xfd3f9000 bttv: 3: detected: Provideo PV150A-4 [card=98], PCI subsystem ID is aa03:1463 bttv: 3: using: ProVideo PV150 [card=98,autodetected] bttv: 3: tuner absent bttv: 3: Setting PLL: 28636363 => 35468950 (needs up to 100ms) bttv: PLL set ok bttv: 3: registered device video3 bttv: 3: registered device vbi3 Registered IR keymap rc-hauppauge input: i2c IR (Hauppauge) as /devices/virtual/rc/rc3/input16 rc3: i2c IR (Hauppauge) as /devices/virtual/rc/rc3 ir-kbd-i2c: i2c IR (Hauppauge) detected at i2c-9/9-001a/ir0 [bt878 #3 [sw]]
lspci
PCI bridge: Texas Instruments XIO2000(A)/XIO2200A PCI Express-to-PCI Bridge (rev 03) Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11) Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11) Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11) Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11) Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11) Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11) Multimedia video controller: Brooktree Corporation Bt878 Video Capture (rev 11) Multimedia controller: Brooktree Corporation Bt878 Audio Capture (rev 11)
vbi0
(vbi1 is identical except for the PCI ID)
### v4l2 device info [/dev/vbi0] ### general info VIDIOC_QUERYCAP driver : "bttv" card : "BT878 video (ProVideo PV150)" bus_info : "PCI:0000:03:00.0" version : 3.16.7 capabilities : 0x85000015 [VIDEO_CAPTURE,VIDEO_OVERLAY,VBI_CAPTURE,READWRITE,STREAMING,(null)] standards VIDIOC_ENUMSTD(0) index : 0 id : 0xb000 [NTSC_M,NTSC_M_JP,?] name : "NTSC" frameperiod.numerator : 1001 frameperiod.denominator : 30000 framelines : 525 VIDIOC_ENUMSTD(1) index : 1 id : 0x1000 [NTSC_M] name : "NTSC-M" frameperiod.numerator : 1001 frameperiod.denominator : 30000 framelines : 525 VIDIOC_ENUMSTD(2) index : 2 id : 0x2000 [NTSC_M_JP] name : "NTSC-M-JP" frameperiod.numerator : 1001 frameperiod.denominator : 30000 framelines : 525 VIDIOC_ENUMSTD(3) index : 3 id : 0x8000 [?] name : "NTSC-M-KR" frameperiod.numerator : 1001 frameperiod.denominator : 30000 framelines : 525 VIDIOC_ENUMSTD(4) index : 4 id : 0xff [PAL_B,PAL_B1,PAL_G,PAL_H,PAL_I,PAL_D,PAL_D1,PAL_K] name : "PAL" frameperiod.numerator : 1 frameperiod.denominator : 25 framelines : 625 VIDIOC_ENUMSTD(5) index : 5 id : 0x7 [PAL_B,PAL_B1,PAL_G] name : "PAL-BG" frameperiod.numerator : 1 frameperiod.denominator : 25 framelines : 625 VIDIOC_ENUMSTD(6) index : 6 id : 0x8 [PAL_H] name : "PAL-H" frameperiod.numerator : 1 frameperiod.denominator : 25 framelines : 625 VIDIOC_ENUMSTD(7) index : 7 id : 0x10 [PAL_I] name : "PAL-I" frameperiod.numerator : 1 frameperiod.denominator : 25 framelines : 625 VIDIOC_ENUMSTD(8) index : 8 id : 0xe0 [PAL_D,PAL_D1,PAL_K] name : "PAL-DK" frameperiod.numerator : 1 frameperiod.denominator : 25 framelines : 625 VIDIOC_ENUMSTD(9) index : 9 id : 0x100 [PAL_M] name : "PAL-M" frameperiod.numerator : 1001 frameperiod.denominator : 30000 framelines : 525 VIDIOC_ENUMSTD(10) index : 10 id : 0x200 [PAL_N] name : "PAL-N" frameperiod.numerator : 1 frameperiod.denominator : 25 framelines : 625 VIDIOC_ENUMSTD(11) index : 11 id : 0x400 [PAL_Nc] name : "PAL-Nc" frameperiod.numerator : 1 frameperiod.denominator : 25 framelines : 625 VIDIOC_ENUMSTD(12) index : 12 id : 0x800 [PAL_60] name : "PAL-60" frameperiod.numerator : 1001 frameperiod.denominator : 30000 framelines : 525 VIDIOC_ENUMSTD(13) index : 13 id : 0xff0000 [SECAM_B,SECAM_D,SECAM_G,SECAM_H,SECAM_K,SECAM_K1,SECAM_L,?ATSC_8_VSB] name : "SECAM" frameperiod.numerator : 1 frameperiod.denominator : 25 framelines : 625 VIDIOC_ENUMSTD(14) index : 14 id : 0x10000 [SECAM_B] name : "SECAM-B" frameperiod.numerator : 1 frameperiod.denominator : 25 framelines : 625 VIDIOC_ENUMSTD(15) index : 15 id : 0x40000 [SECAM_G] name : "SECAM-G" frameperiod.numerator : 1 frameperiod.denominator : 25 framelines : 625 VIDIOC_ENUMSTD(16) index VIDIOC_G_FMT(VIDEO_CAPTURE): Invalid argument VIDIOC_G_FMT(VIDEO_OVERLAY): Invalid argument VIDIOC_G_FBUF: Inappropriate ioctl for device : 16 id : 0x80000 [SECAM_H] name : "SECAM-H" frameperiod.numerator : 1 frameperiod.denominator : 25 framelines : 625 VIDIOC_ENUMSTD(17) index : 17 id : 0x320000 [SECAM_D,SECAM_K,SECAM_K1] name : "SECAM-DK" frameperiod.numerator : 1 frameperiod.denominator : 25 framelines : 625 VIDIOC_ENUMSTD(18) index : 18 id : 0x400000 [SECAM_L] name : "SECAM-L" frameperiod.numerator : 1 frameperiod.denominator : 25 framelines : 625 VIDIOC_ENUMSTD(19) index : 19 id : 0x800000 [?ATSC_8_VSB] name : "SECAM-Lc" frameperiod.numerator : 1 frameperiod.denominator : 25 framelines : 625 inputs VIDIOC_ENUMINPUT(0) index : 0 name : "Composite0" type : CAMERA audioset : 0 tuner : 0 std : 0xffbfff [PAL_B,PAL_B1,PAL_G,PAL_H,PAL_I,PAL_D,PAL_D1,PAL_K,PAL_M,PAL_N,PAL_Nc,PAL_60,NTSC_M,NTSC_M_JP,?,SECAM_B,SECAM_D,SECAM_G,SECAM_H,SECAM_K,SECAM_K1,SECAM_L,?ATSC_8_VSB] status : 0x0 [] VIDIOC_ENUMINPUT(1) index : 1 name : "Composite1" type : CAMERA audioset : 0 tuner : 0 std : 0xffbfff [PAL_B,PAL_B1,PAL_G,PAL_H,PAL_I,PAL_D,PAL_D1,PAL_K,PAL_M,PAL_N,PAL_Nc,PAL_60,NTSC_M,NTSC_M_JP,?,SECAM_B,SECAM_D,SECAM_G,SECAM_H,SECAM_K,SECAM_K1,SECAM_L,?ATSC_8_VSB] status : 0x0 [] video capture video overlay vbi capture VIDIOC_G_FMT(VBI_CAPTURE) type : VBI_CAPTURE fmt.vbi.sampling_rate : 28636363 fmt.vbi.offset : 244 fmt.vbi.samples_per_line: 2048 fmt.vbi.sample_format : 0x59455247 [GREY] fmt.vbi.start[0] : 10 fmt.vbi.start[1] : 273 fmt.vbi.count[0] : 16 fmt.vbi.count[1] : 16 fmt.vbi.flags : 0 controls VIDIOC_QUERYCTRL(BASE+0) id : 9963776 type : INTEGER name : "Brightness" minimum : 0 maximum : 65280 step : 256 default_value : 32768 flags : 32 VIDIOC_QUERYCTRL(BASE+1) id : 9963777 type : INTEGER name : "Contrast" minimum : 0 maximum : 65408 step : 128 default_value : 27648 flags : 32 VIDIOC_QUERYCTRL(BASE+2) id : 9963778 type : INTEGER name : "Saturation" minimum : 0 maximum : 65408 step : 128 default_value : 32768 flags : 32 VIDIOC_QUERYCTRL(BASE+3) id : 9963779 type : INTEGER name : "Hue" minimum : 0 maximum : 65280 step : 256 default_value : 32768 flags : 32 VIDIOC_QUERYCTRL(BASE+9) id : 9963785 type : BOOLEAN name : "Mute" minimum : 0 maximum : 1 step : 1 default_value : 0 flags : 0 VIDIOC_QUERYCTRL(BASE+29) id : 9963805 type : BOOLEAN name : "Chroma AGC" minimum : 0 maximum : 1 step : 1 default_value : 0 flags : 0 VIDIOC_QUERYCTRL(BASE+30) id : 9963806 type : BOOLEAN name : "Color Killer" minimum : 0 maximum : 1 step : 1 default_value : 0 flags : 0 VIDIOC_QUERYCTRL(PRIVATE_BASE+0) id : 134217728 type : BOOLEAN name : "Comb Filter" minimum : 0 maximum : 1 step : 1 default_value : 0 flags : 0 VIDIOC_QUERYCTRL(PRIVATE_BASE+1) id : 134217729 type : BOOLEAN name : "Auto Mute" minimum : 0 maximum : 1 step : 1 default_value : 1 flags : 0 VIDIOC_QUERYCTRL(PRIVATE_BASE+2) id : 134217730 type : BOOLEAN name : "Luma Decimation Filter" minimum : 0 maximum : 1 step : 1 default_value : 0 flags : 0 VIDIOC_QUERYCTRL(PRIVATE_BASE+3) id : 134217731 type : BOOLEAN name : "AGC Crush" minimum : 0 maximum : 1 step : 1 default_value : 1 flags : 0 VIDIOC_QUERYCTRL(PRIVATE_BASE+4) id : 134217732 type : BOOLEAN name : "VCR Hack" minimum : 0 maximum : 1 step : 1 default_value : 0 flags : 0 VIDIOC_QUERYCTRL(PRIVATE_BASE+5) id : 134217733 type : INTEGER name : "Whitecrush Lower" minimum : 0 maximum : 255 step : 1 default_value : 127 flags : 0 VIDIOC_QUERYCTRL(PRIVATE_BASE+6) id : 134217734 type : INTEGER name : "Whitecrush Upper" minimum : 0 maximum : 255 step : 1 default_value : 207 flags : 0 VIDIOC_QUERYCTRL(PRIVATE_BASE+7) id : 134217735 type : INTEGER name : "UV Ratio" minimum : 0 maximum : 100 step : 1 default_value : 50 flags : 0 VIDIOC_QUERYCTRL(PRIVATE_BASE+8) id : 134217736 type : BOOLEAN name : "Full Luma Range" minimum : 0 maximum : 1 step : 1 default_value : 0 flags : 0 VIDIOC_QUERYCTRL(PRIVATE_BASE+9) id : 134217737 type : INTEGER name : "Coring" minimum : 0 maximum : 3 step : 1 default_value : 0 flags : 0
video0
(video1 is identical except for the PCI ID)
### v4l2 device info [/dev/video0] ### general info VIDIOC_QUERYCAP driver : "bttv" card : "BT878 video (ProVideo PV150)" bus_info : "PCI:0000:03:00.0" version : 3.16.7 capabilities : 0x85000015 [VIDEO_CAPTURE,VIDEO_OVERLAY,VBI_CAPTURE,READWRITE,STREAMING,(null)] standards VIDIOC_ENUMSTD(0) index : 0 id : 0xb000 [NTSC_M,NTSC_M_JP,?] name : "NTSC" frameperiod.numerator : 1001 frameperiod.denominator : 30000 framelines : 525 VIDIOC_ENUMSTD(1) index : 1 id : 0x1000 [NTSC_M] name : "NTSC-M" frameperiod.numerator : 1001 frameperiod.denominator : 30000 framelines : 525 VIDIOC_ENUMSTD(2) index : 2 id : 0x2000 [NTSC_M_JP] name : "NTSC-M-JP" frameperiod.numerator : 1001 frameperiod.denominator : 30000 framelines : 525 VIDIOC_ENUMSTD(3) index : 3 id : 0x8000 [?] name : "NTSC-M-KR" frameperiod.numerator : 1001 frameperiod.denominator : 30000 framelines : 525 VIDIOC_ENUMSTD(4) index : 4 id : 0xff [PAL_B,PAL_B1,PAL_G,PAL_H,PAL_I,PAL_D,PAL_D1,PAL_K] name : "PAL" frameperiod.numerator : 1 frameperiod.denominator : 25 framelines : 625 VIDIOC_ENUMSTD(5) index : 5 id : 0x7 [PAL_B,PAL_B1,PAL_G] name : "PAL-BG" frameperiod.numerator : 1 frameperiod.denominator : 25 framelines : 625 VIDIOC_ENUMSTD(6) index : 6 id : 0x8 [PAL_H] name : "PAL-H" frameperiod.numerator : 1 frameperiod.denominator : 25 framelines : 625 VIDIOC_ENUMSTD(7) index : 7 id : 0x10 [PAL_I] name : "PAL-I" frameperiod.numerator : 1 frameperiod.denominator : 25 framelines : 625 VIDIOC_ENUMSTD(8) index : 8 id : 0xe0 [PAL_D,PAL_D1,PAL_K] name : "PAL-DK" frameperiod.numerator : 1 frameperiod.denominator : 25 framelines : 625 VIDIOC_ENUMSTD(9) index : 9 id : 0x100 [PAL_M] name : "PAL-M" frameperiod.numerator : 1001 frameperiod.denominator : 30000 framelines : 525 VIDIOC_ENUMSTD(10) index : 10 id : 0x200 [PAL_N] name : "PAL-N" frameperiod.numerator : 1 frameperiod.denominator : 25 framelines : 625 VIDIOC_ENUMSTD(11) index : 11 id : 0x400 [PAL_Nc] name : "PAL-Nc" frameperiod.numerator : 1 frameperiod.denominator : 25 framelines : 625 VIDIOC_ENUMSTD(12) index : 12 id : 0x800 [PAL_60] name : "PAL-60" frameperiod.numerator : 1001 frameperiod.denominator : 30000 framelines : 525 VIDIOC_ENUMSTD(13) index : 13 id : 0xff0000 [SECAM_B,SECAM_D,SECAM_G,SECAM_H,SECAM_K,SECAM_K1,SECAM_L,?ATSC_8_VSB] name : "SECAM" frameperiod.numerator : 1 frameperiod.denominator : 25 framelines : 625 VIDIOC_ENUMSTD(14) index : 14 id : 0x10000 [SECAM_B] name : "SECAM-B" frameperiod.numerator : 1 frameperiod.denominator : 25 framelines : 625 VIDIOC_ENUMSTD(15) index : 15 id : 0x40000 [SECAM_G] name : "SECAM-G" frameperiod.numerator : 1 frameperiod.denominator : 25 framelines : 625 VIDIOC_ENUMSTD(16) index : 16 id : 0x80000 [SECAM_H] name : "SECAM-H" frameperiod.numerator : 1 frameperiod.denominator : 25 framelines : 625 VIDIOC_ENUMSTD(17) index : 17 id : 0x320000 [SECAM_D,SECAM_K,SECAM_K1] name : "SECAM-DK" frameperiod.numerator : 1 frameperiod.denominator : 25 framelines : 625 VIDIOC_ENUMSTD(18) index : 18 id : 0x400000 [SECAM_L] name : "SECAM-L" frameperiod.numerator : 1 frameperiod.denominator : 25 framelines : 625 VIDIOC_ENUMSTD(19) index : 19 id : 0x800000 [?ATSC_8_VSB] name : "SECAM-Lc" frameperiod.numerator : 1 frameperiod.denominator : 25 framelines : 625 inputs VIDIOC_ENUMINPUT(0) index : 0 name : "Composite0" type : CAMERA audioset : 0 tuner : 0 std : 0xffbfff [PAL_B,PAL_B1,PAL_G,PAL_H,PAL_I,PAL_D,PAL_D1,PAL_K,PAL_M,PAL_N,PAL_Nc,PAL_60,NTSC_M,NTSC_M_JP,?,SECAM_B,SECAM_D,SECAM_G,SECAM_H,SECAM_K,SECAM_K1,SECAM_L,?ATSC_8_VSB] status : 0x0 [] VIDIOC_ENUMINPUT(1) index : 1 name : "Composite1" type : CAMERA audioset : 0 tuner : 0 std : 0xffbfff [PAL_B,PAL_B1,PAL_G,PAL_H,PAL_I,PAL_D,PAL_D1,PAL_K,PAL_M,PAL_N,PAL_Nc,PAL_60,NTSC_M,NTSC_M_JP,?,SECAM_B,SECAM_D,SECAM_G,SECAM_H,SECAM_K,SECAM_K1,SECAM_L,?ATSC_8_VSB] status : 0x0 [] video capture VIDIOC_ENUM_FMT(0,VIDEO_CAPTURE) index : 0 type : VIDEO_CAPTURE flags : 0 description : "8 bpp, gray" pixelformat : 0x59455247 [GREY] VIDIOC_ENUM_FMT(1,VIDEO_CAPTURE) index : 1 type : VIDEO_CAPTURE flags : 0 description : "8 bpp, dithered color" pixelformat : 0x34324948 [HI24] VIDIOC_ENUM_FMT(2,VIDEO_CAPTURE) index : 2 type : VIDEO_CAPTURE flags : 0 description : "15 bpp RGB, le" pixelformat : 0x4f424752 [RGBO] VIDIOC_ENUM_FMT(3,VIDEO_CAPTURE) index : 3 type : VIDEO_CAPTURE flags : 0 description : "15 bpp RGB, be" pixelformat : 0x51424752 [RGBQ] VIDIOC_ENUM_FMT(4,VIDEO_CAPTURE) index : 4 type : VIDEO_CAPTURE flags : 0 description : "16 bpp RGB, le" pixelformat : 0x50424752 [RGBP] VIDIOC_ENUM_FMT(5,VIDEO_CAPTURE) index : 5 type : VIDEO_CAPTURE flags : 0 description : "16 bpp RGB, be" pixelformat : 0x52424752 [RGBR] VIDIOC_ENUM_FMT(6,VIDEO_CAPTURE) index : 6 type : VIDEO_CAPTURE flags : 0 description : "24 bpp RGB, le" pixelformat : 0x33524742 [BGR3] VIDIOC_ENUM_FMT(7,VIDEO_CAPTURE) index : 7 type : VIDEO_CAPTURE flags : 0 description : "32 bpp RGB, le" pixelformat : 0x34524742 [BGR4] VIDIOC_ENUM_FMT(8,VIDEO_CAPTURE) index : 8 type : VIDEO_CAPTURE flags : 0 description : "32 bpp RGB, be" pixelformat : 0x34424752 [RGB4] VIDIOC_ENUM_FMT(9,VIDEO_CAPTURE) index : 9 type : VIDEO_CAPTURE flags : 0 description : "4:2:2, packed, YUYV" pixelformat : 0x56595559 [YUYV] VIDIOC_ENUM_FMT(10,VIDEO_CAPTURE) index : 10 type : VIDEO_CAPTURE flags : 0 description : "4:2:2, packed, UYVY" pixelformat : 0x59565955 [UYVY] VIDIOC_ENUM_FMT(11,VIDEO_CAPTURE) index : 11 type : VIDEO_CAPTURE flags : 0 description : "4:2:2, planar, Y-Cb-Cr" pixelformat : 0x50323234 [422P] VIDIOC_ENUM_FMT(12,VIDEO_CAPTURE) index : 12 type : VIDEO_CAPTURE flags : 0 description : "4:2:0, planar, Y-Cb-Cr" pixelformat : 0x32315559 [YU12] VIDIOC_ENUM_FMT(13,VIDEO_CAPTURE) index : 13 type : VIDEO_CAPTURE flags : 0 description : "4:2:0, planar, Y-Cr-Cb" pixelformat : 0x32315659 [YV12] VIDIOC_ENUM_FMT(14,VIDEO_CAPTURE) index : 14 type : VIDEO_CAPTURE flags : 0 description : "4:1:1, planar, Y-Cb-Cr" pixelformat : 0x50313134 [411P] VIDIOC_ENUM_FMT(15,VIDEO_CAPTURE) index : 15 type : VIDEO_CAPTURE flags : 0 description : "4:1:0, planar, Y-Cb-Cr" pixelformat : 0x39565559 [YUV9] VIDIOC_ENUM_FMT(16,VIDEO_CAPTURE) index : 16 type : VIDEO_CAPTURE flags : 0 description : "4:1:0, planar, Y-Cr-Cb" pixelformat : 0x39555659 [YVU9] VIDIOC_G_FMT(VIDEO_CAPTURE) type : VIDEO_CAPTURE fmt.pix.width : 320 fmt.pix.height : 240 fmt.pix.pixelformat : 0x32315559 [YU12] fmt.pix.field : INTERLACED fmt.pix.bytesperline : 320 fmt.pix.sizeimage : 115200 fmt.pix.colorspace : SMPTE170M fmt.pix.priv : 0 video overlay VIDIOC_ENUM_FMT(0,VIDEO_OVERLAY) index : 0 type : VIDEO_OVERLAY flags : 0 description : "8 bpp, gray" pixelformat : 0x59455247 [GREY] VIDIOC_ENUM_FMT(1,VIDEO_OVERLAY) index : 1 type : VIDEO_OVERLAY flags : 0 description : "8 bpp, dithered color" pixelformat : 0x34324948 [HI24] VIDIOC_ENUM_FMT(2,VIDEO_OVERLAY) index : 2 type : VIDEO_OVERLAY flags : 0 description : "15 bpp RGB, le" pixelformat : 0x4f424752 [RGBO] VIDIOC_ENUM_FMT(3,VIDEO_OVERLAY) index : 3 type : VIDEO_OVERLAY flags : 0 description : "15 bpp RGB, be" pixelformat : 0x51424752 [RGBQ] VIDIOC_ENUM_FMT(4,VIDEO_OVERLAY) index : 4 type : VIDEO_OVERLAY flags : 0 description : "16 bpp RGB, le" pixelformat : 0x50424752 [RGBP] VIDIOC_ENUM_FMT(5,VIDEO_OVERLAY) index : 5 type : VIDEO_OVERLAY flags : 0 description : "16 bpp RGB, be" pixelformat : 0x52424752 [RGBR] VIDIOC_ENUM_FMT(6,VIDEO_OVERLAY) index : 6 type : VIDEO_OVERLAY flags : 0 description : "24 bpp RGB, le" pixelformat : 0x33524742 [BGR3] VIDIOC_ENUM_FMT(7,VIDEO_OVERLAY) index : 7 type : VIDEO_OVERLAY flags : 0 description : "32 bpp RGB, le" pixelformat : 0x34524742 [BGR4] VIDIOC_ENUM_FMT(8,VIDEO_OVERLAY) index : 8 type : VIDEO_OVERLAY flags : 0 description : "32 bpp RGB, be" pixelformat : 0x34424752 [RGB4] VIDIOC_ENUM_FMT(9,VIDEO_OVERLAY) index : 9 type : VIDEO_OVERLAY flags : 0 description VIDIOC_G_FMT(VBI_CAPTURE): Invalid argument : "4:2:2, packed, YUYV" pixelformat : 0x56595559 [YUYV] VIDIOC_ENUM_FMT(10,VIDEO_OVERLAY) index : 10 type : VIDEO_OVERLAY flags : 0 description : "4:2:2, packed, UYVY" pixelformat : 0x59565955 [UYVY] VIDIOC_G_FMT(VIDEO_OVERLAY) type : VIDEO_OVERLAY fmt.win.w.left : 0 fmt.win.w.top : 0 fmt.win.w.width : 320 fmt.win.w.height : 240 fmt.win.field : INTERLACED fmt.win.chromakey : 0 fmt.win.clips : (nil) fmt.win.clipcount : 0 fmt.win.bitmap : (nil) VIDIOC_G_FBUF capability : 0x4 [LIST_CLIPPING] flags : 0x1 [PRIMARY] base : (nil) fmt.width : 0 fmt.height : 0 fmt.pixelformat : 0x00000000 [....] fmt.field : ANY fmt.bytesperline : 0 fmt.sizeimage : 0 fmt.colorspace : unknown fmt.priv : 0 vbi capture controls VIDIOC_QUERYCTRL(BASE+0) id : 9963776 type : INTEGER name : "Brightness" minimum : 0 maximum : 65280 step : 256 default_value : 32768 flags : 32 VIDIOC_QUERYCTRL(BASE+1) id : 9963777 type : INTEGER name : "Contrast" minimum : 0 maximum : 65408 step : 128 default_value : 27648 flags : 32 VIDIOC_QUERYCTRL(BASE+2) id : 9963778 type : INTEGER name : "Saturation" minimum : 0 maximum : 65408 step : 128 default_value : 32768 flags : 32 VIDIOC_QUERYCTRL(BASE+3) id : 9963779 type : INTEGER name : "Hue" minimum : 0 maximum : 65280 step : 256 default_value : 32768 flags : 32 VIDIOC_QUERYCTRL(BASE+9) id : 9963785 type : BOOLEAN name : "Mute" minimum : 0 maximum : 1 step : 1 default_value : 0 flags : 0 VIDIOC_QUERYCTRL(BASE+29) id : 9963805 type : BOOLEAN name : "Chroma AGC" minimum : 0 maximum : 1 step : 1 default_value : 0 flags : 0 VIDIOC_QUERYCTRL(BASE+30) id : 9963806 type : BOOLEAN name : "Color Killer" minimum : 0 maximum : 1 step : 1 default_value : 0 flags : 0 VIDIOC_QUERYCTRL(PRIVATE_BASE+0) id : 134217728 type : BOOLEAN name : "Comb Filter" minimum : 0 maximum : 1 step : 1 default_value : 0 flags : 0 VIDIOC_QUERYCTRL(PRIVATE_BASE+1) id : 134217729 type : BOOLEAN name : "Auto Mute" minimum : 0 maximum : 1 step : 1 default_value : 1 flags : 0 VIDIOC_QUERYCTRL(PRIVATE_BASE+2) id : 134217730 type : BOOLEAN name : "Luma Decimation Filter" minimum : 0 maximum : 1 step : 1 default_value : 0 flags : 0 VIDIOC_QUERYCTRL(PRIVATE_BASE+3) id : 134217731 type : BOOLEAN name : "AGC Crush" minimum : 0 maximum : 1 step : 1 default_value : 1 flags : 0 VIDIOC_QUERYCTRL(PRIVATE_BASE+4) id : 134217732 type : BOOLEAN name : "VCR Hack" minimum : 0 maximum : 1 step : 1 default_value : 0 flags : 0 VIDIOC_QUERYCTRL(PRIVATE_BASE+5) id : 134217733 type : INTEGER name : "Whitecrush Lower" minimum : 0 maximum : 255 step : 1 default_value : 127 flags : 0 VIDIOC_QUERYCTRL(PRIVATE_BASE+6) id : 134217734 type : INTEGER name : "Whitecrush Upper" minimum : 0 maximum : 255 step : 1 default_value : 207 flags : 0 VIDIOC_QUERYCTRL(PRIVATE_BASE+7) id : 134217735 type : INTEGER name : "UV Ratio" minimum : 0 maximum : 100 step : 1 default_value : 50 flags : 0 VIDIOC_QUERYCTRL(PRIVATE_BASE+8) id : 134217736 type : BOOLEAN name : "Full Luma Range" minimum : 0 maximum : 1 step : 1 default_value : 0 flags : 0 VIDIOC_QUERYCTRL(PRIVATE_BASE+9) id : 134217737 type : INTEGER name : "Coring" minimum : 0 maximum : 3 step : 1 default_value : 0 flags : 0