diff options
author | Dmitry Kovalev <dkovalev@google.com> | 2014-04-14 15:19:43 -0700 |
---|---|---|
committer | Dmitry Kovalev <dkovalev@google.com> | 2014-04-14 15:19:43 -0700 |
commit | 41a4b88a04e06e36162f154ea1203e4d21f213aa (patch) | |
tree | bdba5bcb41088e3665f7c6430803648c578c487b /vp9/encoder | |
parent | 07dddfa3fdf11c08c8b91b96fe94907be228f2cc (diff) | |
download | libvpx-41a4b88a04e06e36162f154ea1203e4d21f213aa.tar libvpx-41a4b88a04e06e36162f154ea1203e4d21f213aa.tar.gz libvpx-41a4b88a04e06e36162f154ea1203e4d21f213aa.tar.bz2 libvpx-41a4b88a04e06e36162f154ea1203e4d21f213aa.zip |
Adding get_skip_encode_frame().
Change-Id: Id687aa617650a859463e7ae63dd4c0dc4f3e4779
Diffstat (limited to 'vp9/encoder')
-rw-r--r-- | vp9/encoder/vp9_encodeframe.c | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/vp9/encoder/vp9_encodeframe.c b/vp9/encoder/vp9_encodeframe.c index 795765d15..2c2c72105 100644 --- a/vp9/encoder/vp9_encodeframe.c +++ b/vp9/encoder/vp9_encodeframe.c @@ -3221,6 +3221,20 @@ static void encode_nonrd_sb_row(VP9_COMP *cpi, const TileInfo *const tile, } // end RTC play code +static int get_skip_encode_frame(const VP9_COMMON *cm) { + unsigned int intra_count = 0, inter_count = 0; + int j; + + for (j = 0; j < INTRA_INTER_CONTEXTS; ++j) { + intra_count += cm->counts.intra_inter[j][0]; + inter_count += cm->counts.intra_inter[j][1]; + } + + return (intra_count << 2) < inter_count && + cm->frame_type != KEY_FRAME && + cm->show_frame; +} + static void encode_frame_internal(VP9_COMP *cpi) { SPEED_FEATURES *const sf = &cpi->sf; RD_OPT *const rd_opt = &cpi->rd; @@ -3334,19 +3348,7 @@ static void encode_frame_internal(VP9_COMP *cpi) { cpi->time_encode_sb_row += vpx_usec_timer_elapsed(&emr_timer); } - if (sf->skip_encode_sb) { - int j; - unsigned int intra_count = 0, inter_count = 0; - for (j = 0; j < INTRA_INTER_CONTEXTS; ++j) { - intra_count += cm->counts.intra_inter[j][0]; - inter_count += cm->counts.intra_inter[j][1]; - } - sf->skip_encode_frame = (intra_count << 2) < inter_count && - cm->frame_type != KEY_FRAME && - cm->show_frame; - } else { - sf->skip_encode_frame = 0; - } + sf->skip_encode_frame = sf->skip_encode_sb ? get_skip_encode_frame(cm) : 0; #if 0 // Keep record of the total distortion this time around for future use |