summaryrefslogtreecommitdiff
path: root/vp8/encoder/ratectrl.c
diff options
context:
space:
mode:
Diffstat (limited to 'vp8/encoder/ratectrl.c')
-rw-r--r--vp8/encoder/ratectrl.c27
1 files changed, 10 insertions, 17 deletions
diff --git a/vp8/encoder/ratectrl.c b/vp8/encoder/ratectrl.c
index e059a10e2..2b5f699b6 100644
--- a/vp8/encoder/ratectrl.c
+++ b/vp8/encoder/ratectrl.c
@@ -185,12 +185,10 @@ void vp8_save_coding_context(VP8_COMP *cpi) {
#if CONFIG_HYBRIDTRANSFORM8X8
vp8_copy(cc->hybrid_coef_probs_8x8, cm->fc.hybrid_coef_probs_8x8);
#endif
-#if CONFIG_TX16X16
vp8_copy(cc->coef_probs_16x16, cm->fc.coef_probs_16x16);
#if CONFIG_HYBRIDTRANSFORM16X16
vp8_copy(cc->hybrid_coef_probs_16x16, cm->fc.hybrid_coef_probs_16x16);
#endif
-#endif
#if CONFIG_SWITCHABLE_INTERP
vp8_copy(cc->switchable_interp_prob, cm->fc.switchable_interp_prob);
#endif
@@ -258,12 +256,10 @@ void vp8_restore_coding_context(VP8_COMP *cpi) {
#if CONFIG_HYBRIDTRANSFORM8X8
vp8_copy(cm->fc.hybrid_coef_probs_8x8, cc->hybrid_coef_probs_8x8);
#endif
-#if CONFIG_TX16X16
vp8_copy(cm->fc.coef_probs_16x16, cc->coef_probs_16x16);
#if CONFIG_HYBRIDTRANSFORM16X16
vp8_copy(cm->fc.hybrid_coef_probs_16x16, cc->hybrid_coef_probs_16x16);
#endif
-#endif
#if CONFIG_SWITCHABLE_INTERP
vp8_copy(cm->fc.switchable_interp_prob, cc->switchable_interp_prob);
#endif
@@ -271,10 +267,12 @@ void vp8_restore_coding_context(VP8_COMP *cpi) {
void vp8_setup_key_frame(VP8_COMP *cpi) {
+ VP8_COMMON *cm = &cpi->common;
// Setup for Key frame:
vp8_default_coef_probs(& cpi->common);
vp8_kf_default_bmode_probs(cpi->common.kf_bmode_prob);
vp8_init_mbmode_probs(& cpi->common);
+ vp8_default_bmode_probs(cm->fc.bmode_prob);
vp8_init_mv_probs(& cpi->common);
#if CONFIG_NEWMVENTROPY == 0
@@ -288,12 +286,6 @@ void vp8_setup_key_frame(VP8_COMP *cpi) {
}
#endif
- cpi->common.txfm_mode = ALLOW_8X8;
-
-#if CONFIG_LOSSLESS
- if (cpi->oxcf.lossless)
- cpi->common.txfm_mode = ONLY_4X4;
-#endif
// cpi->common.filter_level = 0; // Reset every key frame.
cpi->common.filter_level = cpi->common.base_qindex * 3 / 8;
@@ -307,17 +299,18 @@ void vp8_setup_key_frame(VP8_COMP *cpi) {
vpx_memcpy(&cpi->common.lfc, &cpi->common.fc, sizeof(cpi->common.fc));
vpx_memcpy(&cpi->common.lfc_a, &cpi->common.fc, sizeof(cpi->common.fc));
-}
+ vpx_memset(cm->prev_mip, 0,
+ (cm->mb_cols + 1) * (cm->mb_rows + 1)* sizeof(MODE_INFO));
+ vpx_memset(cm->mip, 0,
+ (cm->mb_cols + 1) * (cm->mb_rows + 1)* sizeof(MODE_INFO));
-void vp8_setup_inter_frame(VP8_COMP *cpi) {
+ update_mode_info_border(cm, cm->mip);
+ update_mode_info_in_image(cm, cm->mi);
- cpi->common.txfm_mode = ALLOW_8X8;
-#if CONFIG_LOSSLESS
- if (cpi->oxcf.lossless)
- cpi->common.txfm_mode = ONLY_4X4;
-#endif
+}
+void vp8_setup_inter_frame(VP8_COMP *cpi) {
if (cpi->common.refresh_alt_ref_frame) {
vpx_memcpy(&cpi->common.fc,
&cpi->common.lfc_a,