summaryrefslogtreecommitdiff
path: root/vp9/encoder/ratectrl.c
diff options
context:
space:
mode:
authorDeb Mukherjee <debargha@google.com>2012-11-07 06:50:25 -0800
committerDeb Mukherjee <debargha@google.com>2012-11-16 06:56:29 -0800
commit0c917fc9755108887901bc0ea44e1952de8a2c65 (patch)
tree9a402304bdfc0dbc0e08c158e282a28d8690639f /vp9/encoder/ratectrl.c
parent16e268668204566d7f4b2d4fc6775f996773d74d (diff)
downloadlibvpx-0c917fc9755108887901bc0ea44e1952de8a2c65.tar
libvpx-0c917fc9755108887901bc0ea44e1952de8a2c65.tar.gz
libvpx-0c917fc9755108887901bc0ea44e1952de8a2c65.tar.bz2
libvpx-0c917fc9755108887901bc0ea44e1952de8a2c65.zip
Compound inter-intra experiment
A patch on compound inter-intra prediction. In compound inter-intra prediction, a new predictor for 16x16 inter coded MBs are obtained by combining a single inter predictor with a 16x16 intra predictor, in a manner that the weight varies with distance from the top/left boundary. The current search strategy is to combine the best inter mode with the best intra mode obtained independently. Results so far: derf +0.31% yt +0.32% std-hd +0.35% hd +0.42% It is conceivable that the results would improve somewhat with a more thorough search strategy where all intra modes are searched given the best mv, or even a joint search for the best mv and the best intra mode. Change-Id: I7951f1ed0d6eb31ca32ac24d120f1585bcd8d79b
Diffstat (limited to 'vp9/encoder/ratectrl.c')
-rw-r--r--vp9/encoder/ratectrl.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/vp9/encoder/ratectrl.c b/vp9/encoder/ratectrl.c
index b499f1df0..097a54d5a 100644
--- a/vp9/encoder/ratectrl.c
+++ b/vp9/encoder/ratectrl.c
@@ -175,6 +175,9 @@ void vp9_save_coding_context(VP9_COMP *cpi) {
vp9_copy(cc->coef_probs_16x16, cm->fc.coef_probs_16x16);
vp9_copy(cc->hybrid_coef_probs_16x16, cm->fc.hybrid_coef_probs_16x16);
vp9_copy(cc->switchable_interp_prob, cm->fc.switchable_interp_prob);
+#if CONFIG_COMP_INTERINTRA_PRED
+ cc->interintra_prob = cm->fc.interintra_prob;
+#endif
}
void vp9_restore_coding_context(VP9_COMP *cpi) {
@@ -231,6 +234,9 @@ void vp9_restore_coding_context(VP9_COMP *cpi) {
vp9_copy(cm->fc.coef_probs_16x16, cc->coef_probs_16x16);
vp9_copy(cm->fc.hybrid_coef_probs_16x16, cc->hybrid_coef_probs_16x16);
vp9_copy(cm->fc.switchable_interp_prob, cc->switchable_interp_prob);
+#if CONFIG_COMP_INTERINTRA_PRED
+ cm->fc.interintra_prob = cc->interintra_prob;
+#endif
}