]> granicus.if.org Git - libvpx/commitdiff
Use alt-ref frame context for keyframes
authorJohn Koleszar <jkoleszar@google.com>
Fri, 18 Jan 2013 22:35:20 +0000 (14:35 -0800)
committerJohn Koleszar <jkoleszar@google.com>
Fri, 18 Jan 2013 22:40:39 +0000 (14:40 -0800)
This matches the behavior prior to generalizing the frame context
selection, and intuitively makes sense in that the first forward ref
is immediately after the keyframe, so it's quality is improved a bit
by using the keyframe's entropy context rather than the default.

Change-Id: Ia82cef79382b9d8cfafdc44ba0533d4dc3e44053

vp9/encoder/vp9_ratectrl.c

index b5e5fec2fa4aa9125d9aaf3aa916a967792b0557..be87326a038168a28427b45c74106f64d3209a4a 100644 (file)
@@ -286,6 +286,13 @@ void vp9_setup_key_frame(VP9_COMP *cpi) {
                sizeof(xd->mb_mv_ref_probs));
   }
 #endif
+
+  /* Choose which entropy context to use. When using a forward reference
+   * frame, it immediately follows the keyframe, and thus benefits from
+   * using the same entropy context established by the keyframe. Otherwise,
+   * use the default context 0.
+   */
+  cm->frame_context_idx = cpi->oxcf.play_alternate;
 }
 
 void vp9_setup_inter_frame(VP9_COMP *cpi) {