annotate osdep/swab.c @ 22995:70d7c6206f33

skip MMX code in rgb32to15 if the size of the input is smaller than the size of the units the MMX code processes
author ivo
date Wed, 18 Apr 2007 09:24:49 +0000
parents 936209c39ed1
children 5cfef41a1771
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
16985
08cac43f1e38 Unify include paths, -I.. is in CFLAGS.
diego
parents: 13612
diff changeset
1 #include "config.h"
13612
c0bde085511c Zeta OS support, mostly working.
reimar
parents:
diff changeset
2
c0bde085511c Zeta OS support, mostly working.
reimar
parents:
diff changeset
3 /* system has no swab. emulate via bswap */
21852
a9a7d6d85020 bswap.h --> mpbswap.h
diego
parents: 16985
diff changeset
4 #include "mpbswap.h"
13612
c0bde085511c Zeta OS support, mostly working.
reimar
parents:
diff changeset
5 #include <unistd.h>
c0bde085511c Zeta OS support, mostly working.
reimar
parents:
diff changeset
6
c0bde085511c Zeta OS support, mostly working.
reimar
parents:
diff changeset
7 void swab(const void *from, void *to, ssize_t n) {
c0bde085511c Zeta OS support, mostly working.
reimar
parents:
diff changeset
8 const int16_t *in = (int16_t*)from;
c0bde085511c Zeta OS support, mostly working.
reimar
parents:
diff changeset
9 int16_t *out = (int16_t*)to;
c0bde085511c Zeta OS support, mostly working.
reimar
parents:
diff changeset
10 int i;
c0bde085511c Zeta OS support, mostly working.
reimar
parents:
diff changeset
11 n /= 2;
c0bde085511c Zeta OS support, mostly working.
reimar
parents:
diff changeset
12 for (i = 0 ; i < n; i++) {
c0bde085511c Zeta OS support, mostly working.
reimar
parents:
diff changeset
13 out[i] = bswap_16(in[i]);
c0bde085511c Zeta OS support, mostly working.
reimar
parents:
diff changeset
14 }
c0bde085511c Zeta OS support, mostly working.
reimar
parents:
diff changeset
15 }