UploadPlanes

class UploadPlanes(val width: Int, val height: Int, val format: PlayerPixelFormat, val planes: List<UploadPlanes.UploadPlane>)

What a GPU renderer needs from a frame, in the backend's own words. The output module defines the renderer seam and never sees this backend; a consumer that owns both maps these two answers onto it in a handful of lines. The memcpy discipline lives HERE, once: a hardware frame crosses as its CVPixelBuffer with no copy at all, and a software frame crosses as its planes copied out whole (stride times rows, one memcpy each) still in their native pixel format, which is the law: YUV until the GPU, never RGBA on the CPU.

Constructors

Link copied to clipboard
constructor(width: Int, height: Int, format: PlayerPixelFormat, planes: List<UploadPlanes.UploadPlane>)

Types

Link copied to clipboard
class UploadPlane(val bytes: ByteArray, val bytesPerRow: Int, val rows: Int)

Properties

Link copied to clipboard
Link copied to clipboard
val height: Int
Link copied to clipboard
Link copied to clipboard
val width: Int