[vlc-commits] commit: avcodec: add littlebit options that are adjusted for VP8 ( Ilkka Ollakka )

git at videolan.org git at videolan.org
Wed May 26 14:56:36 CEST 2010


vlc | branch: master | Ilkka Ollakka <ileoo at videolan.org> | Wed May 26 15:54:52 2010 +0300| [d3c422e310bfaed687554e2553357b89b3b2a82e] | committer: Ilkka Ollakka 

avcodec: add littlebit options that are adjusted for VP8

Seems that maxrate needs somekinda exponential function from bitrate (comparing
ffmpeg's libvpx presets) and cbr isn't something you likely will get out of this.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=d3c422e310bfaed687554e2553357b89b3b2a82e
---

 modules/codec/avcodec/encoder.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/modules/codec/avcodec/encoder.c b/modules/codec/avcodec/encoder.c
index a96d26f..7159eff 100644
--- a/modules/codec/avcodec/encoder.c
+++ b/modules/codec/avcodec/encoder.c
@@ -598,12 +598,18 @@ int OpenEncoder( vlc_object_t *p_this )
        libvpx-720p preset from libvpx ffmpeg-patch */
     if( i_codec_id == CODEC_ID_VP8 )
     {
-        p_context->bit_rate_tolerance = 2* p_enc->fmt_out.i_bitrate;
+        p_context->bit_rate_tolerance = __MAX(2 * p_enc->fmt_out.i_bitrate, p_sys->i_vtolerance );
+        /* I used Harrison-stetson method here to get there values */
+        p_context->rc_max_rate = 3 * p_enc->fmt_out.i_bitrate;
+        p_context->rc_min_rate = p_enc->fmt_out.i_bitrate / 200;
+
+
         p_context->lag = 16;
         p_context->level = 216;
         p_context->profile = 0;
         p_context->rc_buffer_aggressivity = 0.95;
         p_context->token_partitions = 4;
+        p_context->mb_static_threshold = 0;
     }
 #endif
 



More information about the vlc-commits mailing list