|
|
@ -669,16 +669,16 @@ Java_com_xypower_mppreview_Camera2RawFragment_makeHdr3(JNIEnv *env, jclass clazz
|
|
|
|
int32_t fence = -1;
|
|
|
|
int32_t fence = -1;
|
|
|
|
result = AHardwareBuffer_lock(hardwareBuffer, AHARDWAREBUFFER_USAGE_CPU_READ_RARELY, fence, NULL, &outVirtualAddress);
|
|
|
|
result = AHardwareBuffer_lock(hardwareBuffer, AHARDWAREBUFFER_USAGE_CPU_READ_RARELY, fence, NULL, &outVirtualAddress);
|
|
|
|
cv::Mat tmp(bmpInfo.height, bmpInfo.width, CV_8UC4, outVirtualAddress);
|
|
|
|
cv::Mat tmp(bmpInfo.height, bmpInfo.width, CV_8UC4, outVirtualAddress);
|
|
|
|
AHardwareBuffer_unlock(hardwareBuffer, &fence);
|
|
|
|
|
|
|
|
tmp.copyTo(images[idx]);
|
|
|
|
tmp.copyTo(images[idx]);
|
|
|
|
|
|
|
|
AHardwareBuffer_unlock(hardwareBuffer, &fence);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
else
|
|
|
|
{
|
|
|
|
{
|
|
|
|
void* outAddress = NULL;
|
|
|
|
void* outAddress = NULL;
|
|
|
|
result = AndroidBitmap_lockPixels(env, bitmaps[idx], &outAddress);
|
|
|
|
result = AndroidBitmap_lockPixels(env, bitmaps[idx], &outAddress);
|
|
|
|
cv::Mat tmp(bmpInfo.height, bmpInfo.width, CV_8UC4, outAddress);
|
|
|
|
cv::Mat tmp(bmpInfo.height, bmpInfo.width, CV_8UC4, outAddress);
|
|
|
|
AndroidBitmap_unlockPixels(env, bitmaps[idx]);
|
|
|
|
|
|
|
|
tmp.copyTo(images[idx]);
|
|
|
|
tmp.copyTo(images[idx]);
|
|
|
|
|
|
|
|
AndroidBitmap_unlockPixels(env, bitmaps[idx]);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//convert RGB to BGR
|
|
|
|
//convert RGB to BGR
|
|
|
|