Camera:Padding mRawHeap size for resolutions which are not multiples of 16

A few snapshot resolutions (5mp and SVGA) are not multiple of 16
and hence jpeg encoder needs to pad the raw image. HAL layer needs to take into
account this padding and hence needs to allocate the mRawHeap
accordingly. Increased the size of mRawHeap if padding is
needed.
diff --git a/QualcommCameraHardware.cpp b/QualcommCameraHardware.cpp
index dcd5cc1..72e099a 100644
--- a/QualcommCameraHardware.cpp
+++ b/QualcommCameraHardware.cpp
@@ -27,6 +27,7 @@
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <unistd.h>
+#include <cutils/properties.h>
 #if HAVE_ANDROID_OS
 #include <linux/android_pmem.h>
 #endif
@@ -1215,6 +1216,8 @@
 bool QualcommCameraHardware::initRaw(bool initJpegHeap)
 {
     int rawWidth, rawHeight;
+    char value[PROPERTY_VALUE_MAX];
+
     mParameters.getPictureSize(&rawWidth, &rawHeight);
     LOGV("initRaw E: picture size=%dx%d", rawWidth, rawHeight);
 
@@ -1235,7 +1238,12 @@
 
     // Snapshot
     mRawSize = rawWidth * rawHeight * 3 / 2;
-    mJpegMaxSize = rawWidth * rawHeight * 3 / 2;
+    property_get("ro.product.device",value," ");
+
+    if(!strcmp(value,"msm7627_surf"))
+             mJpegMaxSize = CEILING16(rawWidth) * CEILING16(rawHeight) * 3 / 2;
+    else
+             mJpegMaxSize = rawWidth * rawHeight * 3 / 2;
 
     LOGV("initRaw: initializing mRawHeap.");
     mRawHeap =