Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2a744b0d authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab
Browse files

[media] doc-rst: Add ivtv documentation



Convert ivtv documentation to rst, update the links there
and add to media/v4l-drivers book.

Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
parent f0726e42
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -26,4 +26,5 @@ License".
	cx88
	cx88
	davinci-vpbe
	davinci-vpbe
	fimc
	fimc
	ivtv
	zr364xx
	zr364xx
+120 −89
Original line number Original line Diff line number Diff line


ivtv release notes
The ivtv driver
==================
===============

Author: Hans Verkuil <hverkuil@xs4all.nl>


This is a v4l2 device driver for the Conexant cx23415/6 MPEG encoder/decoder.
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
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
encoding. Currently the only card featuring full decoding support is the
Hauppauge PVR-350.
Hauppauge PVR-350.


NOTE: this driver requires the latest encoder firmware (version 2.06.039, size
.. note::

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


http://dl.ivtvdriver.org/ivtv/firmware/
      https://linuxtv.org/downloads/firmware/#conexant


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


@@ -20,7 +24,9 @@ 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
Open Source driver implementation for video capture cards based on the
iCompression iTVC15 or Conexant CX23415/CX23416 MPEG Codec.
iCompression iTVC15 or Conexant CX23415/CX23416 MPEG Codec.


Features:
Features
--------

 * Hardware mpeg2 capture of broadcast video (and sound) via the tuner or
 * Hardware mpeg2 capture of broadcast video (and sound) via the tuner or
   S-Video/Composite and audio line-in.
   S-Video/Composite and audio line-in.
 * Hardware mpeg2 capture of FM radio where hardware support exists
 * Hardware mpeg2 capture of FM radio where hardware support exists
@@ -31,7 +37,9 @@ Features:
   this into the captured MPEG stream.
   this into the captured MPEG stream.
 * Supports raw YUV and PCM input.
 * Supports raw YUV and PCM input.


Additional features for the PVR-350 (CX23415 based):
Additional features for the PVR-350 (CX23415 based)
---------------------------------------------------

 * Provides hardware mpeg2 playback
 * Provides hardware mpeg2 playback
 * Provides comprehensive OSD (On Screen Display: ie. graphics overlaying the
 * Provides comprehensive OSD (On Screen Display: ie. graphics overlaying the
   video signal)
   video signal)
@@ -40,20 +48,22 @@ Additional features for the PVR-350 (CX23415 based):
 * Supports raw YUV output.
 * Supports raw YUV output.


IMPORTANT: In case of problems first read this page:
IMPORTANT: In case of problems first read this page:
	   http://www.ivtvdriver.org/index.php/Troubleshooting
	https://help.ubuntu.com/community/Install_IVTV_Troubleshooting


See also:
See also
--------


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


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

irc://irc.freenode.net/#v4l


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


Devices
Devices
=======
-------


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


@@ -65,6 +75,9 @@ The radio0 device may or may not be present, depending on whether the
card has a radio tuner or not.
card has a radio tuner or not.


Here is a list of the base v4l devices:
Here is a list of the base v4l devices:

.. code-block:: none

	crw-rw----    1 root     video     81,   0 Jun 19 22:22 /dev/video0
	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,  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,  24 Jun 19 22:22 /dev/video24
@@ -76,14 +89,14 @@ 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
	crw-rw----    1 root     video     81, 232 Jun 19 22:22 /dev/vbi16


Base devices
Base devices
============
------------


For every extra card you have the numbers increased by one. For example,
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 listed as the 'base' encoding capture device so we have:


 /dev/video0  is the encoding capture device for the first card (card 0)
- /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/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)
- /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
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
video16, the second card will still use video17. The simple rule is 'add
@@ -94,29 +107,39 @@ whatever). Otherwise the device numbers can get confusing. The ivtv
'ivtv_first_minor' module option can be used for that.
'ivtv_first_minor' module option can be used for that.




/dev/video0
- /dev/video0

  The encoding capture device(s).
  The encoding capture device(s).

  Read-only.
  Read-only.


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


  .. code-block:: none

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




/dev/video16
- /dev/video16

  The decoder output device(s)
  The decoder output device(s)

  Write-only. Only present if the MPEG decoder (i.e. CX23415) exists.
  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
  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
  display, audio will appear on the line-out/audio out.  It is only
  available for cards that support video out. Example:
  available for cards that support video out. Example:


  .. code-block:: none

	cat my.mpg >/dev/video16
	cat my.mpg >/dev/video16




/dev/video24
- /dev/video24

  The raw audio capture device(s).
  The raw audio capture device(s).

  Read-only
  Read-only


  The raw audio PCM stereo stream from the currently selected
  The raw audio PCM stereo stream from the currently selected
@@ -128,8 +151,10 @@ Note that there is no corresponding raw audio output device, this is
  not supported in the decoder firmware.
  not supported in the decoder firmware.




/dev/video32
- /dev/video32

  The raw video capture device(s)
  The raw video capture device(s)

  Read-only
  Read-only


  The raw YUV video output from the current video input. The YUV format
  The raw YUV video output from the current video input. The YUV format
@@ -139,15 +164,19 @@ Note that the YUV and PCM streams are not synchronized, so they are of
  limited use.
  limited use.




/dev/video48
- /dev/video48

  The raw video display device(s)
  The raw video display device(s)

  Write-only. Only present if the MPEG decoder (i.e. CX23415) exists.
  Write-only. Only present if the MPEG decoder (i.e. CX23415) exists.


  Writes a YUV stream to the decoder of the card.
  Writes a YUV stream to the decoder of the card.




/dev/radio0
- /dev/radio0

  The radio tuner device(s)
  The radio tuner device(s)

  Cannot be read or written.
  Cannot be read or written.


  Used to enable the radio tuner and tune to a frequency. You cannot
  Used to enable the radio tuner and tune to a frequency. You cannot
@@ -156,8 +185,10 @@ 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.
  or /dev/video0 to get an mpeg2 stream with black video.




/dev/vbi0
- /dev/vbi0

  The 'vertical blank interval' (Teletext, CC, WSS etc) capture device(s)
  The 'vertical blank interval' (Teletext, CC, WSS etc) capture device(s)

  Read-only
  Read-only


  Captures the raw (or sliced) video data sent during the Vertical Blank
  Captures the raw (or sliced) video data sent during the Vertical Blank
@@ -166,8 +197,10 @@ widescreen signalling, electronic program guide information, and other
  services.
  services.




/dev/vbi8
- /dev/vbi8

  Processed vbi feedback device(s)
  Processed vbi feedback device(s)

  Read-only. Only present if the MPEG decoder (i.e. CX23415) exists.
  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
  The sliced VBI data embedded in an MPEG stream is reproduced on this
@@ -175,12 +208,10 @@ device. So while playing back a recording on /dev/video16, you can
  read the embedded VBI data from /dev/vbi8.
  read the embedded VBI data from /dev/vbi8.




/dev/vbi16
- /dev/vbi16

  The vbi 'display' device(s)
  The vbi 'display' device(s)

  Write-only. Only present if the MPEG decoder (i.e. CX23415) exists.
  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.
  Can be used to send sliced VBI data to the video-out connector.

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

Hans Verkuil <hverkuil@xs4all.nl>