無殼小蝸 發表於 2010-12-2 03:12:43

請教 potplayer 硬解的色偏問題

本文章最後由 無殼小蝸 於 2010-12-2 03:19 編輯

在用Potplayer看BDMV 發現CPU軟解不夠力
就把硬解打開 卻發現 顏色變亮了 但膚色卻怪怪的
有些 畫面的細節被吃掉的感覺

使用環境CPU:AMD Athlon 64 X2 5200+ (OC 3.02G)
RAM:DDR2 2G*2
VGA:ATI 4850

經過一些爬文後 也大概知道要怎麼 設定自己的撥放器
但外掛解碼器 總覺得 不夠方便 只求畫面正確就好
卻發現了 potplayer在硬解下 色彩原本軟解 只有16-235 被放大成 0-255 而膚色也產生了色偏

potplayer 的設定

視訊輸出:EVR
色彩空間:RGB32
YCbCr<->RGB規則:ITU-R BT.709
YCbCr處理區域:Y 0-255 CbCr 1-255
YCbCr<->RGB 轉換:RGB 0-255

接下來的截圖都是用這樣的設定 硬解 也把 ATI CCC 有關 畫面的修正 都關閉了
(影像預設 標準 / 色振 膚色更正 關閉 / 自動非交錯 下拉偵測 關閉 / 邊緣增強 消除噪音 動態對比 關閉 / 強制流暢影像撥放 關閉 )

圖是用 Print Screen 截取 再用小畫家存檔 避免軟體的截圖設定影響

把色彩輸出的範圍變大
RGB23 軟解
圖1


硬解
圖2


膚色 的差異

RGB23 軟解
圖3


硬解
圖4

可以發現 膚色 跟背景的顏色完全不對了 顏色變黃

RGB23 軟解 (YCbCr處理區域 16-235 / YCbCr<->RGB 轉換:RGB 0-255)
圖5

顏色 就變的跟 硬解的很像 偏黃 感覺是 拿220色硬擴充到256色 亮部過量 暗部應該會細節消失吧

RGB23 軟解 (YCbCr處理區域 16-235 / YCbCr<->RGB 轉換:RGB 16-235)
圖6

顏色就變得正常了 但色彩的飽和度就沒有原本來的飽滿 頭髮的顏色變得較淡 (原本 YCbCr處理區域 / YCbCr<->RGB 轉換:RGB 0-255)
但用軟體看 最後螢幕顯示出來色彩 超過 235這個值

RGB23 軟解 (YCbCr處理區域 0-255 / YCbCr<->RGB 轉換:RGB 16-235)
圖7

這個 最後輸出的範圍就真的在 235以內了

最後發現
YUY2 軟解
圖8
顏色跟硬解的一模一樣 RGB32的還是有一點差異(就算變黃) 但這個是幾乎一模一樣

RGB32 可以處理的顏色不是 32bit嗎?
YUY2 只有16bit
之前有人說 YUY2的顏色比較 討喜 鮮豔 那感覺應該是 經過電腦用補的補出來的顏色吧(小弟知識尚淺 有錯誤 請務必指導)

小弟大略知道 YCbCr 跟 RGB 之間有一個換算的方法
所以 在YCbCr處理的過程 只處理 16-235 那怎麼轉換 RGB 應該都不會有正確的顏色吧(來源有0-255)

YCbCr處理範圍:是指訊號的來源
YCbCr<->RGB:是指換算的方法吧

所以來源是 16-235 運算的方法用 0-255 那就把顏色算錯了吧 (過亮? 圖4)
但來源同樣 16-235 運算用正確的 16-235 那應該就可以顯示正確的顏色 (但如果來源有0-255哪只擷取16-235的訊號 在最後的色彩表現應該會比原本差吧 圖6)

那來源是 0-255 運算用 0-255 這樣就是最正確的顏色吧 (正常軟解)
同樣的把 0-255 運算用 16-235 也會造成算錯 (太暗? 圖7)

但我完全不能理解 為什麼 硬解 會造成如同 "來源16-235運算用0-255" 相同的色偏
而且 RGB32 所呈現的色彩比 YUY2多 就算算錯 細節仍然 比YUY2的多

硬解 出來卻把細節抹的 跟 YUY2一樣
而且 YUY2 不論 來源的範圍 跟 運算的方法 怎麼調 出來的顏色都是一樣的 (來源16-235 運算0-255 的色偏)

sean666 發表於 2010-12-2 04:35:13

本文章最後由 sean666 於 2010-12-2 04:38 編輯

所以它有一個選項可選-自動偵測,以免使用者設定錯誤,設定錯誤會發生的情況您已經都說了。

而且每張顯卡DXVA時能支持的色域也不盡完全相同。

無殼小蝸 發表於 2010-12-3 03:24:22

我的問題在於 硬解不是應該就只是 利用 GPU做解碼
那為什麼 最後造成這種結果 完全的色偏

後面幾個 測試只是我想要了解 硬解 解出來的畫面 問題的癥結所在
景過實驗的比對 結果是 跟使用YUY2 這個色彩空間 的結果一樣
而色偏的程度 與 來源16-235卻硬算成 0-255 的結果一樣

但我的來源是 0-255 我希望能夠不要色偏
解出來的 是一個正確的畫面

不知道 要怎麼樣子做調整
是哪邊的設定出問題 讓 硬解 的色彩判斷錯誤

GPU應該就只是做運算 每張顯卡所支持的色域不一樣
這是挺奇怪的 能不能解釋得清楚一點 謝謝

感覺跟 DXVA code 比較有關系

sfc204 發表於 2011-2-28 03:07:47

我的問題在於 硬解不是應該就只是 利用 GPU做解碼
那為什麼 最後造成這種結果 完全的色偏

後面幾個 測試只是我想要了解 硬解 解出來的畫面 問題的癥結所在
景過實驗的比對 結果是 跟使用YUY2 這個色彩空間 的結果一 ...
無殼小蝸 發表於 2010-12-3 03:24 http://www.hd.club.tw/images/common/back.gif

說不定跟我遇到的問題一樣喔~
就是覺得影像很像灰灰暗暗的少了一點什麼
經過困擾多時,我終於抓到是哪裡的問題了
我們的卡同一張~XD
在ATI新的CCC2裡面
使用標準檢視
影像=>影像顏色=>進階影像顏色,把"色振"、"膚色更正"取消應該就可以了

dragoncat852 發表於 2011-8-11 19:52:56

說不定跟我遇到的問題一樣喔~
就是覺得影像很像灰灰暗暗的少了一點什麼
經過困擾多時,我終於抓到是哪 ...
sfc204 發表於 2011-2-28 03:07 http://www.hd.club.tw/images/common/back.gif

感謝大大
一直困擾我的人物膚色嘴唇偏色問題終於解決
可以安心享受potplayer硬解 :x

Yeh 發表於 2011-8-13 00:29:42

感謝大大
一直困擾我的人物膚色嘴唇偏色問題終於解決
可以安心享受potplayer硬解...
dragoncat852 發表於 2011-8-11 19:52 http://www.hd.club.tw/images/common/back.gif

哈哈哈! 原來如此! 我也解決了! 老婆這陣子一直怪用potplayer看人物嘴唇都說一個樣.., 這才想起來剛好是換ATI顯卡之後的事!
感謝!!
頁: [1]
查看完整版本: 請教 potplayer 硬解的色偏問題