summaryrefslogtreecommitdiff
path: root/vp8/encoder/onyx_if.c
diff options
context:
space:
mode:
authorPaul Wilkins <paulwilkins@google.com>2010-09-01 02:45:12 -0700
committerCode Review <code-review@webmproject.org>2010-09-01 02:45:12 -0700
commit18c902f8a416ae97de8143840234a416700a1e64 (patch)
treeca1dd881a1abc998bdb9b66fca1da03cebf49de9 /vp8/encoder/onyx_if.c
parent0e78efad0be73d293880d1b71053c0d70a50a080 (diff)
parentc239a1b67c9c5ff25a04ba89eca45245b1e615a2 (diff)
downloadlibvpx-18c902f8a416ae97de8143840234a416700a1e64.tar
libvpx-18c902f8a416ae97de8143840234a416700a1e64.tar.gz
libvpx-18c902f8a416ae97de8143840234a416700a1e64.tar.bz2
libvpx-18c902f8a416ae97de8143840234a416700a1e64.zip
Merge "Improved Force Key Frame Behaviour"
Diffstat (limited to 'vp8/encoder/onyx_if.c')
-rw-r--r--vp8/encoder/onyx_if.c22
1 files changed, 8 insertions, 14 deletions
diff --git a/vp8/encoder/onyx_if.c b/vp8/encoder/onyx_if.c
index 99c434f52..fe83ae976 100644
--- a/vp8/encoder/onyx_if.c
+++ b/vp8/encoder/onyx_if.c
@@ -2818,23 +2818,17 @@ static int pick_frame_size(VP8_COMP *cpi)
cm->frame_type = KEY_FRAME;
}
- // Auto key frames (Only two pass will enter here)
- else if (cm->frame_type == KEY_FRAME)
- {
- vp8_calc_auto_iframe_target_size(cpi);
- }
- // Forced key frames (by interval or an external signal)
- else if ((cm->frame_flags & FRAMEFLAGS_KEY) ||
- (cpi->oxcf.auto_key && (cpi->frames_since_key % cpi->key_frame_frequency == 0)))
+ // Special case for forced key frames
+ // The frame sizing here is still far from ideal for 2 pass.
+ else if (cm->frame_flags & FRAMEFLAGS_KEY)
{
- // Key frame from VFW/auto-keyframe/first frame
cm->frame_type = KEY_FRAME;
-
resize_key_frame(cpi);
-
- // Compute target frame size
- if (cpi->pass != 2)
- vp8_calc_iframe_target_size(cpi);
+ vp8_calc_iframe_target_size(cpi);
+ }
+ else if (cm->frame_type == KEY_FRAME)
+ {
+ vp8_calc_auto_iframe_target_size(cpi);
}
else
{