OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [tags/] [first/] [mp3/] [sw/] [mad-xess/] [CHANGES] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 266 lampret
 
2
 mad - MPEG audio decoder
3
 Copyright (C) 2000-2001 Robert Leslie
4
 
5
 $Id: CHANGES,v 1.1.1.1 2001-11-04 19:00:18 lampret Exp $
6
 
7
===============================================================================
8
 
9
Version 0.13.0 (beta)
10
 
11
  * The last complete audio frame should now be properly decoded even when
12
    it is not followed by other data [fixed in both `madplay' and the
13
    plug-in for Winamp.]
14
 
15
  * The plug-in for Winamp now reads Xing VBR headers for fast length
16
    calculation.
17
 
18
  * The plug-in for Winamp should now display visuals correctly for 24- and
19
    32-bit output.
20
 
21
  * Ancillary data is now properly extracted from Layer III streams.
22
 
23
  * Rewrote the Layer III joint stereo decoding routine to correct a major
24
    MPEG-2 problem and a minor MPEG-1 problem decoding intensity stereo.
25
 
26
  * Eliminated the dependency on sign-extending right shifts for Layer I and
27
    Layer II.
28
 
29
  * Renamed `private' field to `private_bits' for better C++ compatibility.
30
 
31
  * Gratuitously renamed `sfreq' field to `samplerate' and
32
    MAD_ERROR_BADSAMPLEFREQ constant to MAD_ERROR_BADSAMPLERATE.
33
 
34
  * Added `samplerate' and `channels' fields to synth.pcm struct to allow
35
    these to be different from the decoded frame, and for simpler access.
36
 
37
  * Added new mad_stream_options() and mad_decoder_options() API entries for
38
    special runtime decoding options.
39
 
40
  * Added new MAD_OPTION_IGNORECRC and MAD_OPTION_HALFSAMPLERATE options.
41
 
42
  * Added new --downsample option to `madplay'.
43
 
44
  * Added new MAD_FLAG_FREEFORMAT indicator flag.
45
 
46
  * Fixed some bugs in the async decoder.
47
 
48
  * Added a new mad_timer_multiply() API routine.
49
 
50
  * Eliminated `+' from asm constraints under Intel for better compatibility
51
    with some compilers.
52
 
53
  * Fixed a PIC-related problem in libmad/imdct_l_arm.S.
54
 
55
  * Eliminated a static variable to make libmad thread-safe.
56
 
57
Version 0.12.5 (beta)
58
 
59
  * Modified Layer III requantization to occur during Huffman decoding for
60
    significant performance gains.
61
 
62
  * Optimized short block IMDCT by eliminating redundant calculations.
63
 
64
  * Made several other Layer III performance improvements; added
65
    ASO_INTERLEAVE1, ASO_INTERLEAVE2, and ASO_ZEROCHECK
66
    architecture-specific options for best performance on various
67
    architectures.
68
 
69
  * Optimized synthesis DCT to store result values as soon as they are
70
    calculated.
71
 
72
Version 0.12.4 (beta)
73
 
74
  * New PowerPC fixed-point assembly courtesy of David Blythe.
75
 
76
  * Reorganized fixed-point assembly routines for easier maintenance and
77
    better performance.
78
 
79
  * Improved performance of subband synthesis through better indexing and
80
    fewer local variables.
81
 
82
  * Added alias reduction for the lower two subbands of mixed short blocks,
83
    per a report of ambiguity with ISO/IEC 11172-3 and for uniformity with
84
    most other implementations. Also improved alias reduction performance
85
    using multiply/accumulate.
86
 
87
  * Added --enable-strict-iso option to `configure' to override best
88
    accepted practices such as the alias reduction for mixed short blocks.
89
 
90
  * Improved performance of Layer III IMDCT by using longer
91
    multiply/accumulate runs where possible.
92
 
93
Version 0.12.3 (beta)
94
 
95
  * Added MPEG 2.5 support.
96
 
97
  * Added preliminary support for parameterizing the binary point position in
98
    the fixed-point representation.
99
 
100
  * Added calls to madvise() on supported systems to reduce memory overhead
101
    when using mmap().
102
 
103
  * Added support for automatic mono/stereo channel selection based on output
104
    capability.
105
 
106
  * Added a new option to force stereo output of single or dual channel
107
    streams.
108
 
109
  * Added a new option to amplify/attenuate the output signal by an amount
110
    expressed in decibels.
111
 
112
  * Output statistics (peak amplitude, clipped samples) are now gathered and
113
    displayed after decoding.
114
 
115
  * Added multiply/accumulate optimization to the Layer III IMDCT for long
116
    blocks.
117
 
118
  * Fixed a bug in the handling of Layer III mixed_block_flag.
119
 
120
  * Many Winamp plug-in enhancements.
121
 
122
  * Fixed a problem calling setlocale() when NLS is disabled.
123
 
124
  * Fixed a configure problem when multiple -O CFLAGS are present.
125
 
126
Version 0.12.2 (beta)
127
 
128
  * Rearranged the synthesis polyphase filterbank memory vector for better
129
    locality of reference, and rewrote mad_synth_frame() to accommodate,
130
    resulting in improved performance.
131
 
132
  * Discovered a combination of compiler optimization flags that further
133
    improve performance.
134
 
135
  * Changed some array references in layer3.c to pointer derefs.
136
 
137
  * Fixed another FreeBSD sound compatibility problem in audio_oss.c.
138
 
139
Version 0.12.1 (beta)
140
 
141
  * New code for a Winamp plug-in.
142
 
143
  * Resolved the intensity + MS joint stereo issue (a simple bug).
144
    OPT_ISKLUGE is no longer considered to be a kluge.
145
 
146
  * Fixed another, hopefully last main_data memory bug.
147
 
148
  * Split part of struct mad_frame into struct mad_header for convenience
149
    and size.
150
 
151
  * Rewrote the audio PCM packing routines for (hopefully) somewhat better
152
    performance.
153
 
154
  * Fixed a FreeBSD sound compatibility problem in audio_oss.c with help
155
    from Graham Guttocks.
156
 
157
  * Moved ID3 genre table into a separate file (shared by Winamp plug-in)
158
    and updated extensions with current list from Winamp.
159
 
160
  * New Croatian, Norwegian, and Spanish translations courtesy of Mario
161
    Horvat, Christoffer Nicolaisen, and Damian Brizuela, respectively.
162
 
163
  * Added a simple ABX testing script.
164
 
165
Version 0.12.0 (alpha)
166
 
167
  * Changed the build environment to use automake and libtool. A libmad
168
    shared library can now be built using the --enable-shared option to
169
    `configure'.
170
 
171
  * Added internationalization support via GNU gettext. New French
172
    translation added courtesy of Gabriel Bouvigne.
173
 
174
  * Changed raw output module to use host-endian byte order.
175
 
176
  * Added --disable-mmap option to `configure' per suggestion of Erik
177
    Andersen.
178
 
179
  * Debug builds now link with -lefence, if available.
180
 
181
  * Added another callback to MAD's high-level decoder API after the frame
182
    header has been read but before the frame's audio data is decoded.
183
 
184
  * Streamlined header processing so that mad_frame_decode() can be called
185
    with or without having already called mad_frame_header().
186
 
187
  * Fixed some other header reading miscellany, including CRC handling and
188
    free bitrate detection, and frame length verification with free
189
    bitrates.
190
 
191
  * Fixed a problem with Layer III free bitrates > 320 kbps. The main_data
192
    buffer size should now be large enough to handle any size frame, by
193
    virtue of the maximum possible part2_3_length.
194
 
195
  * Further developed the async API; arbitrary messages can now be passed
196
    to the subsidiary decoding process.
197
 
198
  * Streamlined libmad/timer.c and extended its interface. It now has
199
    support for video frame/field lengths, including output support for
200
    drop-frame encoding.
201
 
202
  * Replaced many constant integer preprocessor defines with enums.
203
 
204
  * Added `madplay' support for filter chains. This could eventually be
205
    extended to support dynamically loaded filters.
206
 
207
  * Added a new optional fade-in filter.
208
 
209
  * Rewrote madplay.c to use GNU getopt, and added many new options (use
210
    `madplay --help' to see them all.)
211
 
212
  * Updated the man page for `madplay'.
213
 
214
Version 0.11.4 (beta)
215
 
216
  * Fixed free format bitrate discovery.
217
 
218
  * Added Sun/NeXT audio file output module (audio_au.c).
219
 
220
  * Added 32-bit (really 24-bit) output support to OSS module.
221
 
222
  * Changed the timer implementation and extended its interface.
223
 
224
  * Relaxed output sample frequency match requirement.
225
 
226
  * Fixed endian assumption problem in audio_sun.c.
227
 
228
  * Integrated Nicolas Pitre's patch for pre-shifting at compile-time and
229
    for better multiply/accumulate code output.
230
 
231
  * Applied Simon Burge's patch to imdct_l_arm.S for a.out compatibility.
232
 
233
  * Added -mtune=strongarm for all ARM targets.
234
 
235
Version 0.11.3 (beta)
236
 
237
  * Added new --enable-speed and --enable-accuracy options for `configure'
238
    to automatically select appropriate SSO/ASO options, et al.
239
 
240
  * Modified subband synthesis to use multiply/accumulate optimization
241
    (if available) for better speed and/or accuracy.
242
 
243
  * Incorporated Andre McCurdy's changes for further rounding optimizations
244
    in the rest of his code.
245
 
246
  * Joint stereo mode now shows LR indicator during playback.
247
 
248
Version 0.11.2 (beta)
249
 
250
  * Incorporated Nicolas Pitre's ARM assembly and parameterized scaling
251
    changes.
252
 
253
  * Incorporated Andre McCurdy's ARM assembly optimization (used only if
254
    --enable-aso is given to `configure' to enable architecture-specific
255
    optimizations.)
256
 
257
  * Reduced FPM_INTEL assembly to two instructions.
258
 
259
  * Fixed accuracy problems with certain FPM modes in synth.c.
260
 
261
  * Improved the accuracy of FPM_APPROX.
262
 
263
  * Improved the accuracy of SSO.
264
 
265
  * Added a dual channel output selection option.
266
 
267
  * Improved the OSS output module by falling back on 8-bit format if 16-bit
268
    is not available, and by using native 16-bit endianness.
269
 
270
  * PCM output is now dithered for better audio quality. A new runtime
271
    option can disable this feature.
272
 
273
  * Added a resampling feature for unsupported output sampling frequencies.
274
 
275
  * Centralized sample scaling and formatting in audio.c for the output
276
    modules.
277
 
278
  * Moved the empeg-car audio output support into a separate module.
279
 
280
  * Added bad-CRC frame muting code to madplay.c.
281
 
282
  * Improved sync discovery by checking for a sync word in the following
283
    frame.
284
 
285
  * Changed `madtime' to indicate average bitrates.
286
 
287
  * Reduced the ID3 genre table memory usage.
288
 
289
  * Minor code clean-up.
290
 
291
  * Added experimental rules for generating a libmad.so shared library.
292
 
293
Version 0.11.1 (beta)
294
 
295
  * Moved libmad code into a separate directory.
296
 
297
  * Improved the robustness of the Win32 audio output module.
298
 
299
  * Changed SSO to be disabled by default, as output accuracy is deemed to
300
    be more important than speed in the general case.
301
 
302
  * Fixed a bug in Layer III sanity checking that could cause a crash on
303
    certain random data input.
304
 
305
  * Extended the Layer III requantization table from 8191 to 8206 as some
306
    encoders are known to use these values, even though ISO/IEC 11172-3
307
    suggests the maximum should be 8191.
308
 
309
  * Added a short man page for madplay.
310
 
311
  * Wrote most of the code for madtime.
312
 
313
  * Wrote code for an experimental multi-stream mixer `madmix'
314
    (--enable-experimental to add -x option support for this to madplay).
315
 
316
Version 0.11.0 (beta)
317
 
318
  * Implemented MPEG-2 extension to Lower Sampling Frequencies.
319
 
320
  * Improved Layer III performance by avoiding IMDCT calculation when all
321
    input samples are zero.
322
 
323
  * Significantly reduced size of Layer II tables.
324
 
325
Version 0.10.3 (beta)
326
 
327
  * Improved SSO output quality.
328
 
329
  * Made portable to cygwin.
330
 
331
  * Wrote new Win32 audio interface module.
332
 
333
  * Localized memory references in III_huffdecode() for better performance.
334
 
335
Version 0.10.2 (beta)
336
 
337
  * Rewrote Layer III long block 36-point IMDCT routine for better
338
    performance.
339
 
340
  * Improved subband synthesis fixed-point games somewhat.
341
 
342
Version 0.10.1 (beta)
343
 
344
  * Added a subband synthesis optimization (SSO) which involves modifying
345
    the fixed-point multiplication method during windowing. This produces
346
    subtle differences in the output but improves performance greatly.
347
 
348
  * Added I_STEREO and MS_STEREO flags to frame struct.
349
 
350
  * Eliminated privately-used CRCFAILED flag.
351
 
352
  * Fixed a bug where Layer III decoding could crash on some badly-formatted
353
    (e.g. non-MPEG) bitstreams.
354
 
355
  * Miscellaneous code clean-up.
356
 
357
  * Running madplay with no arguments now gives usage info.
358
 
359
Version 0.10.0 (beta)
360
 
361
  * Added SPARC fixed-point math support.
362
 
363
  * Revamped libmad API for better high- and low-level support.
364
 
365
  * Documented more of the code.
366
 
367
  * Changed sync semantics such that new stream buffers are assumed to be
368
    sync-aligned.
369
 
370
  * Added framework for ID3v2 support.
371
 
372
  * Changed Layer III to dynamically allocate static memory so as not to
373
    waste it (about 6.4K) when only decoding Layer I or Layer II.
374
 
375
  * Added prefix parsing for output module selection.
376
 
377
  * Added audio_raw output module.
378
 
379
  * Rewrote madplay.c to use high-level interface.
380
 
381
Version 0.9.7 (beta)
382
 
383
  * Added audio_hex module (--enable-debugging) for PCM-level debugging.
384
 
385
  * Fixed bug in audio_sun module; should work correctly now.
386
 
387
  * Added -Q (very quiet) option to omit bitstream error messages.
388
 
389
  * Reduced -v output by eliminating timing tenths.
390
 
391
  * Fixed problem configuring unsupported sample frequencies, and added user
392
    feedback.
393
 
394
  * Enhanced final frame count reporting to include playing time.
395
 
396
  * Cleaned up madplay.c somewhat.
397
 
398
===============================================================================
399
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.