Skip to content

Commit

Permalink
Merge branch 'master' of ssh://master.kernel.org/pub/scm/linux/kernel…
Browse files Browse the repository at this point in the history
…/git/mchehab/v4l-dvb

* 'master' of ssh://master.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (184 commits)
  V4L/DVB (5563): Radio-maestro.c Replace radio_ioctl to use video_ioctl2
  V4L/DVB (5562): Radio-gemtek-pci.c Replace gemtek_pci_ioctl to use video_ioctl2
  V4L/DVB (5560): Ivtv: fix incorrect bitwise-and for command flags.
  V4L/DVB (5558): Opera: use 7-bit i2c addresses
  V4L/DVB (5557): Cafe_ccic: check return value of pci_enable_device
  V4L/DVB (5556): Radio-gemtek.c Replace gemtek_ioctl to use video_ioctl2
  V4L/DVB (5555): Radio-aimslab.c Replace rt_ioctl to use video_ioctl2
  V4L/DVB (5554): Fix: vidioc_g_parm were not zeroing the memory
  V4L/DVB (5553): Replace typhoon_do_ioctl to use video_ioctl2
  V4L/DVB (5552): Plan-b: Switch to refcounting PCI API
  V4L/DVB (5551): Plan-b: header change
  V4L/DVB (5550): Radio-sf16fmi.c Replace fmi_do_ioctl to use video_ioctl2
  V4L/DVB (5549): Radio-sf16fmr2.c Replace fmr2_do_ioctl to use video_ioctl2
  V4L/DVB (5548): Fix v4l2 buffer to the length
  V4L/DVB (5547): Add ENUM_FRAMESIZES and ENUM_FRAMEINTERVALS ioctls
  V4L/DVB (5546): Radio-terratec.c Replace tt_do_ioctl to use video_ioctl2
  V4L/DVB (5545): Saa7146: Release capture buffers on device close
  V4L/DVB (5544): Budget-av: Make inversion setting configurable, add KNC ONE V1.0 card
  V4L/DVB (5543): Tda10023: Add support for frontend TDA10023
  V4L/DVB (5542): Budget-av: Remove polarity switching of the clock for DVB-C
  ...
  • Loading branch information
Linus Torvalds committed Apr 27, 2007
2 parents d868772 + d455cf5 commit aa5bc2b
Show file tree
Hide file tree
Showing 222 changed files with 23,073 additions and 4,357 deletions.
12 changes: 12 additions & 0 deletions Documentation/feature-removal-schedule.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,18 @@ be removed from this file.

---------------------------

What: V4L2 VIDIOC_G_MPEGCOMP and VIDIOC_S_MPEGCOMP
When: October 2007
Why: Broken attempt to set MPEG compression parameters. These ioctls are
not able to implement the wide variety of parameters that can be set
by hardware MPEG encoders. A new MPEG control mechanism was created
in kernel 2.6.18 that replaces these ioctls. See the V4L2 specification
(section 1.9: Extended controls) for more information on this topic.
Who: Hans Verkuil <[email protected]> and
Mauro Carvalho Chehab <[email protected]>

---------------------------

What: /sys/devices/.../power/state
dev->power.power_state
dpm_runtime_{suspend,resume)()
Expand Down
2 changes: 2 additions & 0 deletions Documentation/video4linux/CARDLIST.bttv
Original file line number Diff line number Diff line change
Expand Up @@ -143,3 +143,5 @@
142 -> Sabrent TV-FM (bttv version)
143 -> Hauppauge ImpactVCB (bt878) [0070:13eb]
144 -> MagicTV
145 -> SSAI Security Video Interface [4149:5353]
146 -> SSAI Ultrasound Video Interface [414a:5353]
2 changes: 1 addition & 1 deletion Documentation/video4linux/CARDLIST.cx88
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
36 -> AVerTV 303 (M126) [1461:000a]
37 -> Hauppauge Nova-S-Plus DVB-S [0070:9201,0070:9202]
38 -> Hauppauge Nova-SE2 DVB-S [0070:9200]
39 -> KWorld DVB-S 100 [17de:08b2]
39 -> KWorld DVB-S 100 [17de:08b2,1421:0341]
40 -> Hauppauge WinTV-HVR1100 DVB-T/Hybrid [0070:9400,0070:9402]
41 -> Hauppauge WinTV-HVR1100 DVB-T/Hybrid (Low Profile) [0070:9800,0070:9802]
42 -> digitalnow DNTV Live! DVB-T Pro [1822:0025,1822:0019]
Expand Down
18 changes: 18 additions & 0 deletions Documentation/video4linux/CARDLIST.ivtv
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
1 -> Hauppauge WinTV PVR-250
2 -> Hauppauge WinTV PVR-350
3 -> Hauppauge WinTV PVR-150 or PVR-500
4 -> AVerMedia M179 [1461:a3ce,1461:a3cf]
5 -> Yuan MPG600/Kuroutoshikou iTVC16-STVLP [12ab:fff3,12ab:ffff]
6 -> Yuan MPG160/Kuroutoshikou iTVC15-STVLP [12ab:0000,10fc:40a0]
7 -> Yuan PG600/DiamondMM PVR-550 [ff92:0070,ffab:0600]
8 -> Adaptec AVC-2410 [9005:0093]
9 -> Adaptec AVC-2010 [9005:0092]
10 -> NAGASE TRANSGEAR 5000TV [1461:bfff]
11 -> AOpen VA2000MAX-STN6 [0000:ff5f]
12 -> YUAN MPG600GR/Kuroutoshikou CX23416GYC-STVLP [12ab:0600,fbab:0600,1154:0523]
13 -> I/O Data GV-MVP/RX [10fc:d01e,10fc:d038,10fc:d039]
14 -> I/O Data GV-MVP/RX2E [10fc:d025]
15 -> GOTVIEW PCI DVD (partial support only) [12ab:0600]
16 -> GOTVIEW PCI DVD2 Deluxe [ffac:0600]
17 -> Yuan MPC622 [ff01:d998]
18 -> Digital Cowboy DCT-MTVP1 [1461:bfff]
8 changes: 6 additions & 2 deletions Documentation/video4linux/CARDLIST.saa7134
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@
52 -> AverMedia AverTV/305 [1461:2108]
53 -> ASUS TV-FM 7135 [1043:4845]
54 -> LifeView FlyTV Platinum FM / Gold [5168:0214,1489:0214,5168:0304]
55 -> LifeView FlyDVB-T DUO [5168:0306]
55 -> LifeView FlyDVB-T DUO / MSI TV@nywhere Duo [5168:0306,4E42:0306]
56 -> Avermedia AVerTV 307 [1461:a70a]
57 -> Avermedia AVerTV GO 007 FM [1461:f31f]
58 -> ADS Tech Instant TV (saa7135) [1421:0350,1421:0351,1421:0370,1421:1370]
Expand All @@ -76,7 +76,7 @@
75 -> AVerMedia AVerTVHD MCE A180 [1461:1044]
76 -> SKNet MonsterTV Mobile [1131:4ee9]
77 -> Pinnacle PCTV 40i/50i/110i (saa7133) [11bd:002e]
78 -> ASUSTeK P7131 Dual [1043:4862,1043:4876]
78 -> ASUSTeK P7131 Dual [1043:4862,1043:4857]
79 -> Sedna/MuchTV PC TV Cardbus TV/Radio (ITO25 Rev:2B)
80 -> ASUS Digimatrix TV [1043:0210]
81 -> Philips Tiger reference design [1131:2018]
Expand Down Expand Up @@ -107,3 +107,7 @@
106 -> Encore ENLTV [1131:2342,1131:2341,3016:2344]
107 -> Encore ENLTV-FM [1131:230f]
108 -> Terratec Cinergy HT PCI [153b:1175]
109 -> Philips Tiger - S Reference design
110 -> Avermedia M102 [1461:f31e]
111 -> ASUS P7131 4871 [1043:4871]
112 -> ASUSTeK P7131 Hybrid [1043:4876]
64 changes: 64 additions & 0 deletions Documentation/video4linux/CARDLIST.usbvision
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
0 -> Xanboo [0a6f:0400]
1 -> Belkin USB VideoBus II Adapter [050d:0106]
2 -> Belkin Components USB VideoBus [050d:0207]
3 -> Belkin USB VideoBus II [050d:0208]
4 -> echoFX InterView Lite [0571:0002]
5 -> USBGear USBG-V1 resp. HAMA USB [0573:0003]
6 -> D-Link V100 [0573:0400]
7 -> X10 USB Camera [0573:2000]
8 -> Hauppauge WinTV USB Live (PAL B/G) [0573:2d00]
9 -> Hauppauge WinTV USB Live Pro (NTSC M/N) [0573:2d01]
10 -> Zoran Co. PMD (Nogatech) AV-grabber Manhattan [0573:2101]
11 -> Nogatech USB-TV (NTSC) FM [0573:4100]
12 -> PNY USB-TV (NTSC) FM [0573:4110]
13 -> PixelView PlayTv-USB PRO (PAL) FM [0573:4450]
14 -> ZTV ZT-721 2.4GHz USB A/V Receiver [0573:4550]
15 -> Hauppauge WinTV USB (NTSC M/N) [0573:4d00]
16 -> Hauppauge WinTV USB (PAL B/G) [0573:4d01]
17 -> Hauppauge WinTV USB (PAL I) [0573:4d02]
18 -> Hauppauge WinTV USB (PAL/SECAM L) [0573:4d03]
19 -> Hauppauge WinTV USB (PAL D/K) [0573:4d04]
20 -> Hauppauge WinTV USB (NTSC FM) [0573:4d10]
21 -> Hauppauge WinTV USB (PAL B/G FM) [0573:4d11]
22 -> Hauppauge WinTV USB (PAL I FM) [0573:4d12]
23 -> Hauppauge WinTV USB (PAL D/K FM) [0573:4d14]
24 -> Hauppauge WinTV USB Pro (NTSC M/N) [0573:4d2a]
25 -> Hauppauge WinTV USB Pro (NTSC M/N) V2 [0573:4d2b]
26 -> Hauppauge WinTV USB Pro (PAL/SECAM B/G/I/D/K/L) [0573:4d2c]
27 -> Hauppauge WinTV USB Pro (NTSC M/N) V3 [0573:4d20]
28 -> Hauppauge WinTV USB Pro (PAL B/G) [0573:4d21]
29 -> Hauppauge WinTV USB Pro (PAL I) [0573:4d22]
30 -> Hauppauge WinTV USB Pro (PAL/SECAM L) [0573:4d23]
31 -> Hauppauge WinTV USB Pro (PAL D/K) [0573:4d24]
32 -> Hauppauge WinTV USB Pro (PAL/SECAM BGDK/I/L) [0573:4d25]
33 -> Hauppauge WinTV USB Pro (PAL/SECAM BGDK/I/L) V2 [0573:4d26]
34 -> Hauppauge WinTV USB Pro (PAL B/G) V2 [0573:4d27]
35 -> Hauppauge WinTV USB Pro (PAL B/G,D/K) [0573:4d28]
36 -> Hauppauge WinTV USB Pro (PAL I,D/K) [0573:4d29]
37 -> Hauppauge WinTV USB Pro (NTSC M/N FM) [0573:4d30]
38 -> Hauppauge WinTV USB Pro (PAL B/G FM) [0573:4d31]
39 -> Hauppauge WinTV USB Pro (PAL I FM) [0573:4d32]
40 -> Hauppauge WinTV USB Pro (PAL D/K FM) [0573:4d34]
41 -> Hauppauge WinTV USB Pro (Temic PAL/SECAM B/G/I/D/K/L FM) [0573:4d35]
42 -> Hauppauge WinTV USB Pro (Temic PAL B/G FM) [0573:4d36]
43 -> Hauppauge WinTV USB Pro (PAL/SECAM B/G/I/D/K/L FM) [0573:4d37]
44 -> Hauppauge WinTV USB Pro (NTSC M/N FM) V2 [0573:4d38]
45 -> Camtel Technology USB TV Genie Pro FM Model TVB330 [0768:0006]
46 -> Digital Video Creator I [07d0:0001]
47 -> Global Village GV-007 (NTSC) [07d0:0002]
48 -> Dazzle Fusion Model DVC-50 Rev 1 (NTSC) [07d0:0003]
49 -> Dazzle Fusion Model DVC-80 Rev 1 (PAL) [07d0:0004]
50 -> Dazzle Fusion Model DVC-90 Rev 1 (SECAM) [07d0:0005]
51 -> Eskape Labs MyTV2Go [07f8:9104]
52 -> Pinnacle Studio PCTV USB (PAL) [2304:010d]
53 -> Pinnacle Studio PCTV USB (SECAM) [2304:0109]
54 -> Pinnacle Studio PCTV USB (PAL) FM [2304:0110]
55 -> Miro PCTV USB [2304:0111]
56 -> Pinnacle Studio PCTV USB (NTSC) FM [2304:0112]
57 -> Pinnacle Studio PCTV USB (PAL) FM V2 [2304:0210]
58 -> Pinnacle Studio PCTV USB (NTSC) FM V2 [2304:0212]
59 -> Pinnacle Studio PCTV USB (PAL) FM V3 [2304:0214]
60 -> Pinnacle Studio Linx Video input cable (NTSC) [2304:0300]
61 -> Pinnacle Studio Linx Video input cable (PAL) [2304:0301]
62 -> Pinnacle PCTV Bungee USB (PAL) FM [2304:0419]
63 -> Hauppauge WinTv-USB [2400:4200]
187 changes: 187 additions & 0 deletions Documentation/video4linux/README.ivtv
Original file line number Diff line number Diff line change
@@ -0,0 +1,187 @@

ivtv release notes
==================

This is a v4l2 device driver for the Conexant cx23415/6 MPEG encoder/decoder.
The cx23415 can do both encoding and decoding, the cx23416 can only do MPEG
encoding. Currently the only card featuring full decoding support is the
Hauppauge PVR-350.

NOTE: this driver requires the latest encoder firmware (version 2.06.039, size
376836 bytes). Get the firmware from here:

http://dl.ivtvdriver.org/ivtv/firmware/firmware.tar.gz

NOTE: 'normal' TV applications do not work with this driver, you need
an application that can handle MPEG input such as mplayer, xine, MythTV,
etc.

The primary goal of the IVTV project is to provide a "clean room" Linux
Open Source driver implementation for video capture cards based on the
iCompression iTVC15 or Conexant CX23415/CX23416 MPEG Codec.

Features:
* Hardware mpeg2 capture of broadcast video (and sound) via the tuner or
S-Video/Composite and audio line-in.
* Hardware mpeg2 capture of FM radio where hardware support exists
* Supports NTSC, PAL, SECAM with stereo sound
* Supports SAP and bilingual transmissions.
* Supports raw VBI (closed captions and teletext).
* Supports sliced VBI (closed captions and teletext) and is able to insert
this into the captured MPEG stream.
* Supports raw YUV and PCM input.

Additional features for the PVR-350 (CX23415 based):
* Provides hardware mpeg2 playback
* Provides comprehensive OSD (On Screen Display: ie. graphics overlaying the
video signal)
* Provides a framebuffer (allowing X applications to appear on the video
device) (this framebuffer is not yet part of the kernel. In the meantime it
is available from www.ivtvdriver.org).
* Supports raw YUV output.

IMPORTANT: In case of problems first read this page:
http://www.ivtvdriver.org/index.php/Troubleshooting

See also:

Homepage + Wiki
http://www.ivtvdriver.org

IRC
irc://irc.freenode.net/ivtv-dev

----------------------------------------------------------

Devices
=======

A maximum of 12 ivtv boards are allowed at the moment.

Cards that don't have a video output capability (i.e. non PVR350 cards)
lack the vbi8, vbi16, video16 and video48 devices. They also do not
support the framebuffer device /dev/fbx for OSD.

The radio0 device may or may not be present, depending on whether the
card has a radio tuner or not.

Here is a list of the base v4l devices:
crw-rw---- 1 root video 81, 0 Jun 19 22:22 /dev/video0
crw-rw---- 1 root video 81, 16 Jun 19 22:22 /dev/video16
crw-rw---- 1 root video 81, 24 Jun 19 22:22 /dev/video24
crw-rw---- 1 root video 81, 32 Jun 19 22:22 /dev/video32
crw-rw---- 1 root video 81, 48 Jun 19 22:22 /dev/video48
crw-rw---- 1 root video 81, 64 Jun 19 22:22 /dev/radio0
crw-rw---- 1 root video 81, 224 Jun 19 22:22 /dev/vbi0
crw-rw---- 1 root video 81, 228 Jun 19 22:22 /dev/vbi8
crw-rw---- 1 root video 81, 232 Jun 19 22:22 /dev/vbi16

Base devices
============

For every extra card you have the numbers increased by one. For example,
/dev/video0 is listed as the 'base' encoding capture device so we have:

/dev/video0 is the encoding capture device for the first card (card 0)
/dev/video1 is the encoding capture device for the second card (card 1)
/dev/video2 is the encoding capture device for the third card (card 2)

Note that if the first card doesn't have a feature (eg no decoder, so no
video16, the second card will still use video17. The simple rule is 'add
the card number to the base device number'. If you have other capture
cards (e.g. WinTV PCI) that are detected first, then you have to tell
the ivtv module about it so that it will start counting at 1 (or 2, or
whatever). Otherwise the device numbers can get confusing. The ivtv
'ivtv_first_minor' module option can be used for that.


/dev/video0
The encoding capture device(s).
Read-only.

Reading from this device gets you the MPEG1/2 program stream.
Example:

cat /dev/video0 > my.mpg (you need to hit ctrl-c to exit)


/dev/video16
The decoder output device(s)
Write-only. Only present if the MPEG decoder (i.e. CX23415) exists.

An mpeg2 stream sent to this device will appear on the selected video
display, audio will appear on the line-out/audio out. It is only
available for cards that support video out. Example:

cat my.mpg >/dev/video16


/dev/video24
The raw audio capture device(s).
Read-only

The raw audio PCM stereo stream from the currently selected
tuner or audio line-in. Reading from this device results in a raw
(signed 16 bit Little Endian, 48000 Hz, stereo pcm) capture.
This device only captures audio. This should be replaced by an ALSA
device in the future.
Note that there is no corresponding raw audio output device, this is
not supported in the decoder firmware.


/dev/video32
The raw video capture device(s)
Read-only

The raw YUV video output from the current video input. The YUV format
is non-standard (V4L2_PIX_FMT_HM12).

Note that the YUV and PCM streams are not synchronized, so they are of
limited use.


/dev/video48
The raw video display device(s)
Write-only. Only present if the MPEG decoder (i.e. CX23415) exists.

Writes a YUV stream to the decoder of the card.


/dev/radio0
The radio tuner device(s)
Cannot be read or written.

Used to enable the radio tuner and tune to a frequency. You cannot
read or write audio streams with this device. Once you use this
device to tune the radio, use /dev/video24 to read the raw pcm stream
or /dev/video0 to get an mpeg2 stream with black video.


/dev/vbi0
The 'vertical blank interval' (Teletext, CC, WSS etc) capture device(s)
Read-only

Captures the raw (or sliced) video data sent during the Vertical Blank
Interval. This data is used to encode teletext, closed captions, VPS,
widescreen signalling, electronic program guide information, and other
services.


/dev/vbi8
Processed vbi feedback device(s)
Read-only. Only present if the MPEG decoder (i.e. CX23415) exists.

The sliced VBI data embedded in an MPEG stream is reproduced on this
device. So while playing back a recording on /dev/video16, you can
read the embedded VBI data from /dev/vbi8.


/dev/vbi16
The vbi 'display' device(s)
Write-only. Only present if the MPEG decoder (i.e. CX23415) exists.

Can be used to send sliced VBI data to the video-out connector.

---------------------------------

Hans Verkuil <[email protected]>
12 changes: 7 additions & 5 deletions Documentation/video4linux/cx2341x/fw-decoder-regs.txt
Original file line number Diff line number Diff line change
Expand Up @@ -624,11 +624,11 @@ out what values are bad when it hangs.
2A00
bits 0:2
osd colour mode
000 = 8 bit indexed
001 = 16 bit (565)
010 = 15 bit (555)
011 = 12 bit (444)
100 = 32 bit (8888)
101 = 8 bit indexed

bits 4:5
osd display bpp
Expand Down Expand Up @@ -676,9 +676,11 @@ out what values are bad when it hangs.
completely transparent. When using 565, 555 or 444 colour modes, the
colour key is always 16 bits wide. The colour to key on is set in Reg 2A18.

Local alpha is a per-pixel 256 step transparency, with 0 being transparent
and 255 being solid. This is only available in 32 bit & 8 bit indexed
colour modes.
Local alpha works differently depending on the colour mode. For 32bpp & 8
bit indexed, local alpha is a per-pixel 256 step transparency, with 0 being
transparent and 255 being solid. For the 16bpp modes 555 & 444, the unused
bit(s) act as a simple transparency switch, with 0 being solid & 1 being
fully transparent. There is no local alpha support for 16bit 565.

Global alpha is a 256 step transparency that applies to the entire osd,
with 0 being transparent & 255 being solid.
Expand Down Expand Up @@ -811,5 +813,5 @@ out what values are bad when it hangs.

--------------------------------------------------------------------------------

v0.3 - 2 February 2007 - Ian Armstrong ([email protected])
v0.4 - 12 March 2007 - Ian Armstrong ([email protected])

Loading

0 comments on commit aa5bc2b

Please sign in to comment.