diff options
author | Peter de Rivaz <peter.derivaz@gmail.com> | 2014-12-16 10:55:49 +0000 |
---|---|---|
committer | Peter de Rivaz <peter.derivaz@gmail.com> | 2014-12-16 10:55:49 +0000 |
commit | e3d19bfc63347b01e30cd6fb8856c5d64d515c56 (patch) | |
tree | 2c68b618caf8dcdc88f264739b7d28ab18208fe7 /vp9/encoder | |
parent | a2fed22b6ca0d52e35db05466e314a4681118f6b (diff) | |
download | libvpx-e3d19bfc63347b01e30cd6fb8856c5d64d515c56.tar libvpx-e3d19bfc63347b01e30cd6fb8856c5d64d515c56.tar.gz libvpx-e3d19bfc63347b01e30cd6fb8856c5d64d515c56.tar.bz2 libvpx-e3d19bfc63347b01e30cd6fb8856c5d64d515c56.zip |
Fix for crash in highbitdepth rt mode
Change 72141 introduced a new use of vp9_avg_4x4.
This call needs to switch to using vp9_highbd_avg_4x4
when performing high bitdepth encodes.
Change-Id: I6a8ba4b62f8a75d0a917b365a55245e2f0438ea1
Diffstat (limited to 'vp9/encoder')
-rw-r--r-- | vp9/encoder/vp9_encodeframe.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/vp9/encoder/vp9_encodeframe.c b/vp9/encoder/vp9_encodeframe.c index 8f6fbf962..86023a5e8 100644 --- a/vp9/encoder/vp9_encodeframe.c +++ b/vp9/encoder/vp9_encodeframe.c @@ -593,7 +593,16 @@ static void choose_partitioning(VP9_COMP *cpi, unsigned int sse = 0; int sum = 0; if (x4_idx < pixels_wide && y4_idx < pixels_high) { +#if CONFIG_VP9_HIGHBITDEPTH + int s_avg; + if (xd->cur_buf->flags & YV12_FLAG_HIGHBITDEPTH) { + s_avg = vp9_highbd_avg_4x4(s + y4_idx * sp + x4_idx, sp); + } else { + s_avg = vp9_avg_4x4(s + y4_idx * sp + x4_idx, sp); + } +#else int s_avg = vp9_avg_4x4(s + y4_idx * sp + x4_idx, sp); +#endif // For key frame, reference is set to 128. sum = s_avg - 128; sse = sum * sum; |