Namespace Egami.Formats.Webp
Classes
- Vp8EncodedFrame
One frame Encode(YuvRaster<byte>, Vp8FramePlan) wrote, and what it cost.
- Vp8FramePlan
How Encode(YuvRaster<byte>, Vp8FramePlan) codes one frame: its type, quality and references.
- Vp8StreamDecoder
Decodes a VP8 video stream (RFC 6386) a frame at a time, as WebM and IVF files carry it: key frames and inter frames, with the last, golden and alternate references, motion vectors and hidden frames. The frames equal libvpx's sample for sample. Feed the frames in stream order; decoding starts at a key frame. Containers are not read here: Egami.Video reads WebM and IVF and uses this decoder, and any other source of VP8 frames can too.
- Vp8StreamEncoder
Encodes a VP8 video stream (RFC 6386) a frame at a time: key frames, and inter frames that search the last, golden and alternate references for motion and code every VP8 vector mode. Each frame's Vp8FramePlan says what it is (key or inter, shown or hidden), its quality or quantizer, and which references it uses and refreshes, so rate control and group-of-frames planning stay with the caller: Egami.Video drives this encoder for WebM, MKV and IVF, and any other source of frames can too. The frames decode in libvpx exactly as in Vp8StreamDecoder.
- WebpChunk
A chunk Egami does not read itself, kept unchanged for round trips.
- WebpDetails
Details only WebP has, kept in FormatDetails so a WebP can be written back as it was.
- WebpFormat
The WebP format, registered in Default: lossless (VP8L), lossy (VP8) with or without alpha, and animated.
- WebpFrameDetails
Details of one frame of an animated WebP, kept in FormatDetails. Delay, blending, disposal and the frame's rectangle are in FrameMetadata.
- WebpReaderOptions
Options for reading WebP, on top of the general ReaderOptions.
- WebpWriterOptions
Options for writing WebP. The defaults follow libwebp's: quality 75 and effort (libwebp's method) 4. A raster read from a WebP file keeps its kind, lossless or lossy; anything else is written lossy.
Structs
- Vp8FrameInfo
What a VP8 frame was, as Decode(ReadOnlySpan<byte>) returns it.
Enums
- Vp8ReferenceCopy
A reference a VP8 inter frame copies into the golden or alternate frame.
- Vp8References
The references a VP8 inter frame may predict from.
- WebpChunkPosition
Where a kept chunk sat in a WebP file, so it can be written back in the same place.