version 1.22, 2010/09/18 08:36:00 |
version 1.23, 2010/11/05 15:23:18 |
|
|
{ |
{ |
unsigned i; |
unsigned i; |
unsigned char *iptr; |
unsigned char *iptr; |
short *optr; |
adata_t *optr; |
|
|
iptr = data + count; |
iptr = data + count; |
optr = (short *)data + count; |
optr = (adata_t *)data + count; |
for (i = count; i > 0; i--) { |
for (i = count; i > 0; i--) { |
--optr; |
--optr; |
--iptr; |
--iptr; |
*optr = map[*iptr]; |
*optr = (adata_t)(map[*iptr]) << (ADATA_BITS - 16); |
} |
} |
} |
} |
|
|
|
|
unsigned n; |
unsigned n; |
|
|
if (f->map) |
if (f->map) |
count /= sizeof(short); |
count /= sizeof(adata_t); |
if (f->rbytes >= 0 && count > f->rbytes) { |
if (f->rbytes >= 0 && count > f->rbytes) { |
count = f->rbytes; /* file->rbytes fits in count */ |
count = f->rbytes; /* file->rbytes fits in count */ |
if (count == 0) { |
if (count == 0) { |
|
|
f->rbytes -= n; |
f->rbytes -= n; |
if (f->map) { |
if (f->map) { |
wav_conv(data, n, f->map); |
wav_conv(data, n, f->map); |
n *= sizeof(short); |
n *= sizeof(adata_t); |
} |
} |
return n; |
return n; |
} |
} |