From: Andre Noll Date: Wed, 19 Sep 2018 19:08:14 +0000 (+0200) Subject: spxdec: Use read_u16() from portable_io.h. X-Git-Tag: v0.6.3~64 X-Git-Url: http://git.tue.mpg.de/?a=commitdiff_plain;h=3622134825eb94882a8e99acc0ee1889fc0169d6;p=paraslash.git spxdec: Use read_u16() from portable_io.h. It's about 1% slower on my little endian system, but this is not reason enough to keep the le_short() macro of spxdec.c. If anything, the primitives in portable_io.h should be improved. --- diff --git a/spxdec_filter.c b/spxdec_filter.c index 5aa78b44..7be817dd 100644 --- a/spxdec_filter.c +++ b/spxdec_filter.c @@ -48,6 +48,7 @@ #include #include "para.h" +#include "portable_io.h" #include "list.h" #include "sched.h" #include "buffer_tree.h" @@ -121,12 +122,6 @@ static int speexdec_init(struct filter_node *fn) return 1; } -#if !defined(__LITTLE_ENDIAN__) && ( defined(WORDS_BIGENDIAN) || defined(__BIG_ENDIAN__) ) -#define le_short(s) ((short) ((unsigned short) (s) << 8) | ((unsigned short) (s) >> 8)) -#else -#define le_short(s) ((short) (s)) -#endif - /** * Size of the output buffer. * @@ -178,7 +173,7 @@ static int speexdec_write_frames(int packet_no, samples = new_frame_size * psd->shi.channels; btr_output = para_malloc(2 * samples); for (i = 0; i < samples; i++) - btr_output[i] = le_short(output[i + skip_idx]); + btr_output[i] = read_u16(output + i + skip_idx); btr_add_output((char *)btr_output, samples * 2, btrn); } return 1;