summaryrefslogtreecommitdiff
path: root/vp8/encoder
diff options
context:
space:
mode:
authorJim Bankoski <jimbankoski@google.com>2010-10-14 16:19:06 -0400
committerJim Bankoski <jimbankoski@google.com>2010-10-14 16:19:06 -0400
commit39f41a4f36fae46168312f08f144b5cc22b0c69a (patch)
treebac00297e970c5aea2d6ff9f41c512a69b8b29fa /vp8/encoder
parent0f5c63e4f6fce8e846d799ad60b0c0d1895069f8 (diff)
downloadlibvpx-39f41a4f36fae46168312f08f144b5cc22b0c69a.tar
libvpx-39f41a4f36fae46168312f08f144b5cc22b0c69a.tar.gz
libvpx-39f41a4f36fae46168312f08f144b5cc22b0c69a.tar.bz2
libvpx-39f41a4f36fae46168312f08f144b5cc22b0c69a.zip
safety check to avoid divide by 0s
Diffstat (limited to 'vp8/encoder')
-rw-r--r--vp8/encoder/onyx_if.c3
-rw-r--r--vp8/encoder/ratectrl.c2
2 files changed, 5 insertions, 0 deletions
diff --git a/vp8/encoder/onyx_if.c b/vp8/encoder/onyx_if.c
index 34af6ea8e..54eb31be8 100644
--- a/vp8/encoder/onyx_if.c
+++ b/vp8/encoder/onyx_if.c
@@ -1420,6 +1420,9 @@ int vp8_reverse_trans(int x)
};
void vp8_new_frame_rate(VP8_COMP *cpi, double framerate)
{
+ if(framerate < .1)
+ framerate = 30;
+
cpi->oxcf.frame_rate = framerate;
cpi->output_frame_rate = cpi->oxcf.frame_rate;
cpi->per_frame_bandwidth = (int)(cpi->oxcf.target_bandwidth / cpi->output_frame_rate);
diff --git a/vp8/encoder/ratectrl.c b/vp8/encoder/ratectrl.c
index 50f4db0b8..dd324f435 100644
--- a/vp8/encoder/ratectrl.c
+++ b/vp8/encoder/ratectrl.c
@@ -1481,6 +1481,8 @@ void vp8_adjust_key_frame_context(VP8_COMP *cpi)
// allocated than those following other gfs.
cpi->kf_overspend_bits += (cpi->projected_frame_size - cpi->per_frame_bandwidth) * 7 / 8;
cpi->gf_overspend_bits += (cpi->projected_frame_size - cpi->per_frame_bandwidth) * 1 / 8;
+ if(!av_key_frame_frequency)
+ av_key_frame_frequency = 60;
// Work out how much to try and recover per frame.
// For one pass we estimate the number of frames to spread it over based upon past history.