function cblur_lagrin(clip c, bool "debug")
{
debug=default(debug, false)
ac = c.MergeChroma(
\ c.BilinearResize(640, 360)
\ .BilinearResize(c.Width, c.Height))
return (debug) ? interleave(c, ac.SubTitle("cblur_lagrin")) : ac
}
リサイズを使っているけれど、その強力なぼかし効果を利用しているだけで、やってることは色だけのぼかし処理。
単純に
cblur_lagrin()
とするだけ。
cblur_lagrin(true)
と指定すると、補正前後のフレームを交互に表示します。

ラグランジェの効果を正確に再現したものではないけれど、実験画像での比較。
上が色収差再現画像で、下が補正後。完全に綺麗になるわけでもないけれど、実際の映像でも気にならない程度には軽減できる・・・かも?
線で区切られない色の境界が酷く劣化するなどいくつか顕著な副作用もあり、期待して試すほどのものでもありませんので念のため。