AVS › AVS Forum › Video Components › Home Theater Computers › How to calibrate your display and HTPC to get best picture quality
New Posts  All Forums:Forum Nav:

How to calibrate your display and HTPC to get best picture quality - Page 2

post #31 of 128
Quote:
Originally Posted by somy View Post

I really wish people who have HD5XXX or HD4000 try my test and tell us the result, thanks!

I have a 5750 in my "everyday" PC and a 4650 in my HTPC, but I can't do the test before next weekend. Meantime, while I am at work, I am studying the meaning of your test.
post #32 of 128
Thread Starter 
Quote:
Originally Posted by cyberlolo View Post

No, my TV is calibrated based on a reference settings (brightness/contrast) provided by a professional Pioneer calibrator. That settings are common for every source (Blu-ray, Sat, HTPC), and they're perfect for all of them, so they aren't based on wrong output range.

Also, you said that if the output is 16-235, you get grey black or washed white. And in my case, the black that I get in the image (level 0 without enabling ffdshow's levels filter) is just the same black as the physical frame of my TV (which is absolute black). I tested it turning off the lights of the room, and doing that I'm not able to say where the image ends (a video showing level 0) and where the TV frame begins, so it's the same black.

Question is: Having that absolute black at level 0 with Full RGB doesn't mean that I have a 0-255 output? I think it does. Am I wrong?


I cannot answer your question, sorry.
The brightness and contrast change the luma curve, and it's possible to display 0-255 even your display only take 16-235 input. When you do the test, what input mode did you select from your TV? Please try to select RGB 0-255 and reset brightness/contrast to default value (you should write down the optimal value before doing this). Then try to switch between RGB full and RGB limited. If your graphics card can output RGB full range without problem then what you should see is:
1) With RGB full, luma is correct.
2) with RGB limited, you get grey black.
The theory behind this test is:
1) When your TV is set to receive RGB 0-255 and you choose RGB full output, the luma should not be compressed and it should look correct on your TV
2) When your TV is set to receive RGB 0-255 and you choose RGB limited output, the luma is compressed by graphics card and as a result, black is
raised to 16 and white is lowered to 235. In this case, your TV is still expecting black at 0, therefore it considers 16 as grey.

If you see a difference, congratulations, your graphics card outputs both 0-255 and 16-235, and you should choose 0-255 (RGB full) and let TV to cut BTB/WTW (RGB 16-235) and adjuest contrast so that you get some white above 235. For me and most other people, both RGB full and RGB limited output the same compressed YUV 16-235.
post #33 of 128
Quote:
Originally Posted by somy View Post

I cannot answer your question, sorry.
The brightness and contrast change the luma curve, and it's possible to display 0-255 even your display only take 16-235 input. When you do the test, what input mode did you select from your TV? Please try to select RGB 0-255 and reset brightness/contrast to default value (you should write down the optimal value before doing this). Then try to switch between RGB full and RGB limited. If your graphics card can output RGB full range without problem then what you should see is:
1) With RGB full, luma is correct.
2) with RGB limited, you get grey black.
The theory behind this test is:
1) When your TV is set to receive RGB 0-255 and you choose RGB full output, the luma should not be compressed and it should look correct on your TV
2) When your TV is set to receive RGB 0-255 and you choose RGB limited output, the luma is compressed by graphics card and as a result, black is
raised to 16 and white is lowered to 235. In this case, your TV is still expecting black at 0, therefore it considers 16 as grey.

If you see a difference, congratulations, your graphics card outputs both 0-255 and 16-235, and you should choose 0-255 (RGB full) and let TV to cut BTB/WTW (RGB 16-235) and adjuest contrast so that you get some white above 235. For me and most other people, both RGB full and RGB limited output the same compressed YUV 16-235.

When I do the test, I set the TV to expect a Full RGB (0-255) input, and I reset brightness/contrast controls (I have the optimal values in a text file).

Then switching from RGB Full to RGB Limited in the graphics card makes no difference in output, but I definately don't get grey blacks in any of the two modes. As I said, the black at level 0 (in both modes) it's so black that, if I turn off lights, the image blends with the physical TV frame (which is black of course), and I can't say where ends the image and where begins the frame.

So it seems that both Full and limited RGB output the same 0-255. Right?
post #34 of 128
Thread Starter 
Quote:
Originally Posted by cyberlolo View Post

When I do the test, I set the TV to expect a Full RGB (0-255) input, and I reset brightness/contrast controls (I have the optimal values in a text file).

Then switching from RGB Full to RGB Limited in the graphics card makes no difference in output, but I definately don't get grey blacks in any of the two modes. As I said, the black at level 0 (in both modes) it's so black that, if I turn off lights, the image blends with the physical TV frame (which is black of course), and I can't say where ends the image and where begins the frame.

So it seems that both Full and limited RGB output the same 0-255. Right?

Looks like you're getting RGB full in both modes, strange though.
I got 16-235 in both modes, and Andy get different ranges.
post #35 of 128
Quote:
Originally Posted by somy View Post

Looks like you're getting RGB full in both modes, strange though.
I got 16-235 in both modes, and Andy get different ranges.

Yes, that's what I think too. It could be the EDID telling the card to output always at 0-255 (strange as Andy and I have the same TV), or that our card models are different, or maybe the Catalyst drivers (I'm using 9.12)... don't know for sure, and I think it will be difficult for us to find out...
post #36 of 128
While waiting for a test on ATI on the weekend, I did a test on my work PC, nVidia 6600GT, driver 195.62, Windows 7 and a CRT monitor VGA connected.

I used MPC-HC with EVR-CP renderer to play Basic Settings.mp4 from AVS-HD 709 v1.3, first pattern with black flashing bars. I paused the video when the flashing bars were shown and hit the Stamp Screen Key. Then I opened Microsoft Paint and pasted the screen. Then I chose the tool "Color picker" (looks like a dropper) and left-clicked on one of the black bars. Then I clicked Edit colors (top right) and read the values in Red, Green and Blue filelds.

The three values are always the same for a given bar, because they give the gray level of the bar. The results for all the black bars were (left the number labelling the bar on video, right the value read in Edit colors for R, G and B:

1-16 0
17 1
18 2
19 4
20 5
21 6
22 7
23 8
24 9
25 11

My interpretation is that in my case the video card expands 16-235 to 0-255. Thus, all values below 16 are cut away, 16 becomes 0, 17 becomes 1 and so on. During the expansion, rounding errors create banding like 18-19 to 2-4 and 24-25 to 9-11.

Using this trick, starting form a pattern with known levels, should be easy to guess what the video card does, comparing the labeled levels to the levels measured by Microsoft paint.
post #37 of 128
Thread Starter 
Quote:
Originally Posted by Mike5 View Post

While waiting for a test on ATI on the weekend, I did a test on my work PC, nVidia 6600GT, driver 195.62, Windows 7 and a CRT monitor VGA connected.

I used MPC-HC with EVR-CP renderer to play Basic Settings.mp4 from AVS-HD 709 v1.3, first pattern with black flashing bars. I paused the video when the flashing bars were shown and hit the Stamp Screen Key. Then I opened Microsoft Paint and pasted the screen. Then I chose the tool "Color picker" (looks like a dropper) and left-clicked on one of the black bars. Then I clicked Edit colors (top right) and read the values in Red, Green and Blue filelds.

The three values are always the same for a given bar, because they give the gray level of the bar. The results for all the black bars were (left the number labelling the bar on video, right the value read in Edit colors for R, G and B:

1-16 0
17 1
18 2
19 4
20 5
21 6
22 7
23 8
24 9
25 11

My interpretation is that in my case the video card expands 16-235 to 0-255. Thus, all values below 16 are cut away, 16 becomes 0, 17 becomes 1 and so on. During the expansion, rounding errors create banding like 18-19 to 2-4 and 24-25 to 9-11.

Using this trick, starting form a pattern with known levels, should be easy to guess what the video card does, comparing the labeled levels to the levels measured by Microsoft paint.

Interesting, I will try the same technique tonight.
If you use DVI, then the values you get is correct. The banding can be solved by dither, try use FFDShow to decode the video and set output to RGB 32, enable HQ RGB conversion and Dither.
post #38 of 128
Quote:
Originally Posted by somy View Post

Interesting, I will try the same technique tonight.
If you use DVI, then the values you get is correct. The banding can be solved by dither, try use FFDShow to decode the video and set output to RGB 32, enable HQ RGB conversion and Dither.

Somy, that method doesn't work if you use madVR. He uses EVR-CP, so it would work, but bear in mind that if you use madVR, ffdshow's RGB conversion and dither are disabled.

Regarding the Mike5 technique, I will try it in an hour aprox. Will report results.
post #39 of 128
Thread Starter 
Quote:
Originally Posted by cyberlolo View Post

Somy, that method doesn't work if you use madVR. He uses EVR-CP, so it would work, but bear in mind that if you use madVR, ffdshow's RGB conversion and dither are disabled.

Regarding the Mike5 technique, I will try it in an hour aprox. Will report results.

We know the behavior of MadVR, don't we?
MadVR always output RGB, and the range depends on if you choose PC or TV level in MadVR, so there is no need to test MadVR. Also we know MadVR always dither, so banding should not exist in MadVR at all.
My guess is, with EVR CP it will tell me I'm outputting RGB. However, the graphics driver might convert it to YUV later when it sends it to my projector.
post #40 of 128
Quote:
Originally Posted by somy View Post

We know the behavior of MadVR, don't we?
MadVR always output RGB, and the range depends on if you choose PC or TV level in MadVR, so there is no need to test MadVR. Also we know MadVR always dither, so banding should not exist in MadVR at all.
My guess is, with EVR CP it will tell me I'm outputting RGB. However, the graphics driver might convert it to YUV later when it sends it to my projector.

Well, if you use ffdshow's levels filter you'll have banding although you use madVR. Anyway, I was only telling to try to make things clearer to everyone, just in case.

Regarding your guess, I think that's very likely what is happening on your system.
post #41 of 128
Quote:
Originally Posted by somy View Post

If you use DVI, then the values you get is correct.

I use VGA because it is an old CRT Monitor.

Quote:
Originally Posted by somy View Post

The banding can be solved by dither, try use FFDShow to decode the video and set output to RGB 32, enable HQ RGB conversion and Dither.

I tried RGB32, HQ RGB, both with and without dithering. The results are the same whether dithering is enabled or not and different from the previous YV12.

The differences are:

19 4 (instead of 3)

24 9 (instead of 8)
25 11 (instead of 10)

So banding is still there, even with dithering, because now I have 19-20 -> 3-5 and 24-25 -> 8-10.

Now I'll try MadVR (if my old hardware supports it).
post #42 of 128
Thread Starter 
Quote:
Originally Posted by Mike5 View Post

I use VGA because it is an old CRT Monitor.



I tried RGB32, HQ RGB, both with and without dithering. The results are the same whether dithering is enabled or not and different from the previous YV12.

The differences are:

19 4 (instead of 3)

24 9 (instead of 8)
25 11 (instead of 10)

So banding is still there, even with dithering, because now I have 19-20 -> 3-5 and 24-25 -> 8-10.

Now I'll try MadVR (if my old hardware supports it).

Hi,

You only see banding in a grey dump as the image I attached on the first page. And true, dither will change the luma values when necessary (and as a result introduce noise, that's why I prefer 0-255 through output, no dither and no banding)
post #43 of 128
Thread Starter 
Quote:
Originally Posted by cyberlolo View Post

Well, if you use ffdshow's levels filter you'll have banding although you use madVR. Anyway, I was only telling to try to make things clearer to everyone, just in case.

Regarding your guess, I think that's very likely what is happening on your system.

What visable benefit do you get from MadVR comparing to FFDShow HQ RGB32 with dither enabled? With latter you can enable 10 bit D3D which I think is nice.
I think MadVR is perfect, but how much PQ do you gain by using MadVR? EVR is easier to use IMO, and new MPC comes with EVR sync control which is also nice I think .
post #44 of 128
There are some things I'm not getting though.

Quote:
You should try choose DR 16-255 (so that the decoder output untouched 0-255) and then set RGB full in CCC (so that 0-255 is output without compressing according to ATI), then try play with your TV input settings, and there can be two cases:
1) when choose 16-235, you don't see BTB/WTW, and when choose 0-255 you see both BTB/WTW and you don't get grey black or washed white.
2) when choose 16-235 you see BTB/WTW, and when choose 0-255 you also see BTB/WTW but you get grey black or washed white.

Basically 1) means graphics card output 0-255 correctly according to CCC setting and 2) means graphics card compress 0-255 to 16-235 YUC and you still get BTB/WTW but the range is COMPRESSED. In both cases BTB/WTW should not be clipped by any component. To do the above test, it's important to rest brightness and contrast in your TV to make sure it doesn't re-expand 16-235 to 0-255.

Andy is in case 1 and I'm in case 2.

I'm not in any of those scenarios, if I'm understanding you correctly.

When I set DR to 16-235, I do get BTB/WTW as seen in 1.1.2 in my test. When I choose 0-255 (1.1.1) I get correct expansion.
post #45 of 128
Tried madVR set to PC levels (0-255) and dithering. The result is very strange.

First, flashing bars keep flashing even when the video is paused.

Second, bars are no longer gray. The three values for RGB are different; bars are colored!

Third, results are different every time I repeat the screenshot.

For example, one of the results I got (labels above bars on the left, RGB values on the right):

16 0 1 0
17 1 0 1
18 3 2 2
19 2 3 3
20 4 5 5
21 6 8 5
22 7 7 6
23 7 9 8
24 10 10 8
25 10 11 10

I don't know what to think. The chroma upsampling algorithm was the default: SoftCubic100.

Edit: if I check "don't use dithering" in madVR, results are much more stable and most bars are gray; some bars, though, still have non gray colors, like:

20 4 5 4
post #46 of 128
Thread Starter 
Quote:
Originally Posted by Andy o View Post

There are some things I'm not getting though.

I'm not in any of those scenarios, if I'm understanding you correctly.

When I set DR to 16-235, I do get BTB/WTW as seen in 1.1.2 in my test. When I choose 0-255 (1.1.1) I get correct expansion.

Sorry for the confusion.
When I say choose 16-235 and 0-255, I mean choose these input on your TV
The idea is to keep DR unchanged so that it gives BTB and WTW, and choose different TV input to check if you see BTB and WTW.
post #47 of 128
Quote:
Originally Posted by somy View Post

What visable benefit do you get from MadVR comparing to FFDShow HQ RGB32 with dither enabled? With latter you can enable 10 bit D3D which I think is nice.
I think MadVR is perfect, but how much PQ do you gain by using MadVR? EVR is easier to use IMO, and new MPC comes with EVR sync control which is also nice I think .

It's simple: madVR gives me a superior quality than EVR. Tested with the madshi's sample patterns and the differences are noticeable.
What do you say it's simpler to use EVR than madVR? IMO madVR is very straightforward, and i.e. gives you the chance of using 3dluts, which can match the exact color primaries that your display has. I think no other renderer can offer that.
Also, EVR gave me banding without using the ffdshow's levels filter (and anabling HQ RGB32 and dithering), while madVR doesn't.
post #48 of 128
One more test with MadVR. Setting it to Tv levels (16-235) and "don't use dithering" checked, all the bars are grey end levels measured by Paint equal perfectly the label above the bars. In this case I see all the bars, from 1 to 25, not only the bars from 17 to 25.

This setting lets the signal pass totally unmolested. You can then calibrate your display to show 16 as lowest black and you are ok.

Edit: in the same test with dithering enabled, most bars are still gray and with levels equal to label, but some bars are no longer gray, like:

24 23 24 24
post #49 of 128
Quote:
Originally Posted by cyberlolo View Post

It's simple: madVR gives me a superior quality than EVR. Tested with the madshi's sample patterns and the differences are noticeable.
What do you say it's simpler to use EVR than madVR? IMO madVR is very straightforward, and i.e. gives you the chance of using 3dluts, which can match the exact color primaries that your display has. I think no other renderer can offer that.
Also, EVR gave me banding without using the ffdshow's levels filter (and anabling HQ RGB32 and dithering), while madVR doesn't.

the problem with madVR for me is more practical. It doesn't allow for subs for bluray content cause the internal MPC sub renderer doesn't work with it. A good compromise would be to use ffdshow's post processing to convert to RGB in HQ with dither. madVR doesn't need ffdshow because it does similar things by itself.
post #50 of 128
Thread Starter 
Quote:
Originally Posted by Andy o View Post

the problem with madVR for me is more practical. It doesn't allow for subs for bluray content cause the internal MPC sub renderer doesn't work with it. A good compromise would be to use ffdshow's post processing to convert to RGB in HQ with dither. madVR doesn't need ffdshow because it does similar things by itself.

Also one problem with MadVR for me: auto-refresh rate change doesn't work with MadVR. The only difference between MadVR and FFDshow post process is that MadVR uses 16 bits while FFDShow uses 10 or 8 bits, but I doubt if you can really see a difference during movie playback.
post #51 of 128
Thread Starter 
Quote:
Originally Posted by Mike5 View Post

One more test with MadVR. Setting it to Tv levels (16-235) and "don't use dithering" checked, all the bars are grey end levels measured by Paint equal perfectly the label above the bars. In this case I see all the bars, from 1 to 25, not only the bars from 17 to 25.

This setting lets the signal pass totally unmolested. You can then calibrate your display to show 16 as lowest black and you are ok.

Edit: in the same test with dithering enabled, most bars are still gray and with levels equal to label, but some bars are no longer gray, like:

24 23 24 24

Are you suggesting the colour output from MadVR is not accurate if dither is turned on? OMG! Then what about dither is FFDShow?
There is a chinese website which shows MadVR generate image that is very different from original image:
http://akiduki.org/html/ytag/madvr
more:
http://akiduki.org/html/y2009/644.html

In short, they mad a test bmp and then convert that to YV12 4:2:0. Then they tries to render them in different renderers, and compare the result with original image. MadVR got lowest sccor in their test. The author claims that MadVR added too much extra information to original video (4:2:0) due to its advanced upchroma algorithm, and it causes rendered RGB 4:4:4 content looks so differently from the original bmp (RGB 4:4:4)
post #52 of 128
Quote:
Originally Posted by Mike5 View Post

Tried madVR set to PC levels (0-255) and dithering. The result is very strange.

First, flashing bars keep flashing even when the video is paused.

Second, bars are no longer gray. The three values for RGB are different; bars are colored!

Third, results are different every time I repeat the screenshot.

For example, one of the results I got (labels above bars on the left, RGB values on the right):

I don't know what to think. The chroma upsampling algorithm was the default: SoftCubic100.

Edit: if I check "don't use dithering" in madVR, results are much more stable and most bars are gray; some bars, though, still have non gray colors, like:

20 4 5 4

I'm using madVR too, and I can pause the video correctly, with MPC-HC and KMPlayer. And the bars stop flashing when paused.

So I made your test, and I agree that some bars have one different value of RGB. That's caused by dithering for sure. Also, it depends on which part of the bar you click the color picker at. In any given bar, some part gives you the same 3 RGB values, and in other part of the same bar, one or two of the colors can be different, so I'll better put the integer average of the three of them in 3 different parts. These are my results without ffdshow's filter enabled:
bar value
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
...
16 16
17 17
...
24 24
25 25
Perfect ramp, no banding at all.

And these are with ffdshow's levels filter enabled:
From 0-16: 0
17 1
18 2
19 3
...
24 8
25 10
Here is banding (24,25->8,10)

I think these results show that we're getting 0-255 uncompressed. If not, we wouldn't have a perfect ramp in the first case, as it would be compressed...
post #53 of 128
Quote:
Originally Posted by Andy o View Post

the problem with madVR for me is more practical. It doesn't allow for subs for bluray content cause the internal MPC sub renderer doesn't work with it. A good compromise would be to use ffdshow's post processing to convert to RGB in HQ with dither. madVR doesn't need ffdshow because it does similar things by itself.

Have you tried directvobsub? I'm having subtitles with that filter, although I only watch mkvs, not blu-rays.
I know madVR doesn't need ffdshow, it's me who needs it to recalibrate the 0-255 output to 16-245... that's until the new version of cr3dlut is released (which will allow to make that conversion at a 16 bit level without banding), of course.

Quote:
Originally Posted by somy View Post

Also one problem with MadVR for me: auto-refresh rate change doesn't work with MadVR. The only difference between MadVR and FFDshow post process is that MadVR uses 16 bits while FFDShow uses 10 or 8 bits, but I doubt if you can really see a difference during movie playback.

I don't use auto-refresh rate change. I have 3 profiles in CCC and activate the needed one for each video instead. But I understand that if you want to use it, it's a disadvantage for madVR.

Quote:
Originally Posted by somy View Post

Are you suggesting the colour output from MadVR is not accurate if dither is turned on? OMG! Then what about dither is FFDShow?
There is a chinese website which shows MadVR generate image that is very different from original image:
http://akiduki.org/html/ytag/madvr
more:
http://akiduki.org/html/y2009/644.html
In short, the author claims that MadVR added too much extra information to original video (this can be good or can be bad).

Of course dithering affects the image accuracy. It's noise at the end of day, so it MUST affect it. Check it with ffdshow dithering and you'll get the same (or poorer) results. Anyway, you can disable dithering in madVR if you don't like it...
post #54 of 128
Quote:
Originally Posted by cyberlolo View Post

Have you tried directvobsub? I'm having subtitles with that filter, although I only watch mkvs, not blu-rays.

Directvobsub doesn't do SUP subtitles. AFAIK right now the only sub renderer that works is the MPC one.
post #55 of 128
Thread Starter 
Quote:
Originally Posted by Andy o View Post

Directvobsub doesn't do SUP subtitles. AFAIK right now the only sub renderer that works is the MPC one.

MadVR works fine with subtitle for me, I use ffdshow to add subtitle before sending YV12 to MadVR.
post #56 of 128
Thread Starter 
Quote:
Originally Posted by cyberlolo View Post

Have you tried directvobsub? I'm having subtitles with that filter, although I only watch mkvs, not blu-rays.
I know madVR doesn't need ffdshow, it's me who needs it to recalibrate the 0-255 output to 16-245... that's until the new version of cr3dlut is released (which will allow to make that conversion at a 16 bit level without banding), of course.



I don't use auto-refresh rate change. I have 3 profiles in CCC and activate the needed one for each video instead. But I understand that if you want to use it, it's a disadvantage for madVR.



Of course dithering affects the image accuracy. It's noise at the end of day, so it MUST affect it. Check it with ffdshow dithering and you'll get the same (or poorer) results. Anyway, you can disable dithering in madVR if you don't like it...



Do you also notice that MadVR can sometimes cause audio out of sync? I have to delay the audio for 200ms to make it work
I really wish that Madshi can solve these issues, but it seems to me that he is not doing more development on this project anymore
post #57 of 128
Quote:
Originally Posted by cyberlolo View Post

I'm using madVR too, and I can pause the video correctly, with MPC-HC and KMPlayer. And the bars stop flashing when paused.

Strangely now they stop flashing for me too.

Quote:
Originally Posted by cyberlolo View Post

Also, it depends on which part of the bar you click the color picker at. In any given bar, some part gives you the same 3 RGB values, and in other part of the same bar, one or two of the colors can be different, so I'll better put the integer average of the three of them in 3 different parts.

The same for me. Previously I hadn't check multiple points in the same bar.

Quote:
Originally Posted by cyberlolo View Post

And these are with ffdshow's levels filter enabled:
From 0-16: 0
17 1
18 2
19 3
...
24 8
25 10
Here is banding (24,25->8,10)

Almost the same for me. The only difference beeing that banding appears for different values (23-24, ...).
post #58 of 128
Quote:
Originally Posted by somy View Post

Do you also notice that MadVR can sometimes cause audio out of sync? I have to delay the audio for 200ms to make it work

The same for me when I play mkv. I always need Audio switcher in the chain to correct it.
post #59 of 128
Quote:
Originally Posted by somy View Post

Do you also notice that MadVR can sometimes cause audio out of sync? I have to delay the audio for 200ms to make it work

I didn't notice this until now, but it's maybe because I'm using ReClock...

Quote:
Originally Posted by somy View Post

I really wish that Madshi can solve these issues, but it seems to me that he is not doing more development on this project anymore

Yes, I agree with you. He doesn't answer in his thread, and his last version is 2 months ago. Anyway, I'll keep the hope for some time more...

Going back to the 0-255 vs 16-235 output, and having done the Mike5's test, I think now it's clear that the HD4850 outputs HDMI at 0-255 with PF set to RGB Full Range, isn't it? (just to be sure and to keep this issue definately clear so you can continue your great guide)
post #60 of 128
Quote:
Originally Posted by somy View Post

MadVR works fine with subtitle for me, I use ffdshow to add subtitle before sending YV12 to MadVR.

SUP subtitles from blurays?
New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: Home Theater Computers
AVS › AVS Forum › Video Components › Home Theater Computers › How to calibrate your display and HTPC to get best picture quality