1 ; 2 ; jcolsamp.inc - private declarations for color conversion & up/downsampling 3 ; 4 ; Copyright 2009 Pierre Ossman <ossman (a] cendio.se> for Cendio AB 5 ; 6 ; Based on the x86 SIMD extension for IJG JPEG library 7 ; Copyright (C) 1999-2006, MIYASAKA Masaru. 8 ; For conditions of distribution and use, see copyright notice in jsimdext.inc 9 ; 10 ; [TAB8] 11 12 ; -------------------------------------------------------------------------- 13 14 ; pseudo-resisters to make ordering of RGB configurable 15 ; 16 %if RGB_RED == 0 17 %define mmA mm0 18 %define mmB mm1 19 %define xmmA xmm0 20 %define xmmB xmm1 21 %elif RGB_GREEN == 0 22 %define mmA mm2 23 %define mmB mm3 24 %define xmmA xmm2 25 %define xmmB xmm3 26 %elif RGB_BLUE == 0 27 %define mmA mm4 28 %define mmB mm5 29 %define xmmA xmm4 30 %define xmmB xmm5 31 %else 32 %define mmA mm6 33 %define mmB mm7 34 %define xmmA xmm6 35 %define xmmB xmm7 36 %endif 37 38 %if RGB_RED == 1 39 %define mmC mm0 40 %define mmD mm1 41 %define xmmC xmm0 42 %define xmmD xmm1 43 %elif RGB_GREEN == 1 44 %define mmC mm2 45 %define mmD mm3 46 %define xmmC xmm2 47 %define xmmD xmm3 48 %elif RGB_BLUE == 1 49 %define mmC mm4 50 %define mmD mm5 51 %define xmmC xmm4 52 %define xmmD xmm5 53 %else 54 %define mmC mm6 55 %define mmD mm7 56 %define xmmC xmm6 57 %define xmmD xmm7 58 %endif 59 60 %if RGB_RED == 2 61 %define mmE mm0 62 %define mmF mm1 63 %define xmmE xmm0 64 %define xmmF xmm1 65 %elif RGB_GREEN == 2 66 %define mmE mm2 67 %define mmF mm3 68 %define xmmE xmm2 69 %define xmmF xmm3 70 %elif RGB_BLUE == 2 71 %define mmE mm4 72 %define mmF mm5 73 %define xmmE xmm4 74 %define xmmF xmm5 75 %else 76 %define mmE mm6 77 %define mmF mm7 78 %define xmmE xmm6 79 %define xmmF xmm7 80 %endif 81 82 %if RGB_RED == 3 83 %define mmG mm0 84 %define mmH mm1 85 %define xmmG xmm0 86 %define xmmH xmm1 87 %elif RGB_GREEN == 3 88 %define mmG mm2 89 %define mmH mm3 90 %define xmmG xmm2 91 %define xmmH xmm3 92 %elif RGB_BLUE == 3 93 %define mmG mm4 94 %define mmH mm5 95 %define xmmG xmm4 96 %define xmmH xmm5 97 %else 98 %define mmG mm6 99 %define mmH mm7 100 %define xmmG xmm6 101 %define xmmH xmm7 102 %endif 103 104 ; -------------------------------------------------------------------------- 105