diff --git a/aac.c b/aac.c index e3742ee8b..4f942ac2e 100644 --- a/aac.c +++ b/aac.c @@ -274,9 +274,7 @@ static int aac_open(struct input_plugin_data *ip_data) /*NeAACDecInitDRM(priv->decoder, priv->sample_rate, priv->channels);*/ ip_data->sf = sf_rate(priv->sample_rate) | sf_channels(priv->channels) | sf_bits(16) | sf_signed(1); -#if defined(WORDS_BIGENDIAN) - ip_data->sf |= sf_bigendian(1); -#endif + ip_data->sf |= sf_host_endian(); aac_get_channel_map(ip_data); return 0; diff --git a/cdio.c b/cdio.c index 49dad040f..ff70cda23 100644 --- a/cdio.c +++ b/cdio.c @@ -186,9 +186,7 @@ static int libcdio_open(struct input_plugin_data *ip_data) ip_data->private = priv; ip_data->sf = sf_bits(16) | sf_rate(44100) | sf_channels(2) | sf_signed(1); -#ifdef WORDS_BIGENDIAN - ip_data->sf |= sf_bigendian(1); -#endif + ip_data->sf |= sf_host_endian(); end: free(disc_id); diff --git a/ffmpeg.c b/ffmpeg.c index a2402b07a..d6c9c518f 100644 --- a/ffmpeg.c +++ b/ffmpeg.c @@ -327,9 +327,7 @@ static int ffmpeg_open(struct input_plugin_data *ip_data) break; } swr_init(swr); -#ifdef WORDS_BIGENDIAN - ip_data->sf |= sf_bigendian(1); -#endif + ip_data->sf |= sf_host_endian(); #if (LIBAVCODEC_VERSION_INT > ((52<<16)+(1<<8)+0)) channel_layout = cc->channel_layout; #endif diff --git a/mikmod.c b/mikmod.c index 3408ba466..fdd603532 100644 --- a/mikmod.c +++ b/mikmod.c @@ -73,9 +73,7 @@ static int mik_open(struct input_plugin_data *ip_data) ip_data->private = priv; ip_data->sf = sf_bits(16) | sf_rate(44100) | sf_channels(2) | sf_signed(1); -#ifdef WORDS_BIGENDIAN - ip_data->sf |= sf_bigendian(1); -#endif + ip_data->sf |= sf_host_endian(); channel_map_init_stereo(ip_data->channel_map); return 0; } diff --git a/modplug.c b/modplug.c index e0e443a8a..7ca94bc04 100644 --- a/modplug.c +++ b/modplug.c @@ -93,9 +93,7 @@ static int mod_open(struct input_plugin_data *ip_data) ip_data->private = priv; ip_data->sf = sf_bits(16) | sf_rate(44100) | sf_channels(2) | sf_signed(1); -#ifdef WORDS_BIGENDIAN - ip_data->sf |= sf_bigendian(1); -#endif + ip_data->sf |= sf_host_endian(); channel_map_init_stereo(ip_data->channel_map); return 0; } diff --git a/mp4.c b/mp4.c index cfc7935b9..028f31f0d 100644 --- a/mp4.c +++ b/mp4.c @@ -215,9 +215,7 @@ static int mp4_open(struct input_plugin_data *ip_data) d_print("sample rate %luhz, channels %u\n", priv->sample_rate, priv->channels); ip_data->sf = sf_rate(priv->sample_rate) | sf_channels(priv->channels) | sf_bits(16) | sf_signed(1); -#if defined(WORDS_BIGENDIAN) - ip_data->sf |= sf_bigendian(1); -#endif + ip_data->sf |= sf_host_endian(); mp4_get_channel_map(ip_data); return 0; diff --git a/opus.c b/opus.c index b1d6c599b..b9186abb7 100644 --- a/opus.c +++ b/opus.c @@ -103,9 +103,7 @@ static int opus_open(struct input_plugin_data *ip_data) | sf_channels(CHANNELS) | sf_bits(16) | sf_signed(1); -#ifdef WORDS_BIGENDIAN - ip_data->sf |= sf_bigendian(1); -#endif + ip_data->sf |= sf_host_endian(); return 0; } diff --git a/player.c b/player.c index fba716f05..f35c36ff6 100644 --- a/player.c +++ b/player.c @@ -146,9 +146,7 @@ static void set_buffer_sf(void) if (sf_get_channels(buffer_sf) <= 2 && sf_get_bits(buffer_sf) <= 16) { buffer_sf &= SF_RATE_MASK; buffer_sf |= sf_channels(2) | sf_bits(16) | sf_signed(1); -#ifdef WORDS_BIGENDIAN - buffer_sf |= sf_bigendian(1); -#endif + buffer_sf |= sf_host_endian(); channel_map_init_stereo(buffer_channel_map); } } diff --git a/sf.h b/sf.h index bdae0821b..c3c11fc60 100644 --- a/sf.h +++ b/sf.h @@ -47,11 +47,16 @@ typedef unsigned int sample_format_t; #define sf_get_rate(sf) (((sf) & SF_RATE_MASK ) >> SF_RATE_SHIFT) #define sf_get_channels(sf) (((sf) & SF_CHANNELS_MASK ) >> SF_CHANNELS_SHIFT) -#define sf_bigendian(val) (((val) << SF_BIGENDIAN_SHIFT) & SF_BIGENDIAN_MASK) #define sf_signed(val) (((val) << SF_SIGNED_SHIFT ) & SF_SIGNED_MASK) #define sf_bits(val) (((val) << SF_BITS_SHIFT ) & SF_BITS_MASK) #define sf_rate(val) (((val) << SF_RATE_SHIFT ) & SF_RATE_MASK) #define sf_channels(val) (((val) << SF_CHANNELS_SHIFT ) & SF_CHANNELS_MASK) +#define sf_bigendian(val) (((val) << SF_BIGENDIAN_SHIFT) & SF_BIGENDIAN_MASK) +#ifdef WORDS_BIGENDIAN +# define sf_host_endian() sf_bigendian(1) +#else +# define sf_host_endian() sf_bigendian(0) +#endif #define sf_get_sample_size(sf) (sf_get_bits((sf)) >> 3) #define sf_get_frame_size(sf) (sf_get_sample_size((sf)) * sf_get_channels((sf))) diff --git a/vorbis.c b/vorbis.c index 23f6db104..1b0668c09 100644 --- a/vorbis.c +++ b/vorbis.c @@ -172,9 +172,7 @@ static int vorbis_open(struct input_plugin_data *ip_data) vi = ov_info(&priv->vf, -1); ip_data->sf = sf_rate(vi->rate) | sf_channels(vi->channels) | sf_bits(16) | sf_signed(1); -#ifdef WORDS_BIGENDIAN - ip_data->sf |= sf_bigendian(1); -#endif + ip_data->sf |= sf_host_endian(); channel_map_init_vorbis(vi->channels, ip_data->channel_map); return 0; } diff --git a/vtx.c b/vtx.c index ab3adc342..320a74a4e 100644 --- a/vtx.c +++ b/vtx.c @@ -55,9 +55,7 @@ static int vtx_open(struct input_plugin_data *ip_data) ayemu_set_stereo(&priv->ay, priv->vtx->stereo, NULL); ip_data->sf = sf_bits(bits) | sf_rate(sample_rate) | sf_channels(channels) | sf_signed(1); -#ifdef WORDS_BIGENDIAN - ip_data->sf |= sf_bigendian(1); -#endif + ip_data->sf |= sf_host_endian(); channel_map_init_stereo(ip_data->channel_map); priv->pos = 0;