⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 changes

📁 libman mp3解码库
💻
字号:
 libmad - MPEG audio decoder library Copyright (C) 2000-2004 Underbit Technologies, Inc. $Id: CHANGES,v 1.14 2006/12/16 02:02:03 rob Exp $===============================================================================Version 0.15.1 (NXP) *  The module synth.c the functions synth_full and synth_half have been     modified to reduce the RAM memory requirement cutting the output pcm.samples     buffer. The buffer is replaced with the direct access to the audio render FIFO     declared in the module io_lpc.c. This FIFO is defined to manage only a     mono-audio signal. Because the pcm.samples[ch] buffer store 9216 bytes for a     stereo channel, this change saves 7168 bytes for the application in the case of     a mono audio signal is managed. To reach this target the order in which the     two for cycles are calculated in these functions has been swapped.  *  Because the synth.c module access directly to the audio render,     the function output in the module midmad became unnecessary,     but is still there because the presence of the output LED toggle command    TOGGLE_LIVE_LED0(). *  In the module synth.c the function mad_synth_frame has been changed     to insert the call to the  set_dac_sample_rate(synth->pcm.samplerate).     When a new output sample frequency has been detected by the MP3 decoder,     suddenly this information is sent to the audio render. *  The malloc()/free() functions in the modules decoder.c stream.c and layer3.c     have been cancelled and replaced with a reference to a static structures always     allocated in RAM memory. *  In the module midmad.c an additional mp3_play() function has been created to     hide all details (software encapsulation) of the libmad  implementation for a libmad user.Version 0.15.1 (beta)  * Updated to autoconf 2.59, automake 1.8.2, libtool 1.5.2.  * Replaced Layer III IMDCT routine with one based on a faster algorithm,    improving both speed and accuracy.  * Improved portability of the Huffman table initialization.  * Fixed a problem that could result in an assertion failure in layer3.c    due to an invalid Layer III free format bitrate.  * Improved the robustness of Layer II bitrate/mode combinations, and added    a new MAD_ERROR_BADMODE error enum. The allowability of low-bitrate    stereo streams is influenced by the --enable-strict-iso option to    `configure'.Version 0.15.0 (beta)  * Updated to autoconf 2.57, automake 1.7.5, libtool 1.4.3.  * Added new mad_f_div() API routine.  * Added a 64th entry to the Layer I/Layer II scalefactor table, for better    compatibility with existing streams. The --enable-strict-iso option to    `configure' can be used to disable use of this entry.  * Modified the header decoding routine to allow the reserved emphasis    value, for better compatibility with existing streams. The    --enable-strict-iso option to `configure' can be used to restore the    previous behavior of reporting this value as an error.  * Added new MAD_EMPHASIS_RESERVED enumeration constant.  * Fixed a bug in the ARM version of mad_f_scale64() discovered by Andre    McCurdy.  * Rewrote PowerPC assembly for minor gains.  * Modified mad_timer_fraction() to avoid the possibility of division by    zero when 0 is passed as the second argument.  * Fixed a non-fatal problem caused by attempting to designate ancillary    bits in Layer III after a decoding error.  * Changed to build a shared library by default.  * Changed to use native Cygwin build by default; give --host=mingw32 to    `configure' to use MinGW (and avoid a dependency on the Cygwin DLL).Version 0.14.2 (beta)  * Changed Cygwin builds to use MinGW; resulting Win32 executables no    longer have a dependency on Cygwin DLLs.  * Added a new mad_stream_errorstr() API function to libmad for retrieving    a string description of the current error condition.Version 0.14.1 (beta)  * Updated config.guess and config.sub to latest upstream versions.  * Enabled libtool versioning rather than release numbering.  * Improved the documentation in minimad.c.  * Several other small fixes.Version 0.14.0 (beta)  * Added a 64-bit FPM negation operation to improve performance of subband    synthesis on some platforms.  * Improved MSVC++ portability and added MSVC++ project files.  * Added rounding to Layer III requantization for slightly better accuracy.Version 0.13.0 (beta)  * Ancillary data is now properly extracted from Layer III streams.  * Rewrote the Layer III joint stereo decoding routine to correct a major    MPEG-2 problem and a minor MPEG-1 problem decoding intensity stereo.  * Eliminated the dependency on sign-extending right shifts for Layer I and    Layer II.  * Renamed `private' field to `private_bits' for better C++ compatibility.  * Gratuitously renamed `sfreq' field to `samplerate' and    MAD_ERROR_BADSAMPLEFREQ constant to MAD_ERROR_BADSAMPLERATE.  * Added `samplerate' and `channels' fields to synth.pcm struct to allow    these to be different from the decoded frame, and for simpler access.  * Added new mad_stream_options() and mad_decoder_options() API entries for    special runtime decoding options.  * Added new MAD_OPTION_IGNORECRC and MAD_OPTION_HALFSAMPLERATE options.  * Added new MAD_FLAG_FREEFORMAT indicator flag.  * Fixed some bugs in the async decoder.  * Added a new mad_timer_multiply() API routine.  * Eliminated `+' from asm constraints under Intel for better compatibility    with some compilers.  * Fixed a PIC-related problem in imdct_l_arm.S.  * Eliminated a static variable to make libmad thread-safe.Version 0.12.5 (beta)  * Modified Layer III requantization to occur during Huffman decoding for    significant performance gains.  * Optimized short block IMDCT by eliminating redundant calculations.  * Made several other Layer III performance improvements; added    ASO_INTERLEAVE1, ASO_INTERLEAVE2, and ASO_ZEROCHECK    architecture-specific options for best performance on various    architectures.  * Optimized synthesis DCT to store result values as soon as they are    calculated.Version 0.12.4 (beta)  * New PowerPC fixed-point assembly courtesy of David Blythe.  * Reorganized fixed-point assembly routines for easier maintenance and    better performance.  * Improved performance of subband synthesis through better indexing and    fewer local variables.  * Added alias reduction for the lower two subbands of mixed short blocks,    per a report of ambiguity with ISO/IEC 11172-3 and for uniformity with    most other implementations. Also improved alias reduction performance    using multiply/accumulate.  * Added --enable-strict-iso option to `configure' to override best    accepted practices such as the alias reduction for mixed short blocks.  * Improved performance of Layer III IMDCT by using longer    multiply/accumulate runs where possible.Version 0.12.3 (beta)  * Added MPEG 2.5 support.  * Added preliminary support for parameterizing the binary point position    in the fixed-point representation.  * Added multiply/accumulate optimization to the Layer III IMDCT for long    blocks.  * Fixed a bug in the handling of Layer III mixed_block_flag.  * Fixed a configure problem when multiple -O CFLAGS are present.Version 0.12.2 (beta)  * Rearranged the synthesis polyphase filterbank memory vector for better    locality of reference, and rewrote mad_synth_frame() to accommodate,    resulting in improved performance.  * Discovered a combination of compiler optimization flags that further    improve performance.  * Changed some array references in layer3.c to pointer derefs.Version 0.12.1 (beta)  * Resolved the intensity + MS joint stereo issue (a simple bug).    OPT_ISKLUGE is no longer considered to be a kluge.  * Fixed another, hopefully last main_data memory bug.  * Split part of struct mad_frame into struct mad_header for convenience    and size.Version 0.12.0 (alpha)  * Changed the build environment to use automake and libtool. A libmad    shared library can now be built using the --enable-shared option to    `configure'.  * Added another callback to MAD's high-level decoder API after the frame    header has been read but before the frame's audio data is decoded.  * Streamlined header processing so that mad_frame_decode() can be called    with or without having already called mad_frame_header().  * Fixed some other header reading miscellany, including CRC handling and    free bitrate detection, and frame length verification with free    bitrates.  * Fixed a problem with Layer III free bitrates > 320 kbps. The main_data    buffer size should now be large enough to handle any size frame, by    virtue of the maximum possible part2_3_length.  * Further developed the async API; arbitrary messages can now be passed to    the subsidiary decoding process.  * Streamlined timer.c and extended its interface. It now has support for    video frame/field lengths, including output support for drop-frame    encoding.  * Replaced many constant integer preprocessor defines with enums.Version 0.11.4 (beta)  * Fixed free format bitrate discovery.  * Changed the timer implementation and extended its interface.  * Integrated Nicolas Pitre's patch for pre-shifting at compile-time and    for better multiply/accumulate code output.  * Applied Simon Burge's patch to imdct_l_arm.S for a.out compatibility.  * Added -mtune=strongarm for all ARM targets.Version 0.11.3 (beta)  * Added new --enable-speed and --enable-accuracy options for `configure'    to automatically select appropriate SSO/ASO options, et al.  * Modified subband synthesis to use multiply/accumulate optimization (if    available) for better speed and/or accuracy.  * Incorporated Andre McCurdy's changes for further rounding optimizations    in the rest of his code.Version 0.11.2 (beta)  * Incorporated Nicolas Pitre's ARM assembly and parameterized scaling    changes.  * Incorporated Andre McCurdy's ARM assembly optimization (used only if    --enable-aso is given to `configure' to enable architecture-specific    optimizations.)  * Reduced FPM_INTEL assembly to two instructions.  * Fixed accuracy problems with certain FPM modes in synth.c.  * Improved the accuracy of FPM_APPROX.  * Improved the accuracy of SSO.  * Improved sync discovery by checking for a sync word in the following    frame.  * Minor code clean-up.  * Added experimental rules for generating a libmad.so shared library.Version 0.11.1 (beta)  * Moved libmad code into a separate directory.  * Changed SSO to be disabled by default, as output accuracy is deemed to    be more important than speed in the general case.  * Fixed a bug in Layer III sanity checking that could cause a crash on    certain random data input.  * Extended the Layer III requantization table from 8191 to 8206 as some    encoders are known to use these values, even though ISO/IEC 11172-3    suggests the maximum should be 8191.Version 0.11.0 (beta)  * Implemented MPEG-2 extension to Lower Sampling Frequencies.  * Improved Layer III performance by avoiding IMDCT calculation when all    input samples are zero.  * Significantly reduced size of Layer II tables.Version 0.10.3 (beta)  * Improved SSO output quality.  * Made portable to cygwin.  * Localized memory references in III_huffdecode() for better performance.Version 0.10.2 (beta)  * Rewrote Layer III long block 36-point IMDCT routine for better    performance.  * Improved subband synthesis fixed-point games somewhat.Version 0.10.1 (beta)  * Added a subband synthesis optimization (SSO) which involves modifying    the fixed-point multiplication method during windowing. This produces    subtle differences in the output but improves performance greatly.  * Added I_STEREO and MS_STEREO flags to frame struct.  * Eliminated privately-used CRCFAILED flag.  * Fixed a bug where Layer III decoding could crash on some badly-formatted    (e.g. non-MPEG) bitstreams.  * Miscellaneous code clean-up.Version 0.10.0 (beta)  * Added SPARC fixed-point math support.  * Revamped libmad API for better high- and low-level support.  * Documented more of the code.  * Changed sync semantics such that new stream buffers are assumed to be    sync-aligned.  * Changed Layer III to dynamically allocate static memory so as not to    waste it (about 6.4K) when only decoding Layer I or Layer II.===============================================================================

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -