📄 todo
字号:
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 andIXMAX_VAL. Try setting IXMAX_VAL back to 8191 and/ormaxmp3buf=8*960 to see if there is a working combination.note: one of the decoder bugs was identified. It is caused by usingdifferent block sizes on both channels. A parameter need to beadded 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. Thenencode samples from 2.wav until these PCM samples have beenencoded, *THEN* call lame_encode_flush_nogap() and closeout file 1.mp3.NOGAP decoding: lame --decode --nogap file1.mp3 file2.mp3 file3.mp3should 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 witha frequency well below 20 Hz. Not very important, but it shouldbe fixed.8.mgplib has bugs with i-stereo. flag denoting invalidi-stereo value (= frame is m/s stereo) is not correct. 9.lowpass filter: for M/S stereo, use more filtering for the sidechannel, less filtering for mid channel. We need to first replacethe polyphase filter with an FIR lowpass filter with finer frequencyresolution before implementing this. 10. LAME has a 31 point FIR filter used for resampling, whichcan 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 filterfor the lowpass? If it is not too much slower, yes. If itis slower, then it should be an option since it will producehigher quality. 12.We should consider moving the experts options from the *longhelp* text into an *experts only* help text. The average Joe getsknocked 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 tonalityof 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 athin each whole sfb. in sfb21 this leads to very high bitrates.We could perhaps use 2 or 3 ath partitions in sfb21note: partially done70.Use mixed blocks.90.Use intensity stereo. This is a must-have for low bitrates, but if thealgorythm 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 therefor 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 encodinga: wave -> mp3 a RIFF/wave can contain LIST chunks with information about author, title, etc. ==> could go into TAG fields of resulting mp3b: mp3 -> mp3 ==> we could copy the TAG directlyc: mp3 -> wave ==> copy TAG into LIST chunk1500.Integrate plusV extensions2000.To be able to encode as fast as FastEnc
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -