4Kを体験してしまうと、BD画質でも16″ Intel MBP (3,072 x 1,920)上でフルスクリーンにするとぼやけ感が気になってしまう。普段使っているIINAは内部的にはmpvである。mpvはシェーダーを設定することでアップスケーリング品質を改善できると知り、やってみた。
事前にIINAの設定
ビデオ/オーディオ
「専用GPUの使用を強制する」:シェーダーによっては重いのでオン。
キーの割り当て
適当にデフォルト設定を複製し、設定ファイルを作っておく。
詳細設定
「ログを残す」:オンにしておくとターミナルでmpvを実行したとき見られるようなログを確認できる。ファイルは~/Library/Logs/com.colliderli.iinaに作られる。
「次の設定ディレクトリを使用」:オンにする。ここでは「~/.config/mpv/」(デフォルト)。
mpv.conf
~/.config/mpv/に「mpv.conf」を作成し、設定を書き込む。ここでは以下のようにした。
#vo=gpu # IINAではvo=libmpvで上書きされる
profile=gpu-hq
scale=ewa_lanczossharp
cscale=ewa_lanczossharp
カスタムシェーダーファイルのダウンロード
以下のリンクの「User Shaders」の中から目ぼしいものをダウンロードして「~/.config/mpv/shaders」に置いておく。
https://github.com/mpv-player/mpv/wiki/User-Scripts#user-shaders
ここではravu-lite-r3、FSRCNNX_x2_8、FidelityFX FSR、SSimSuperResを試した(アニメは見ない)。
GitHubからcurlでダウンロードする場合、-Lオプションを付けないと0バイトのファイルができてしまうので注意。
input.conf(IINA用)
気に入ったシェーダーはmpv.confに設定するが、試す際は再生中に切り替えられると便利なのでキーバインドを設定する。
~/Library/Application Support/com.colliderli.iina/input_conf/にある.confファイルに以下を追記する。
Ctrl+2 no-osd change-list glsl-shaders set "~~/shaders/ravu-lite-r3.hook"; show-text "ravu-lite-r3"
Ctrl+4 no-osd change-list glsl-shaders set "~~/shaders/FSRCNNX_x2_8-0-4-1.glsl"; show-text "FSRCNNX_x2_8-0-4-1"
Ctrl+6 no-osd change-list glsl-shaders set "~~/shaders/FSR.glsl"; show-text "FSR"
Ctrl+9 no-osd change-list glsl-shaders set "~~/shaders/SSimSuperRes.glsl"; show-text "SSimSuperRes"
Ctrl+0 no-osd change-list glsl-shaders clr ""; show-text "GLSL shaders cleared"
最初、効かないシェーダーがあって難儀したが、テスト画像に.pngファイルを使っていたせいだった。おそらく、シェーダーによっては主にlumaに対して作用するため、RGB画像には効かなかったと思われる。
デフォルトシェーダーの設定
気に入ったシェーダーがあったら以下のようにmpv.confに追記する。
glsl-shader="~~/shaders/FSR.glsl"
ここでは、エッジが滑らかなFidelityFX FSRを選んだ。シャープ感はほかに譲るものの細線がちゃんと細く表示されるFSRCNNX_x2_8も良かった。
結果
(あとで画像貼るかも。)
期待したほど改善しなかったがチューニングは楽しい。