commit | 1da29a788570299078f85e2ef5c183d75c78e5a4 | [log] [tgz] |
---|---|---|
author | Treehugger Robot <treehugger-gerrit@google.com> | Fri Sep 18 04:07:02 2020 +0000 |
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | Fri Sep 18 04:07:02 2020 +0000 |
tree | 305d584a57b796eebb579ee452d3efda4bd2a43a | |
parent | 0ee15b499f3dc0d71a05c1677a6ac4a6efe800d2 [diff] | |
parent | 293d17f3817f2be367bded7519d66ecc92493943 [diff] |
Merge "CCodec: fix underflow issue on handleImageData" am: 85cb71d0f1 am: c5ad05fa18 am: 7467de59a0 am: d51db8284e am: 293d17f381 Original change: https://android-review.googlesource.com/c/platform/frameworks/av/+/1430110 Change-Id: I124225cfb1024181816e3fd9111fd9a54cb38c06
diff --git a/media/codec2/sfplugin/CCodecBuffers.cpp b/media/codec2/sfplugin/CCodecBuffers.cpp index c49a16c..3c99bf6 100644 --- a/media/codec2/sfplugin/CCodecBuffers.cpp +++ b/media/codec2/sfplugin/CCodecBuffers.cpp
@@ -91,7 +91,9 @@ newFormat->setInt32(KEY_STRIDE, stride); ALOGD("[%s] updating stride = %d", mName, stride); if (img->mNumPlanes > 1 && stride > 0) { - int32_t vstride = (img->mPlane[1].mOffset - img->mPlane[0].mOffset) / stride; + int64_t offsetDelta = + (int64_t)img->mPlane[1].mOffset - (int64_t)img->mPlane[0].mOffset; + int32_t vstride = int32_t(offsetDelta / stride); newFormat->setInt32(KEY_SLICE_HEIGHT, vstride); ALOGD("[%s] updating vstride = %d", mName, vstride); }