引用:
作者vxr
我在測試HD Video播放的時候
轉到VMR-Renderless畫面真的是極度不順  ..
再我另一塊破破的r350就不大會有這種現象..
關掉反視訊以後..
在播放
畫面會被切半外加變黑白..
嚴重不正確...!!
|
HKEY_LOCAL_MACHINE\SOFTWARE\NVIDIA Corporation\Filters\vpp\EnableInv32Detection
把他改成0看看
另外nvidia有很嚴重的CCIR 601 rescaled BUG
無法完全正確的偵測到
而且driver用VMRCCSStatus這個設定不但無效
而且效能趨近當機...
所以呢
用MPC 6.4.9.0的VMR9 Renderless+VMR9 Mixer Mode+lock buffer before presetting之後開Shader
----------------------------------------------------------
sampler s0 : register(s0);
//BT.601
#define Kb 0.114
#define Kr 0.299
//BT.709
#define Kb7 0.0722
#define Kr7 0.2126
float4 main(float2 tex : TEXCOORD0) : COLOR
{
float Y = dot(tex2D(s0, tex), float4(Kr ,1-Kr-Kb ,Kb ,0));
float Pb = (dot(tex2D(s0, tex), float4(0,0,1,0))-Y)*0.5/(1-Kb);
float Pr = (dot(tex2D(s0, tex), float4(1,0,0,0))-Y)*0.5/(1-Kr);
// Y range is 16 ~ 235, PbPr range is -112 ~ 112
float X = 1/15.9375;
Y = Y-X;
Y = Y * 255/219;
if(Y <= 0) Y = 0;
if(Y >= 1) Y = 1;
Pb = Pb * 128/112;
Pr = Pr * 128/112;
float R = Y+2*Pr*(1-Kr);;
float G = Y - (2*Kb*(1-Kb)/(1-Kb-Kr)) * Pb
- (2*Kr*(1-Kr)/(1-Kb-Kr)) * Pr;
float B = Y+2*Pb*(1-Kb);
return float4(R,G,B,0);
}
------------------------
即可
另外之前說得driver有PureVideoPropPage
已經被取取消了
有興趣的可以用ResHacker之類的看他的資源檔
有那兩項之外
還有Motion DeBlock
以及Advanced IDCT
不過好像沒有任何效果