///
import BufferContents from '../BufferContents';
import { Size } from '../math/Size';
export declare type DualPlaneYUVAArrayBuffer = {
type: 'DualPlaneYUVAArrayBuffer';
close?: () => void;
opaque: {
buffer: Uint8Array;
width: number;
height: number;
};
alpha?: {
buffer: Uint8Array;
width: number;
height: number;
};
};
export declare type DualPlaneRGBAArrayBuffer = {
type: 'DualPlaneRGBAArrayBuffer';
close: () => void;
opaque: {
buffer: Uint8Array;
width: number;
height: number;
};
alpha?: {
buffer: Uint8Array;
width: number;
height: number;
};
};
export declare type DualPlaneRGBAImageBitmap = {
type: 'DualPlaneRGBAImageBitmap';
close: () => void;
opaque: {
buffer: ImageBitmap;
width: number;
height: number;
};
alpha?: {
buffer: ImageBitmap;
width: number;
height: number;
};
};
export declare type DualPlaneRGBAVideoFrame = {
type: 'DualPlaneRGBAVideoFrame';
close: () => void;
opaque: {
buffer: VideoFrame;
width: number;
height: number;
};
alpha?: {
buffer: VideoFrame;
width: number;
height: number;
};
};
export declare type SinglePlane = {
type: 'SinglePlane';
close: () => void;
bitmap: ImageBitmap;
blob: Blob;
};
export declare type DecodedPixelContent = DualPlaneYUVAArrayBuffer | DualPlaneRGBAImageBitmap | DualPlaneRGBAArrayBuffer | DualPlaneRGBAVideoFrame | SinglePlane;
export declare type DecodedFrame = {
readonly mimeType: 'video/h264' | 'image/png';
readonly pixelContent: DecodedPixelContent;
readonly size: Size;
} & BufferContents;
export declare function isDecodedFrame(buffer: any): buffer is DecodedFrame;
export declare function createDecodedFrame(mimeType: 'video/h264' | 'image/png', pixelContent: DecodedPixelContent, size: Size, serial: number): DecodedFrame;