Expand description
Animation as a layer over the video model, both ways, through the real zencodec animation traits.
VideoAnimationDecoderimplementsAnimationFrameDecoderover aDemuxerand aVideoDecoder. A frame lasts until the next one’s presentation timestamp; the last one lasts the explicitfinal_duration(IVF, WebM and MP4 do not reliably record it). Frames carry their timestamp inAnimationFrame::pts.AnimationVideoEncoderimplementsAnimationFrameEncoderover aVideoEncoderand aMuxer. Durations become timestamps on the encoder’s clock, exactly or not at all (UnsupportedOperation::AnimationTiming). Itsbeginandpending_outputmap onto the muxer’s pull output, so animation output streams when the muxer’s does.
Turning planes into a packed canvas and back is a colour conversion, and
colour conversion belongs to zenpixels-convert, not to a codec contract.
The adapters take it as a RenderFrame / CaptureFrame; Gray8
is the identity for 8-bit monochrome.
Structs§
- Animation
Video Encoder - A full-canvas animation encoder over a video encoder and a muxer.
- Gray8
- The identity conversion for 8-bit monochrome: one luma plane to
GRAY8_SRGBand back. - Video
Animation Decoder - A composited-canvas animation view over a demuxed, decoded video: the first video track, in presentation order.
Enums§
- Adapt
Error - Failure of an adapter.
Ais the first stage’s error (demuxer or encoder),Bthe second’s (decoder or muxer).
Traits§
- Capture
Frame - Makes a frame from packed pixels: the step between the animation API and a video encoder.
- Render
Frame - Writes a decoded frame onto a packed canvas: the step between a video decoder and the animation API.