|
發表於 2008-7-16 00:55:59
|
顯示全部樓層
跟影片的色域也有關係就是...
DVD / SDTV 是 BT.601
HDTV / BD 的是 BT.709
如果是用 PS/3 當播放機的話, 這部分應該都是處理得蠻好的, 不會像 PC 上有這些奇怪的變數存在...
最近就被 Forceware driver 的內定 video parameter 設定變來變去整死了... 每改一個編號的版本, 在電視上看的影片的顏色, 就會覺得有點不太一樣, 在 XP 下使用 VMR9 / EVR 都有如此的感覺...
總之會有四個問題存在...
1. Video 影片壓縮時本身是用 BT.601 或是 BT.709 的色域...
2. Video decoder 輸出的 YV12 是 BT.601 或是 BT.709 的色域...
3. Video renderer 認為輸入的 YV12 是 BT.601 或是 BT.709 的色域...
4. Video rednerer 做 YV12 -> RGB (DVI) 時, 是不是設定成 0..255 ...
其中第一跟第二點在 CoreAVC 下, 應該可以從 MPEG header 讀出正確的設定, 如果沒有這種資訊, 通常就是以影片寬度 1024 點為界定範圍... nVidia 的 PureVideo MPEG-2 decoder + VMR9 也處理得還算正確...
第三點如果使用 Halli video renderer 的話, 它是用 video frame width 1024 點來判讀... 因為 windows video frame 內的 meta data, 似乎沒提供 BT.601 / BT.709 之類的色域資訊...
第四點的話, 目前我試過就只有 Halli video renderer 可以讓 DVI 輸出 BT.709 影片內容中比較完整的色域... 也就是 HDTV / BD 影片內呈現的色域.. 如果使用 VMR9/EVR, 都會覺得畫面的色彩比較淡...
Forceware 177.66 是可以調 video color range 是 16~235 或是 0~255, 試的結果是對 EVR 有幫助, 這樣就不會讓 EVR 輸出的全黑變成 R/G/B=16/16/16 的狀況 .. 然而使用 EVR 時, 同樣的 HD 影片, 色彩飽合度還是不如使用 Haali 的狀況... 而且那設定會讓 VMR9 變得超暗... beta 版本的 driver 老是這樣.. 做一些奇怪又沒大量測試的改變就偷放出來.. 反而造成了新的 bug ... |
|