Skip to content

Plugin Interface

Rainman74 edited this page Sep 13, 2025 · 1 revision

※ For filter developers

VideoInfo

Method Description
IsRGB() All RGB and RGBA, regardless of packing or bit depth
IsRGB24() 8-bit packed RGB
IsRGB32() 8-bit packed RGBA
IsRGB48() 16-bit packed RGB
IsRGB64() 16-bit packed RGBA
IsPlanarRGB() Planar RGB
IsPlanarRGBA() Planar RGBA
IsYUV() All YUV, YUY2, Y only (except YUVA), regardless of bit depth
IsYUY2() YUY2 (YUY2 is 8-bit only)
IsYV24() 8-bit YUV444
IsYV16() 8-bit YUV422
IsYV12() 8-bit YUV420
IsY8() 8-bit Y only
IsYV411() 8-bit YUV411
Is444() YUV444 or YUVA444, regardless of bit depth
Is422() YUV422 or YUVA422, regardless of bit depth
Is420() YUV420 or YUVA420, regardless of bit depth
IsY() Y only
IsYUVA() All YUVA, regardless of bit depth or chroma subsampling
IsPlanar() Not (packed RGB(RGBA) or YUY2)
BytesFromPixels(1) planar: bytes for one component, RGBXX: XX/8, YUY2: 2
RowSize() BytesFromPixels(1) * width (valid bytes per row of data)
BitsPerPixel() Bits per pixel across all components
NumComponents() Number of components (mono=1, color=3, color+alpha=4)
ComponentSize() Bytes per element per component (1, 2, or 4)
BitsPerComponent() Bits per element per component (8,10,12,14,16,32)

PVideoFrame

Method Description
GetPitch() Pitch in bytes
GetRowSize() Same as VideoInfo.RowSize()

Clone this wiki locally