11. bug in resample code: downsampling from 44101 to 44100 causes 2 a seg fault. Workaround in place for now: resampling disabled 3 if input/output samplerates agree to 4 digits. 4 5 62. high bitrate encodings have trouble on some hardware players. 7 Track this down. Probably caused by --strictly-enforce-ISO and 8 IXMAX_VAL. Try setting IXMAX_VAL back to 8191 and/or 9 maxmp3buf=8*960 to see if there is a working combination. 10 11 note: one of the decoder bugs was identified. It is caused by using 12 different block sizes on both channels. A parameter need to be 13 added to Lame to handle workarounds. 14 15 163 frontend: code is a complete mess. But it has so many debugged 17 features it will be a lot of work to re-write. 18 19 204. MSVC project files. It would be nice to create a working 21 MSVC6 workspace, which included all the projects as possible 22 targets: 23 lame.exe 24 mp3x.exe (require GTK libs) 25 lame_enc.dll 26 ACM codec 27 directshow codec 28 29 I think the only MSVC5 project that we need to preserve is 30 for lame_enc.dll, since Albert Faber (still?) doesn't use VC6? 31 But no reason we cant have VC5 and VC6 project files for the dll. 32 33 345. NOGAP encoding: 35 36 -nogap: more testing, fix options, test id3 tags? 37 Can we change id3 tags without reseting the encoder?? 38 At the end of encoding 1.wav, call lame_get_mf_samples_to_encode() 39 to find the number of non encoded buffered PCM samples. Then 40 encode samples from 2.wav until these PCM samples have been 41 encoded, *THEN* call lame_encode_flush_nogap() and close 42 out file 1.mp3. 43 44 45 NOGAP decoding: 46 lame --decode --nogap file1.mp3 file2.mp3 file3.mp3 47 should also work. What needs to be done: 48 get_audio.c: We need a way to open a second mp3 file, without 49 calling lame_decode_init() and reinitializing mpglib. 50 And the mpglib needs to know to look for new Xing 51 tags at the beginning of file2.mp3 and file3.mp3. 52 53 546. Does stdin work when LAME is compiled to use libsndfile? 55 (new version of libsndfile will support this - try this out) 56 57 587. LAME has problems with pure DC input. i.e. a square wave with 59 a frequency well below 20 Hz. Not very important, but it should 60 be fixed. 61 62 638. mgplib has bugs with i-stereo. flag denoting invalid 64 i-stereo value (= frame is m/s stereo) is not correct. 65 66 679. lowpass filter: for M/S stereo, use more filtering for the side 68 channel, less filtering for mid channel. We need to first replace 69 the polyphase filter with an FIR lowpass filter with finer frequency 70 resolution before implementing this. 71 72 7310. LAME has a 31 point FIR filter used for resampling, which 74 can also be used as a lowpass. When resampling is done, 75 use that filter to also lowpass instead of the polyphase filter. 76 77 7811. Even when resampling is not needed, should we use an FIR filter 79 for the lowpass? If it is not too much slower, yes. If it 80 is slower, then it should be an option since it will produce 81 higher quality. 82 83 8412. We should consider moving the experts options from the *long 85 help* text into an *experts only* help text. The average Joe gets 86 knocked down by the huge number of possibilities to setup lame. 87 88 89 9050. Better tonality estimation. 91 Gpsycho uses predictability, and so needs a delay to detect the tonality 92 of a sound. 93 Nspsytune seems to miss tonals when several of them are too narrow. 94 We would probably need the best of both. 95 96 97 9860. Different ATH handling for sfb21. We are using the minimum value of ath 99 in each whole sfb. in sfb21 this leads to very high bitrates. 100 We could perhaps use 2 or 3 ath partitions in sfb21 101 102 note: partially done 103 104 105 10670. Use mixed blocks. 107 108 109 11090. Use intensity stereo. This is a must-have for low bitrates, but if the 111 algorythm is very good it could also be used in every case. 112 Note: mpg123 (and all derivatives, like xmms and lame/mpglib) 113 have bugs in the intensity stereo decoding. Bugs have been there 114 for years since there are very few intensity stereo mp3's out there. 115 116 117 11895. Merge GOGO's fast assembler routines. 119 120 121 12296. It would be nice to save some information whilst encoding 123 a: wave -> mp3 124 a RIFF/wave can contain LIST chunks with information 125 about author, title, etc. 126 ==> could go into TAG fields of resulting mp3 127 b: mp3 -> mp3 128 ==> we could copy the TAG directly 129 c: mp3 -> wave 130 ==> copy TAG into LIST chunk 131 132 133 13497. Integrate plusV extensions 135 136 137 13899. To be able to encode as fast as FastEnc 139