ref: c71cbb8f282bb2100e7b2bec0f928f8ac5245d4e
parent: b2f29a9a716b119c2297befeb2e119202a259c41
author: Angie Chiang <angiebird@google.com>
date: Thu Mar 7 14:45:51 EST 2019
Add build_inter_mode_cost() Change-Id: I4e5ed327e39cef1dd8c1a8f55fcbe90a5181814d
--- a/vp9/encoder/vp9_rd.c
+++ b/vp9/encoder/vp9_rd.c
@@ -309,6 +309,15 @@
}
}
+void vp9_build_inter_mode_cost(VP9_COMP *cpi) {
+ const VP9_COMMON *const cm = &cpi->common;
+ int i;
+ for (i = 0; i < INTER_MODE_CONTEXTS; ++i) {
+ vp9_cost_tokens((int *)cpi->inter_mode_cost[i], cm->fc->inter_mode_probs[i],
+ vp9_inter_mode_tree);
+ }
+}
+
void vp9_initialize_rd_consts(VP9_COMP *cpi) {
VP9_COMMON *const cm = &cpi->common;
MACROBLOCK *const x = &cpi->td.mb;
@@ -357,10 +366,7 @@
x->nmvjointcost,
cm->allow_high_precision_mv ? x->nmvcost_hp : x->nmvcost,
&cm->fc->nmvc, cm->allow_high_precision_mv);
-
- for (i = 0; i < INTER_MODE_CONTEXTS; ++i)
- vp9_cost_tokens((int *)cpi->inter_mode_cost[i],
- cm->fc->inter_mode_probs[i], vp9_inter_mode_tree);
+ vp9_build_inter_mode_cost(cpi);
}
}
}
--- a/vp9/encoder/vp9_rd.h
+++ b/vp9/encoder/vp9_rd.h
@@ -217,6 +217,8 @@
BLOCK_SIZE bs, int bd);
#endif
+void vp9_build_inter_mode_cost(struct VP9_COMP *cpi);
+
#ifdef __cplusplus
} // extern "C"
#endif