2018年10月1日月曜日

AMD Fluid motionを活用する ~地デジも対応~ その2

前回悩んでた逆テレシネ時の分岐について、解決策を見つけたのでまとめる。


ffdshowのavisynthの欄に、以下を記述

clip = ffdshow_source()
fps = clip.framerate
if ( fps >= 24) {
IT(fps = 24, ref = "TOP", blend = false, diMode = 0)
}

24pの動画に対して、ITのfps=24を指定すると逆テレシネがかかって19fpsになってしまうので条件分岐させた。
ただこの場合でも問題なのが、アニメ・映画など元動画が24pの動画がテレシネされて30iになっている場合と、もともと60p/60iの番組が30iになっている場合の分岐ができない。
まあこれはどうしようもない(と思う)ので諦める。
コンテナで分けるぐらいしかないけどやり方が分からん…

また、ffdshowのavisynthによるインターレース解除はテロップのインタレ解除が下手みたいなので、ffdshowのインタレもリニア補間またはキュービック補間にしておくときれいになる。

ついでに、再生ソフトも新しくPotplayerを使ってみた。
Bluesky FRCのダウンロード場所に導入方法が書いてあるのでそれに従った。
MPC-BCよりも高機能でUIもしっかりしていて使いやすいと感じた。
また、UDPについてもMPC-BCのように何故か再生できないということもなく、無事動作した。
MPC-BEは内蔵のLAVデコーダーがあまり高機能ではないが(画質とパフォーマンスは良い)、Potplayerはffdshow不要でavisynthやVapoursynthなどが使えるのがポイント。

Potplayerを利用して上記のavisynthを利用する場合は

clip = potplayer_source()
fps = clip.framerate
if ( fps >= 24) {
IT(fps = 24, ref = "TOP", blend = false, diMode = 0)
}

となる。

ただ、複数の映像ストリームを同時に再生することはできないのはMPC系と共通で、そこだけはVLCに軍配が上がる。

0 件のコメント:

コメントを投稿