1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206
|
13 July 2001
options.h
- added 'channelswap' command line switch with -g
bitstream.c, crc.c, toolame.c, common.h
- updated with the DAB extensions
psycho_I.c
- A really dodgy fix for the LSF seg fault problem. for some reason, some of *tone and
power[i].next is being set as large negative numbers in tonal_label(). So if tone<0
just skip it. Need to figure out why it's doing this at all.
toolame.c
- moved the bitrate index check until *after* it has parsed the input file. This is
so the sampling frequency is set, and therefore we know whether it's mpeg-2LSF or
normal mpeg-1 that we should use.
16 August 2000
absthr.h, critband.h, freqtable.h
- new include files contain the tables/ directory
tables.c
- includes the alloc_* files from the tables/ dir
options.h, get_audio.c
- added 'byteswap' command line switch with -x
25 April 2000
*
- changed printf()s to fprintf()s. Everything goes to stderr, except usage().
(Not sure if this is 'the right thing'. but its neater than before)
toolame.c
- stdin/stdout now referenced with '-'s as in lame. (-DIOFIX)
eg ./toolame - - >dud.mp2 will encode from stdin, to stdout (with
redirection to 'dud.mp2')
encode.c
- Started work on VBR_bit_allocation.
22 April 2000 v0.2g
Makefile
- OS/2 bits by Nick Burch <gagravarr@SoftHome.net>
availbits.c
- made the calculation of the bits (adb) a standalone function (prep for VBR)
common.c
- fixed js_bound to be layer2 only
- fixed bitrate[][][] table to be layer2 only.
*
- VBR switch activates a simple VBR mode. The bits required to encode with
no noise are calculated in VBR_bits_for_nonoise.
* - removed most of the references to 'layer number' and hardcoded for layer2.
16 April 2000 v0.2f
* *.c
- general code cleanup. Deleted lots of obsolete stuff.
- ran it all through 'astyle' to try and get some style :)
* *.h
- turfed out a lot of guff in the header files.
* psycho_I.c
- renamed Psycho_One() to psycho_i()
- combined the hann + f_f_t + pickmax functions functions
this removes some buffering and a whole bunch of log10 calcs in pickmax.
* psycho_II.c
- renamed psycho_anal to psycho_ii()
* common.c
- split common.c into more logical subunits
mem.c - memory handling functions
crc.c - the crc stuff
bitstream.c - bitstream handling code
tables.c - table handling code
common.c - miscellaneous mpeg handling/init routines.
* Makefile
- tweaks for gcc2.95.2
- added more warnings to fix my dud coding style.
14 December 1999
* encode.c
- change to scale_factor_calc from PDS (Patrick De Smet
pds@telin.rug.ac.be) 44% faster by using binary search
rather than linear. (#define PDS1)
- change to subband_quantization from PDS. A little faster.
(#define PDS3)
- NB. these changes by PDS do not produce bit exact output
when I think they should.
* *.c
- changed all C++ style comments to C style.
* subband.c
- merged filter_subband and IDCT.
- put table/enwindow into enwindow.h
* musicin.c
- fudged a bit with the input file parsing.
Accepts WAV, AIFF and defaults to PCM.
- Can read raw PCM from /dev/stdin in a pretty kludgy way.
(use '/dev/stdin' as the input file.)
I'm sure someone will tell me why this is a really bad
thing to do.
- Changed the print_config a little. Feel free to change
it and get something nicer looking.
5 November 1999
* fft.c
- included table_lookup modification for fht() from Mathew Hendry
<math@vissci.com> 20% speedup
- modified fht() to be for n==1024 only. that's all that's
ever needed for LayerII encoding
* *.c
- removed "II_" prefixes from all the functions (superfluous
now that code is layerII only)
* tonal.c
- made add_db() an inline function by separating its init
function into init_add_db()
* psy.c
- renamed to psycho_II.c
* tonal.c
- renamed to psycho_I.c
* psycho_II.c
- cleaned up memory alloc'ing. Might just make it all explicit
size def'n instead of mallocs.
- turned off layerI and III stuff
- tuned some loops (fft buffer filling)
- replaced loops to initialize values to zero, with memset()
* Makefile
- added a few more switches which work well on my p166/linux/gcc setup.
2 November 1999
* musicin.c
- frameNum bug fixed (incorrectly incremented it twice every 10th
frame)
- a "no padding" switch for those using some layerII editing programs
that don't work with padding. afaik, this is a major
hack on the format - mpg123 still groks the files.
Courtesy of: Federico Grau <grauf@rfa.org>
Bill Eldridge <bill@hk.rfa.org>
* tonal.c
- threshold() changed some of the if() checks. 33% speedup.
- add_db() tweaked it a little more. 25% speedup
30 Octover 1999
* musicin.c
-added "quick mode", where you can specify how often to calculate
the psy model. e.g "-q 10" calculate psy model once every
10 frames, and then use those ltmin values for the next
10 frames
- now reads WAV files thanks to Nick Burch <gagravarr@SoftHome.net>
* musicin.c/encode.c
- reimplemented -a "downmix to mono switch".
24 October 1999
* Started using dist10/lsf/encoder as the original source code. This is the same base code from which LAME patches. This code (for layer2) is more complete than the previous archive as it contains LSF.
* added in most of the previous changes (still quite a few to go)
* No layerI or layerIII support.
17 October 1999
* tonal.c
- tweaked add_db a little. Removed superfluous code.
Maybe separate the table initialization, and make the
function inline
- tweaked threshold(). removed superfluous if() checks and changed some
variable usage. 10-15% speedup.
16 October 1999
* tonal.c
- integrated hannwin, fft, pickmax into II_psycho_one()
* tonalI.c
- created, and put all the LayerI stuff in there. LayerI
stuff will be left in source for the time being
15 October 1999
* encode.c
- added downmix (-a) option to get_audio()
* encoder.h
- changed defaults to be psy model 1, 192 kbps, with extension .mp2
* fft.c
- implemented FHT-based fft() from LAME.
* tonal.c
- tweaked II_f_f_t to call fft.c/fht() routine
* encodeII.c
- include PDS' II_scale_factor_calc
14 October 1999
* musicin.c
- no longer use obtain_parameters(). interactive input is just a pain.
- progress meter updated to print every 10th frame.
- added 'usepsy' switch (-f) which will turn off all psychoacoustic
calculations for layerII. (could easily be extended to layerI)
* musicout.c
- removed
* tables/dewindow
- removed
* decode.c
- removed
* decode.h
- removed
* subs.c
- renamed to fft.c (that's all it does anyway :)
- replaced old fft with fft from LAME2.x
* tonal.c
- new add_db added
* subband.c
- created
- moved window_subband and filter_subband from encode.c to here
- LAME versions of these routines replaces ISO routines.
* encode.c
- split into encode.c, encodeI.c, and encodeII.c
- encode.c - generic encoding routines
- encodeI encodeII - layer specific routines. (easier to grok)
|