annotate libfaad2/local_changes.diff @ 32334:541a774ce8e4

Drop removal of AAC encoder from list of FFmpeg encoders. The original reason to drop this particular encoder, that it failed to build on many platforms, should no longer be the case.
author diego
date Fri, 01 Oct 2010 16:04:43 +0000
parents 667186dcadbf
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
18141
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
1 --- libfaad2.orig/bits.h 2006-03-16 20:15:04.000000000 +0100
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
2 +++ libfaad2/bits.h 2006-03-16 20:37:21.000000000 +0100
14858
cc0c5443548d cosmetics: Make diff -R apply without offsets.
diego
parents: 14712
diff changeset
3 @@ -58,7 +61,7 @@
32250
1c6faa339f96 Restore trailing whitespace in local diff file.
diego
parents: 29401
diff changeset
4
14712
ca694d6b5375 MPlayer-specific changes to libfaad
diego
parents:
diff changeset
5 #if defined (_WIN32) && !defined(_WIN32_WCE) && !defined(__MINGW32__)
ca694d6b5375 MPlayer-specific changes to libfaad
diego
parents:
diff changeset
6 #define BSWAP(a) __asm mov eax,a __asm bswap eax __asm mov a, eax
ca694d6b5375 MPlayer-specific changes to libfaad
diego
parents:
diff changeset
7 -#elif defined(LINUX) || defined(DJGPP) || defined(__MINGW32__)
ca694d6b5375 MPlayer-specific changes to libfaad
diego
parents:
diff changeset
8 +#elif defined(LINUX) || defined(DJGPP)
ca694d6b5375 MPlayer-specific changes to libfaad
diego
parents:
diff changeset
9 #define BSWAP(a) __asm__ ( "bswapl %0\n" : "=r" (a) : "0" (a) )
ca694d6b5375 MPlayer-specific changes to libfaad
diego
parents:
diff changeset
10 #else
ca694d6b5375 MPlayer-specific changes to libfaad
diego
parents:
diff changeset
11 #define BSWAP(a) \
18141
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
12 --- libfaad2.orig/common.h 2006-03-16 20:15:04.000000000 +0100
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
13 +++ libfaad2/common.h 2006-03-16 20:56:56.000000000 +0100
29400
0446f018f9fc Make diff apply cleanly to our tree again.
diego
parents: 29264
diff changeset
14 @@ -32,8 +37,13 @@
32250
1c6faa339f96 Restore trailing whitespace in local diff file.
diego
parents: 29401
diff changeset
15
24023
1ac62a61ea56 Move some more compiler flags to configure.
diego
parents: 24011
diff changeset
16 #ifdef HAVE_CONFIG_H
1ac62a61ea56 Move some more compiler flags to configure.
diego
parents: 24011
diff changeset
17 # include "../config.h"
14712
ca694d6b5375 MPlayer-specific changes to libfaad
diego
parents:
diff changeset
18 #endif
24023
1ac62a61ea56 Move some more compiler flags to configure.
diego
parents: 24011
diff changeset
19 +
14712
ca694d6b5375 MPlayer-specific changes to libfaad
diego
parents:
diff changeset
20 +/* Allow build on Cygwin*/
ca694d6b5375 MPlayer-specific changes to libfaad
diego
parents:
diff changeset
21 +#if defined(__CYGWIN__)
ca694d6b5375 MPlayer-specific changes to libfaad
diego
parents:
diff changeset
22 +#define __STRICT_ANSI__
24023
1ac62a61ea56 Move some more compiler flags to configure.
diego
parents: 24011
diff changeset
23 +#endif
32250
1c6faa339f96 Restore trailing whitespace in local diff file.
diego
parents: 29401
diff changeset
24
14712
ca694d6b5375 MPlayer-specific changes to libfaad
diego
parents:
diff changeset
25 #define INLINE __inline
ca694d6b5375 MPlayer-specific changes to libfaad
diego
parents:
diff changeset
26 #if 0 //defined(_WIN32) && !defined(_WIN32_WCE)
ca694d6b5375 MPlayer-specific changes to libfaad
diego
parents:
diff changeset
27 #define ALIGN __declspec(align(16))
29400
0446f018f9fc Make diff apply cleanly to our tree again.
diego
parents: 29264
diff changeset
28 @@ -61,7 +69,7 @@
16249
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
29 /* Use if target platform has address generators with autoincrement */
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
30 //#define PREFER_POINTERS
32250
1c6faa339f96 Restore trailing whitespace in local diff file.
diego
parents: 29401
diff changeset
31
16249
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
32 -#ifdef _WIN32_WCE
28578
8c9ed8e6fc99 Use fixed-point implementation on avr32.
diego
parents: 28336
diff changeset
33 +#if defined(_WIN32_WCE) || defined(__arm__) || defined(__avr32__)
16249
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
34 #define FIXED_POINT
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
35 #endif
32250
1c6faa339f96 Restore trailing whitespace in local diff file.
diego
parents: 29401
diff changeset
36
29400
0446f018f9fc Make diff apply cleanly to our tree again.
diego
parents: 29264
diff changeset
37 @@ -117,6 +125,9 @@
14712
ca694d6b5375 MPlayer-specific changes to libfaad
diego
parents:
diff changeset
38 # ifdef MAIN_DEC
ca694d6b5375 MPlayer-specific changes to libfaad
diego
parents:
diff changeset
39 # undef MAIN_DEC
ca694d6b5375 MPlayer-specific changes to libfaad
diego
parents:
diff changeset
40 # endif
ca694d6b5375 MPlayer-specific changes to libfaad
diego
parents:
diff changeset
41 +# ifdef SBR_DEC
ca694d6b5375 MPlayer-specific changes to libfaad
diego
parents:
diff changeset
42 +# undef SBR_DEC
ca694d6b5375 MPlayer-specific changes to libfaad
diego
parents:
diff changeset
43 +# endif
ca694d6b5375 MPlayer-specific changes to libfaad
diego
parents:
diff changeset
44 #endif // FIXED_POINT
32250
1c6faa339f96 Restore trailing whitespace in local diff file.
diego
parents: 29401
diff changeset
45
14712
ca694d6b5375 MPlayer-specific changes to libfaad
diego
parents:
diff changeset
46 #ifdef DRM
29400
0446f018f9fc Make diff apply cleanly to our tree again.
diego
parents: 29264
diff changeset
47 @@ -151,6 +162,7 @@
32250
1c6faa339f96 Restore trailing whitespace in local diff file.
diego
parents: 29401
diff changeset
48
14712
ca694d6b5375 MPlayer-specific changes to libfaad
diego
parents:
diff changeset
49 #include <stdlib.h>
32250
1c6faa339f96 Restore trailing whitespace in local diff file.
diego
parents: 29401
diff changeset
50
14712
ca694d6b5375 MPlayer-specific changes to libfaad
diego
parents:
diff changeset
51 +#if 0
ca694d6b5375 MPlayer-specific changes to libfaad
diego
parents:
diff changeset
52 typedef unsigned __int64 uint64_t;
ca694d6b5375 MPlayer-specific changes to libfaad
diego
parents:
diff changeset
53 typedef unsigned __int32 uint32_t;
ca694d6b5375 MPlayer-specific changes to libfaad
diego
parents:
diff changeset
54 typedef unsigned __int16 uint16_t;
32298
a99c12cf3baa cosmetics: Make diff apply cleanly.
diego
parents: 32259
diff changeset
55 @@ -159,6 +171,10 @@
14712
ca694d6b5375 MPlayer-specific changes to libfaad
diego
parents:
diff changeset
56 typedef __int32 int32_t;
ca694d6b5375 MPlayer-specific changes to libfaad
diego
parents:
diff changeset
57 typedef __int16 int16_t;
ca694d6b5375 MPlayer-specific changes to libfaad
diego
parents:
diff changeset
58 typedef __int8 int8_t;
ca694d6b5375 MPlayer-specific changes to libfaad
diego
parents:
diff changeset
59 +#else
ca694d6b5375 MPlayer-specific changes to libfaad
diego
parents:
diff changeset
60 +#include <inttypes.h>
ca694d6b5375 MPlayer-specific changes to libfaad
diego
parents:
diff changeset
61 +#endif
ca694d6b5375 MPlayer-specific changes to libfaad
diego
parents:
diff changeset
62 +
ca694d6b5375 MPlayer-specific changes to libfaad
diego
parents:
diff changeset
63 typedef float float32_t;
32250
1c6faa339f96 Restore trailing whitespace in local diff file.
diego
parents: 29401
diff changeset
64
32298
a99c12cf3baa cosmetics: Make diff apply cleanly.
diego
parents: 32259
diff changeset
65
29401
f01023c524c3 Replace WORDS_BIGENDIAN by HAVE_BIGENDIAN in all internal code.
diego
parents: 29400
diff changeset
66 @@ -245,7 +245,7 @@
f01023c524c3 Replace WORDS_BIGENDIAN by HAVE_BIGENDIAN in all internal code.
diego
parents: 29400
diff changeset
67
f01023c524c3 Replace WORDS_BIGENDIAN by HAVE_BIGENDIAN in all internal code.
diego
parents: 29400
diff changeset
68 #endif
f01023c524c3 Replace WORDS_BIGENDIAN by HAVE_BIGENDIAN in all internal code.
diego
parents: 29400
diff changeset
69
f01023c524c3 Replace WORDS_BIGENDIAN by HAVE_BIGENDIAN in all internal code.
diego
parents: 29400
diff changeset
70 -#ifdef WORDS_BIGENDIAN
f01023c524c3 Replace WORDS_BIGENDIAN by HAVE_BIGENDIAN in all internal code.
diego
parents: 29400
diff changeset
71 +#if HAVE_BIGENDIAN
f01023c524c3 Replace WORDS_BIGENDIAN by HAVE_BIGENDIAN in all internal code.
diego
parents: 29400
diff changeset
72 #define ARCH_IS_BIG_ENDIAN
f01023c524c3 Replace WORDS_BIGENDIAN by HAVE_BIGENDIAN in all internal code.
diego
parents: 29400
diff changeset
73 #endif
f01023c524c3 Replace WORDS_BIGENDIAN by HAVE_BIGENDIAN in all internal code.
diego
parents: 29400
diff changeset
74
32258
b0ca20e4b5cd Do not compile libfaad2's lrintf() implementation if __STDC_VERSION__ is set.
diego
parents: 32251
diff changeset
75 @@ -317,7 +317,7 @@
b0ca20e4b5cd Do not compile libfaad2's lrintf() implementation if __STDC_VERSION__ is set.
diego
parents: 32251
diff changeset
76 }
b0ca20e4b5cd Do not compile libfaad2's lrintf() implementation if __STDC_VERSION__ is set.
diego
parents: 32251
diff changeset
77 return i;
b0ca20e4b5cd Do not compile libfaad2's lrintf() implementation if __STDC_VERSION__ is set.
diego
parents: 32251
diff changeset
78 }
b0ca20e4b5cd Do not compile libfaad2's lrintf() implementation if __STDC_VERSION__ is set.
diego
parents: 32251
diff changeset
79 - #elif (defined(__i386__) && defined(__GNUC__))
32305
667186dcadbf Fix condition for compiling lrintf, fixes compilation on cygwin/MinGW.
reimar
parents: 32299
diff changeset
80 + #elif (defined(__i386__) && defined(__GNUC__)) && __STDC_VERSION__ < 199901L
32258
b0ca20e4b5cd Do not compile libfaad2's lrintf() implementation if __STDC_VERSION__ is set.
diego
parents: 32251
diff changeset
81 #define HAS_LRINTF
b0ca20e4b5cd Do not compile libfaad2's lrintf() implementation if __STDC_VERSION__ is set.
diego
parents: 32251
diff changeset
82 // from http://www.stereopsis.com/FPU.html
b0ca20e4b5cd Do not compile libfaad2's lrintf() implementation if __STDC_VERSION__ is set.
diego
parents: 32251
diff changeset
83 static INLINE int lrintf(float f)
32298
a99c12cf3baa cosmetics: Make diff apply cleanly.
diego
parents: 32259
diff changeset
84 @@ -330,6 +346,8 @@
32250
1c6faa339f96 Restore trailing whitespace in local diff file.
diego
parents: 29401
diff changeset
85
14712
ca694d6b5375 MPlayer-specific changes to libfaad
diego
parents:
diff changeset
86 #else
32250
1c6faa339f96 Restore trailing whitespace in local diff file.
diego
parents: 29401
diff changeset
87
14712
ca694d6b5375 MPlayer-specific changes to libfaad
diego
parents:
diff changeset
88 +#include <math.h>
ca694d6b5375 MPlayer-specific changes to libfaad
diego
parents:
diff changeset
89 +
32251
33cd24340f36 Remove local HAVE_LRINTF hack; it should no longer be necessary.
diego
parents: 32250
diff changeset
90 #ifdef HAVE_LRINTF
14712
ca694d6b5375 MPlayer-specific changes to libfaad
diego
parents:
diff changeset
91 # define HAS_LRINTF
32298
a99c12cf3baa cosmetics: Make diff apply cleanly.
diego
parents: 32259
diff changeset
92 # define _ISOC9X_SOURCE 1
29400
0446f018f9fc Make diff apply cleanly to our tree again.
diego
parents: 29264
diff changeset
93 @@ -338,8 +356,6 @@
14712
ca694d6b5375 MPlayer-specific changes to libfaad
diego
parents:
diff changeset
94 # define __USE_ISOC99 1
ca694d6b5375 MPlayer-specific changes to libfaad
diego
parents:
diff changeset
95 #endif
32250
1c6faa339f96 Restore trailing whitespace in local diff file.
diego
parents: 29401
diff changeset
96
14712
ca694d6b5375 MPlayer-specific changes to libfaad
diego
parents:
diff changeset
97 - #include <math.h>
ca694d6b5375 MPlayer-specific changes to libfaad
diego
parents:
diff changeset
98 -
ca694d6b5375 MPlayer-specific changes to libfaad
diego
parents:
diff changeset
99 #ifdef HAVE_SINF
ca694d6b5375 MPlayer-specific changes to libfaad
diego
parents:
diff changeset
100 # define sin sinf
ca694d6b5375 MPlayer-specific changes to libfaad
diego
parents:
diff changeset
101 #error
18141
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
102 --- libfaad2.orig/output.c 2006-03-16 20:15:04.000000000 +0100
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
103 +++ libfaad2/output.c 2006-04-18 19:50:26.000000000 +0200
32259
3a4e51bbca62 Mark output_to_PCM_sux as static, it is not used outside of the file; fixes:
diego
parents: 32258
diff changeset
104 @@ -463,9 +462,9 @@
16249
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
105 }
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
106 }
32250
1c6faa339f96 Restore trailing whitespace in local diff file.
diego
parents: 29401
diff changeset
107
16249
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
108 -void* output_to_PCM(NeAACDecHandle hDecoder,
32259
3a4e51bbca62 Mark output_to_PCM_sux as static, it is not used outside of the file; fixes:
diego
parents: 32258
diff changeset
109 - real_t **input, void *sample_buffer, uint8_t channels,
3a4e51bbca62 Mark output_to_PCM_sux as static, it is not used outside of the file; fixes:
diego
parents: 32258
diff changeset
110 - uint16_t frame_len, uint8_t format)
3a4e51bbca62 Mark output_to_PCM_sux as static, it is not used outside of the file; fixes:
diego
parents: 32258
diff changeset
111 +static void* output_to_PCM_sux(NeAACDecHandle hDecoder,
3a4e51bbca62 Mark output_to_PCM_sux as static, it is not used outside of the file; fixes:
diego
parents: 32258
diff changeset
112 + real_t **input, void *sample_buffer, uint8_t channels,
3a4e51bbca62 Mark output_to_PCM_sux as static, it is not used outside of the file; fixes:
diego
parents: 32258
diff changeset
113 + uint16_t frame_len, uint8_t format)
16249
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
114 {
32259
3a4e51bbca62 Mark output_to_PCM_sux as static, it is not used outside of the file; fixes:
diego
parents: 32258
diff changeset
115 uint8_t ch;
3a4e51bbca62 Mark output_to_PCM_sux as static, it is not used outside of the file; fixes:
diego
parents: 32258
diff changeset
116 uint16_t i;
18141
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
117 @@ -554,4 +553,51 @@
16249
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
118 return sample_buffer;
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
119 }
32250
1c6faa339f96 Restore trailing whitespace in local diff file.
diego
parents: 29401
diff changeset
120
16249
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
121 +void* output_to_PCM(NeAACDecHandle hDecoder,
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
122 + real_t **input, void *sample_buffer, uint8_t channels,
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
123 + uint16_t frame_len, uint8_t format)
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
124 +{
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
125 + int ch;
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
126 + int i;
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
127 + int16_t *short_sample_buffer = (int16_t*)sample_buffer;
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
128 + real_t *ch0 = input[hDecoder->internal_channel[0]];
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
129 + real_t *ch1 = input[hDecoder->internal_channel[1]];
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
130 + real_t *ch2 = input[hDecoder->internal_channel[2]];
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
131 + real_t *ch3 = input[hDecoder->internal_channel[3]];
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
132 + real_t *ch4 = input[hDecoder->internal_channel[4]];
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
133 +
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
134 + if (format != FAAD_FMT_16BIT)
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
135 + return output_to_PCM_sux(hDecoder, input, sample_buffer, channels, frame_len, format);
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
136 +
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
137 + if (hDecoder->downMatrix) {
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
138 + for(i = 0; i < frame_len; i++)
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
139 + {
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
140 + int32_t tmp;
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
141 + tmp = (ch1[i] + ((ch0[i]+ch3[i])>>1) + ((ch0[i]+ch3[i])>>2) + (1<<(REAL_BITS))) >> (REAL_BITS+1);
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
142 + if ((tmp+0x8000) & ~0xffff) tmp = ~(tmp>>31)-0x8000;
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
143 + short_sample_buffer[0] = tmp;
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
144 + tmp = (ch2[i] + ((ch0[i]+ch4[i])>>1) + ((ch0[i]+ch4[i])>>2) + (1<<(REAL_BITS))) >> (REAL_BITS+1);
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
145 + if ((tmp+0x8000) & ~0xffff) tmp = ~(tmp>>31)-0x8000;
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
146 + short_sample_buffer[1] = tmp;
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
147 + short_sample_buffer += channels;
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
148 + }
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
149 + return sample_buffer;
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
150 + }
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
151 +
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
152 + /* Copy output to a standard PCM buffer */
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
153 + for(i = 0; i < frame_len; i++)
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
154 + {
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
155 + for (ch = 0; ch < channels; ch++)
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
156 + {
18141
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
157 + int32_t tmp = input[hDecoder->internal_channel[ch]][i];
16249
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
158 + tmp += (1 << (REAL_BITS-1));
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
159 + tmp >>= REAL_BITS;
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
160 + if ((tmp+0x8000) & ~0xffff) tmp = ~(tmp>>31)-0x8000;
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
161 + *(short_sample_buffer++) = tmp;
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
162 + }
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
163 + }
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
164 +
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
165 + return sample_buffer;
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
166 +}
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
167 +
d47cd711f617 Update for latest changes.
diego
parents: 14858
diff changeset
168 #endif
18141
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
169 --- libfaad2.orig/ps_dec.c 2006-03-16 20:15:04.000000000 +0100
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
170 +++ libfaad2/ps_dec.c 2006-04-18 20:29:38.000000000 +0200
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
171 @@ -159,7 +162,7 @@
32250
1c6faa339f96 Restore trailing whitespace in local diff file.
diego
parents: 29401
diff changeset
172
18141
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
173 /* static function declarations */
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
174 static void ps_data_decode(ps_info *ps);
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
175 -static hyb_info *hybrid_init();
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
176 +static hyb_info *hybrid_init(void);
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
177 static void channel_filter2(hyb_info *hyb, uint8_t frame_len, const real_t *filter,
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
178 qmf_t *buffer, qmf_t **X_hybrid);
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
179 static void INLINE DCT3_4_unscaled(real_t *y, real_t *x);
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
180 @@ -189,7 +192,7 @@
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
181 /* */
32250
1c6faa339f96 Restore trailing whitespace in local diff file.
diego
parents: 29401
diff changeset
182
1c6faa339f96 Restore trailing whitespace in local diff file.
diego
parents: 29401
diff changeset
183
18141
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
184 -static hyb_info *hybrid_init()
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
185 +static hyb_info *hybrid_init(void)
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
186 {
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
187 uint8_t i;
32250
1c6faa339f96 Restore trailing whitespace in local diff file.
diego
parents: 29401
diff changeset
188
18141
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
189 @@ -1935,8 +1938,8 @@
17136
d89bfef62e03 add my fix to ps_dec.c to our diff
rathann
parents: 16249
diff changeset
190 /* main Parametric Stereo decoding function */
d89bfef62e03 add my fix to ps_dec.c to our diff
rathann
parents: 16249
diff changeset
191 uint8_t ps_decode(ps_info *ps, qmf_t X_left[38][64], qmf_t X_right[38][64])
d89bfef62e03 add my fix to ps_dec.c to our diff
rathann
parents: 16249
diff changeset
192 {
d89bfef62e03 add my fix to ps_dec.c to our diff
rathann
parents: 16249
diff changeset
193 - qmf_t X_hybrid_left[32][32] = {{0}};
d89bfef62e03 add my fix to ps_dec.c to our diff
rathann
parents: 16249
diff changeset
194 - qmf_t X_hybrid_right[32][32] = {{0}};
d89bfef62e03 add my fix to ps_dec.c to our diff
rathann
parents: 16249
diff changeset
195 + qmf_t X_hybrid_left[32][32] = {{{0}}};
d89bfef62e03 add my fix to ps_dec.c to our diff
rathann
parents: 16249
diff changeset
196 + qmf_t X_hybrid_right[32][32] = {{{0}}};
32250
1c6faa339f96 Restore trailing whitespace in local diff file.
diego
parents: 29401
diff changeset
197
17136
d89bfef62e03 add my fix to ps_dec.c to our diff
rathann
parents: 16249
diff changeset
198 /* delta decoding of the bitstream data */
d89bfef62e03 add my fix to ps_dec.c to our diff
rathann
parents: 16249
diff changeset
199 ps_data_decode(ps);
18141
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
200 --- libfaad2.orig/sbr_dec.c 2006-03-16 20:15:04.000000000 +0100
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
201 +++ libfaad2/sbr_dec.c 2006-04-18 20:33:57.000000000 +0200
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
202 @@ -526,8 +529,8 @@
17137
5234ca38792e add fix for sbr_dec.c to local diff, too
rathann
parents: 17136
diff changeset
203 uint8_t l, k;
5234ca38792e add fix for sbr_dec.c to local diff, too
rathann
parents: 17136
diff changeset
204 uint8_t dont_process = 0;
5234ca38792e add fix for sbr_dec.c to local diff, too
rathann
parents: 17136
diff changeset
205 uint8_t ret = 0;
5234ca38792e add fix for sbr_dec.c to local diff, too
rathann
parents: 17136
diff changeset
206 - ALIGN qmf_t X_left[38][64] = {{0}};
5234ca38792e add fix for sbr_dec.c to local diff, too
rathann
parents: 17136
diff changeset
207 - ALIGN qmf_t X_right[38][64] = {{0}}; /* must set this to 0 */
5234ca38792e add fix for sbr_dec.c to local diff, too
rathann
parents: 17136
diff changeset
208 + ALIGN qmf_t X_left[38][64] = {{{0}}};
5234ca38792e add fix for sbr_dec.c to local diff, too
rathann
parents: 17136
diff changeset
209 + ALIGN qmf_t X_right[38][64] = {{{0}}}; /* must set this to 0 */
32250
1c6faa339f96 Restore trailing whitespace in local diff file.
diego
parents: 29401
diff changeset
210
17137
5234ca38792e add fix for sbr_dec.c to local diff, too
rathann
parents: 17136
diff changeset
211 if (sbr == NULL)
5234ca38792e add fix for sbr_dec.c to local diff, too
rathann
parents: 17136
diff changeset
212 return 20;
18141
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
213 --- libfaad2.orig/specrec.c 2006-03-16 20:15:04.000000000 +0100
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
214 +++ libfaad2/specrec.c 2006-04-18 20:38:09.000000000 +0200
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
215 @@ -673,29 +673,19 @@
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
216 /* MAIN object type prediction */
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
217 if (hDecoder->object_type == MAIN)
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
218 {
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
219 - /* allocate the state only when needed */
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
220 - if (hDecoder->pred_stat[channel] == NULL)
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
221 - {
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
222 - hDecoder->pred_stat[channel] = (pred_state*)faad_malloc(hDecoder->frameLength * sizeof(pred_state));
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
223 + hDecoder->pred_stat[channel] = (pred_state*)realloc(hDecoder->pred_stat[channel], hDecoder->frameLength * sizeof(pred_state));
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
224 reset_all_predictors(hDecoder->pred_stat[channel], hDecoder->frameLength);
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
225 - }
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
226 }
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
227 #endif
32250
1c6faa339f96 Restore trailing whitespace in local diff file.
diego
parents: 29401
diff changeset
228
18141
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
229 #ifdef LTP_DEC
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
230 if (is_ltp_ot(hDecoder->object_type))
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
231 {
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
232 - /* allocate the state only when needed */
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
233 - if (hDecoder->lt_pred_stat[channel] == NULL)
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
234 - {
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
235 - hDecoder->lt_pred_stat[channel] = (int16_t*)faad_malloc(hDecoder->frameLength*4 * sizeof(int16_t));
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
236 + hDecoder->lt_pred_stat[channel] = (int16_t*)realloc(hDecoder->lt_pred_stat[channel], hDecoder->frameLength*4 * sizeof(int16_t));
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
237 memset(hDecoder->lt_pred_stat[channel], 0, hDecoder->frameLength*4 * sizeof(int16_t));
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
238 - }
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
239 }
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
240 #endif
32250
1c6faa339f96 Restore trailing whitespace in local diff file.
diego
parents: 29401
diff changeset
241
18141
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
242 - if (hDecoder->time_out[channel] == NULL)
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
243 - {
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
244 mul = 1;
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
245 #ifdef SBR_DEC
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
246 hDecoder->sbr_alloced[hDecoder->fr_ch_ele] = 0;
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
247 @@ -706,41 +696,28 @@
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
248 hDecoder->sbr_alloced[hDecoder->fr_ch_ele] = 1;
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
249 }
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
250 #endif
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
251 - hDecoder->time_out[channel] = (real_t*)faad_malloc(mul*hDecoder->frameLength*sizeof(real_t));
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
252 + hDecoder->time_out[channel] = (real_t*)realloc(hDecoder->time_out[channel], mul*hDecoder->frameLength*sizeof(real_t));
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
253 memset(hDecoder->time_out[channel], 0, mul*hDecoder->frameLength*sizeof(real_t));
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
254 - }
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
255 #if (defined(PS_DEC) || defined(DRM_PS))
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
256 if (output_channels == 2)
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
257 {
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
258 - if (hDecoder->time_out[channel+1] == NULL)
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
259 - {
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
260 - hDecoder->time_out[channel+1] = (real_t*)faad_malloc(mul*hDecoder->frameLength*sizeof(real_t));
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
261 + hDecoder->time_out[channel+1] = (real_t*)realloc(hDecoder->time_out[channel+1], mul*hDecoder->frameLength*sizeof(real_t));
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
262 memset(hDecoder->time_out[channel+1], 0, mul*hDecoder->frameLength*sizeof(real_t));
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
263 - }
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
264 }
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
265 #endif
32250
1c6faa339f96 Restore trailing whitespace in local diff file.
diego
parents: 29401
diff changeset
266
18141
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
267 - if (hDecoder->fb_intermed[channel] == NULL)
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
268 - {
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
269 - hDecoder->fb_intermed[channel] = (real_t*)faad_malloc(hDecoder->frameLength*sizeof(real_t));
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
270 + hDecoder->fb_intermed[channel] = (real_t*)realloc(hDecoder->fb_intermed[channel], hDecoder->frameLength*sizeof(real_t));
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
271 memset(hDecoder->fb_intermed[channel], 0, hDecoder->frameLength*sizeof(real_t));
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
272 - }
32250
1c6faa339f96 Restore trailing whitespace in local diff file.
diego
parents: 29401
diff changeset
273
18141
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
274 #ifdef SSR_DEC
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
275 if (hDecoder->object_type == SSR)
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
276 {
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
277 - if (hDecoder->ssr_overlap[channel] == NULL)
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
278 - {
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
279 - hDecoder->ssr_overlap[channel] = (real_t*)faad_malloc(2*hDecoder->frameLength*sizeof(real_t));
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
280 - memset(hDecoder->ssr_overlap[channel], 0, 2*hDecoder->frameLength*sizeof(real_t));
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
281 - }
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
282 - if (hDecoder->prev_fmd[channel] == NULL)
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
283 - {
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
284 uint16_t k;
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
285 - hDecoder->prev_fmd[channel] = (real_t*)faad_malloc(2*hDecoder->frameLength*sizeof(real_t));
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
286 + hDecoder->ssr_overlap[channel] = (real_t*)realloc(hDecoder->ssr_overlap[channel], 2*hDecoder->frameLength*sizeof(real_t));
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
287 + memset(hDecoder->ssr_overlap[channel], 0, 2*hDecoder->frameLength*sizeof(real_t));
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
288 + hDecoder->prev_fmd[channel] = (real_t*)realloc(hDecoder->prev_fmd[channel], 2*hDecoder->frameLength*sizeof(real_t));
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
289 for (k = 0; k < 2*hDecoder->frameLength; k++)
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
290 hDecoder->prev_fmd[channel][k] = REAL_CONST(-1);
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
291 - }
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
292 }
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
293 #endif
32250
1c6faa339f96 Restore trailing whitespace in local diff file.
diego
parents: 29401
diff changeset
294
28722
5f24919c13ef Fix a possible NULL-pointer crash introduced by local changes to libfaad2
reimar
parents: 28578
diff changeset
295 @@ -865,22 +842,14 @@
32250
1c6faa339f96 Restore trailing whitespace in local diff file.
diego
parents: 29401
diff changeset
296
18141
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
297 /* always allocate 2 channels, PS can always "suddenly" turn up */
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
298 #if (defined(PS_DEC) || defined(DRM_PS))
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
299 - output_channels = 2;
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
300 + output_channels = hDecoder->ps_used[hDecoder->fr_ch_ele] ? 2 : 1;
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
301 #else
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
302 output_channels = 1;
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
303 #endif
32250
1c6faa339f96 Restore trailing whitespace in local diff file.
diego
parents: 29401
diff changeset
304
18141
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
305 - if (hDecoder->element_output_channels[hDecoder->fr_ch_ele] == 0)
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
306 - {
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
307 - /* element_output_channels not set yet */
28722
5f24919c13ef Fix a possible NULL-pointer crash introduced by local changes to libfaad2
reimar
parents: 28578
diff changeset
308 + if (hDecoder->element_alloced[hDecoder->fr_ch_ele] == 0 ||
5f24919c13ef Fix a possible NULL-pointer crash introduced by local changes to libfaad2
reimar
parents: 28578
diff changeset
309 + hDecoder->element_output_channels[hDecoder->fr_ch_ele] < output_channels) {
18141
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
310 hDecoder->element_output_channels[hDecoder->fr_ch_ele] = output_channels;
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
311 - } else if (hDecoder->element_output_channels[hDecoder->fr_ch_ele] != output_channels) {
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
312 - /* element inconsistency */
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
313 - return 21;
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
314 - }
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
315 -
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
316 - if (hDecoder->element_alloced[hDecoder->fr_ch_ele] == 0)
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
317 - {
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
318 retval = allocate_single_channel(hDecoder, sce->channel, output_channels);
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
319 if (retval > 0)
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
320 return retval;
29400
0446f018f9fc Make diff apply cleanly to our tree again.
diego
parents: 29264
diff changeset
321 @@ -1026,11 +995,10 @@
18141
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
322 {
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
323 return 23;
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
324 }
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
325 -#endif
32250
1c6faa339f96 Restore trailing whitespace in local diff file.
diego
parents: 29401
diff changeset
326
18141
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
327 /* copy L to R when no PS is used */
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
328 #if (defined(PS_DEC) || defined(DRM_PS))
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
329 - if ((hDecoder->ps_used[hDecoder->fr_ch_ele] == 0))
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
330 + if ((hDecoder->ps_used[hDecoder->fr_ch_ele] == 0) && (output_channels == 2))
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
331 {
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
332 uint8_t ele = hDecoder->fr_ch_ele;
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
333 uint8_t ch = sce->channel;
29400
0446f018f9fc Make diff apply cleanly to our tree again.
diego
parents: 29264
diff changeset
334 @@ -1040,6 +1008,7 @@
18141
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
335 memcpy(hDecoder->time_out[ch+1], hDecoder->time_out[ch], frame_size);
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
336 }
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
337 #endif
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
338 +#endif
32250
1c6faa339f96 Restore trailing whitespace in local diff file.
diego
parents: 29401
diff changeset
339
18141
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
340 return 0;
59b6fa5b4201 Update to faad2 cvs 20040915+MPlayer fixes
rtognimp
parents: 17181
diff changeset
341 }