~ubuntu-branches/ubuntu/trusty/tiff/trusty

« back to all changes in this revision

Viewing changes to libtiff/tif_swab.c

  • Committer: Package Import Robot
  • Author(s): Jay Berkenbilt
  • Date: 2012-06-24 13:45:42 UTC
  • mfrom: (15.1.14 sid)
  • Revision ID: package-import@ubuntu.com-20120624134542-u7dltcqwnb6orprf
Tags: 4.0.2-1
New upstream release

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* $Id: tif_swab.c,v 1.4.2.1 2010-06-08 18:50:43 bfriesen Exp $ */
 
1
/* $Id: tif_swab.c,v 1.13 2010-03-10 18:56:49 bfriesen Exp $ */
2
2
 
3
3
/*
4
4
 * Copyright (c) 1988-1997 Sam Leffler
37
37
{
38
38
        register unsigned char* cp = (unsigned char*) wp;
39
39
        unsigned char t;
40
 
 
 
40
        assert(sizeof(uint16)==2);
41
41
        t = cp[1]; cp[1] = cp[0]; cp[0] = t;
42
42
}
43
43
#endif
48
48
{
49
49
        register unsigned char* cp = (unsigned char*) lp;
50
50
        unsigned char t;
51
 
 
 
51
        assert(sizeof(uint32)==4);
52
52
        t = cp[3]; cp[3] = cp[0]; cp[0] = t;
53
53
        t = cp[2]; cp[2] = cp[1]; cp[1] = t;
54
54
}
55
55
#endif
56
56
 
 
57
#ifndef TIFFSwabLong8
 
58
void
 
59
TIFFSwabLong8(uint64* lp)
 
60
{
 
61
        register unsigned char* cp = (unsigned char*) lp;
 
62
        unsigned char t;
 
63
        assert(sizeof(uint64)==8);
 
64
        t = cp[7]; cp[7] = cp[0]; cp[0] = t;
 
65
        t = cp[6]; cp[6] = cp[1]; cp[1] = t;
 
66
        t = cp[5]; cp[5] = cp[2]; cp[2] = t;
 
67
        t = cp[4]; cp[4] = cp[3]; cp[3] = t;
 
68
}
 
69
#endif
 
70
 
57
71
#ifndef TIFFSwabArrayOfShort
58
72
void
59
 
TIFFSwabArrayOfShort(uint16* wp, register unsigned long n)
 
73
TIFFSwabArrayOfShort(register uint16* wp, tmsize_t n)
60
74
{
61
75
        register unsigned char* cp;
62
76
        register unsigned char t;
63
 
 
 
77
        assert(sizeof(uint16)==2);
64
78
        /* XXX unroll loop some */
65
79
        while (n-- > 0) {
66
80
                cp = (unsigned char*) wp;
72
86
 
73
87
#ifndef TIFFSwabArrayOfTriples
74
88
void
75
 
TIFFSwabArrayOfTriples(uint8* tp, unsigned long n)
 
89
TIFFSwabArrayOfTriples(register uint8* tp, tmsize_t n)
76
90
{
77
91
        unsigned char* cp;
78
92
        unsigned char t;
88
102
 
89
103
#ifndef TIFFSwabArrayOfLong
90
104
void
91
 
TIFFSwabArrayOfLong(register uint32* lp, register unsigned long n)
92
 
{
93
 
        register unsigned char *cp;
94
 
        register unsigned char t;
95
 
 
96
 
        /* XXX unroll loop some */
97
 
        while (n-- > 0) {
98
 
                cp = (unsigned char *)lp;
99
 
                t = cp[3]; cp[3] = cp[0]; cp[0] = t;
100
 
                t = cp[2]; cp[2] = cp[1]; cp[1] = t;
101
 
                lp++;
 
105
TIFFSwabArrayOfLong(register uint32* lp, tmsize_t n)
 
106
{
 
107
        register unsigned char *cp;
 
108
        register unsigned char t;
 
109
        assert(sizeof(uint32)==4);
 
110
        /* XXX unroll loop some */
 
111
        while (n-- > 0) {
 
112
                cp = (unsigned char *)lp;
 
113
                t = cp[3]; cp[3] = cp[0]; cp[0] = t;
 
114
                t = cp[2]; cp[2] = cp[1]; cp[1] = t;
 
115
                lp++;
 
116
        }
 
117
}
 
118
#endif
 
119
 
 
120
#ifndef TIFFSwabArrayOfLong8
 
121
void
 
122
TIFFSwabArrayOfLong8(register uint64* lp, tmsize_t n)
 
123
{
 
124
        register unsigned char *cp;
 
125
        register unsigned char t;
 
126
        assert(sizeof(uint64)==8);
 
127
        /* XXX unroll loop some */
 
128
        while (n-- > 0) {
 
129
                cp = (unsigned char *)lp;
 
130
                t = cp[7]; cp[7] = cp[0]; cp[0] = t;
 
131
                t = cp[6]; cp[6] = cp[1]; cp[1] = t;
 
132
                t = cp[5]; cp[5] = cp[2]; cp[2] = t;
 
133
                t = cp[4]; cp[4] = cp[3]; cp[3] = t;
 
134
                lp++;
 
135
        }
 
136
}
 
137
#endif
 
138
 
 
139
#ifndef TIFFSwabFloat
 
140
void
 
141
TIFFSwabFloat(float* fp)
 
142
{
 
143
        register unsigned char* cp = (unsigned char*) fp;
 
144
        unsigned char t;
 
145
        assert(sizeof(float)==4);
 
146
        t = cp[3]; cp[3] = cp[0]; cp[0] = t;
 
147
        t = cp[2]; cp[2] = cp[1]; cp[1] = t;
 
148
}
 
149
#endif
 
150
 
 
151
#ifndef TIFFSwabArrayOfFloat
 
152
void
 
153
TIFFSwabArrayOfFloat(register float* fp, tmsize_t n)
 
154
{
 
155
        register unsigned char *cp;
 
156
        register unsigned char t;
 
157
        assert(sizeof(float)==4);
 
158
        /* XXX unroll loop some */
 
159
        while (n-- > 0) {
 
160
                cp = (unsigned char *)fp;
 
161
                t = cp[3]; cp[3] = cp[0]; cp[0] = t;
 
162
                t = cp[2]; cp[2] = cp[1]; cp[1] = t;
 
163
                fp++;
102
164
        }
103
165
}
104
166
#endif
107
169
void
108
170
TIFFSwabDouble(double *dp)
109
171
{
110
 
        register uint32* lp = (uint32*) dp;
111
 
        uint32 t;
112
 
 
113
 
        TIFFSwabArrayOfLong(lp, 2);
114
 
        t = lp[0]; lp[0] = lp[1]; lp[1] = t;
 
172
        register unsigned char* cp = (unsigned char*) dp;
 
173
        unsigned char t;
 
174
        assert(sizeof(double)==8);
 
175
        t = cp[7]; cp[7] = cp[0]; cp[0] = t;
 
176
        t = cp[6]; cp[6] = cp[1]; cp[1] = t;
 
177
        t = cp[5]; cp[5] = cp[2]; cp[2] = t;
 
178
        t = cp[4]; cp[4] = cp[3]; cp[3] = t;
115
179
}
116
180
#endif
117
181
 
118
182
#ifndef TIFFSwabArrayOfDouble
119
183
void
120
 
TIFFSwabArrayOfDouble(double* dp, register unsigned long n)
 
184
TIFFSwabArrayOfDouble(double* dp, tmsize_t n)
121
185
{
122
 
        register uint32* lp = (uint32*) dp;
123
 
        register uint32 t;
124
 
 
125
 
        TIFFSwabArrayOfLong(lp, n + n);
126
 
        while (n-- > 0) {
127
 
                t = lp[0]; lp[0] = lp[1]; lp[1] = t;
128
 
                lp += 2;
129
 
        }
 
186
        register unsigned char *cp;
 
187
        register unsigned char t;
 
188
        assert(sizeof(double)==8);
 
189
        /* XXX unroll loop some */
 
190
        while (n-- > 0) {
 
191
                cp = (unsigned char *)dp;
 
192
                t = cp[7]; cp[7] = cp[0]; cp[0] = t;
 
193
                t = cp[6]; cp[6] = cp[1]; cp[1] = t;
 
194
                t = cp[5]; cp[5] = cp[2]; cp[2] = t;
 
195
                t = cp[4]; cp[4] = cp[3]; cp[3] = t;
 
196
                dp++;
 
197
        }
130
198
}
131
199
#endif
132
200
 
215
283
}
216
284
 
217
285
void
218
 
TIFFReverseBits(register unsigned char* cp, register unsigned long n)
 
286
TIFFReverseBits(uint8* cp, tmsize_t n)  
219
287
{
220
288
        for (; n > 8; n -= 8) {
221
289
                cp[0] = TIFFBitRevTable[cp[0]];