aboutsummaryrefslogtreecommitdiff
path: root/simd/jcolsamp.inc
blob: 79751b7c72828bd37679bbcee7e1d7c031d18e6a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
;
; jcolsamp.inc - private declarations for color conversion & up/downsampling
;
; Copyright 2009 Pierre Ossman <ossman@cendio.se> for Cendio AB
;
; Based on
; x86 SIMD extension for IJG JPEG library
; Copyright (C) 1999-2006, MIYASAKA Masaru.
; For conditions of distribution and use, see copyright notice in jsimdext.inc
;
; [TAB8]

; --------------------------------------------------------------------------

; pseudo-resisters to make ordering of RGB configurable
;
%if RGB_RED == 0
%define  mmA  mm0
%define  mmB  mm1
%define xmmA xmm0
%define xmmB xmm1
%elif RGB_GREEN == 0
%define  mmA  mm2
%define  mmB  mm3
%define xmmA xmm2
%define xmmB xmm3
%elif RGB_BLUE == 0
%define  mmA  mm4
%define  mmB  mm5
%define xmmA xmm4
%define xmmB xmm5
%else
%define  mmA  mm6
%define  mmB  mm7
%define xmmA xmm6
%define xmmB xmm7
%endif

%if RGB_RED == 1
%define  mmC  mm0
%define  mmD  mm1
%define xmmC xmm0
%define xmmD xmm1
%elif RGB_GREEN == 1
%define  mmC  mm2
%define  mmD  mm3
%define xmmC xmm2
%define xmmD xmm3
%elif RGB_BLUE == 1
%define  mmC  mm4
%define  mmD  mm5
%define xmmC xmm4
%define xmmD xmm5
%else
%define  mmC  mm6
%define  mmD  mm7
%define xmmC xmm6
%define xmmD xmm7
%endif

%if RGB_RED == 2
%define  mmE  mm0
%define  mmF  mm1
%define xmmE xmm0
%define xmmF xmm1
%elif RGB_GREEN == 2
%define  mmE  mm2
%define  mmF  mm3
%define xmmE xmm2
%define xmmF xmm3
%elif RGB_BLUE == 2
%define  mmE  mm4
%define  mmF  mm5
%define xmmE xmm4
%define xmmF xmm5
%else
%define  mmE  mm6
%define  mmF  mm7
%define xmmE xmm6
%define xmmF xmm7
%endif

%if RGB_RED == 3
%define  mmG  mm0
%define  mmH  mm1
%define xmmG xmm0
%define xmmH xmm1
%elif RGB_GREEN == 3
%define  mmG  mm2
%define  mmH  mm3
%define xmmG xmm2
%define xmmH xmm3
%elif RGB_BLUE == 3
%define  mmG  mm4
%define  mmH  mm5
%define xmmG xmm4
%define xmmH xmm5
%else
%define  mmG  mm6
%define  mmH  mm7
%define xmmG xmm6
%define xmmH xmm7
%endif

; --------------------------------------------------------------------------