summaryrefslogtreecommitdiffstats
path: root/camera/Encoder_libjpeg.cpp
diff options
context:
space:
mode:
authorDaniel Levin <dendy@ti.com>2012-02-06 13:42:33 +0200
committerDaniel Levin <dendy@ti.com>2012-07-25 08:55:40 -0500
commitf31c9c5c5a1b05a0bb6f6fa955924bfa16a4c9f9 (patch)
treeb8ad0202cd17cf441a7d9d412bba23d6ec5d7f42 /camera/Encoder_libjpeg.cpp
parent42b39d18f6b07cb7322e0988bfe1e3004ee352dc (diff)
downloadandroid_hardware_ti_omap4-f31c9c5c5a1b05a0bb6f6fa955924bfa16a4c9f9.tar.gz
android_hardware_ti_omap4-f31c9c5c5a1b05a0bb6f6fa955924bfa16a4c9f9.tar.bz2
android_hardware_ti_omap4-f31c9c5c5a1b05a0bb6f6fa955924bfa16a4c9f9.zip
CameraHAL: Fixed crash while resizing NV12 frame
When doing video snapshot NV12 frame is resizing for thumbnail using external NV12_resize library. Missing initialization of structConvImage.uOffset field was causing random crashes accessing source frame data in VT_resizeFrame_Video_opt2_lp() function. Signed-off-by: Daniel Levin <dendy@ti.com> Change-Id: I4fda98ba1c24cf54c7d90bffe074105a292096f6
Diffstat (limited to 'camera/Encoder_libjpeg.cpp')
-rw-r--r--camera/Encoder_libjpeg.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/camera/Encoder_libjpeg.cpp b/camera/Encoder_libjpeg.cpp
index 5dfc8ce..7eb49fb 100644
--- a/camera/Encoder_libjpeg.cpp
+++ b/camera/Encoder_libjpeg.cpp
@@ -184,6 +184,7 @@ static void resize_nv12(Encoder_libjpeg::params* params, uint8_t* dst_buffer) {
i_img_ptr.eFormat = IC_FORMAT_YCbCr420_lp;
i_img_ptr.imgPtr = (uint8_t*) params->src;
i_img_ptr.clrPtr = i_img_ptr.imgPtr + (i_img_ptr.uWidth * i_img_ptr.uHeight);
+ i_img_ptr.uOffset = 0;
//ouput
o_img_ptr.uWidth = params->out_width;
@@ -192,6 +193,7 @@ static void resize_nv12(Encoder_libjpeg::params* params, uint8_t* dst_buffer) {
o_img_ptr.eFormat = IC_FORMAT_YCbCr420_lp;
o_img_ptr.imgPtr = dst_buffer;
o_img_ptr.clrPtr = o_img_ptr.imgPtr + (o_img_ptr.uWidth * o_img_ptr.uHeight);
+ o_img_ptr.uOffset = 0;
VT_resizeFrame_Video_opt2_lp(&i_img_ptr, &o_img_ptr, NULL, 0);
}