2015年9月10日木曜日

PlanarTools

avisynth2.6/avisynth+用プラグインをまた書きました。

PlanarTools
PlanarTools-0.0.1.zip

RGBな素材に対してmasktools2とかのplanar format専用フィルタを使うときの補助用フィルタです。

内蔵フィルタを組み合わせても同じことは出来ますが、いちいち関数化したりするのもめんどいし、また内蔵でもShowAlphaとかMargeRGBとかはほぼ最適化なしな状態で遅いので、自分的には需要があります。

今回RGB24<->YV24をSSSE3なしでSIMD化する方法としてこれを使いました。
これを初めて見たときは目から鱗でしたね。
UtVideoの梅澤さんも「まったく同じ操作5回で完了というのは美しい」と言ってました。

うん、お美事にございまする。

追記:
テンプレート使って実行時分岐を減らしたら少し速くなりましたので0.0.1を上げました。
でもバイナリサイズも倍以上に膨れましたが…。

なお配布しているバイナリは/arch:SSE2でビルドされていますが、/arch:AVXにすればVEX-SSEが使われるのでもう少し速くなります。
興味のある人は自分でビルドしてみてください。

0 件のコメント:

コメントを投稿