www.pudn.com > bladeenc-0.90.0-src.zip > ChangeLog
Latest changes to the source
============================
1999-12-07 Released 0.89-stable:
- Fixed the broken -rawbyteorder=[] switch. Thanks to
Frans E. van Dorsselaer for reporting that bug.
- The Windows and Linux executables of 0.88 were compressed
using UPX. As a result the Windows version crashed instantly
on some machines, so I'll skip UPX from now on (at least
until they've found that bug).
1999-12-05 Release of 0.88! First stable release for a while. :)
Changes done since 0.87.4-unstable:
- Typecasted tablecontents in bladtab.c in order to produce
less compiler warnings in Visual C++ 6.0.
- Petteri Kamppuri corrected a bug that caused trouble if the
input file didn't have a suffix, but a folder in the path
did.
- Changed homepage to bladeenc.mp3.no.
Support for the config file under BeOS has still not been
included and source is unlikely to compile correctly under
OS/2, but I didn't want to wait anymore.
1999-11-23 Put 0.87.4-unstable online:
- Long filenames finally working correctly in Windows. Thanks
to Robert Schlabbach for getting me on the right track.
- Petteri Kamppuri provided and requested some new changes that
were needed for his MAC OS port.
- Paul Martin discovered that I had screwed up the
implementation of the -progress=[] switch and fixed it.
- Vitor Sessak and Robert Schlabbach provided some minor fixes.
- Paul Martin found that mono samples were not encoded
correctly, fixed by Tord.
- Paul Cantrell added defines for BeOS PowerPC.
I was thinking back and forth about releasing this version as
0.88-stable, but I dedided to put this up first to give the
people doing the non-windows/non-unix ports some time to add
support for the config-file. I'm especially missing some code
for the OS/2, BeOS and Amiga ports. Windows, UNIX and Mac OS
code is allready in place.
1999-11-15 Put 0.87.3-unstable online:
- The GCC compilation bug is finally fixed! Or maybe I should
say patched since it seems to be GCC's fault. Anyway, many
thanks to Marco Amrein for comming with the idea on how to
find and patch the bug. Another sollution to the problem was
provided by Vitor Sessak, but Marco's approach was more clean
and straight forward.
- Merged in some minor changes provided by Petteri Kamppuri and
Paul Martin.
Just the windows long filename bug to solve before I can
release 0.88-stable.
1999-11-14 Made some changes that I put online as 0.87.2-unstable:
- Fixed some compilation problems reported by Troy Engel and
Robert Schlabbach. Should compile nicely without any warnings
on most systems now.
- Merged in some patches from Petteri Kamppuri which were
needed for his upcomming MAC OS port of BladeEnc.
- Added a PAUSE_25_LINES define for Windows and OS/2 to pause
the info-output after 25 lines.
- Added a switch (-progress=[0-8]) for changing the look of the
progress indicator.
- Progress indicator automatically switches to number 7 if we
have a RAW file in the batch since BladeEnc doesn't know the
filelength of RAW files (doesn't have a header and I don't
want to check the filesize because that won't work on stdin,
fifos(?) and files still being written).
I have two very odd bugs that I would be happy if someone could
help me with. One is related to Windows and the other is
related to GCC (and possibly EGCS). More info can be found in
TODO in the tar.gz archive. Unless something else pops up those
are the only changes that needs to be done before 0.88-stable.
1999-11-11 Put 0.87-unstable online:
- Went back to 0.83 since I couldn't fix the sound degradation
in 0.84 and 0.85. Generates now the same quality as 0.82 and
is just about 8% faster. :(
- Merged in all the changes from 0.84 and 0.85 except the heavy
optimisations from Matthias Wächter which somehow caused the
quality degradation.
- CONFIGURE, MAKE and MAKE INSTALL scripts for UNIX-systems
thanks to KDevelop, which now is my main working environment.
Only optimisation level 1 on all files though, since I can't
set it individually in KDevelop and anything higher generates a
mutated version of codec.c. when using egcs :(
The following changes were made for 0.86 which was never
released due to the quality bug, but they should all be
correctly included in 0.87 as well.
- Found and fixed a bug that often degraded the quality of the
last frame in an mp3 and could cause the DLL to crash under
certain circumstances.
- Changed tabsize from 2 to 4 since that's more standard and
reindented the code using a program called Artistic Style.
- A lot of code clean-up and restructuring, but there's still
loads to do. :(
- Changed the way commandlines are handled internally to make
it easier and cleaner to add support for configuration files
and filelists.
- Added suport for configuration-files on Windows and UNIX
systems (bladeenc.cfg in same directory as bladeenc.exe on
Windows systems and .bladeencrc in the home directory on
UNIX systems). The contents in the cfg file is placed first
on the commandline. Everything after a '#' is skipped.
- Added support for priority settings on UNIX-systems. Default
is NORMAL (not LOWEST as on Windows) priority and you can also
use values -20 > 20.
- Added a "-nocfg" switch for skipping any settings in the
configuration file.
- Addded support for RAW PCM input, including a number of
switches for stating the frequency, number of channels etc of
a RAW sample.
- Added defines for HP/UX, submitted by Petter Reinholdtsen.
- Replaced all longs with ints since long is 64-bits on Alpha.
Thanks to Ben Slusky, Sadruddin Rejeb and the rest of you who
told me about this.
- Added defines for Linux Alpha, provided by Ben Slusky.
- Added defines for MS-DOS, provided by Matt Craven.
- Added code in main.c that will make it possible to change
the look of the progress indicator as soon as I have added
a commandline switch for it.
1999-08-07 Ok, back from the vacation I put 085-unstable online.
Improvements since 0.84-unstable:
- Matthias Wächter found a quality degrading bug in his
optimisations for 0.84 and fixed it. He has also cleaned up
and optimized l3psy.c and subs.c a bit further, which should
do a few more percent.
- Brad submitted a patch to make it compile nicely on OpenBSD.
- Serg 'Ice' Tsyganenko found a bug in the code for reading the
commandline, which under certain circumstances could confuse
BladeEnc if one or more of the samples had ".mp3" in their body
or specified path.
I have some more patches to merge, but I'm going to England for
a long business trip now (possibly two months), so they will have
to wait until I come back... :(
1999-07-30 Put 084-unstable online. Improvements since 0.83-unstable:
- Received and added some really heavy optimisations made by
Matthias Wächter, resulting in a 28% speed increase on my
machine! 8-) These optimisations have however broken the
binary identicality with older versions (slight changes in
precision (to the better) for a few routines early in the
process) and I can therefore not guarantee that no quality
affecting bug has slipped through. The quick investigations
I've made of the code and output suggests that nothing bad
has occured, but I would appreciate if some of you took the
time to test it more closely (frequency analysis and listening
tests mostly).
- Fixed broken last frame in MP3-file using a sollution I know
isn't the right one, but as far as I can see it should do the
trick without any side effects. Thanks to Robert Schlabbach
for bringing it to my attention over and over again... ;-)
- Fixed what seemed to be a quality affecting bug, but later
turned out to be harmless due to lucky circumstances. Thanks
to Chris DeLise for discovering it.
- Added defines for Linux PPC provided by Rich West.
- Added patches for Ultrix & NetBSD provided by Simon Burge.
- Made some minor optimisations, giving somewhere above 1%.
Still have some of Roger Fujii's minor optimisations to include,
but now I'm going on a short vacation (my first summer vacation
in 3 years, hurray!) :-)
1999-07-23 Put the latest version online as 083-unstable. Improvements since
0.82:
- Added a "-refresh"-switch to set the update rate of the progress
indicator (in order to save CPU-time) and set the default
refresh rate to 2 (half the previous one). This gave a speed
increase of slightly more than 1% on my machine.
- Added a define in SYSTEM.H called PRECISE_TIMER. This is a quite
dirty hack by me to allow for more precise calculation of encoding
time and is only meant as a tool when optimizing BladeEnc. It
calculates and prints out encoding time with higher precision,
but slows down the encoding process with about 2 seconds for
each file. It's not extremely trustworthy either, but enough
for my needs.
- Started to merge in some optimizations provided by Roger Fujii,
most notably a very clever replacement of the bladTabValue()
function in loop.c which gave a speed increase of about 7% on
my K6-2 350. Unfortunatelly this also makes a notably bigger
executable since bladetab.c was changed and fleshed out.
I still have some of his optimizations left to merge in,
but they won't do more than about 2% together.
- Probably one or two other minor changes which I've forgotten...
1999-07-23 Fixed a minor thing having to do with compilation on some
machines. Put online as bladeenc-082-src-stable-2.tar.gz
1999-07-22 Fixed the embarassing skipping header bug in 0.80/0.81 by
including a FIFO for the headers (by ISO called sideinfo) in
formatbitstream2.h. Also got a few patches fixing minor bugs
and compilation problems (WIN32_ALPHA and SCO OpenServer).
Regarded this as stable and released it right away. I intend to
concentrate on including the speedups I've been sent and release
a new, hopefully much faster, version when that has been done.
There will probably be an unstable branch of this since it includes
changes to the FFT calculations that I want to be throughly tested
for possible quality degradation before I release it to the masses.
1999-06-30 Loads of bugs in 0.80 fixed thanks to you guys out there.
Released 0.81 as a bugfix release, so that is now the latest
stable version. Also added a makefile, not exactly as good as
a fully working Configure/Make/Make Install system, but I
haven't gotten any of those some of you sent me working yet.
I guess I just have to learn a little bit more about it first,
until then you'll have to do with this simple,
platform-dependent makefile.
1999-06-28 Version 0.80 stable released.