diff options
| author | 2023-05-18 03:37:30 +0000 | |
|---|---|---|
| committer | 2023-05-18 03:37:30 +0000 | |
| commit | d37a0b9727a3daf7bee514edad58c202ebf82354 (patch) | |
| tree | 8417a893243026109da4aa24751322d6de469d99 /libs | |
| parent | 2a26234471014985f40912e7814981cdac3f2731 (diff) | |
| parent | d2a115122ec7a6705c6e6372ef85be61f46f2f61 (diff) | |
Merge "ultrahdr: fix input buffer access in tonemap" into udc-dev am: bb319326a6 am: d2a115122e
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/23288897
Change-Id: I6fdd83e8ecdc29192d99794bc4b5902815549312
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Diffstat (limited to 'libs')
| -rw-r--r-- | libs/ultrahdr/jpegr.cpp | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/libs/ultrahdr/jpegr.cpp b/libs/ultrahdr/jpegr.cpp index ef927e3c56..cb8197c387 100644 --- a/libs/ultrahdr/jpegr.cpp +++ b/libs/ultrahdr/jpegr.cpp @@ -1041,21 +1041,18 @@ status_t JpegR::toneMap(jr_uncompressed_ptr src, jr_uncompressed_ptr dest) { return ERROR_JPEGR_INVALID_NULL_PTR; } - size_t src_luma_stride = src->luma_stride; - size_t src_chroma_stride = src->chroma_stride; uint16_t* src_luma_data = reinterpret_cast<uint16_t*>(src->data); - uint16_t* src_chroma_data = reinterpret_cast<uint16_t*>(src->chroma_data); + size_t src_luma_stride = src->luma_stride == 0 ? src->width : src->luma_stride; - if (src_chroma_data == nullptr) { - src_chroma_data = &reinterpret_cast<uint16_t*>(src->data)[src_luma_stride * src->height]; + uint16_t* src_chroma_data; + size_t src_chroma_stride; + if (src->chroma_data == nullptr) { + src_chroma_stride = src_luma_stride; + src_chroma_data = &reinterpret_cast<uint16_t*>(src->data)[src_luma_stride * src->height]; + } else { + src_chroma_stride = src->chroma_stride; + src_chroma_data = reinterpret_cast<uint16_t*>(src->chroma_data); } - if (src_luma_stride == 0) { - src_luma_stride = src->width; - } - if (src_chroma_stride == 0) { - src_chroma_stride = src_luma_stride; - } - dest->width = src->width; dest->height = src->height; |