summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJingning Han <jingning@google.com>2019-04-06 16:36:32 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2019-04-06 16:36:32 +0000
commit6fd9a17c92c676d0406ac82729c4a6aaeb8b67de (patch)
tree18acffecdfc99373529952f8008166e4acc962d4
parent287d1d64ea7c325033aad4453913da3a1665b2b4 (diff)
parent5359ae810cdbb974060297ecf935183baf7b009b (diff)
downloadlibvpx-6fd9a17c92c676d0406ac82729c4a6aaeb8b67de.tar
libvpx-6fd9a17c92c676d0406ac82729c4a6aaeb8b67de.tar.gz
libvpx-6fd9a17c92c676d0406ac82729c4a6aaeb8b67de.tar.bz2
libvpx-6fd9a17c92c676d0406ac82729c4a6aaeb8b67de.zip
Merge "Allow macroblock_plane to have its own rounding buffer"
-rw-r--r--vp9/encoder/vp9_block.h2
-rw-r--r--vp9/encoder/vp9_quantize.c8
2 files changed, 5 insertions, 5 deletions
diff --git a/vp9/encoder/vp9_block.h b/vp9/encoder/vp9_block.h
index c879a1940..37a4605ad 100644
--- a/vp9/encoder/vp9_block.h
+++ b/vp9/encoder/vp9_block.h
@@ -34,8 +34,8 @@ struct macroblock_plane {
struct buf_2d src;
// Quantizer setings
+ DECLARE_ALIGNED(16, int16_t, round_fp[8]);
int16_t *quant_fp;
- int16_t *round_fp;
int16_t *quant;
int16_t *quant_shift;
int16_t *zbin;
diff --git a/vp9/encoder/vp9_quantize.c b/vp9/encoder/vp9_quantize.c
index 75f3a8ba7..26d1434c3 100644
--- a/vp9/encoder/vp9_quantize.c
+++ b/vp9/encoder/vp9_quantize.c
@@ -288,12 +288,12 @@ void vp9_init_plane_quantizers(VP9_COMP *cpi, MACROBLOCK *x) {
// Y
x->plane[0].quant = quants->y_quant[qindex];
x->plane[0].quant_fp = quants->y_quant_fp[qindex];
- x->plane[0].round_fp = quants->y_round_fp[qindex];
+ memcpy(x->plane[0].round_fp, quants->y_round_fp[qindex],
+ 8 * sizeof(*(x->plane[0].round_fp)));
x->plane[0].quant_shift = quants->y_quant_shift[qindex];
x->plane[0].zbin = quants->y_zbin[qindex];
x->plane[0].round = quants->y_round[qindex];
xd->plane[0].dequant = cpi->y_dequant[qindex];
-
x->plane[0].quant_thred[0] = x->plane[0].zbin[0] * x->plane[0].zbin[0];
x->plane[0].quant_thred[1] = x->plane[0].zbin[1] * x->plane[0].zbin[1];
@@ -301,12 +301,12 @@ void vp9_init_plane_quantizers(VP9_COMP *cpi, MACROBLOCK *x) {
for (i = 1; i < 3; i++) {
x->plane[i].quant = quants->uv_quant[qindex];
x->plane[i].quant_fp = quants->uv_quant_fp[qindex];
- x->plane[i].round_fp = quants->uv_round_fp[qindex];
+ memcpy(x->plane[i].round_fp, quants->uv_round_fp[qindex],
+ 8 * sizeof(*(x->plane[i].round_fp)));
x->plane[i].quant_shift = quants->uv_quant_shift[qindex];
x->plane[i].zbin = quants->uv_zbin[qindex];
x->plane[i].round = quants->uv_round[qindex];
xd->plane[i].dequant = cpi->uv_dequant[qindex];
-
x->plane[i].quant_thred[0] = x->plane[i].zbin[0] * x->plane[i].zbin[0];
x->plane[i].quant_thred[1] = x->plane[i].zbin[1] * x->plane[i].zbin[1];
}