- 1 Hardware video decoder
- 2 Software/Hardware MPEG decoders and plugins
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
There is a card with Linux driver.
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 that it cannot be used on stable VDR-2.0.0 because VDR requires DVB driver api 5.3. 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 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 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 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 is using Xine libraries for displaying video with or without hardware acceleration. It has a lot features and options.