引き続き高速化。
128bit-AVX, SSE4.1, SSSE3, SSE2 のそれぞれの段階で作ってみた。
使用出来る中でもっとも速いものが自動的に選択される。
ダウンロード>>バグがあり、公開停止中です。すみません。v3で修正しました。
こちら>>
今回はSSE4.1で結構速くなると思う…pblendw/pblendvbが嬉しい。
SIMD命令を探すには
Intel Intrinsic Guideが便利。
スポンサーサイト
さっそくBRSとギルクラのOPで比較し、SIMD化により若干の速度向上が見られました。
BRS OP(90s)
9.65→10.08
ギルクラ後期OP(90s)
8.96→9.28
当環境では、双方共に約300KBのファイルサイズの増大が見られました。
速くなったようで良かったです。
MT版と結果が異なる(ややサイズが増える)のは、フレームの縁にとる計算しない領域をMT版の(左,上,右,下)=(2,2,3,3)から(2,2,2,2)に変更し、適用範囲がわずかに広がったためだと思います。
私の方もこちらを早速使ってみました。
前回と同じ設定で、SIMD化前と比べて5fps程速度向上しました。(28fps→33fps)
Core i7 2700KなんでAVX命令を使えることが地味に効いてますね。
リサイズフィルタとNL-Means LightもSIMD命令はAVXのものを使っています。
今考えてみればrigayaさんが改良する前と比べて、約15fpsくらい早くなってるんですね。
ここまで早くなったら、擬似モスキートノイズリダクション(低周波成分保護フィルタ+スムージングフィルタSIMD)を追加しようか悩みますw
対応ありがとうございました。
不具合っぽいものを見つけましたのでご報告します。
赤色がぼかしたようになります。
具体的には、青色の背景に赤色の四角形を描いたものにフィルタをかけると、四角形の上下左右2ドットほど背景の青に赤色が少し混じったようになります。
前バージョンでは問題ありませんでした。
もし自分の環境の問題でしたらすみません。
上の方と同じ内容かもしれませんが、前のバージョンとv2では色と絵が変わってしまいました。
使われたのは恐らくSSE2です。
ちなみに前のバージョンとオリジナル版では同じ絵でした。
すみません、環境とフィルタの設定を書くのを忘れてました。
CPUはi7 860です。
フィルタの初期設定の状態から黒補正をかけると赤色が青色側に滲んで、白補正だと逆になるようです。
ご報告ありがとうございます。
おっしゃるとおり、おかしなことになっています。
原因を調べ、修正します。
バグがあったのですね。
昨日エンコしたものを確認しましたが、現象は見られませんでした。
rakkoさんが再現したものと似たようなソースを探してみて、同じく再現するか確認してみます。