Monday, 12 April 2021

Why is the image buffer of my ImageReader callback so big?

Within my ImageReader.setOnImageAvailableListener() I have the following callback code:

previewImageReader.setOnImageAvailableListener({ reader ->
    val image = reader.acquireLatestImage()
    var buffer = img.planes[0].buffer
    buffer.rewind()
    var size = buffer.remaining()
    var bytes = ByteArray(size)
    buffer.get(bytes)
    // do stuff with the received ByteArray
}

Here is the weird thing: For testing purposes I created the surface of the image reader with extremely small dimensions:

previewImageReader = ImageReader.newInstance(4, 3, ImageFormat.JPEG, 1)

However, buffer.remaining() returns a number >70.000. Why is the buffer so big, even though the dimensions of the return image are 4x3 pixels?



from Why is the image buffer of my ImageReader callback so big?

No comments:

Post a Comment