「JPEG3点セット」を ver0.1.2、「カスタムフィルター3x3」を ver0.2.0 にそれぞれ更新しました。

 AviUtl プラグイン フィルタ by うえぽん

◆「JPEG3点セット」の更新について
 JPEGのYCbCrとAviUtlのYC48の相互変換の計算を微調整しました。
 これにより同じ保存設定で
 保存→入力→保存→入力→保存→入力→保存→……
 と繰り返したときに次第に劣化していくようなことが無くなり、3回も繰り返せばそれ以降のファイル内容が一致するようになりました。
 要するに“場合によっては”劣化なしで編集できます。

◆「カスタムフィルター3x3」の更新について
 使っている人がいないかもしれないフィルタですが、SSE2で速くしてみました。
 前バージョンよりも約10倍速いです。というか前バージョンが除算命令を使っているためにかなり遅かったりしました。
 SSE2では、単精度浮動少数に変換→逆数を乗算→整数に変換、という方法で計算しています。ゆえに前バージョンと比べると極々微妙に結果が異なります。

 それとSSE2未使用時も除算命令を廃して高速化しています。下のサイトの方法を使わせていただきました。
 ・整数除算の高速化
 上ではアセンブラで書かれていますが、無理やりC言語で再現してます。それと符号あり整数に対応ということもやってます。

【よもやま話】
 SSE2の乗算命令は
 _mm_mulhi_epi16(PMULHW)、_mm_mulhi_epu16(PMULHUW)、_mm_mullo_epi16(PMULLW)
 はあるのに、一番使うであろう
 _mm_mulhi_epi32、_mm_mulhi_epu32、_mm_mullo_epi32
 が無いのが困る。