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>)