Most needed options IMHO
- Quality (currently hardcoded at 8 in the VLC sources, affects the target quality and therefore bitrate in VBR and CBR. I'm pretty sure this would be very easy to implement from what I can tell the everything is in VLC you just need to make a hardcoded value into a variable you can specify)
- Complexity (I think this is defaulted to 3 as in libspeex and there is no way to specify it, greater CPU usage but potentially higher quality at the same bitrate)
- Sampling rate (Speex supports narrowband 8000hz, wideband 16000hz and ultra-wideband 32000hz. It's not simply a matter of converting to the right sample rate, each is a different mode. Currently only narrowband is supported you can throw whatever you want at it e.g. 48000hz, 32000hz, 8000hz it will still encode is as narrowband. 32000hz at narrowband is very large)
- VBR (I thought the codec was using VBR but I checked the output file with the Speex command line decoder and it's definitely CBR. The sources mention VBR so I think it should be fairly easy to add you just need allow people to pass the option on I guess)
- VBR-max-bitrate (Not mentioned in the docs but supported by the latest Speex beta. Don't know when it was added.)
- ABR (Not as useful as VBR IMHO)
- VAD (Voice Activity Detection, enabled by default with VBR)
- DTX (Discontinuous Transmission)
- Denoise (Not clear in the docs but these are an options in the command line encoder. Admitedly I don't know if it's optimised for Speex or a general VLC filter would work better)
- AGC (Automatic gain control, per above)
- Warnings when you encode with a samplerate unsuitable for the whatever mode you selected
Thanks devs!
P.S. I'm don't know much about programming which is why I can't add any of these myself unfortunately
P.P.S. I've tried the Speex command line encoder as well so I'm pretty confident about the sampling rate part