diff options
author | Linfeng Zhang <linfengz@google.com> | 2017-04-05 17:54:42 -0700 |
---|---|---|
committer | Linfeng Zhang <linfengz@google.com> | 2017-04-19 12:13:49 -0700 |
commit | bf8a49abbd3e637ae933806aa47564dd7ef324d1 (patch) | |
tree | af078af570536b39b55aafd0038009d5ca674663 /vp9/encoder/vp9_rdopt.c | |
parent | a02f391cbe618c6d84b35d161269266c43bc84ca (diff) | |
download | libvpx-bf8a49abbd3e637ae933806aa47564dd7ef324d1.tar libvpx-bf8a49abbd3e637ae933806aa47564dd7ef324d1.tar.gz libvpx-bf8a49abbd3e637ae933806aa47564dd7ef324d1.tar.bz2 libvpx-bf8a49abbd3e637ae933806aa47564dd7ef324d1.zip |
Clean CONVERT_TO_BYTEPTR/SHORTPTR in convolve
Replace by CAST_TO_BYTEPTR/SHORTPTR.
The rule is: if a short ptr is casted to a byte ptr, any offset
operation on the byte ptr must be doubled. We do this by casting to
short ptr first, adding offset, then casting back to byte ptr.
BUG=webm:1388
Change-Id: I9e18a73ba45ddae58fc9dae470c0ff34951fe248
Diffstat (limited to 'vp9/encoder/vp9_rdopt.c')
-rw-r--r-- | vp9/encoder/vp9_rdopt.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/vp9/encoder/vp9_rdopt.c b/vp9/encoder/vp9_rdopt.c index d23d32446..2278ddc0f 100644 --- a/vp9/encoder/vp9_rdopt.c +++ b/vp9/encoder/vp9_rdopt.c @@ -599,9 +599,10 @@ static void dist_block(const VP9_COMP *cpi, MACROBLOCK *x, int plane, #if CONFIG_VP9_HIGHBITDEPTH if (xd->cur_buf->flags & YV12_FLAG_HIGHBITDEPTH) { - recon = CONVERT_TO_BYTEPTR(recon); - vpx_highbd_convolve_copy(dst, dst_stride, recon, 32, NULL, 0, NULL, 0, - bs, bs, xd->bd); + vpx_highbd_convolve_copy(CAST_TO_BYTEPTR(CONVERT_TO_SHORTPTR(dst)), + dst_stride, recon, 32, NULL, 0, NULL, 0, bs, + bs, xd->bd); + recon = CONVERT_TO_BYTEPTR(recon16); if (xd->lossless) { vp9_highbd_iwht4x4_add(dqcoeff, recon, 32, *eob, xd->bd); } else { |