Hello, + > +INIT_XMM sse4 > Maybe use a macro (AVX2 can probably, be easy to add)
> +cglobal threshold8, 10, 13, 5, in, threshold, min, max, out, ilinesize, > tlinesize, flinesize, slinesize, olinesize, w, h, x > + mov wd, dword wm > + mov hd, dword hm > Maybe you can use ptrdiff_t for w and h, so you can directly use it, using wq, hq > + mova m4, [pb_128] > + add inq, wq > + add thresholdq, wq > + add minq, wq > + add maxq, wq > + add outq, wq > + neg wq > +.nextrow: > + mov xq, wq > + > + .loop: > + movu m1, [inq + xq] > + movu m0, [thresholdq + xq] > + movu m2, [minq + xq] > + movu m3, [maxq + xq] > + pxor m0, m4 > + pxor m1, m4 > Do you need pxor m0, m4 and pxor m1, m4 ? > + pcmpgtb m0, m1 > + pblendvb m3, m2, m0 > + movu [outq + xq], m3 > + add xq, mmsize > + jl .loop > + > + add inq, ilinesizeq > + add thresholdq, tlinesizeq > + add minq, flinesizeq > + add maxq, slinesizeq > + add outq, olinesizeq > + sub hd, 1 > + jg .nextrow > +RET > Martin _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel