diff options
Diffstat (limited to 'libfaad2/local_changes.diff')
-rw-r--r-- | libfaad2/local_changes.diff | 341 |
1 files changed, 0 insertions, 341 deletions
diff --git a/libfaad2/local_changes.diff b/libfaad2/local_changes.diff deleted file mode 100644 index ce0d14078f..0000000000 --- a/libfaad2/local_changes.diff +++ /dev/null @@ -1,341 +0,0 @@ ---- libfaad2.orig/bits.h 2006-03-16 20:15:04.000000000 +0100 -+++ libfaad2/bits.h 2006-03-16 20:37:21.000000000 +0100 -@@ -58,7 +61,7 @@ - - #if defined (_WIN32) && !defined(_WIN32_WCE) && !defined(__MINGW32__) - #define BSWAP(a) __asm mov eax,a __asm bswap eax __asm mov a, eax --#elif defined(LINUX) || defined(DJGPP) || defined(__MINGW32__) -+#elif defined(LINUX) || defined(DJGPP) - #define BSWAP(a) __asm__ ( "bswapl %0\n" : "=r" (a) : "0" (a) ) - #else - #define BSWAP(a) \ ---- libfaad2.orig/common.h 2006-03-16 20:15:04.000000000 +0100 -+++ libfaad2/common.h 2006-03-16 20:56:56.000000000 +0100 -@@ -32,8 +37,13 @@ - - #ifdef HAVE_CONFIG_H - # include "../config.h" - #endif -+ -+/* Allow build on Cygwin*/ -+#if defined(__CYGWIN__) -+#define __STRICT_ANSI__ -+#endif - - #define INLINE __inline - #if 0 //defined(_WIN32) && !defined(_WIN32_WCE) - #define ALIGN __declspec(align(16)) -@@ -61,7 +69,7 @@ - /* Use if target platform has address generators with autoincrement */ - //#define PREFER_POINTERS - --#ifdef _WIN32_WCE -+#if defined(_WIN32_WCE) || defined(__arm__) || defined(__avr32__) - #define FIXED_POINT - #endif - -@@ -117,6 +125,9 @@ - # ifdef MAIN_DEC - # undef MAIN_DEC - # endif -+# ifdef SBR_DEC -+# undef SBR_DEC -+# endif - #endif // FIXED_POINT - - #ifdef DRM -@@ -151,6 +162,7 @@ - - #include <stdlib.h> - -+#if 0 - typedef unsigned __int64 uint64_t; - typedef unsigned __int32 uint32_t; - typedef unsigned __int16 uint16_t; -@@ -159,6 +171,10 @@ - typedef __int32 int32_t; - typedef __int16 int16_t; - typedef __int8 int8_t; -+#else -+#include <inttypes.h> -+#endif -+ - typedef float float32_t; - - -@@ -245,7 +245,7 @@ - - #endif - --#ifdef WORDS_BIGENDIAN -+#if HAVE_BIGENDIAN - #define ARCH_IS_BIG_ENDIAN - #endif - -@@ -317,7 +317,7 @@ - } - return i; - } -- #elif (defined(__i386__) && defined(__GNUC__)) -+ #elif (defined(__i386__) && defined(__GNUC__)) && __STDC_VERSION__ < 199901L - #define HAS_LRINTF - // from http://www.stereopsis.com/FPU.html - static INLINE int lrintf(float f) -@@ -330,6 +346,8 @@ - - #else - -+#include <math.h> -+ - #ifdef HAVE_LRINTF - # define HAS_LRINTF - # define _ISOC9X_SOURCE 1 -@@ -338,8 +356,6 @@ - # define __USE_ISOC99 1 - #endif - -- #include <math.h> -- - #ifdef HAVE_SINF - # define sin sinf - #error ---- libfaad2.orig/output.c 2006-03-16 20:15:04.000000000 +0100 -+++ libfaad2/output.c 2006-04-18 19:50:26.000000000 +0200 -@@ -463,9 +462,9 @@ - } - } - --void* output_to_PCM(NeAACDecHandle hDecoder, -- real_t **input, void *sample_buffer, uint8_t channels, -- uint16_t frame_len, uint8_t format) -+static void* output_to_PCM_sux(NeAACDecHandle hDecoder, -+ real_t **input, void *sample_buffer, uint8_t channels, -+ uint16_t frame_len, uint8_t format) - { - uint8_t ch; - uint16_t i; -@@ -554,4 +553,51 @@ - return sample_buffer; - } - -+void* output_to_PCM(NeAACDecHandle hDecoder, -+ real_t **input, void *sample_buffer, uint8_t channels, -+ uint16_t frame_len, uint8_t format) -+{ -+ int ch; -+ int i; -+ int16_t *short_sample_buffer = (int16_t*)sample_buffer; -+ real_t *ch0 = input[hDecoder->internal_channel[0]]; -+ real_t *ch1 = input[hDecoder->internal_channel[1]]; -+ real_t *ch2 = input[hDecoder->internal_channel[2]]; -+ real_t *ch3 = input[hDecoder->internal_channel[3]]; -+ real_t *ch4 = input[hDecoder->internal_channel[4]]; -+ -+ if (format != FAAD_FMT_16BIT) -+ return output_to_PCM_sux(hDecoder, input, sample_buffer, channels, frame_len, format); -+ -+ if (hDecoder->downMatrix) { -+ for(i = 0; i < frame_len; i++) -+ { -+ int32_t tmp; -+ tmp = (ch1[i] + ((ch0[i]+ch3[i])>>1) + ((ch0[i]+ch3[i])>>2) + (1<<(REAL_BITS))) >> (REAL_BITS+1); -+ if ((tmp+0x8000) & ~0xffff) tmp = ~(tmp>>31)-0x8000; -+ short_sample_buffer[0] = tmp; -+ tmp = (ch2[i] + ((ch0[i]+ch4[i])>>1) + ((ch0[i]+ch4[i])>>2) + (1<<(REAL_BITS))) >> (REAL_BITS+1); -+ if ((tmp+0x8000) & ~0xffff) tmp = ~(tmp>>31)-0x8000; -+ short_sample_buffer[1] = tmp; -+ short_sample_buffer += channels; -+ } -+ return sample_buffer; -+ } -+ -+ /* Copy output to a standard PCM buffer */ -+ for(i = 0; i < frame_len; i++) -+ { -+ for (ch = 0; ch < channels; ch++) -+ { -+ int32_t tmp = input[hDecoder->internal_channel[ch]][i]; -+ tmp += (1 << (REAL_BITS-1)); -+ tmp >>= REAL_BITS; -+ if ((tmp+0x8000) & ~0xffff) tmp = ~(tmp>>31)-0x8000; -+ *(short_sample_buffer++) = tmp; -+ } -+ } -+ -+ return sample_buffer; -+} -+ - #endif ---- libfaad2.orig/ps_dec.c 2006-03-16 20:15:04.000000000 +0100 -+++ libfaad2/ps_dec.c 2006-04-18 20:29:38.000000000 +0200 -@@ -159,7 +162,7 @@ - - /* static function declarations */ - static void ps_data_decode(ps_info *ps); --static hyb_info *hybrid_init(); -+static hyb_info *hybrid_init(void); - static void channel_filter2(hyb_info *hyb, uint8_t frame_len, const real_t *filter, - qmf_t *buffer, qmf_t **X_hybrid); - static void INLINE DCT3_4_unscaled(real_t *y, real_t *x); -@@ -189,7 +192,7 @@ - /* */ - - --static hyb_info *hybrid_init() -+static hyb_info *hybrid_init(void) - { - uint8_t i; - -@@ -1935,8 +1938,8 @@ - /* main Parametric Stereo decoding function */ - uint8_t ps_decode(ps_info *ps, qmf_t X_left[38][64], qmf_t X_right[38][64]) - { -- qmf_t X_hybrid_left[32][32] = {{0}}; -- qmf_t X_hybrid_right[32][32] = {{0}}; -+ qmf_t X_hybrid_left[32][32] = {{{0}}}; -+ qmf_t X_hybrid_right[32][32] = {{{0}}}; - - /* delta decoding of the bitstream data */ - ps_data_decode(ps); ---- libfaad2.orig/sbr_dec.c 2006-03-16 20:15:04.000000000 +0100 -+++ libfaad2/sbr_dec.c 2006-04-18 20:33:57.000000000 +0200 -@@ -526,8 +529,8 @@ - uint8_t l, k; - uint8_t dont_process = 0; - uint8_t ret = 0; -- ALIGN qmf_t X_left[38][64] = {{0}}; -- ALIGN qmf_t X_right[38][64] = {{0}}; /* must set this to 0 */ -+ ALIGN qmf_t X_left[38][64] = {{{0}}}; -+ ALIGN qmf_t X_right[38][64] = {{{0}}}; /* must set this to 0 */ - - if (sbr == NULL) - return 20; ---- libfaad2.orig/specrec.c 2006-03-16 20:15:04.000000000 +0100 -+++ libfaad2/specrec.c 2006-04-18 20:38:09.000000000 +0200 -@@ -673,29 +673,19 @@ - /* MAIN object type prediction */ - if (hDecoder->object_type == MAIN) - { -- /* allocate the state only when needed */ -- if (hDecoder->pred_stat[channel] == NULL) -- { -- hDecoder->pred_stat[channel] = (pred_state*)faad_malloc(hDecoder->frameLength * sizeof(pred_state)); -+ hDecoder->pred_stat[channel] = (pred_state*)realloc(hDecoder->pred_stat[channel], hDecoder->frameLength * sizeof(pred_state)); - reset_all_predictors(hDecoder->pred_stat[channel], hDecoder->frameLength); -- } - } - #endif - - #ifdef LTP_DEC - if (is_ltp_ot(hDecoder->object_type)) - { -- /* allocate the state only when needed */ -- if (hDecoder->lt_pred_stat[channel] == NULL) -- { -- hDecoder->lt_pred_stat[channel] = (int16_t*)faad_malloc(hDecoder->frameLength*4 * sizeof(int16_t)); -+ hDecoder->lt_pred_stat[channel] = (int16_t*)realloc(hDecoder->lt_pred_stat[channel], hDecoder->frameLength*4 * sizeof(int16_t)); - memset(hDecoder->lt_pred_stat[channel], 0, hDecoder->frameLength*4 * sizeof(int16_t)); -- } - } - #endif - -- if (hDecoder->time_out[channel] == NULL) -- { - mul = 1; - #ifdef SBR_DEC - hDecoder->sbr_alloced[hDecoder->fr_ch_ele] = 0; -@@ -706,41 +696,28 @@ - hDecoder->sbr_alloced[hDecoder->fr_ch_ele] = 1; - } - #endif -- hDecoder->time_out[channel] = (real_t*)faad_malloc(mul*hDecoder->frameLength*sizeof(real_t)); -+ hDecoder->time_out[channel] = (real_t*)realloc(hDecoder->time_out[channel], mul*hDecoder->frameLength*sizeof(real_t)); - memset(hDecoder->time_out[channel], 0, mul*hDecoder->frameLength*sizeof(real_t)); -- } - #if (defined(PS_DEC) || defined(DRM_PS)) - if (output_channels == 2) - { -- if (hDecoder->time_out[channel+1] == NULL) -- { -- hDecoder->time_out[channel+1] = (real_t*)faad_malloc(mul*hDecoder->frameLength*sizeof(real_t)); -+ hDecoder->time_out[channel+1] = (real_t*)realloc(hDecoder->time_out[channel+1], mul*hDecoder->frameLength*sizeof(real_t)); - memset(hDecoder->time_out[channel+1], 0, mul*hDecoder->frameLength*sizeof(real_t)); -- } - } - #endif - -- if (hDecoder->fb_intermed[channel] == NULL) -- { -- hDecoder->fb_intermed[channel] = (real_t*)faad_malloc(hDecoder->frameLength*sizeof(real_t)); -+ hDecoder->fb_intermed[channel] = (real_t*)realloc(hDecoder->fb_intermed[channel], hDecoder->frameLength*sizeof(real_t)); - memset(hDecoder->fb_intermed[channel], 0, hDecoder->frameLength*sizeof(real_t)); -- } - - #ifdef SSR_DEC - if (hDecoder->object_type == SSR) - { -- if (hDecoder->ssr_overlap[channel] == NULL) -- { -- hDecoder->ssr_overlap[channel] = (real_t*)faad_malloc(2*hDecoder->frameLength*sizeof(real_t)); -- memset(hDecoder->ssr_overlap[channel], 0, 2*hDecoder->frameLength*sizeof(real_t)); -- } -- if (hDecoder->prev_fmd[channel] == NULL) -- { - uint16_t k; -- hDecoder->prev_fmd[channel] = (real_t*)faad_malloc(2*hDecoder->frameLength*sizeof(real_t)); -+ hDecoder->ssr_overlap[channel] = (real_t*)realloc(hDecoder->ssr_overlap[channel], 2*hDecoder->frameLength*sizeof(real_t)); -+ memset(hDecoder->ssr_overlap[channel], 0, 2*hDecoder->frameLength*sizeof(real_t)); -+ hDecoder->prev_fmd[channel] = (real_t*)realloc(hDecoder->prev_fmd[channel], 2*hDecoder->frameLength*sizeof(real_t)); - for (k = 0; k < 2*hDecoder->frameLength; k++) - hDecoder->prev_fmd[channel][k] = REAL_CONST(-1); -- } - } - #endif - -@@ -865,22 +842,14 @@ - - /* always allocate 2 channels, PS can always "suddenly" turn up */ - #if (defined(PS_DEC) || defined(DRM_PS)) -- output_channels = 2; -+ output_channels = hDecoder->ps_used[hDecoder->fr_ch_ele] ? 2 : 1; - #else - output_channels = 1; - #endif - -- if (hDecoder->element_output_channels[hDecoder->fr_ch_ele] == 0) -- { -- /* element_output_channels not set yet */ -+ if (hDecoder->element_alloced[hDecoder->fr_ch_ele] == 0 || -+ hDecoder->element_output_channels[hDecoder->fr_ch_ele] < output_channels) { - hDecoder->element_output_channels[hDecoder->fr_ch_ele] = output_channels; -- } else if (hDecoder->element_output_channels[hDecoder->fr_ch_ele] != output_channels) { -- /* element inconsistency */ -- return 21; -- } -- -- if (hDecoder->element_alloced[hDecoder->fr_ch_ele] == 0) -- { - retval = allocate_single_channel(hDecoder, sce->channel, output_channels); - if (retval > 0) - return retval; -@@ -1026,11 +995,10 @@ - { - return 23; - } --#endif - - /* copy L to R when no PS is used */ - #if (defined(PS_DEC) || defined(DRM_PS)) -- if ((hDecoder->ps_used[hDecoder->fr_ch_ele] == 0)) -+ if ((hDecoder->ps_used[hDecoder->fr_ch_ele] == 0) && (output_channels == 2)) - { - uint8_t ele = hDecoder->fr_ch_ele; - uint8_t ch = sce->channel; -@@ -1040,6 +1008,7 @@ - memcpy(hDecoder->time_out[ch+1], hDecoder->time_out[ch], frame_size); - } - #endif -+#endif - - return 0; - } |