Be aware that HDMI supports two ways of encoding color. RGB (which is what PC monitors use) and YCbCr (which is the color space used by compressed video formats)
It is important that you understand this because video cards will sometimes choose a less than optimal color space format when hooked up to an HDTV. You can usually force the pixel format in your video card's driver settings. Explanation of YCbCr here
If you have to use YCbCr the use YCbCr 4:4:4 not YCbCr 4:2:2. 4:2:2 means that the color (CrBr) are half the resolution of the brightness (Y).
There will also (at least on ATI cards) be an option for "full range" and "studio range" when outputting RGB pixels
Full range means that brightness level RGB 0,0,0 = absolute black and RGB 255,255,255 = maximum white
Studio range means that absolute black = RGB 15,15,15 and maximum white = RGB 240,240,240
Ideally you want RGB full range. But you need to have your HDTV and your video card both set to use the same brightness range (i.e. full range or studio range). Most HDTV's will have an option for full range/studio range somewhere in the setup menus. (on Samsung TV's it is called "HDMI Black Level")
If you are using a DVI to HDMI cable then it will always be RGB full range.
Also, turn off *ALL*
"image enhancement" image sharpening, dynamic contrast etc. when using an HDTV as a PC monitor. It will just degrade the image quality. There will usually be an option in your HDTV's setup called something like "Movie" or "Natural" that disables most of this. Then it's just a matter of setting image sharpening to 0%, disabling "dynamic contrast" "edge enhancement" etc.
What you want is to display exactly the image that your PC is sending to the TV with no changes.
Tools you can use to adjust your brightness/gamma. Please note if you have any edge "enhancement" or image sharpening these will not work right. (but you should have all those turned off anyway)