>>789
> for(i=320*240;i>0;i--)dst[i]+=src[i];
これだと loop unrolling ぐらいしか思いつかんね。

for(i = 320*240-1;i>=0;){
 dst[i]+=src[i--];
 dst[i]+=src[i--];
 dst[i]+=src[i--];
 dst[i]+=src[i--];
}
たいして効果は出ないような気もする。

加算を必要な範囲だけに絞るとか、
dst[i]+=src[i] の部分で本当はビット演算や条件分岐使ってるなら、
ビット演算を工夫して条件分岐しないようにするとか……