fixed quality / vbr encoding patch by (Justin Ruggles, jruggle, earthlink net)
authorJustin Ruggles <jruggle@earthlink.net>
Fri, 2 Sep 2005 11:08:49 +0000 (11:08 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 2 Sep 2005 11:08:49 +0000 (11:08 +0000)
Originally committed as revision 4546 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/oggvorbis.c

index dc7a8c6..c762e4c 100644 (file)
@@ -30,6 +30,11 @@ typedef struct OggVorbisContext {
 
 static int oggvorbis_init_encoder(vorbis_info *vi, AVCodecContext *avccontext) {
 
+    if(avccontext->flags & CODEC_FLAG_QSCALE) {
+        return vorbis_encode_init_vbr(vi, avccontext->channels,
+                avccontext->sample_rate,
+                avccontext->global_quality / (float)FF_QP2LAMBDA);
+    }
 #ifdef OGGVORBIS_VBR_BY_ESTIMATE
     /* variable bitrate by estimate */
 
@@ -87,6 +92,8 @@ static int oggvorbis_encode_init(AVCodecContext *avccontext) {
     vorbis_comment_clear(&context->vc);
        
     avccontext->frame_size = OGGVORBIS_FRAME_SIZE ;
+    avccontext->time_base.den = avccontext->sample_rate;
+    avccontext->time_base.num = 1;
  
     avccontext->coded_frame= avcodec_alloc_frame();
     avccontext->coded_frame->key_frame= 1;