Hardware Decoder h.264 for HDTV
1. Introduction and terminology
What is the target audience of this article?
This article is orientated towards users with zero level knowledge of h.264/AVC and HDTV. However it is strongly recommended to study the article to all users of produce AT despite the level of initial knowledge in this field.
1.2 What for to read this article?
DVB-cards AT allows watching open satellite television (FTA) of high definition on computer (HDTV). But in order to watch this television with comfort and quality it is becessary to have video-card with 100%-processing of video h.264 and to set the system correctly.
Unfortunately the method that is applied television of standard definition is not applicable in this case. To make everything work in the right way it is not enough to just insert DVB-card in computer slot and set “some” required codecs for h.264. Perhaps it will start operate but there are two variants – either its image will be separated from sound or imaging will be indistinct and blurred alongside with skip of cadres and separate scenes.
This article is written to explain users why it is so necessary to use hardware codec h.264 for television of high definition. To show that hardware codec allows getting more qualitative imaging than software codec does.
Use of software codec h.264 for HDTV is all the same as use of monochrome television to watch color TV. It is possible to watch but not to enjoy all advantages of color TV.
1.3 Before the world was simpler…
Before the world was in fact simpler. It was enough to know less to make everything work with a half-turn. Now there exist many technologies which interact with each other like double cake components to help a user watch an image on his screen/ HD-panel and to hear sound through the speakers. We will do our best to make head of the terminology appeared because of HDTV development.
In this article the following terms and technologies are being decoded: HDTV (High-definition television), SDTV (Standard-definition television), h.264/AVC (Advanced Video Coding, ITU-T H.264, ISO/IEC MPEG-4 Part 10, ISO/IEC 14496-10), DXVA (DirectX Video Acceleration), Hardware assisted decoding, Full bitstream decoding, ATI AVIVO, ATI AVIVO HD, AMD UVD (Unified Video Decoder), NVIDIA Purevideo, NVIDIA Purevideo HD, NVIDIA CUDA (Compute Unified Device Architecture), CoreAVC, CyberLink H264 Video Decoder, VMR7/9 (Video Mixing Renderer 7/9), EVR (Enhanced Video Renderer), HTPC (Home Theater Personal Computer), etc.
Don you think yet that one should know many things to simply watch HDTV on computer in maximum quality?
1.4 Idea of high definition image
High Clearness Television (HCTV) has an international abbreviation HDTV (High-Definition Television). You surely have heard it many times.
Wikipedia, the free encyclopedia, gives the following definition of HDTV: “A set of standards of television broadcasting of higher resolution by means of digital channels of communication” .
We prefer to define it some other way. HDTV is an idea of the fact that a television image can be another size than it used to be. See the following illustration from Wikipedia:

The idea of the fact that width and height of picture have more pixels/ dots than outdated television format is in the basis of HDTV. PAL/ SECAM used to have 720*576 dots and HDTV now has 1920*1080 or 1280*720 pixels. An image has become 5 times bigger!
The idea is in the fact that the more dots in width and height the better an image. Sometime Ultra-high resolution television will appear. Probably, it will be called HDTV-2 or super-HDTV.
Outdated television is now called SDTV (standard definition television).
The aim of section 1.4 was to show that HDTV and codec for HDTV, for example, h.264/ AVC are not the same notions.
1.5. TV-panels and HTPC
Some users of satellite TV use PC as Home Theater. There even exists such a term as HTPC. Wikipedia, the free encyclopedia, gives the following definition to this terms:
HTPC (English abbreviation for Home Theater Personal Computer) is a conception of Home Theater compiled on the basis of personal computer. Besides this term is used to name such systems usually consisting of a computer, TV set and audio system.
In principle any computer (not necessarily low-profile) will suit for Home Theater. The most important thing is to have LCD or Plasma panel preferably with such stickers:
|
|
|
Display on HD-panel is performed from video card through HDMI-interface.
LCD television PHILIPS with HDTV support

HD television receives “ready image” from video card. For such a TV set these are not codecs (h.264, VC-1, MPEG2 etc.) but a “ready image”. It showed what it had gotten. Additionally it is important that a computer as a complicated hardware-software complex is capable to receive the traffic flow from the satellite, process it, decode video and transfer it to the TV set.
1.6 Codec h.264
The idea of an image being big is good by everything except for one thing. It needs to be transferred to a customer by channels of communication. And channels of communication are very expensive and their capacity is limited. To store and transfer HDTV people started to use High Compression Codecs.
A codec consists of two parts: codec and decoder. The operator has a codec and the operator codes information by means of the it. To decode information is the task of your system.
The codec h.264 has become de-facto standard for satellite HDTV. This codec in order to confuse users has acquired the number of English-language names: AVC (Advanced Video Coding), ITU-T H.264, h.264/AVC, ISO/IEC MPEG-4 Part 10, ISO/IEC 14496-10. All above-mentioned codecs are technically identical. In this respect we will use the name h.264.
Sometimes confusion takes place and h.264 is mistakenly called MPEG-4. In fact it is not quite correct. The standard MPEG-4 itself consists of 22 parts. And the standard of h.264 stands under the number 10 i.e. is a small part of the global standard MPEG-4.
The main advantage of h.264 is that it allows compressing video. It also allows compressing SDTV. HDTV can be compressed with the help of other codecs such as MPEG-2 or VC-1. Besides these are codecs that can be used to code HDTV on Blu-Ray/ HD DVD-disks.
1.7 Features of Decoder h.264
The reverse of the coin of efficient compression of high definition video by means of codec h.264 is that the receiving part suffers a charge for decoding and post processing of video. Especially taking into consideration that codec h.264 has several compression levels: low, medium, high, very high and image frequency can vary from 24 to 60 cadres in minute.
One can use four core central processor and to leave behind your sight the matter of enough computer power for decoding h.264. But on the one hand it is excessive heat liberation of the whole system. And on the other hand the video image received by means of software codec h.264 is always worse than the video received by means of hardware codec h.264 to the video card.
1.8 How to see that software decoder h.264 is worse than hardware decoder h.264?
- Color Reproduction – colors are not as they supposed to be.
- Image Blurring – there is an impression that somebody has spread soap on the surface. Additionally such HDTV by its quality resembles of SDTV in MPEG-2. Then what for to watch HDTV if its advantages are not noticeable?
- Imaging of diagonal objects - it could be often seen that diagonal objects from one corner to another move by “steps”.
- High-dynamic scenes – when a peak charge exists software codec starts skipping cadres even if the processors are powerful. Besides people can teleport from one corner of a room to another – software decoder has just skipped many cadres or whole scenes in line. Especially it is difficult for a codec to operate when video has a high compression level and a large number of cadres per second.
1.9 Why hardware decoder should be used for HDTV in the format of h.624?
- To provide natural color reproduction.
- To make an image really distinct and of high quality. Definitely some people are being satisfied by HDTV image of low quality saying: “it will do like this…”. This is the case when one can watch color television on monochrome TV set. The main thing is that there is an opportunity to see image.
- To make a cable be strained from one corner to another straight not by “steps”.
- To avoid people and objects teleporting except such situations as it was in the movie “Jumper”.
- To discharge the central processor. Central compressor loading comprises 15-20% when hardware codec is used. And when software codec is used it comprises 90-100%.
1.10 Why hardware decoder h.264 has better image than software decoder h.264 does?
To economize satellite line operators uses maximum compression of the material in the format h.264. Additionally it is assumed by the standard h.264 that there will take place post processing of the received image. Post processing is considered to be anti-aliasing filter, sharpening filter etc.
Hardware decoder h.264 performs all the actions required to make HDTV image be similar to HDTV image but not a bit improved version of SDTV.
2. Recipe of qualitative HDTV layered cake in Windows
2.1 Layers of HDTV cake
HDTV double cake layers can be presented in the following way: “Traffic flow from DVB-card driver” – “Driver of ATI AVIVO HD technology video card and NVDIA Purevideo HD technology video card” – “Renderer”.
This is an approximate scheme in fact. Everything is much more complicated. But the scheme is useful for general comprehension of system software interaction.
In all cases of hardware decoding decoder and renderer use functions of the driver of ATI AVIVO HD video card and NVDIA Purevideo HD video card. The decoder uses decoding functions. Sometimes post processing is made partially at the level of decoding.
In all cases graph for processing of satellite HDTV in the format of h.264 has the following way of looking:
To speak conventionally renderer is a device to which video is transferred after processing by decoder.
2.2 Hardware decoding of h.264 by means of DXVA
The procedure of HDTV decoding is divided in four stages being performed in the following order:
1) VLD (Variable-Length Decode) or CAVLC/CABAC or Bitstream processing.
2) IDCT (Inverse Discrete Cosine Transform) or Frequency Transform.
3) MoComp (Motion Compensation) or Pixel Prediction.
4) PostProc (Post Processing) or Deblocking.
The most time-consuming stages are the first and second ones. VLD comprises up to 50% of computing upon HD-video decoding, IDTC up to 40% of computing. Further operations MoComp and PostProc are less time-consuming. Not more than 10-15% of computing upon HD-video decoding
For hardware speed-up of video decoding Microsoft Corporation has developed DXVA 1.0/2.0 (DirectX Video Acceleration) technology.
There exists two types of DXVA:
1.Partial hardware decoding of h.264/ Hardware assisted decoding
The part of operations is fulfilled by the central processor (CP) and the other part of operations is fulfilled by the graphic processor (GP). In practice these technologies were realized by leading manufacturers of video cards and are called: ATI Avivo and NVIDIA Purevideo
2. Full hardware decoding of h.264/ Full bitstream decoding
All operations are performed by the hardware decoder. In practice these technologies were realized by leading manufacturers of video cards and are called: ATI Avivo HD and NVIDIA Purevideo HD.
Partial and Full hardware decoding speed-up of h.264 can be illustrated by the following scheme:

As it is seen in the picture ATI Avivo technology is aimed at performing only second, third and fourth operations upon video decoding. As that the most time-consuming is the first operation of VLD/Bitstream decode (up to 50% of computing upon video decoding) and is performed by the central processor. Such technology of full bitstream decoding can not be called full-scale.
That’s why for hardware video decoding in the format h.264 we can only recommend full hardware decoding - Full bitstream decoding. This technology has the following commercial names: ATI Avivo HD and NVIDIA Purevideo HD.
ATI AVIVO HD (it should not be confused with ATI AVIVO™)
At present the following ATI/AMD video cards back up full bitstream decoding technology of HD-video: Radeon HD 5000 Series, Radeon HD 4000 Series, Radeon HD 3000 Series, Radeon HD 2600 Series, Radeon HD 2400 Series, Radeon HD 4200/AMD 785G Chipset, Radeon HD 3200/AMD 780G Chipset, Radeon HD 3300 IGP/AMD 790GX Chipset.
NVIDIA Purevideo HD (it should not be confused with NVIDIA Purevideo)
At present the following NVIDIA video cards back up full bitstream decoding technology of HD-video:GeForce 200 Series, GeForce 9 Series, GeForce 86xx, GeForce 85xx, GeForce 84xx.
Following the link 4.4 you will find PDF-file with official specification of support of the technology Purevideo HD in video card NVIDIA. Lets study this document in more detail:

Upon studying this document in more detail it is clear that among this line of NVIDIA video cards partial support of hardware decoding h.264 is only available on video card GeForce 88xx. Absence of a tick in specification chart signifies that GeForce 88xx does not fulfill by means of hardware two first stage of video decoding (CAVLC/CABAC and IDCT) and meantime it comprises 90% of the whole computing.
Another new NVIDIA video cards from the above-mentioned list has full hardware decoding h.264 and maximum completely discharge the central computer processor.
Official web site NVIDIA illustrates advantages of NVIDIA Purevideo HD technology in the following way:

DXVA usage recommendations
1. Video card with full hardware decoding h.264 support.
2. Officacial licensed Assembly OS Windows with updates and without installed codec-packs.In non-official pirate assemblies OS Windows some necessary libraries and modules for DXVA can be missed.
3. Last version DirectX 9 or DirectX 10.
4. “Successfaul” version video card drivers. Unfortunately “Successful” does not necessarily means the latest version. It is recommended to use for ATI video cards such versions of drivers as 8.10 or 8.12.
5. And the most important is that there is no decoders h.264 with support DXVA without glitches. Only one version of CyberLink H.264/AVC Decoder versions can be recommended. ArcSoft Mpeg2/H264 Video Decoder appeared later but its last versions are succesful enough to compete with CyberLink decoder.
Concerning features of new and old versions of drivers for ATI/AMD videocards the following quotations of specialists can be cited:
New equipment by ATI is released and the old one is being thrown away. Primarily optimization touches the number of attractions in every new game. When I started came across BSODs on drivers of version 9.6 I decided to look through “release notes” (what new product has appeared among drivers). As usual a new game support for 48XX was added and it was consequently ruined everything else. In the next driver version insignificant bugs were corrected and artifacts of video-content reproduction remained. Everything is usual.
I am not sure whether generally anything can be advised to users. There is no ready solution. If speak about hardware speed-up h.264 then one of versions of decoder CyberLink and a suitable to it should be used.
Latest drivers by ATI as a rule is not a good solution to apply it to work with HD. Once again I faced such a situation. I installed the latest drivers of version 9.5 as a result I had image glitching and BSOD constantly appearing. At average it happened 1-2 times in hour. Then I installed a driver of version 9.5. The situation was a bit better but meanwhile BSOD occurred very often. Then I changed drivers to version 8.5 – BSOD disappeared.
Besides a bunch version of driver and version of decoder h.264 is sometimes very important for a stable work of the whole system.
2.3 Software decoding h.264
As it was said before software decoding is not recommended for watching HDTV. If you so far you dont have a video card with hardware decoder h.264 then you can try to “watch color TV on a monochrome TV-set” by means of software decoder h.264.
Among software decoders it is recommended to choose CoreAVC. It is the fastest decoder among software decoders. This codec is commercial, it can be bought at the web site http://coreavc.com/. To experiment one can use a trial version operating 14 days.
To provide efficient work of CoreAVC a dual core processor, 2,5-2,8 GHz is required.
If you have NVIDIA video card and it supports NVIDIA CUDA technology then system requirements to the central processor for software decoding h.264 by means of codec CoreAVC can be significantly leveled down.
Since March 2009 CoreAVC supports NVIDIA CUDA technology (version 1.9.5.0)/ This technology allows to transfer a significant part of computing from the central processor to the graphic processor.
NVIDIA video cards which supports CUDA technology can be watch by link 4.5.Support of CUDA technology has appeared in NVIDIA drivers from version182.05.
2.4 Program choice for satellite TV watching
To play satellite HDTV in the format of h.264 TV-players are recommended to be applied in the following consequence:
1. AltDVB version 2.2 with module AT Engine.
2. DVBViewer Pro version from 4.2.1 with standard module.
3. ProgDVB Pro version from 6.20 with standard module and DVBDream version from 1.4i with module AT Engine.
As a renderer VMR 7/9 should be used for OS Windows and EVR for OS Windows Vista/7.
3. Example of AltDVB adjustment for HDTV
As it was mentioned above all user settings are individual for different systems. Settings of a Stable adjusted system should be mentioned as an example.
Operating system: Windows XP SP3
Video card: ATI Radeon HD 4850
Video card drivers version: 8.10
DVB-card: Revolution 7301 DVB-S2 PCI or any other AdvanceTune DVB-card
DVB-card driver version: 1.0.1.2
Program of satellite TV-player: AltDVB v.2.2 (free of charge program).
Video-decoder h.264: CyberLink H.264/AVC Decoder (PDVD8), i.e commercial package CyberLink PowerDVD 8 (Acquired along with the package. Package rate of CyberLink PowerDVD comprises 45-50$.).
Audio-decoder: AC3 Filter.
Renderer: VMR 7.
7.
Codec-packs: absent. Codec packs “trash” the system and result in impossibility to adjust its stable operation. It is recommended to use clear system installed from the official licensed distributive assembly OS Windows in order to successfully adjust hardware decoding h.264.
Available video decoders in AltDVB

Available audio decoders in AltDVB

AC3Filter is recommended to decode sound
Decoders settings for SDTV in AltDVB

Decoders settings for HDTV in the format of h.264 in AltDVB

Settings for PIP (Picture-in-Picture) in AltDVB

4. Useful links
4.1 Oficial description of ATI Avivo HD technology:
http://www.amd.com/us/products/technologies/ati-avivo-hd/Pages/ati-avivo-hd.aspx
4.2 Description of AMD UVD technology and list of ATI video cards with ATI AVIVO HD technology:
http://en.wikipedia.org/wiki/Unified_Video_Decoder
4.3 Official description of NVIDIA Purevideo HD technology:
http://www.nvidia.com/page/purevideo_HD.html
4.4 NVIDIA video cards with NVIDIA Purevideo HD technology support:
/download/h.264/pure_video_hd_support.pdf
4.5 NVIDIA video cards with CUDA technology support for hardware speed-up of software decoder CoreAVC:
http://www.nvidia.com/object/cuda_home.html
4.6 Utility for identification of level of hardware decodering h.264:
http://www.advancetune.com/download/h.264/DXVAChecker_2.1.0.0.zip
Pin «H264_VLD» signifies complete hardware decodering h.264.
Pin «H264_MoComp» and others signify partial hardware decodering h.264.
Availability of Visual C++ 2005 SP1 Runtime and .NET Framework 2.0 is required for Windows XP and Visual C++ 2005 SP1 Runtime is required for Windows Vista to startover DXVA.
4.7 Description of MPEG4 and its parts standard including Part 10 (ISO/IEC 14496-10): Advanced Video Coding: A codec for video signals which is also called AVC and is technically identical to the ITU-T H.264 standard:
http://en.wikipedia.org/wiki/MPEG-4
4.8 Description of h.264:
http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC
4.9 Description of HDTV:
http://en.wikipedia.org/wiki/High-definition_television
4.10 Description of DirectX Video Acceleration (DXVA):
http://en.wikipedia.org/wiki/DirectX_Video_Acceleration
4.11 Archive of programs AltDVB, DVBDream, ProgDVB and modules to them:
http://www.advancetune.com/eng/download.html
4.12 CoreAVC is the fastest software codec:
http://coreavc.com/
5. Main secret of DVB-card
In the end the main secret of successful adjustment of HDTV on computer – practically DVB-S/S2-card does not show any HDTV!
The role of DVB-card is to accept traffic flow correctly and transfer it farther. There its function dropped. What will happen to traffic flow farther is out of its operation. DVB-card developers can not influence on further processing of traffic flow. It is out of their area of responsibility.
Those who don’t comprehend this thought accuse of all their problems with system adjustment DVB-card developers.
Those who comprehend this thought choose right OA (official licensed assembly Windows XP SP2/SP3 32 bit) for multimedia computer, select drivers for video cards that never show SBOD when working with h.264, select decoder h.264, and use stable TV-players with developed demultiplexor.
Last proofreading of the article: 08.10.2009


