summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYunqing Wang <yunqingwang@google.com>2015-03-09 09:42:12 -0700
committerGerrit Code Review <gerrit@gerrit.golo.chromium.org>2015-03-09 09:42:12 -0700
commit969dd8f128878c1ca29cd9870b39f228fe5713ba (patch)
tree328f2abe404bc29b1296739445841f26631d54a3
parentd2b6a4cc80adeb5435980a5b1cfc6a338a1ca9dc (diff)
parent6e0ec0b2d9da1a45725d5e0ae164410fdeb3a3c8 (diff)
downloadlibvpx-969dd8f128878c1ca29cd9870b39f228fe5713ba.tar
libvpx-969dd8f128878c1ca29cd9870b39f228fe5713ba.tar.gz
libvpx-969dd8f128878c1ca29cd9870b39f228fe5713ba.tar.bz2
libvpx-969dd8f128878c1ca29cd9870b39f228fe5713ba.zip
Merge "vp9_ethread: fix me consts initialization to support aq_mode=3 encoding"
-rw-r--r--vp9/encoder/vp9_encodeframe.c2
-rw-r--r--vp9/encoder/vp9_quantize.c2
-rw-r--r--vp9/encoder/vp9_rd.c19
-rw-r--r--vp9/encoder/vp9_rd.h2
4 files changed, 13 insertions, 12 deletions
diff --git a/vp9/encoder/vp9_encodeframe.c b/vp9/encoder/vp9_encodeframe.c
index 1fea4f374..b2b3b3a46 100644
--- a/vp9/encoder/vp9_encodeframe.c
+++ b/vp9/encoder/vp9_encodeframe.c
@@ -3767,7 +3767,7 @@ static void encode_frame_internal(VP9_COMP *cpi) {
vp9_frame_init_quantizer(cpi);
vp9_initialize_rd_consts(cpi);
- vp9_initialize_me_consts(cpi, cm->base_qindex);
+ vp9_initialize_me_consts(cpi, x, cm->base_qindex);
init_encode_frame_mb_context(cpi);
cm->use_prev_frame_mvs = !cm->error_resilient_mode &&
cm->width == cm->last_width &&
diff --git a/vp9/encoder/vp9_quantize.c b/vp9/encoder/vp9_quantize.c
index 2523d1ea3..29b54b07c 100644
--- a/vp9/encoder/vp9_quantize.c
+++ b/vp9/encoder/vp9_quantize.c
@@ -683,7 +683,7 @@ void vp9_init_plane_quantizers(VP9_COMP *cpi, MACROBLOCK *x) {
x->errorperbit = rdmult >> 6;
x->errorperbit += (x->errorperbit == 0);
- vp9_initialize_me_consts(cpi, x->q_index);
+ vp9_initialize_me_consts(cpi, x, x->q_index);
}
void vp9_frame_init_quantizer(VP9_COMP *cpi) {
diff --git a/vp9/encoder/vp9_rd.c b/vp9/encoder/vp9_rd.c
index 5cc980cf7..caa9cae69 100644
--- a/vp9/encoder/vp9_rd.c
+++ b/vp9/encoder/vp9_rd.c
@@ -204,27 +204,28 @@ static int compute_rd_thresh_factor(int qindex, vpx_bit_depth_t bit_depth) {
return MAX((int)(pow(q, RD_THRESH_POW) * 5.12), 8);
}
-void vp9_initialize_me_consts(VP9_COMP *cpi, int qindex) {
+void vp9_initialize_me_consts(VP9_COMP *cpi, MACROBLOCK *x, int qindex) {
#if CONFIG_VP9_HIGHBITDEPTH
switch (cpi->common.bit_depth) {
case VPX_BITS_8:
- cpi->td.mb.sadperbit16 = sad_per_bit16lut_8[qindex];
- cpi->td.mb.sadperbit4 = sad_per_bit4lut_8[qindex];
+ x->sadperbit16 = sad_per_bit16lut_8[qindex];
+ x->sadperbit4 = sad_per_bit4lut_8[qindex];
break;
case VPX_BITS_10:
- cpi->td.mb.sadperbit16 = sad_per_bit16lut_10[qindex];
- cpi->td.mb.sadperbit4 = sad_per_bit4lut_10[qindex];
+ x->sadperbit16 = sad_per_bit16lut_10[qindex];
+ x->sadperbit4 = sad_per_bit4lut_10[qindex];
break;
case VPX_BITS_12:
- cpi->td.mb.sadperbit16 = sad_per_bit16lut_12[qindex];
- cpi->td.mb.sadperbit4 = sad_per_bit4lut_12[qindex];
+ x->sadperbit16 = sad_per_bit16lut_12[qindex];
+ x->sadperbit4 = sad_per_bit4lut_12[qindex];
break;
default:
assert(0 && "bit_depth should be VPX_BITS_8, VPX_BITS_10 or VPX_BITS_12");
}
#else
- cpi->td.mb.sadperbit16 = sad_per_bit16lut_8[qindex];
- cpi->td.mb.sadperbit4 = sad_per_bit4lut_8[qindex];
+ (void)cpi;
+ x->sadperbit16 = sad_per_bit16lut_8[qindex];
+ x->sadperbit4 = sad_per_bit4lut_8[qindex];
#endif // CONFIG_VP9_HIGHBITDEPTH
}
diff --git a/vp9/encoder/vp9_rd.h b/vp9/encoder/vp9_rd.h
index b18a81659..4d247342b 100644
--- a/vp9/encoder/vp9_rd.h
+++ b/vp9/encoder/vp9_rd.h
@@ -132,7 +132,7 @@ int vp9_compute_rd_mult(const struct VP9_COMP *cpi, int qindex);
void vp9_initialize_rd_consts(struct VP9_COMP *cpi);
-void vp9_initialize_me_consts(struct VP9_COMP *cpi, int qindex);
+void vp9_initialize_me_consts(struct VP9_COMP *cpi, MACROBLOCK *x, int qindex);
void vp9_model_rd_from_var_lapndz(unsigned int var, unsigned int n,
unsigned int qstep, int *rate,