ぬるぬる。 (mpc-hcでAMD Fluid Motion (流体モーション))
最近のCatalystの更新で、面白そうなものにFluid Motion(流体モーション)というのがあった。
4.gamers - その名は「Catalyst Omega」。AMD,Catalystの大規模アップデートを発表
大雑把に言うと、かくかくしがちな24p再生をいい感じに60pに変換してぬるぬる表示させてくれるものらしい。これまでは自由に使えなかったらしいのだけど、今回のドライバアップデートでDXVA向けに解禁されたようだ。これを受けて、さっそくDXVA用のフィルタを作ってくださった方がいらっしゃるようなので、ありがたく使わせていただいた。
mpc-hcと組み合わせて使ってみるとちゃんと動作し、結構ぬるぬる~。
使用中のGPU負荷は、ずっと高いわけではなく、高くなったり低くなったりを繰り返していた(下のキャプチャ)。
詳しい準備の方法などは続きに。
環境
Win 8.1 Pro
A10-7850K 2M/4T @ 4396MHz (104.7 x 42, 1.472V)
AMD iGPU Radeon R7 @ 998MHz
DDR3-2496, 2ch, 8GB
Catalyst 14.12 (Omega)
CPU-Z
GPU-Z
Catalyst 14.12 (Omega)
ちなみに、ビデオの「品質」のところに流体モーションと出るらしいのだが、そんなのはどこにもない。(なくても設定すればきちんと動作する)
この辺りに出る、といううわさだが? (↑)
設定
まず、以下のものを準備する
mpc-hc (今回は1.7.7.157)
DXVAChecker
BlueskyFRC 0.0.3
1. DXVA CheckerでFluid Motionを有効にする。
1.1 DXVA Checkerを起動する。
右下の「🔺」をクリックし、「ビデオアクセラレーション設定...」をクリック。
1.2 画面左下の「全ての設定を表示」をクリック。
1.3 「CmMode_FrameRateConv」「CmSupp_FrameRateConv」にチェックを入れる。
CmMode_FrameRateConv
CmSupp_FrameRateConv
1.4 「OK」をクリックし、画面を閉じ、DXVA Checkerを終了。これでFluid Motionの有効化は完了。
2. mpc-hcをFluid Motionを使用するよう設定。
2.1 mpc-hcの「表示」 > 「オプション...」 をクリックして、「外部フィルタ」メニューを開き(↓)、画面右上の「フィルタを追加」をクリック。
2.2 「フィルタを選択」の画面左下の「参照...」をクリック。
2.3 先ほどダウンロードしたBlueskyFRCを適当な場所に展開し、中のファイルを指定する。
mpc-hc (x86)ならBlueskyFRC32.dll、mpc-hc (x64)ならBlueskyFRC64.dll。
2.4 「外部フィルタ」メニューに追加されるので、「OK」をクリック。
これでmpc-hcでFluid Motionを使えるようになる。
3. Fluid Motionが使われているか確認。
3.1 mp-hcで適当な動画を再生。
H.265/HEVC Main10 (10bit) 1920x1080 @ 23.976fps (in mp4) をダブルクリックして再生した時の例。
Aviutl + afs(24fps化) + x265guiEx + x265(10bit)で出力したもの。
まず、こんなのが表示される。
「24pコンテンツを検出しました。」
次に、こんなのが表示される。
「24p->60p変換に対応しています。」
上の2つがさらにもう一度づつ表示され再生が始まる。
再生中に画面を右クリックしても使われていることが確認できた。
Blue Sky Frame Rate Converterがフィルタのなかに表示されている。(↑)
というわけで、HEVC 10bitみたいなものでも、とにかくmp-hcが再生できる24pの動画なら、なんでもぬるぬるにできるみたい。
このぬるぬるフィルタのぬるぬる度はかなりのもので、なかなかおもしろい。
ただ、やはりいつも綺麗にぬるぬるにしてくれるわけではなく、補間に失敗したような映像が表示されることもある。
また、仕方ないことだとは思うが、このぬるぬるフィルタはNV12(YUV420 8bit)のみの対応なので、たとえ10bitでエンコードしてある動画でも、一度YUV420 8bitまで落ちることになる。
YUV420 10bit → YUV420 8bit → Fluid Motion → YUV420 8bit → RGB 8bit → HDMI
(Fluid MotionはYUV 420 8bitのみの対応)
やはりmadVRのようにYUV420 10bitから直接RGB 8bitに変換したほうがよい画質になるので、そこはちょっと残念。
YUV420 10bit → RGB 8bit → HDMI
(このほうが当然綺麗 (madVRなど))
ついでにいうと、mpc-hcでレンダラをmadVRにしたままにすると、かなり調子が悪い(真っ黒になったり、謎の線が出たり)するので、普通のEVRなどを使ったほうがいいみたい。
以前は使用環境が限られていて使いにくかった機能だけど、AMDがDXVAで使えるようにしてくれ、またBluesky様がフィルタを公開してくださったおかげで汎用的に使えるようになった。うえに書いたみたく弱点はあるものの、DXVAで無事に使えるようになって非常によかったと思う。(Bluesky様に感謝)
Fluid MotionはAPUだけでなく、最近(よくわからんけどKaveri以降(?))のAMDのGPUなら対応しているらしいので、AMDのCPUがエンコに向いてない (SIMDが貧弱すぎる) ことも考えると、試す場合はAMDのGPUを買ってくるほうが良いかもしれない。
…でもまあとりあえず、普段はFluid MotionよりはmadVRかなあ…。10bitだし…。(あれ?)
4.gamers - その名は「Catalyst Omega」。AMD,Catalystの大規模アップデートを発表
大雑把に言うと、かくかくしがちな24p再生をいい感じに60pに変換してぬるぬる表示させてくれるものらしい。これまでは自由に使えなかったらしいのだけど、今回のドライバアップデートでDXVA向けに解禁されたようだ。これを受けて、さっそくDXVA用のフィルタを作ってくださった方がいらっしゃるようなので、ありがたく使わせていただいた。
mpc-hcと組み合わせて使ってみるとちゃんと動作し、結構ぬるぬる~。
使用中のGPU負荷は、ずっと高いわけではなく、高くなったり低くなったりを繰り返していた(下のキャプチャ)。
詳しい準備の方法などは続きに。
環境
Win 8.1 Pro
A10-7850K 2M/4T @ 4396MHz (104.7 x 42, 1.472V)
AMD iGPU Radeon R7 @ 998MHz
DDR3-2496, 2ch, 8GB
Catalyst 14.12 (Omega)
CPU-Z
GPU-Z
Catalyst 14.12 (Omega)
ちなみに、ビデオの「品質」のところに流体モーションと出るらしいのだが、そんなのはどこにもない。(なくても設定すればきちんと動作する)
この辺りに出る、といううわさだが? (↑)
設定
まず、以下のものを準備する
mpc-hc (今回は1.7.7.157)
DXVAChecker
BlueskyFRC 0.0.3
1. DXVA CheckerでFluid Motionを有効にする。
1.1 DXVA Checkerを起動する。
右下の「🔺」をクリックし、「ビデオアクセラレーション設定...」をクリック。
1.2 画面左下の「全ての設定を表示」をクリック。
1.3 「CmMode_FrameRateConv」「CmSupp_FrameRateConv」にチェックを入れる。
CmMode_FrameRateConv
CmSupp_FrameRateConv
1.4 「OK」をクリックし、画面を閉じ、DXVA Checkerを終了。これでFluid Motionの有効化は完了。
2. mpc-hcをFluid Motionを使用するよう設定。
2.1 mpc-hcの「表示」 > 「オプション...」 をクリックして、「外部フィルタ」メニューを開き(↓)、画面右上の「フィルタを追加」をクリック。
2.2 「フィルタを選択」の画面左下の「参照...」をクリック。
2.3 先ほどダウンロードしたBlueskyFRCを適当な場所に展開し、中のファイルを指定する。
mpc-hc (x86)ならBlueskyFRC32.dll、mpc-hc (x64)ならBlueskyFRC64.dll。
2.4 「外部フィルタ」メニューに追加されるので、「OK」をクリック。
これでmpc-hcでFluid Motionを使えるようになる。
3. Fluid Motionが使われているか確認。
3.1 mp-hcで適当な動画を再生。
H.265/HEVC Main10 (10bit) 1920x1080 @ 23.976fps (in mp4) をダブルクリックして再生した時の例。
Aviutl + afs(24fps化) + x265guiEx + x265(10bit)で出力したもの。
まず、こんなのが表示される。
「24pコンテンツを検出しました。」
次に、こんなのが表示される。
「24p->60p変換に対応しています。」
上の2つがさらにもう一度づつ表示され再生が始まる。
再生中に画面を右クリックしても使われていることが確認できた。
Blue Sky Frame Rate Converterがフィルタのなかに表示されている。(↑)
というわけで、HEVC 10bitみたいなものでも、とにかくmp-hcが再生できる24pの動画なら、なんでもぬるぬるにできるみたい。
このぬるぬるフィルタのぬるぬる度はかなりのもので、なかなかおもしろい。
ただ、やはりいつも綺麗にぬるぬるにしてくれるわけではなく、補間に失敗したような映像が表示されることもある。
また、仕方ないことだとは思うが、このぬるぬるフィルタはNV12(YUV420 8bit)のみの対応なので、たとえ10bitでエンコードしてある動画でも、一度YUV420 8bitまで落ちることになる。
YUV420 10bit → YUV420 8bit → Fluid Motion → YUV420 8bit → RGB 8bit → HDMI
(Fluid MotionはYUV 420 8bitのみの対応)
やはりmadVRのようにYUV420 10bitから直接RGB 8bitに変換したほうがよい画質になるので、そこはちょっと残念。
YUV420 10bit → RGB 8bit → HDMI
(このほうが当然綺麗 (madVRなど))
ついでにいうと、mpc-hcでレンダラをmadVRにしたままにすると、かなり調子が悪い(真っ黒になったり、謎の線が出たり)するので、普通のEVRなどを使ったほうがいいみたい。
以前は使用環境が限られていて使いにくかった機能だけど、AMDがDXVAで使えるようにしてくれ、またBluesky様がフィルタを公開してくださったおかげで汎用的に使えるようになった。うえに書いたみたく弱点はあるものの、DXVAで無事に使えるようになって非常によかったと思う。(Bluesky様に感謝)
Fluid MotionはAPUだけでなく、最近(よくわからんけどKaveri以降(?))のAMDのGPUなら対応しているらしいので、AMDのCPUがエンコに向いてない (SIMDが貧弱すぎる) ことも考えると、試す場合はAMDのGPUを買ってくるほうが良いかもしれない。
…でもまあとりあえず、普段はFluid MotionよりはmadVRかなあ…。10bitだし…。(あれ?)