I was going to post camera buffer to Java via callback interface (public void onPreviewFrame(byte[] data, Camera camera) ) on SDK level, Unfortunately, the CPU usge is reached to 100% for one A15 core.
I had indentified that the CPU is cost by following code.
File location: mydroid\hardware\ti\omap4xx\camera\AppCallbacknotifier.cpp
Function name: copy2Dto1D
else if (strcmp(pixelFormat, android::CameraParameters::PIXEL_FORMAT_YUV420SP) == 0 || strcmp(pixelFormat, android::CameraParameters::PIXEL_FORMAT_YUV420P) == 0)
{
for ( int i = 0 ; i < height ; i++) {
memcpy(bufferDst, bufferSrc, row);
bufferSrc += stride;
bufferDst += row;
if ( ( bufferSrc > bufferSrcEnd ) || ( bufferDst > bufferDstEnd ) ) {
break;
}
}
Board information: UEVM5432G-02-12-00
Thanks,
Gancai