From: Ilkka Ollakka Date: Wed, 26 May 2010 12:54:52 +0000 (+0300) Subject: avcodec: add littlebit options that are adjusted for VP8 X-Git-Tag: 1.2.0-pre1~6475 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=d3c422e310bfaed687554e2553357b89b3b2a82e;p=vlc 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. --- diff --git a/modules/codec/avcodec/encoder.c b/modules/codec/avcodec/encoder.c index a96d26fd23..7159effffc 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