The ATI HD Registry Tweaks script is designed to add values to the Windows registry. Changing anything in the registry can be hazardous. No warranty is offered or implied. Use at your own risk!

The script will add or remove a number of registry tweaks to enhance the performance of ATI/AMD HD2000, HD3000, HD4000, HD5000, HD6000 & HD7000 series video cards for use in HTPCs.

The simple way to use this program

Run the script (double-click). When you are prompted to approve a video device, read the "Device Description". If it looks like a description for your video card, go ahead and answer 'Yes' to agree that it is the correct device. There is no harm caused by adding the settings under multiple video devices, or even under video devices that aren't your active video card. The settings will be ignored by other devices.

To make it more complicated

Under Windows XP / MCE, if you want to add a level of verification that you have the correct video device, open the ATI Catalyst Control Center, and select the Information Center > Graphics Software section. The 2D Driver Path will show the GUID (the number between the curly brackets, "{}") for your active video device. When you run this program, you will be prompted for each video device on your system. When you see the GUID for your active video device, approve that device to add the registry settings.

Under Windows 7 / Vista, the path in the CCC will not match the one reported by this program, because this program uses a different registry key that mirrors (copies its values) to the one listed in the CCC.

You will be prompted to approve the correct video device before anything in the registry is changed. To add settings for multiple devices, simply re-run the program and select a different device. In Windows XP / MCE, the registry tweaks will be applied to all outputs, e.g., 0000 and 0001. In Windows Vista, the registry tweaks are applied uniformly to the active device, which applies to all outputs on that device.

Save the .vbs file to your computer, then double-click it to run.

Internet Explorer Right-click and select 'Save Target As...'
Firefox/Chrome/Safari Right-click and select 'Save Link As...'

Download ATI HD Registry Tweaks 0.16

Note
ATI HD Registry Tweaks is a program written in VBScript. You can view the source code in your browser or in any text editor. If you double-click it on your PC, it will run using the Windows Script Host, included with every version of Windows. Your anti-virus software may bark when you download or attempt to run this, because VBScript is fairly powerful and .vbs files have been used to do some malicious things in the past. I have no malicious intentions, so I suggest you let the program run, but if you're uncomfortable doing it, don't.

This license governs use of the accompanying software. If you use the software, you accept this license. If you do not accept the license, do not use the software.

1. Definitions

The terms "reproduce," "reproduction," "derivative works," and "distribution" have the same meaning here as under U.S. copyright law.

A "contribution" is the original software, or any additions or changes to the software.

A "contributor" is any person that distributes its contribution under this license.

"Licensed patents" are a contributor's patent claims that read directly on its contribution.

2. Grant of Rights

(A) Copyright Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free copyright license to reproduce its contribution, prepare derivative works of its contribution, and distribute its contribution or any derivative works that you create.

(B) Patent Grant- Subject to the terms of this license, including the license conditions and limitations in section 3, each contributor grants you a non-exclusive, worldwide, royalty-free license under its licensed patents to make, have made, use, sell, offer for sale, import, and/or otherwise dispose of its contribution in the software or derivative works of the contribution in the software.

3. Conditions and Limitations

(A) Reciprocal Grants- For any file you distribute that contains code from the software (in source code or binary format), you must provide recipients the source code to that file along with a copy of this license, which license will govern that file. You may license other files that are entirely your own work and do not contain code from the software under any terms you choose.

(B) No Trademark License- This license does not grant you rights to use any contributors' name, logo, or trademarks.

(C) If you bring a patent claim against any contributor over patents that you claim are infringed by the software, your patent license from such contributor to the software ends automatically.

(D) If you distribute any portion of the software, you must retain all copyright, patent, trademark, and attribution notices that are present in the software.

(E) If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with your distribution. If you distribute any portion of the software in compiled or object code form, you may only do so under a license that complies with this license.

(F) The software is licensed "as-is." You bear the risk of using it. The contributors give no express warranties, guarantees or conditions. You may have additional consumer rights under your local laws which this license cannot change. To the extent permitted under your local laws, the contributors exclude the implied warranties of merchantability, fitness for a particular purpose and non-infringement.

See my AVS Forum post for details on the registry settings.

See arfster's AVS Forum post for details on the effects of each setting.

The following registry settings are applied:

All HD2000, HD3000, HD4000, HD5000, HD6000 & HD7000 Models

  • "Denoise_NA" = "0" - Enables the Denoise slider in the CCC.
  • "Detail_NA" = "0" - Enables the Detail slider in the CCC.
  • "DXVA_DetailEnhance" = "0" - Disables detail (edge) enhancement.
  • "DXVA_NOHDDECODE" = "0" - Enables HD MPEG2 decoding.
  • "DXVA_WMV_NA" = "0" - Enables WMV acceleration checkbox.
  • "HWUVD_ForceMPEG2" = "1" - Enables MPEG2 decoding using VMR9 with dual displays.
  • "SORTOverrideVidSizeCaps" = "2800000" - Enables fullscreen decoding for 1080p displays (applies to Catalyst 7.7 and earlier).
  • "TrDenoise" = "0" - Disables denoising for both HD and SD.
  • "UseBT601CSC" = "1" - Enables use of consistent colorspaces for HD and SD.
  • "VForceHDDenoise" = "0" - Disables denoising only for HD formats.
  • "VForceMaxResSize" = "2800000" - Enables fullscreen decoding for 1080p displays (applies to Catalyst 7.8 and later).
  • "VForceUVDH264" = "1" - Enables H.264 decoding with dual displays.
  • "VForceUVDVC1" = "1" - Enables VC-1 decoding with dual displays.

HD2400 Model Only

  • "DXVA_Only24FPS1080MPEG2" = "0" - Enables MPEG2 decoding for formats other than 1080@24fps.
  • "DXVA_Only24FPS1080H264" = "0" - Enables H.264 decoding for formats other than 1080@24fps.
  • "DXVA_Only24FPS1080VC1" = "0" - Enables VC-1 decoding for formats other than 1080@24fps.
  • "SORTOverrideFPSCaps" = "0" - Enables decoding for various framerates (applies to Catalyst 7.7 and earlier).
  • "VForce24FPS1080MPEG2" = "0" - Enables MPEG2 decoding for formats other than 1080@24fps.
  • "VForce24FPS1080H264" = "0" - Enables H.264 decoding for formats other than 1080@24fps.
  • "VForce24FPS1080VC1" = "0" - Enables VC-1 decoding for formats other than 1080@24fps.
  • "VForceDeint" = "6" - Enables all deinterlacing modes (Motion Adaptive, Vector Adaptive).

HD2600, HD3000, HD4000, HD5000, HD6000 & HD7000 Models Only

  • "ColorVibrance_DEF" = "0" - Disables Color Vibrance control (must also use ColorVibrance_DE_MIN).
  • "ColorVibrance_DE_MIN" = "0" - Disables Color Vibrance control (must also use ColorVibrance_DEF).
  • "ColorVibrance_NA" = "0" - Enables the Color Vibrance slider in the CCC.
  • "DI_METHOD" = "5" - Enables Vector Adaptive deinterlacing (must also use DI_METHOD_DEF).
  • "DI_METHOD_DEF" = "5" - Enables Vector Adaptive deinterlacing (must also use DI_METHOD).
  • "Fleshtone_DEF" = "0" - Disables Fleshtone control (must also use Fleshtone_DE_MIN).
  • "Fleshtone_DE_MIN" = "0" - Disables Fleshtone control (must also use Fleshtone_DEF).
  • "Fleshtone_NA" = "0" - Enables the Fleshtone slider in the CCC.

Sometimes the drivers don't get updated for every card for every driver release, so you need to edit a couple files to add your card. Run the installer, and continue until you extract the driver into a folder under C:\ATI\SUPPORT\. At the next opportunity, cancel the installation and navigate to the C:\ATI\SUPPORT\ folder in Windows Explorer. Edit the files as follows, and you can then run C:\ATI\SUPPORT\{Current Version}\Driver\setup.exe.

The files you need to edit are:

Windows 7 / Vista

C:\ATI\SUPPORT\[Current Version]\Driver\Packages\Drivers\Display\LH_INF\CX_*****.inf

Under "[ATI.Mfg]", add the following lines. You can do a search for "HD 2400" to put the lines with the other entries for the HD2000 series, if you wish.

"ATI Radeon HD 2400 PRO AGP" = ati2mtag_RV610, PCI\VEN_1002&DEV_94C4
"ATI Radeon HD 2400 XT AGP" = ati2mtag_RV610, PCI\VEN_1002&DEV_94C6
"ATI Radeon HD 2600 PRO AGP" = ati2mtag_RV630, PCI\VEN_1002&DEV_9587
"ATI Radeon HD 2600 XT AGP" = ati2mtag_RV630, PCI\VEN_1002&DEV_9586

The lines can be placed anywhere under the "[ATI.Mfg]" section. For example, your entry could look as follows:

[ATI.Mfg]
"ATI Radeon HD 2400 PRO AGP" = ati2mtag_RV610, PCI\VEN_1002&DEV_94C4
"ATI Radeon HD 2400 XT AGP" = ati2mtag_RV610, PCI\VEN_1002&DEV_94C6
"ATI Radeon HD 2600 PRO AGP" = ati2mtag_RV630, PCI\VEN_1002&DEV_9587
"ATI Radeon HD 2600 XT AGP" = ati2mtag_RV630, PCI\VEN_1002&DEV_9586

Windows XP / MCE

C:\ATI\SUPPORT\[Current Version]\Driver\Driver\XP_INF\CX_*****.inf

Under "[ATI.Mfg.NTx86]", add the following lines. You can do a search for "HD 2400" to put the lines with the other entries for the HD2000 series, if you wish.

"ATI Radeon HD 2400 PRO AGP" = ati2mtag_RV610, PCI\VEN_1002&DEV_94C4
"ATI Radeon HD 2400 XT AGP" = ati2mtag_RV610, PCI\VEN_1002&DEV_94C6
"ATI Radeon HD 2600 PRO AGP" = ati2mtag_RV630, PCI\VEN_1002&DEV_9587
"ATI Radeon HD 2600 XT AGP" = ati2mtag_RV630, PCI\VEN_1002&DEV_9586

The lines can be placed anywhere under the "[ATI.Mfg.NTx86]" section. For example, your entry could look as follows:

[ATI.Mfg.NTx86]
"ATI Radeon HD 2400 PRO AGP" = ati2mtag_RV610, PCI\VEN_1002&DEV_94C4
"ATI Radeon HD 2400 XT AGP" = ati2mtag_RV610, PCI\VEN_1002&DEV_94C6
"ATI Radeon HD 2600 PRO AGP" = ati2mtag_RV630, PCI\VEN_1002&DEV_9587
"ATI Radeon HD 2600 XT AGP" = ati2mtag_RV630, PCI\VEN_1002&DEV_9586

C:\ATI\SUPPORT\[Current Version]\Driver\Driver\CX_*****.INI
C:\ATI\SUPPORT\[Current Version]\Driver\Driver\INSTALL.INI

In both files, under the "[WINXP]" section, add the following at the end of the second line, which starts "R6=DriverPath_R6":

,0x94C4,0x94C6,0x9586,0x9587

For example, your entry could look as follows:

[WINXP]
Label=R6,R6_2,R6_3,R6_4,R6_5,R6_6,R6_7,R6_8,R6_9,R6_10
R6=DriverPath_R6,0x554F:0x149218BC,0x7162:0x3001147B,0x94C4,0x94C6,0x9586,0x9587
DriverPath_R6=\XP_INF,CX_52443.INF

It is likely that either your account or the program does not have administrative rights, which under Windows Vista is usually caused by User Account Control.

It is easiest to turn off User Account Control, but this would have security implications for your entire computer. Please read the following articles from Microsoft for advice on User Account Control:

How to use User Account Control (UAC) in Windows Vista
Turn User Account Control on or off

For NTSC material, it seems to be related to framerate detection of NTSC video material (29.97fps, interlaced). In the ATI CCC, try disabling pulldown detection .

2009-12-31 0.16

  • Added Windows 7 support.
  • Added HD5000 support.
  • Added Microsoft Reciprocal License (Ms-RL) terms.

2008-09-05 0.15

  • Added short descriptions to the dialog box for each registry setting.
  • Added check for null values before attempting to delete HD2400 registry values.
  • Added mention of ATI HD4000 series to use HD2600, HD3000 settings.
  • Added Denoise_NA=0.
  • Added Detail_NA=0.
  • Added VForceDeint=6.
  • Added VForceHDDenoise=0.

2008-04-16 0.14

  • Added the ability to delete individual or all registry entries for a device.

2008-03-21 0.13

  • Renamed and changed to apply to all HD2000 and HD3000 cards.
  • Added prompt to ensure user is aware of dual display circumstances necessitating HWUVD_ForceMPEG2.
  • Changed array implementations to allow for easier updating.

2008-02-23 0.12

  • Modified implementation for Vista to use different registry keys under HKLM\System\CurrentControlSet\Control\Class.
  • Applying the settings once there should mirror the settings to Control\Video for all ports of the device.
  • Added links to resources on UAC if permissions prevent adding reg values under Vista.
  • Added: "VForceUVDVC1"="1", "VForceUVDH264"="1", "HWUVD_ForceMPEG2"="1"

2007-10-31 0.11:

  • Added support for all video device numbers, not just "0000" and "0001".
  • Fixed final "Done" dialog to work properly under Vista.
  • Updated final "Done" dialog to display settings for all device numbers.
  • Added check for registry permissions each time a value is set.

2007-10-30 0.10:

  • Added DXVA_NOHDDECODE to apply to the HD2600, as HD-MPEG2 DXVA was broken in the ATI Catalyst 7.10 drivers.

2007-09-27 0.9:

  • Made comments in the file header a little more generic.
  • Changed the recursive SetRegValue sub call in SetRegValue() to have the correct arguments.

2007-09-24 0.8:

  • Added change for sloppy programming: Reset message string at the beginning of Done() sub.

2007-09-23 0.7:

  • Added checking for user permissions to edit registry, allowing for Vista UAC. Previously, adding settings to registry would fail silently.
  • Upgraded for efficiency: Changed big loops with interior branching to exterior branching with little loops.
  • Added Done() sub to show current registry settings at the end of processing.
  • Added SetRegValue() sub for checking permissions and adding reg values. (Not currently implemented. To be used in a future upgrade, if needed.)

2007-09-19 0.6:

  • Changed detection for Vista to case-insenstive string compare.

2007-09-18 0.5:

  • Added support for primary video device as "0001" and secondary as "0000". Previously, assumed primary was "0000".

2007-09-18 0.4:

  • Added SORTOverrideVidSizeCaps = 2800000.
  • Added ColorVibrance_NA = 0 for 2600.
  • Added Fleshtone_NA = 0 for 2600.

2007-09-18 0.3:

  • Initial public release.
  • Support for Win XP/MCE and Vista.
  • Support for multiple video devices (cycles thru devices).
  • Adds settings for both primary and secondary video devices.