| 1. bug in resample code: downsampling from 44101 to 44100 causes |
| a seg fault. Workaround in place for now: resampling disabled |
| if input/output samplerates agree to 4 digits. |
| |
| |
| |
| 2. high bitrate encodings have trouble on some hardware players. |
| Track this down. Probably caused by --strictly-enforce-ISO and |
| IXMAX_VAL. Try setting IXMAX_VAL back to 8191 and/or |
| maxmp3buf=8*960 to see if there is a working combination. |
| |
| note: one of the decoder bugs was identified. It is caused by using |
| different block sizes on both channels. A parameter need to be |
| added to Lame to handle workarounds. |
| |
| |
| 3 frontend: code is a complete mess. But it has so many debugged |
| features it will be a lot of work to re-write. |
| |
| |
| 4. MSVC project files. It would be nice to create a working |
| MSVC6 workspace, which included all the projects as possible |
| targets: |
| lame.exe |
| mp3x.exe (require GTK libs) |
| lame_enc.dll |
| ACM codec |
| directshow codec |
| |
| I think the only MSVC5 project that we need to preserve is |
| for lame_enc.dll, since Albert Faber (still?) doesn't use VC6? |
| But no reason we cant have VC5 and VC6 project files for the dll. |
| |
| |
| |
| |
| |
| |
| 5. |
| NOGAP encoding: |
| |
| -nogap: more testing, fix options, test id3 tags? |
| Can we change id3 tags without reseting the encoder?? |
| At the end of encoding 1.wav, call lame_get_mf_samples_to_encode() |
| to find the number of non encoded buffered PCM samples. Then |
| encode samples from 2.wav until these PCM samples have been |
| encoded, *THEN* call lame_encode_flush_nogap() and close |
| out file 1.mp3. |
| |
| |
| NOGAP decoding: |
| lame --decode --nogap file1.mp3 file2.mp3 file3.mp3 |
| should also work. What needs to be done: |
| get_audio.c: We need a way to open a second mp3 file, without |
| calling lame_decode_init() and reinitializing mpglib. |
| And the mpglib needs to know to look for new Xing |
| tags at the beginning of file2.mp3 and file3.mp3. |
| |
| |
| |
| 6. |
| Does stdin work when LAME is compiled to use libsndfile? |
| (new version of libsndfile will support this - try this out) |
| |
| |
| 7. |
| LAME has problems with pure DC input. i.e. a square wave with |
| a frequency well below 20 Hz. Not very important, but it should |
| be fixed. |
| |
| |
| 8. |
| mgplib has bugs with i-stereo. flag denoting invalid |
| i-stereo value (= frame is m/s stereo) is not correct. |
| |
| 9. |
| lowpass filter: for M/S stereo, use more filtering for the side |
| channel, less filtering for mid channel. We need to first replace |
| the polyphase filter with an FIR lowpass filter with finer frequency |
| resolution before implementing this. |
| |
| 10. |
| LAME has a 31 point FIR filter used for resampling, which |
| can also be used as a lowpass. When resampling is done, |
| use that filter to also lowpass instead of the polyphase filter. |
| |
| 11. |
| Even when resampling is not needed, should we use an FIR filter |
| for the lowpass? If it is not too much slower, yes. If it |
| is slower, then it should be an option since it will produce |
| higher quality. |
| |
| 12. |
| We should consider moving the experts options from the *long |
| help* text into an *experts only* help text. The average Joe gets |
| knocked down by the huge number of possibilities to setup lame. |
| |
| |
| |
| |
| 50. |
| Better tonality estimation. |
| Gpsycho uses predictability, and so needs a delay to detect the tonality |
| of a sound. |
| Nspsytune seems to miss tonals when several of them are too narrow. |
| We would probably need the best of both. |
| |
| |
| |
| |
| 60. |
| Different ATH handling for sfb21. We are using the minimum value of ath |
| in each whole sfb. in sfb21 this leads to very high bitrates. |
| We could perhaps use 2 or 3 ath partitions in sfb21 |
| |
| note: partially done |
| |
| |
| |
| 70. |
| Use mixed blocks. |
| |
| |
| |
| |
| 90. |
| Use intensity stereo. This is a must-have for low bitrates, but if the |
| algorythm is very good it could also be used in every case. |
| Note: mpg123 (and all derivatives, like xmms and lame/mpglib) |
| have bugs in the intensity stereo decoding. Bugs have been there |
| for years since there are very few intensity stereo mp3's out there. |
| |
| |
| |
| |
| |
| 998. |
| Merge GOGO's fast assembler routines. |
| |
| |
| |
| |
| 999. |
| It would be nice to save some information whilst encoding |
| a: wave -> mp3 |
| a RIFF/wave can contain LIST chunks with information |
| about author, title, etc. |
| ==> could go into TAG fields of resulting mp3 |
| b: mp3 -> mp3 |
| ==> we could copy the TAG directly |
| c: mp3 -> wave |
| ==> copy TAG into LIST chunk |
| |
| |
| |
| 1500. |
| Integrate plusV extensions |
| |
| |
| |
| 2000. |
| To be able to encode as fast as FastEnc |