diff options
-rw-r--r-- | libgralloc-qsd8k/gpu.cpp | 6 |
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; |