comparison libmpcodecs/vf_spp.c @ 13720:821f464b4d90

adapting existing mmx/mmx2/sse/3dnow optimizations so they work on x86_64
author aurel
date Thu, 21 Oct 2004 11:55:20 +0000
parents 74fa728e6fc2
children 045dbaccaccc
comparison
equal deleted inserted replaced
13719:43ecd6a73ec0 13720:821f464b4d90
355 "paddw %%mm4, %%mm1 \n\t" 355 "paddw %%mm4, %%mm1 \n\t"
356 "psraw %%mm2, %%mm0 \n\t" 356 "psraw %%mm2, %%mm0 \n\t"
357 "psraw %%mm2, %%mm1 \n\t" 357 "psraw %%mm2, %%mm1 \n\t"
358 "packuswb %%mm1, %%mm0 \n\t" 358 "packuswb %%mm1, %%mm0 \n\t"
359 "movq %%mm0, (%1) \n\t" 359 "movq %%mm0, (%1) \n\t"
360 "addl $16, %0 \n\t" 360 "add $16, %0 \n\t"
361 "addl $8, %1 \n\t" 361 "add $8, %1 \n\t"
362 "cmpl %2, %1 \n\t" 362 "cmp %2, %1 \n\t"
363 " jb 1b \n\t" 363 " jb 1b \n\t"
364 : "+r" (src1), "+r"(dst1) 364 : "+r" (src1), "+r"(dst1)
365 : "r"(dst + width), "r"(dither[y]), "g"(log2_scale), "g"(6-log2_scale) 365 : "r"(dst + width), "r"(dither[y]), "g"(log2_scale), "g"(6-log2_scale)
366 ); 366 );
367 src += src_stride; 367 src += src_stride;