完美解码论坛发布&交流HDR的一些bug
    
 
HDR的一些bug
发起人:colin  回复数:2  浏览数:2007  最后更新:2022/12/11 20:41:15 by edaiif

选择查看 搜索更多相关主题  帖子排序:
2022/5/30 10:58:58
colin





角  色:注册用户
发 帖 数:1
经 验 值:2
注册时间:2022/5/29
HDR的一些bug
1.madVR播放HDR视频时出现UI会偏色(目测是转换成SDR播放了),全屏后黑屏一下才正常,madVR里设置启用禁用FSE都一样
2.使用mpcvr播放hdr视频时,使用xy-Vsfilter会使hdr不生效(显示器没启用hdr,视频偏色),用自带的字幕又有点糊


以上两种情况无论使用pot还是be都一样的


另外问一下以后考虑加入mpv吗。我自己使用mpv问题较少,但是不会自动向显示器发送hdr信息,无法自动启用关闭hdr,得再设置里手动启用

2022/6/13 19:57:58
小樱





角  色:注册用户
发 帖 数:15
经 验 值:22
注册时间:2017/2/9
直接用mpcbe+lav,自带hdr to sdr功能,无需另外设置什么madvr,使用mpcbe播放4K蓝光高清效果是最好的
2022/12/11 20:41:15
edaiif





角  色:注册用户
发 帖 数:1
经 验 值:1
注册时间:2022/12/11
特地注册了回下这个问题。。。

自行根据屏幕调整



http://lysandria1985.blogspot.com/2013/01/3-madvr.html




[size=13.2px]到 HDR 這頁


[size=13.2px]如果你沒有觀看 HDR (High Dynamic Range) 影片的需求的話這邊設定可以不用去管它,

它對於 SDR (Standard Dynamic Range) 的影片是沒有任何影響的

[size=13.2px],而我們目前觀看的絕大多數影片都是 SDR 的

[size=13.2px],目前只有一些非常新的 4K 影片會採用 HDR 這項技術,HDR 影片通常會是 BT.2020 色域、10bit 色深。以下簡略解釋各選項








  • "let madVR decide",全部交給 madVR 自行判斷,如果螢幕支援 HDR 的話,madVR 會送 HDR 影片和 metadata 的訊號給螢幕 (同第二項 "passthrough HDR content to the display");如果螢幕不支援 HDR 的話,madVR 會使用 pixel shader math 把 HDR 影片轉成 SDR 訊號送出 (同第三項 "convert HDR content to SDR by using pixel shader math",但效果等同第三項未勾選 "restore details in compressed highlights",轉換後細節損失比較多,故螢幕不支援 HDR 的話我建議直接選擇第三項)。
  • "passthrough HDR content to the display",將 HDR 內容和 metadada 不經處理直接送給螢幕,

    須注意選擇此選項螢幕必須完整支援 HDR 內容播放,螢幕不支援 HDR 這選項就沒有任何意義

    。madVR 在 v0.91.11 之後版本才能完整使用這個選項的功能,支援兩種 API 將影片的 metadata 傳送給電視去辨識。一種是 NV 或 AMD 卡專用的 HDR API,必須搭配新的驅動,好處是 win7、win8.1、win10 皆可使用;另一種是 win10 內建的 D3D11/DXGI APIs.,這個每家顯卡都可用,但只有 win10 下能用,播放時必須使用 D3D11 模式。("calibration" 設定裡有 3DLUT 檔的話會繞過)
  • "convert HDR content to SDR by using pixel shader math",選擇此選項會將 HDR 之內容妥善轉換成 SDR 內容後輸出給一般 SDR 螢幕使用 ("calibration" 設定裡有 3DLUT 檔的話則會接在後面套用),如果螢幕不支援 HDR 的話我建議選擇此項。

  • "convert HDR content to SDR by using an external 3DLUT",選擇此選項則須利用校色器跟軟體建立 HDR→SDR 轉換的 3DLUT 給它使用,轉換後輸出 SDR 內容給螢幕 ("calibration" 設定裡有 3DLUT 檔的話會繞過)
  • "process HDR content by using pixel shader math",輸出 HDR 內容給螢幕,選擇此選項螢幕也必須支援 HDR 播放

    ,但是是由 madVR 來處理色域跟亮度的轉換,例如電視支援 HDR,但是色域是 DCI-P3 的 case ("passthrough HDR content to the display" 那項則是由電視本身處理色域跟亮度的轉換),有時候電視本身沒辦法很好的處理 HDR 內容的色域跟亮度轉換時就適合選擇此項。("calibration" 設定裡有 3DLUT 檔的話會繞過)
  • "process HDR content by using an external 3DLUT",選擇此選項則須利用校色器跟軟體建立 HDR→螢幕色域轉換的 3DLUT 給它使用,選擇此選項螢幕也必須支援 HDR 播放

    。("calibration" 設定裡有 3DLUT 檔的話會繞過)

[size=13.2px]以下以第三項 "convert HDR content to SDR by using pixel shader math" 為例說明下方之子選項:



[size=13.2px]"target peak nits"


[size=13.2px]可設定範圍是 120~10000,HDR 影片使用的亮度範圍是 0~10000 nits,它必須有一個支援 HDR 的顯示器才能正常顯示 (當然還有顯卡也要支援),而一般 SDR 的顯示器最大亮度大概在 80~300 nits (例如我的電漿電視校色後最大亮度設定在 120nits),在 SDR 顯示器上播放 HDR 影片是沒辦法顯示正確亮度的,需要經過色調映射 (tone mapping),這個選項就是讓你設定 HDR 影片轉換後的亮度,讓 HDR 影片可以在 SDR 螢幕上正確顯示,不過並不是螢幕亮度設多少這選項就一定要設多少,還必須實際播放測試後去找出最適合的選項。這邊設置的數值越低,亮度中間值會拉越高 (整體畫面越亮),數值越高,亮度中間值拉越少 (整體畫面越暗)。像我的電視亮度實際大約 120nits,但是這一選項我設定在 200nits 看起來效果比較好。



[size=13.2px]"tone maping curve"


[size=13.2px]設定色調映射用的曲線,建議選擇預設的 BT.2390。



[size=13.2px]"gamut mapping algorithm"


[size=13.2px]影片裡大於螢幕色域的畫素,如果什麼都不做的話,色彩座標超出的部分會被剪除 (例如一個畫素 RGB 為 50,320,40,螢幕 255,255,255,則該畫素顯示時會變成 50,255,40),會造成 hue (色相) 跟原本的產生差異,顏色會偏移,因此較好的做法是透過降低亮度或降低飽和,等比例去分配 RGB 值,以求在螢幕色域能顯示的範圍內儘量讓 hue 保持不變。此項是選擇色域轉換所使用的演算法,不同的演算法設定會造成轉換後的顏色呈現有些微的差異,有興趣的話可慢慢測試不同設定,不然建議先維持預設選項即可。



[size=13.2px]"fix too bright & saturated pixels by:"


[size=13.2px]luminance reduction (降亮度)、saturation (降飽和),要用哪個則是個難題,有些 HDR 片源適合降亮度,有些適合降飽和,這邊建議維持預設 "dynamic luminance & saturation reduction",讓 madVR 自行判斷並做動態調整。



[size=13.2px]"measure each frame's peak luminance"


[size=13.2px]勾選這項會讓 madVR 自己計算每一幀的巔峰亮度值,雖然這項資訊 HDR metadata 裡面有但未必是準確的,因為只有單一數值,而每個幀的亮度是一直變化的,實時測量才能讓 madVR 達成更精確的亮度轉換 (tone mapping)



[size=13.2px]"restore details in compressed highlights"


[size=13.2px]在壓縮高亮度區域的數值時,因為數值會非常接近,可能導致該區域的細節遺失,勾選此選項的話,會在需要時透過銳化的方式讓細節比較容易保留下來



[size=13.2px]"activate anti-bloating filter"


[size=13.2px]AB 濾鏡,因為上面有用到銳化故建議勾選



[size=13.2px]"activate anti-ringing filter"


[size=13.2px] AR 濾鏡,因為上面有用到銳化故建議勾選





[size=13.2px]此外,關於 HDR metadata 輸出通道,做一些補充說明:



[size=13.2px]1.Windows 10 Creator's Update 底下的螢幕設定裡面有個選項叫 "HDR and advanced color"(不太確定中文版翻成什麼),關掉的話螢幕永遠跑 SDR 模式,開了的話有 HDR 的螢幕永遠跑 HDR 模式,Windows 目前無法根據使用者是否跑 HDR 影片或 HDR 遊戲而自動把螢幕在 SDR 或 HDR 模式之間切換。



[size=13.2px]2. 關掉 "HDR and Advanced Color" 這選項的話 PC 永遠會送 SDR 內容給螢幕 (使用 A 或 N 卡自身的 HDR API 時例外,見第 4. 項),這時候如果用 madVR 播放 HDR 影片並選擇第一項 "passthrough HDR content to the display",如果是 Intel 內顯,OS/GPU 會自己做一個品質比較低的 HDR -> SDR 轉換,這時候 HDR 影片看起來還是 OK 的,但品質差強人意。SDR 影片則不受影響,仍然是完美的。



[size=13.2px]3. 打開 "HDR and Advanced Color" 這選項的話 PC 永遠會送 HDR 內容給螢幕 (使用 win10 內建的 API),這時候 madVR 選擇 "passthrough HDR content to the display" 的話,播放 HDR 影片時是完美的,但播放 SDR 影片時,OS/GPU 會自己做 SDR -> HDR 轉換,這時候 SDR 影片看起來還是 OK 的,但品質稱不上完美。非影片的部分,像桌面跟網頁那些,也可能造成顏色異常。



[size=13.2px]4.Nvidia 和 AMD 自己的 HDR API 解決了上面提到的無法自動切換 HDR 跟 SDR 的問題

[size=13.2px],N 卡和 A 卡使用者只要把 win10 的 "HDR and Advanced Color" 這選項關掉,madVR 就自動會使用顯卡自己的 HDR API,如此一來就可以自動切換螢幕的 SDR 和 HDR 模式

[size=13.2px],讓 SDR 和 HDR 影片都可以的到最完美的播放效果。



[size=13.2px]5.N 卡驅動建議更新到 390.65 之後版本,太舊的會不支援顯卡自身的 HDR API 或是有 bug。



[size=13.2px]6.AMD 的 HDR API 限制較多,只能在 10bit D3D11 輸出模式下使用,而且必須在全螢幕下才能使用,N 卡的 HDR API 則無此限制。



[size=13.2px]7.


除非 A 卡或 N 卡的 HDR API 無法正常運作,不然非常不建議去開 win10 自身的 HDR 選項。




  • 联系我们 - diodiy.top - 论坛存档 - 返回顶部
    Powered by BBSXP 2008 SP2 ACCESS © 1998-2024 Yuzi.Net
  • Processed in 0.08 second(s)
    Server Time 2024/12/5 10:13:58