summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_encoder.h
diff options
context:
space:
mode:
authorJerome Jiang <jianj@google.com>2016-12-19 10:39:04 -0800
committerJerome Jiang <jianj@google.com>2016-12-19 16:24:03 -0800
commit1d5ca84df600ab610d14c0356b038ad4c395a6fd (patch)
tree96e7170f2b07f8319b73fbf0e479f8ee0e7e2b16 /vp9/encoder/vp9_encoder.h
parent7e23f895ca868a5b3ad5ec8eda3433a19a58d750 (diff)
downloadlibvpx-1d5ca84df600ab610d14c0356b038ad4c395a6fd.tar
libvpx-1d5ca84df600ab610d14c0356b038ad4c395a6fd.tar.gz
libvpx-1d5ca84df600ab610d14c0356b038ad4c395a6fd.tar.bz2
libvpx-1d5ca84df600ab610d14c0356b038ad4c395a6fd.zip
vp9: Add feature to copy partition from the last frame.
Add feature to copy partition from the last frame. The copy is only done under certain conditions that SAD is below threshold. Feature is currently disabled, until threshold is tuned. Feature will be initially used for Speed 8 (ARM). Under extreme case of always copying partition for speed 8: Encode time is reduced by 5.4% on rtc_derf and 7.8% on rtc. Overall PSNR reduced by 2.1 on rtc_derf and 0.968 on rtc. Change-Id: I1bcab515af3088e4d60675758f72613c2d3dc7a5
Diffstat (limited to 'vp9/encoder/vp9_encoder.h')
-rw-r--r--vp9/encoder/vp9_encoder.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/vp9/encoder/vp9_encoder.h b/vp9/encoder/vp9_encoder.h
index 0007e6395..833d6a29e 100644
--- a/vp9/encoder/vp9_encoder.h
+++ b/vp9/encoder/vp9_encoder.h
@@ -594,6 +594,8 @@ typedef struct VP9_COMP {
int64_t vbp_thresholds[4];
int64_t vbp_threshold_minmax;
int64_t vbp_threshold_sad;
+ // Threshold used for partition copy
+ int64_t vbp_threshold_copy;
BLOCK_SIZE vbp_bsize_min;
// Multi-threading
@@ -605,6 +607,10 @@ typedef struct VP9_COMP {
int keep_level_stats;
Vp9LevelInfo level_info;
+
+ // Previous Partition Info
+ BLOCK_SIZE *prev_partition;
+ int8_t *prev_segment_id;
} VP9_COMP;
void vp9_initialize_enc(void);