diff options
author | rathann <rathann@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2004-10-18 20:00:07 +0000 |
---|---|---|
committer | rathann <rathann@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2004-10-18 20:00:07 +0000 |
commit | f1b9d02c19403d8771946ceec4e8530a075bc2b7 (patch) | |
tree | 0b3e054a2bfee37457ff65cc29eeb0c1048dcbd7 /libmpcodecs | |
parent | ae746ad8e8d49858a3f3f0ad5aff4b3173bce3bb (diff) | |
download | mpv-f1b9d02c19403d8771946ceec4e8530a075bc2b7.tar.bz2 mpv-f1b9d02c19403d8771946ceec4e8530a075bc2b7.tar.xz |
Bitrate setting option in ve_xvid4.c doesn't follow the rules described
in manpage (i.e. if bitrate > 16000, then it's in bits/s, not kbits),
unlike lavc and the old ve_xvid.c do. Fixed.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@13676 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpcodecs')
-rw-r--r-- | libmpcodecs/ve_xvid4.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/libmpcodecs/ve_xvid4.c b/libmpcodecs/ve_xvid4.c index 9457a01bcf..5d84eb2c9d 100644 --- a/libmpcodecs/ve_xvid4.c +++ b/libmpcodecs/ve_xvid4.c @@ -674,7 +674,8 @@ static void dispatch_settings(xvid_mplayer_module_t *mod) * The single pass plugin * ---------------------------------------------------------------- */ - onepass->bitrate = xvidenc_bitrate; + if (xvidenc_bitrate > 16000) onepass->bitrate = xvidenc_bitrate; + else onepass->bitrate = xvidenc_bitrate*1000; onepass->reaction_delay_factor = xvidenc_cbr_reaction_delay_factor; onepass->averaging_period = xvidenc_cbr_averaging_period; onepass->buffer = xvidenc_cbr_buffer; @@ -949,7 +950,8 @@ static int set_create_struct(xvid_mplayer_module_t *mod) /* There is not much left to initialize after dispatch settings */ onepass->version = XVID_VERSION; - onepass->bitrate = xvidenc_bitrate*1000; + if (xvidenc_bitrate > 16000) onepass->bitrate = xvidenc_bitrate; + else onepass->bitrate = xvidenc_bitrate*1000; /* Quantizer mode uses the same plugin, we have only to define * a constant quantizer zone beginning at frame 0 */ @@ -972,7 +974,7 @@ static int set_create_struct(xvid_mplayer_module_t *mod) } else { mp_msg(MSGT_MENCODER, MSGL_INFO, "xvid: CBR Rate Control -- bitrate=%dkbit/s\n", - xvidenc_bitrate); + xvidenc_bitrate>16000?xvidenc_bitrate/1000:xvidenc_bitrate); } create->plugins[create->num_plugins].func = xvid_plugin_single; @@ -1008,10 +1010,11 @@ static int set_create_struct(xvid_mplayer_module_t *mod) * value is negative it is considered as being a total size * to reach (in kilobytes) */ if(xvidenc_bitrate > 0) { - pass2->bitrate = xvidenc_bitrate*1000; + if(xvidenc_bitrate > 16000) pass2->bitrate = xvidenc_bitrate; + else pass2->bitrate = xvidenc_bitrate*1000; mp_msg(MSGT_MENCODER, MSGL_INFO, "xvid: 2Pass Rate Control -- 2nd pass -- bitrate=%dkbit/s\n", - xvidenc_bitrate); + xvidenc_bitrate>16000?xvidenc_bitrate/1000:xvidenc_bitrate); } else { pass2->bitrate = xvidenc_bitrate; mp_msg(MSGT_MENCODER, MSGL_INFO, |