On 2015-10-01 19:25, Paul B Mahol wrote: > +cglobal maskedmerge8, 10, 11, 3, 0, bsrc, blinesize, osrc, olinesize, msrc, > mlinesize, dst, dlinesize, w, h
You need a guard to prevent this being compiled on x86. > + lea bsrcq, [bsrcq+blinesizeq] > + lea osrcq, [osrcq+olinesizeq] > + lea msrcq, [msrcq+mlinesizeq] > + lea dstq, [dstq+dlinesizeq] > + void (*maskedmerge)(const uint8_t *bsrc, int blinesize, > + const uint8_t *osrc, int olinesize, > + const uint8_t *msrc, int mlinesize, > + uint8_t *dst, int dlinesize, int w, int h, > + int half, int shift); As I said briefly on IRC, you need to sign-extend (movsxd or the macro movsxdifnidn) these integer linesize arguments before using the quadword registers they sit in. An alternative is to define the arguments as ptrdiff_t types and let the compiler do that in the C code.
signature.asc
Description: OpenPGP digital signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel