summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libgralloc-qsd8k/gpu.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/libgralloc-qsd8k/gpu.cpp b/libgralloc-qsd8k/gpu.cpp
index d577f96..90ff445 100644
--- a/libgralloc-qsd8k/gpu.cpp
+++ b/libgralloc-qsd8k/gpu.cpp
@@ -239,8 +239,12 @@ int gpu_context_t::alloc_impl(int w, int h, int format, int usage,
break;
case HAL_PIXEL_FORMAT_YV12:
+ if ((w&1) || (h&1)) {
+ LOGE("w or h is odd for HAL_PIXEL_FORMAT_YV12");
+ return -EINVAL;
+ }
alignedw = ALIGN(w, 16);
- alignedh = ALIGN(h, 2);
+ alignedh = h;
size = alignedw*alignedh +
(ALIGN(alignedw/2, 16) * (alignedh/2))*2;
break;