summaryrefslogtreecommitdiff
path: root/vp9/encoder
diff options
context:
space:
mode:
authorPeter de Rivaz <peter.derivaz@gmail.com>2014-12-16 10:55:49 +0000
committerPeter de Rivaz <peter.derivaz@gmail.com>2014-12-16 10:55:49 +0000
commite3d19bfc63347b01e30cd6fb8856c5d64d515c56 (patch)
tree2c68b618caf8dcdc88f264739b7d28ab18208fe7 /vp9/encoder
parenta2fed22b6ca0d52e35db05466e314a4681118f6b (diff)
downloadlibvpx-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.c9
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;