summaryrefslogtreecommitdiff
path: root/vp9
diff options
context:
space:
mode:
authorMarco Paniconi <marpan@google.com>2016-06-09 00:49:02 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2016-06-09 00:49:02 +0000
commit5aeadbb4f62cb10b50722c383b47556c89fc9a07 (patch)
tree3e47a0c682241f8223370a9b92a0d858f33133ca /vp9
parent77ffea92c5d57adb28467c4e15a4d85c18ee387f (diff)
parent3fc01f95da993c6353082af6cb82cd5cdb8824f5 (diff)
downloadlibvpx-5aeadbb4f62cb10b50722c383b47556c89fc9a07.tar
libvpx-5aeadbb4f62cb10b50722c383b47556c89fc9a07.tar.gz
libvpx-5aeadbb4f62cb10b50722c383b47556c89fc9a07.tar.bz2
libvpx-5aeadbb4f62cb10b50722c383b47556c89fc9a07.zip
Merge "vp9: Use nonrd_pick_partition on scene-cut, for speed 5 vbr mode."
Diffstat (limited to 'vp9')
-rw-r--r--vp9/encoder/vp9_encodeframe.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/vp9/encoder/vp9_encodeframe.c b/vp9/encoder/vp9_encodeframe.c
index e3570504e..21a66bb1b 100644
--- a/vp9/encoder/vp9_encodeframe.c
+++ b/vp9/encoder/vp9_encodeframe.c
@@ -3797,8 +3797,14 @@ static void encode_nonrd_sb_row(VP9_COMP *cpi,
break;
case REFERENCE_PARTITION:
set_offsets(cpi, tile_info, x, mi_row, mi_col, BLOCK_64X64);
- if (cpi->oxcf.aq_mode == CYCLIC_REFRESH_AQ && cm->seg.enabled &&
- xd->mi[0]->segment_id) {
+ // Use nonrd_pick_partition on scene-cut for VBR, or on qp-segment
+ // if cyclic_refresh is enabled.
+ // nonrd_pick_partition does not support 4x4 partition, so avoid it
+ // on key frame for now.
+ if ((cpi->oxcf.rc_mode == VPX_VBR && cpi->rc.high_source_sad &&
+ cm->frame_type != KEY_FRAME) ||
+ (cpi->oxcf.aq_mode == CYCLIC_REFRESH_AQ && cm->seg.enabled &&
+ xd->mi[0]->segment_id)) {
// Use lower max_partition_size for low resoultions.
if (cm->width <= 352 && cm->height <= 288)
x->max_partition_size = BLOCK_32X32;