Hardware or software decoder?

From LinuxTVWiki
Jump to navigation Jump to search

This article is a Work in Progress.

DVB devices receive a MPEG2 Transport Stream; a highly compressed multiplexed stream that contains encoded video, audio and other associated streams. In order for the underlying content to be displayed on a viewing device, the TS must be decoded into a format that is native to the viewing device. Such decoding operations can be computationally intensive. There is essentially two different classes of DVB devices, and they are defined by the method undertaken for the MPEG decoding operation necessary for playback.

Hardware Decoding Devices

This class of DVB devices feature an on-board hardware MPEG2 decoder IC, thereby alleviating the burden of decoding the incoming stream, received by the device, from the host system's CPU.

It was formerly common for DVB PCI cards to feature such an on-board hardware MPEG2 decoder IC, though this is no longer the case. Two particular groups of hardware decoding PCI cards are:

(i) "Premium" or "Full-Featured" cards

One group of DVB-{C,S,T} hardware decoding cards, the early Siemens, Hauppauge and Technotrend DVB cards utilizing the AV711x MPEG2 Decoder, became commonly known as “Premium” or “Full-featured Cards”. However, by today's standards, such labels or classifications have become misnomers:

  • These cards feature a decoder (the AV711x) that is only capable of processing MP@ML streams (i.e. up to SDTV resolutions only). In fairness, at the time this particular lot of devices debuted, DVB-{C,S,T} services were still several years away from offering MP@HL (HDTV resolutions) streams.

Nonetheless, despite the advent of HDTV services, the “full-featured” tag line continues to persist, although such references are clearly obsolescent. While these “Premium” cards do alleviate the host system's CPU from the task of decoding SDTV streams, it should be noted that they do so at the expense of PCI bus resources – after decoding, the large uncompressed SDTV bitstream is offloaded from the card across the PCI bus to the video adapter for display.

For a long time the VDR Project unfortunately forced its users to install at least one of these expensive cards in their system. However, this is no longer the case, as VDR now also offers the VDR Software Decoder Plugin.

(ii) ATSC hardware decoding cards

  • Janus based Mpeg 2 decoders
  • uncommon to see such labels applied to them, although occasionally referred to as premium cards.
  • are capable of MP@HL (i.e more full-featured then their DVB-x counterparts)
  • routing of decoded bitstream – can't pass over PCI bus, only possible to offload straight to display device

Relevance of Hardware Decoding cards Today

Ultimately, the utility that such devices provide is subject to individual opinion.

That said, in the case of the so called “Full-featured” cards, there are some that feel that these devices are outdated and that their premium expense unjustifiable given that one pays for a hardware decoder they really don't need – given every recent PC with more than ~500MHz is able to decode SDTV MPEG2 Streams in software without any extra cost. One user even expressed “let the "Full-featured Cards" die better sooner than later. You can spend your money a better way, invite your girlfriend for a ice-cream or drink some beer with your friends.”

For more capable decoding devices, such as those that can handle HDTV resolutions, the arguments against them aren't necessarily as valid, given the complexity and demands of HDTV decoding operations. Nonetheless, their value has also been somewhat diminished in the recent years by technologies (such as XvMC) that allow for the offloading of parts of the decoding processes from the CPU onto the GPU of the video adaptor. Secondly, the march of time has not impeded the continued progression of raw CPU power, and even fluid playback via pure software decoding is quite achievable with most AMD and Intel CPUs since the last couple of years.

  • No modern card design has adopted a hardware decoding approach.
  • Microsoft even denies to support this hardware decoding type of cards in their BDA Driver Architecture.
  • realization of a mixture of software and hardware assist decode
  • End of the Hardware decoder card? Maybe not. Emergence of services using MPEG4 part 10 (AVC/h.264). May see a revival....at least, till raw cpu, GPU and software again render hardware solutions unecessary.

Software Decoding Devices (a.k.a "Budget" cards)

This class of DVB devices rely upon the host system to decode the incoming stream, received by the device.

  • Ubiquitous. Nowadays, most cards can be classified as software decoding devices.

Instead, the still encoded, unchanged stream goes to the CPU and is decoded based upon the algorithms of a software decoder.

These cards are also sometimes referred to, in antiquated terms, as budget cards, i.e. a reference to the fact that they lack a MPEG decoder chip, as would be found on a so called "premium" or "full-featured card". Cards without encoder are called budget in this terminology. "Budget" stands for "Low Budget DVB Card" and mostly means the absence of a hardware decoder chip.

Commonly on newer hardware, for example the hardware MPEG2 decoder is missing, as it is too expensive and nowadays not really necessary any more. With a budget card, the decoding is done by software on the computer's CPU, e.g. VDR Software Decoder Plugin or xine.

For example, the relevant minimum system requirements for a Technotrend DVB-T Budget T1500 are: CPU Pentium at 733 MHz (for HDTV 2,4GHz or faster) 128 Mbyte RAM PCI/AGP-videocard with at least 32Mbyte RAM

Also see: