Mercurial > libavcodec.hg
comparison libmp3lame.c @ 7457:3c616a62a446 libavcodec
Use compression level to set mp3lame quality option.
Patch by Nicolas George nicolas george normalesup org
Original thread:
[PATCH] libmp3lame: set noise shaping & psychoacoustic algorithms quality
Date: 07/31/2008 03:53 PM
author | benoit |
---|---|
date | Fri, 01 Aug 2008 07:23:29 +0000 |
parents | 85ab7655ad4d |
children | ea663d76fcfa |
comparison
equal
deleted
inserted
replaced
7456:211cca1e3f39 | 7457:3c616a62a446 |
---|---|
48 if ((s->gfp = lame_init()) == NULL) | 48 if ((s->gfp = lame_init()) == NULL) |
49 goto err; | 49 goto err; |
50 lame_set_in_samplerate(s->gfp, avctx->sample_rate); | 50 lame_set_in_samplerate(s->gfp, avctx->sample_rate); |
51 lame_set_out_samplerate(s->gfp, avctx->sample_rate); | 51 lame_set_out_samplerate(s->gfp, avctx->sample_rate); |
52 lame_set_num_channels(s->gfp, avctx->channels); | 52 lame_set_num_channels(s->gfp, avctx->channels); |
53 /* lame 3.91 dies on quality != 5 */ | 53 if(avctx->compression_level == FF_COMPRESSION_DEFAULT) { |
54 lame_set_quality(s->gfp, 5); | 54 lame_set_quality(s->gfp, 5); |
55 } else { | |
56 lame_set_quality(s->gfp, avctx->compression_level); | |
57 } | |
55 /* lame 3.91 doesn't work in mono */ | 58 /* lame 3.91 doesn't work in mono */ |
56 lame_set_mode(s->gfp, JOINT_STEREO); | 59 lame_set_mode(s->gfp, JOINT_STEREO); |
57 lame_set_brate(s->gfp, avctx->bit_rate/1000); | 60 lame_set_brate(s->gfp, avctx->bit_rate/1000); |
58 if(avctx->flags & CODEC_FLAG_QSCALE) { | 61 if(avctx->flags & CODEC_FLAG_QSCALE) { |
59 lame_set_brate(s->gfp, 0); | 62 lame_set_brate(s->gfp, 0); |