jcolsamp.inc (2628B)
1 ; 2 ; jcolsamp.inc - private declarations for color conversion & up/downsampling 3 ; 4 ; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB 5 ; Copyright (C) 2015, Intel Corporation. 6 ; 7 ; Based on the x86 SIMD extension for IJG JPEG library 8 ; Copyright (C) 1999-2006, MIYASAKA Masaru. 9 ; For conditions of distribution and use, see copyright notice in jsimdext.inc 10 11 ; -------------------------------------------------------------------------- 12 13 ; pseudo-resisters to make ordering of RGB configurable 14 ; 15 %if RGB_RED == 0 16 %define mmA mm0 17 %define mmB mm1 18 %define xmmA xmm0 19 %define xmmB xmm1 20 %define ymmA ymm0 21 %define ymmB ymm1 22 %elif RGB_GREEN == 0 23 %define mmA mm2 24 %define mmB mm3 25 %define xmmA xmm2 26 %define xmmB xmm3 27 %define ymmA ymm2 28 %define ymmB ymm3 29 %elif RGB_BLUE == 0 30 %define mmA mm4 31 %define mmB mm5 32 %define xmmA xmm4 33 %define xmmB xmm5 34 %define ymmA ymm4 35 %define ymmB ymm5 36 %else 37 %define mmA mm6 38 %define mmB mm7 39 %define xmmA xmm6 40 %define xmmB xmm7 41 %define ymmA ymm6 42 %define ymmB ymm7 43 %endif 44 45 %if RGB_RED == 1 46 %define mmC mm0 47 %define mmD mm1 48 %define xmmC xmm0 49 %define xmmD xmm1 50 %define ymmC ymm0 51 %define ymmD ymm1 52 %elif RGB_GREEN == 1 53 %define mmC mm2 54 %define mmD mm3 55 %define xmmC xmm2 56 %define xmmD xmm3 57 %define ymmC ymm2 58 %define ymmD ymm3 59 %elif RGB_BLUE == 1 60 %define mmC mm4 61 %define mmD mm5 62 %define xmmC xmm4 63 %define xmmD xmm5 64 %define ymmC ymm4 65 %define ymmD ymm5 66 %else 67 %define mmC mm6 68 %define mmD mm7 69 %define xmmC xmm6 70 %define xmmD xmm7 71 %define ymmC ymm6 72 %define ymmD ymm7 73 %endif 74 75 %if RGB_RED == 2 76 %define mmE mm0 77 %define mmF mm1 78 %define xmmE xmm0 79 %define xmmF xmm1 80 %define ymmE ymm0 81 %define ymmF ymm1 82 %elif RGB_GREEN == 2 83 %define mmE mm2 84 %define mmF mm3 85 %define xmmE xmm2 86 %define xmmF xmm3 87 %define ymmE ymm2 88 %define ymmF ymm3 89 %elif RGB_BLUE == 2 90 %define mmE mm4 91 %define mmF mm5 92 %define xmmE xmm4 93 %define xmmF xmm5 94 %define ymmE ymm4 95 %define ymmF ymm5 96 %else 97 %define mmE mm6 98 %define mmF mm7 99 %define xmmE xmm6 100 %define xmmF xmm7 101 %define ymmE ymm6 102 %define ymmF ymm7 103 %endif 104 105 %if RGB_RED == 3 106 %define mmG mm0 107 %define mmH mm1 108 %define xmmG xmm0 109 %define xmmH xmm1 110 %define ymmG ymm0 111 %define ymmH ymm1 112 %elif RGB_GREEN == 3 113 %define mmG mm2 114 %define mmH mm3 115 %define xmmG xmm2 116 %define xmmH xmm3 117 %define ymmG ymm2 118 %define ymmH ymm3 119 %elif RGB_BLUE == 3 120 %define mmG mm4 121 %define mmH mm5 122 %define xmmG xmm4 123 %define xmmH xmm5 124 %define ymmG ymm4 125 %define ymmH ymm5 126 %else 127 %define mmG mm6 128 %define mmH mm7 129 %define xmmG xmm6 130 %define xmmH xmm7 131 %define ymmG ymm6 132 %define ymmH ymm7 133 %endif 134 135 ; --------------------------------------------------------------------------