Output devices: Difference between revisions

From VDR Wiki
Jump to navigation Jump to search
 
(63 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Hardware video decoder==
There are two ways:
The principle of the VDR software is avoiding to deal with MPEG data on software side as much as possible. Decoding SD (Standard-definition) or HD (High definition) video consumes a lot of processing time and power. HD streams are supported as of VDR 2.0.0. Decoding the video in hardware is energy-efficient solution with lot of advantages. After the decoding filters are used the smooth out the picture and remove interlacing from SD video on monitors. This consumes additional processing power. There are many possibilities for decoding the video on hardware.


== Hardware MPEG decoder==
The principle of the VDR software is avoiding to deal with MPEG data on software side as much as possible. Therefore, for viewing of the MPEG2 stream provided by the DVB card, an MPEG2 hardware decoder is needed. Up to now there are three different hardware possibilities:


* full-featured DVB card (a DVB card which has not only the tuner onboard, but also the hardware decoder with TV-Out)
* [[Dxr3|Dxr3 or Hollywood-Plus]] MPEG decoder card (MPEG decoder card, originally used for DVD viewing on slow computers)
* [[Pvr350-plugin|Hauppauge WinTV PVR350]] (analogue TV card with onboard hardware MPEG2 decoder)


====Crystal HD video decoders====
As one sees, many of these cards are not purely output but rather input and output cards.
Crystal HD video decoder is a decoder card which does not have video input or outputs. Instead it is plugged in a mini PCI-e slot and handles only decoding of the MPEG4 video data. After decoding the video is forwarded to an output device.


Xine-plugin seems to have support for this hardware.
== Software MPEG decoder==
Now that many computers are fast enough (CPU 500 MHz and more), there is also the possibility of software decoding. In fact, many (most?) input cards sold nowadays are so-called budget cards, i.e. don't have hardware decoders any more. The decoding is done by the CPU and the output is usually given to the normal graphic card. There are a number of VDR software decoder plugins available, they are:


====Full-featured DVB cards for SD video====
* [[Softdevice-plugin]] Provides excellent output on VGA hardware using X11 or DirectFB. Can also do hardware MPEG2 acceleration on motherboards provided with CLE266 chipset. Can also do field perfect interlaced output using Matrox G450/550 cards under DirectFB.
Full featured DVB card has the DVB tuner and the hardware video decoder with TV-Out. Originally FF DVB card meant DVB-C (Cable), DVB-S (Satellite) or DVB-T (Terrestrial) tuner input with builtin MPEG2 decoder and video out for SD video. These cards were for PCI bus.
* [[Xine-plugin]] (requires xine, gxine or some other xine-lib front-end). Xine can also use the hardware MPEG2 acceleration feature of the EPIA M motherboards with CLE266 chipset. [[software-playback-epia|Software playback on EPIA]].

* [[Xineliboutput-plugin]]
There is a list of DVB devices in V4L-DVB wiki at http://www.linuxtv.org/wiki/index.php/Hardware_Device_Information

Some of them have hardware video decoders and video out.

====Full-featured DVB cards for HD video====
TechnoTrend has a card called TT Premium S2-6400 Twin HD with excellent Linux drivers. It is a dual tuner satellite card with hdmi out. It is currently (2013-04) difficult to find in shops as it is mostly sold out.

====[[Dxr3|Dxr3 or Hollywood-Plus]] MPEG decoder for SD video====
Dxr3 is a MPEG decoder card, originally used for viewing DVDs on computers that did not have enough processing power for DVD decoding. It can be used for viewing SD video. The current status (April 2013) is the API available in recent kernel versions is not supported by the dxr3 driver anymore because the driver code has not updated for V4L2 (Video for Linux 2). The dxr3 driver only supports V4L1 (Video for Linux 1). The dxr3 driver has the em8300 decoder chip.

The previous stable VDR-1.6.0 can still work with dxr3 card and Linux kernels up to 2.6.37. The dxr3 card has limited OSD (On Screen Display) capabilities and can only show four colors at the time. The limitations can be cirumvented by using dxr3 compatible VDR skins.

====[[Pvr350-plugin|Hauppauge WinTV PVR350]] for SD video====
WinTV PVR350 is an old analogue TV card with onboard hardware MPEG2 decoder.

====VDPAU capable video card for HD video====
When using VDPAU capable video card the video is decoded "in software" by xineliboutput or similar plugin. It is then up to the plugin to use the capabilities of the underlying hardware to decode the video as efficiently as possible in hardware. VDPAU api is meant for offloading video decoding to video hardware. Many video card manufacturers are currently (2013) supporting it such as ATI/AMD, Intel and NVidia.

The main advantage of using the VDPAU api is that VDR can be run under Xorg and other software for Xorg can be used directly without modifications on the same setup. The video out will then be a normal Xorg session with hardware for VDR.

== Software/Hardware MPEG decoders and plugins==
Most input cards sold nowadays for receiving DVB signal are so-called budget cards. Budget cards do not have hardware video decoders. The decoding is done by the CPU and the output is usually given to the normal video card. Software decoding is unefficient way of displaying video. It needs a lot of processing power, consumes a lot of CPU time, also consumes power and electricity, generates heat, heat increases the need for cooling, cooling is done by fans usually, fans create noise. Most of people don't like noisy TV equipment. Otherwise software-only decoding is ok. There are a number of VDR plugins capable of software-only decoding. The plugins listed here can be used for hardware decoding also.

====[[Softdevice-plugin]]====
Softdevice-plugin provides excellent output on VGA hardware using X11 or DirectFB. It can also do hardware MPEG2 acceleration on motherboards provided with CLE266 chipset. Can also do field perfect interlaced output using Matrox G450/550 cards under DirectFB.

====[[Xine-plugin]]====
Xine-plugin requires xine, gxine or some other xine-lib front-end. Xine can also use the hardware MPEG2 acceleration feature of the EPIA M motherboards with CLE266 chipset. [[software-playback-epia|Software playback on EPIA]].

====[[Xineliboutput-plugin]]====
Xineliboutput plugin is using Xine libraries for displaying video with or without hardware acceleration. It has a lot features and options.

Latest revision as of 00:52, 18 April 2013

Hardware video decoder

The principle of the VDR software is avoiding to deal with MPEG data on software side as much as possible. Decoding SD (Standard-definition) or HD (High definition) video consumes a lot of processing time and power. HD streams are supported as of VDR 2.0.0. Decoding the video in hardware is energy-efficient solution with lot of advantages. After the decoding filters are used the smooth out the picture and remove interlacing from SD video on monitors. This consumes additional processing power. There are many possibilities for decoding the video on hardware.


Crystal HD video decoders

Crystal HD video decoder is a decoder card which does not have video input or outputs. Instead it is plugged in a mini PCI-e slot and handles only decoding of the MPEG4 video data. After decoding the video is forwarded to an output device.

Xine-plugin seems to have support for this hardware.

Full-featured DVB cards for SD video

Full featured DVB card has the DVB tuner and the hardware video decoder with TV-Out. Originally FF DVB card meant DVB-C (Cable), DVB-S (Satellite) or DVB-T (Terrestrial) tuner input with builtin MPEG2 decoder and video out for SD video. These cards were for PCI bus.

There is a list of DVB devices in V4L-DVB wiki at http://www.linuxtv.org/wiki/index.php/Hardware_Device_Information

Some of them have hardware video decoders and video out.

Full-featured DVB cards for HD video

TechnoTrend has a card called TT Premium S2-6400 Twin HD with excellent Linux drivers. It is a dual tuner satellite card with hdmi out. It is currently (2013-04) difficult to find in shops as it is mostly sold out.

Dxr3 or Hollywood-Plus MPEG decoder for SD video

Dxr3 is a MPEG decoder card, originally used for viewing DVDs on computers that did not have enough processing power for DVD decoding. It can be used for viewing SD video. The current status (April 2013) is the API available in recent kernel versions is not supported by the dxr3 driver anymore because the driver code has not updated for V4L2 (Video for Linux 2). The dxr3 driver only supports V4L1 (Video for Linux 1). The dxr3 driver has the em8300 decoder chip.

The previous stable VDR-1.6.0 can still work with dxr3 card and Linux kernels up to 2.6.37. The dxr3 card has limited OSD (On Screen Display) capabilities and can only show four colors at the time. The limitations can be cirumvented by using dxr3 compatible VDR skins.

Hauppauge WinTV PVR350 for SD video

WinTV PVR350 is an old analogue TV card with onboard hardware MPEG2 decoder.

VDPAU capable video card for HD video

When using VDPAU capable video card the video is decoded "in software" by xineliboutput or similar plugin. It is then up to the plugin to use the capabilities of the underlying hardware to decode the video as efficiently as possible in hardware. VDPAU api is meant for offloading video decoding to video hardware. Many video card manufacturers are currently (2013) supporting it such as ATI/AMD, Intel and NVidia.

The main advantage of using the VDPAU api is that VDR can be run under Xorg and other software for Xorg can be used directly without modifications on the same setup. The video out will then be a normal Xorg session with hardware for VDR.

Software/Hardware MPEG decoders and plugins

Most input cards sold nowadays for receiving DVB signal are so-called budget cards. Budget cards do not have hardware video decoders. The decoding is done by the CPU and the output is usually given to the normal video card. Software decoding is unefficient way of displaying video. It needs a lot of processing power, consumes a lot of CPU time, also consumes power and electricity, generates heat, heat increases the need for cooling, cooling is done by fans usually, fans create noise. Most of people don't like noisy TV equipment. Otherwise software-only decoding is ok. There are a number of VDR plugins capable of software-only decoding. The plugins listed here can be used for hardware decoding also.

Softdevice-plugin

Softdevice-plugin provides excellent output on VGA hardware using X11 or DirectFB. It can also do hardware MPEG2 acceleration on motherboards provided with CLE266 chipset. Can also do field perfect interlaced output using Matrox G450/550 cards under DirectFB.

Xine-plugin

Xine-plugin requires xine, gxine or some other xine-lib front-end. Xine can also use the hardware MPEG2 acceleration feature of the EPIA M motherboards with CLE266 chipset. Software playback on EPIA.

Xineliboutput-plugin

Xineliboutput plugin is using Xine libraries for displaying video with or without hardware acceleration. It has a lot features and options.