瀏覽單個文章
wowtiger
Major Member
 

加入日期: Feb 2004
您的住址: 台灣
文章: 240
引用:
作者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
不過好像沒有任何效果
__________________
CPU:AMD K6-2 500
RAM:SDRAM PC100 128MB
HD:WD 20G
VGA:GeForce2 MX
...
舊 2006-05-27, 08:36 PM #36
回應時引用此文章
wowtiger離線中