# HG changeset patch # User Matti Hamalainen # Date 1352135007 -7200 # Node ID 9c135d421676accc97becc9342e94c18f5e0faef # Parent 8299288df6d2bafb31b64d64b44c6b44034376fc Clean up endianess handling a bit. diff -r 8299288df6d2 -r 9c135d421676 src/xs_sidplay2.cc --- a/src/xs_sidplay2.cc Mon Nov 05 18:53:20 2012 +0200 +++ b/src/xs_sidplay2.cc Mon Nov 05 19:03:27 2012 +0200 @@ -35,8 +35,18 @@ #else # include # include +# if G_BYTE_ORDER == G_BIG_ENDIAN +# define SID2_NATIVE_UNSIGNED SID2_BIG_UNSIGNED +# define SID2_NATIVE_SIGNED SID2_BIG_SIGNED +# elif G_BYTE_ORDER == G_LITTLE_ENDIAN +# define SID2_NATIVE_UNSIGNED SID2_LITTLE_UNSIGNED +# define SID2_NATIVE_SIGNED SID2_LITTLE_SIGNED +# else +# error Unsupported endianess! +# endif #endif + class XSSIDPlay2 { public: #ifdef HAVE_SIDPLAY2_FP @@ -199,58 +209,41 @@ switch (state->audioBitsPerSample) { - case XS_RES_8BIT: - state->audioFormat = FMT_U8; + case XS_RES_8BIT: + state->audioFormat = FMT_U8; #ifndef HAVE_SIDPLAY2_FP - engine->currConfig.sampleFormat = SID2_LITTLE_UNSIGNED; -#endif - break; - - case XS_RES_16BIT: - default: - state->audioFormat = FMT_S16_NE; -#ifndef HAVE_SIDPLAY2_FP - switch (state->audioFormat) { - case FMT_U16_LE: engine->currConfig.sampleFormat = SID2_LITTLE_UNSIGNED; - break; - - case FMT_U16_BE: - engine->currConfig.sampleFormat = SID2_BIG_UNSIGNED; - break; - - case FMT_U16_NE: -#if G_BYTE_ORDER == G_BIG_ENDIAN - engine->currConfig.sampleFormat = SID2_BIG_UNSIGNED; -#else -#if G_BYTE_ORDER == G_LITTLE_ENDIAN - engine->currConfig.sampleFormat = SID2_LITTLE_UNSIGNED; -#else -#error Unsupported endianess! -#endif #endif break; - case FMT_S16_LE: - engine->currConfig.sampleFormat = SID2_LITTLE_SIGNED; - break; - - case FMT_S16_BE: - engine->currConfig.sampleFormat = SID2_BIG_SIGNED; - break; - + case XS_RES_16BIT: default: -#if G_BYTE_ORDER == G_BIG_ENDIAN - engine->currConfig.sampleFormat = SID2_BIG_SIGNED; -#else -#if G_BYTE_ORDER == G_LITTLE_ENDIAN - engine->currConfig.sampleFormat = SID2_LITTLE_SIGNED; -#else -#error Unsupported endianess! -#endif -#endif - break; + state->audioFormat = FMT_S16_NE; +#ifndef HAVE_SIDPLAY2_FP + switch (state->audioFormat) { + case FMT_U16_LE: + engine->currConfig.sampleFormat = SID2_LITTLE_UNSIGNED; + break; + + case FMT_U16_BE: + engine->currConfig.sampleFormat = SID2_BIG_UNSIGNED; + break; + case FMT_U16_NE: + engine->currConfig.sampleFormat = SID2_NATIVE_UNSIGNED; + break; + + case FMT_S16_LE: + engine->currConfig.sampleFormat = SID2_LITTLE_SIGNED; + break; + + case FMT_S16_BE: + engine->currConfig.sampleFormat = SID2_BIG_SIGNED; + break; + + default: + engine->currConfig.sampleFormat = SID2_NATIVE_SIGNED; + break; } #endif break;