PlanarYUVLuminanceSource

class PlanarYUVLuminanceSource(yuvData: ByteArray, dataWidth: Int, dataHeight: Int, left: Int, top: Int, width: Int, height: Int, reverseHorizontal: Boolean) : LuminanceSource

This object extends LuminanceSource around an array of YUV data returned from the camera driver, with the option to crop to a rectangle within the full data. This can be used to exclude superfluous pixels around the perimeter and speed up decoding.

It works for any pixel format where the Y channel is planar and appears first, including YCbCr_420_SP and YCbCr_422_SP.

Constructors

Link copied to clipboard
constructor(yuvData: ByteArray, dataWidth: Int, dataHeight: Int, left: Int, top: Int, width: Int, height: Int, reverseHorizontal: Boolean)

Types

Link copied to clipboard
object Companion

Functions

Link copied to clipboard
open override fun crop(left: Int, top: Int, width: Int, height: Int): LuminanceSource

Returns a new object with cropped image data. Implementations may keep a reference to the original data rather than a copy. Only callable if isCropSupported() is true.

Link copied to clipboard
fun getHeight(): Int
Link copied to clipboard
open override fun getMatrix(): ByteArray

Fetches luminance data for the underlying bitmap. Values should be fetched using: val luminance = array[y * width + x] and 0xff

Link copied to clipboard
open override fun getRow(y: Int, row: ByteArray?): ByteArray

Fetches one row of luminance data from the underlying platform's bitmap. Values range from 0 (black) to 255 (white). Because Kotlin does not have an unsigned byte type, callers will have to bitwise and with 0xff for each value. It is preferable for implementations of this method to only fetch this row rather than the whole image, since no 2D Readers may be installed and getMatrix() may never be called.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun getWidth(): Int
Link copied to clipboard
Link copied to clipboard
open override fun isCropSupported(): Boolean
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Returns a new object with rotated image data by 90 degrees counterclockwise. Only callable if isRotateSupported is true.

Link copied to clipboard

Returns a new object with rotated image data by 45 degrees counterclockwise. Only callable if isRotateSupported is true.

Link copied to clipboard
open override fun toString(): String