[FFmpeg-devel] [PATCH] libmp3lame: set noise shaping & psycho acoustic algorithms quality
Nicolas George
nicolas.george
Thu Jul 31 15:53:38 CEST 2008
Hi.
The attached patch allow to set the quality parameter for noise shaping and
psycho acoustic algorithms (the lame_set_quality function and -q option to
the lame command line tool).
This patch does not change the default behaviour, and does not break the
regression tests.
I think this option is very similar to the LOW / MAIN / LTP selection for
AAC encoding, so I used the same option: -profile. -aq is not the correct
option, since it is mapped, as it should be, to lame_set_VBR_q (-V option to
lame).
Since the documentation for lame uses numeric values, I did not add symbolic
constants to the option system.
I considered adding a warning about the crash with lame 3.91, but as lame
3.91 is more than six years old, I thought it was not worth the additional
code.
Regards,
--
Nicolas George
-------------- next part --------------
Index: libavcodec/libmp3lame.c
===================================================================
--- libavcodec/libmp3lame.c (revision 14485)
+++ libavcodec/libmp3lame.c (working copy)
@@ -50,8 +50,11 @@
lame_set_in_samplerate(s->gfp, avctx->sample_rate);
lame_set_out_samplerate(s->gfp, avctx->sample_rate);
lame_set_num_channels(s->gfp, avctx->channels);
- /* lame 3.91 dies on quality != 5 */
- lame_set_quality(s->gfp, 5);
+ if(avctx->profile == FF_PROFILE_UNKNOWN) {
+ lame_set_quality(s->gfp, 5);
+ } else {
+ lame_set_quality(s->gfp, avctx->profile);
+ }
/* lame 3.91 doesn't work in mono */
lame_set_mode(s->gfp, JOINT_STEREO);
lame_set_brate(s->gfp, avctx->bit_rate/1000);
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20080731/66de1537/attachment.pgp>
More information about the ffmpeg-devel
mailing list