ATI HD Registry Tweaks for HTPCs

Supports Windows Vista x86/x64, XP & MCE.

This 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!

This script will add or remove a number of registry tweaks to enhance the performance of ATI HD2000, HD3000 & HD4000 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 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.



Download

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

Internet Explorer: Right-click and select 'Save Target As...'

Firefox: Right-click and select 'Save Link As...'

Download ATI HD Registry Tweaks 0.15

This 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, 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.







Details

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 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 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.







If your AGP card is not supported by the latest ATI drivers...

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 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






If you receive errors stating registry access was denied while using Windows Vista...

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



If you see red-shift or flashes of color on red objects...

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 .






Changelog

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.



Updated  Wed, 15 Oct 2008 21:21:50 GMT

  

Please sign the guest book! Provide any feedback you feel to be worthwhile.