public interface IVideoCodecTurns packets into pictures.
No guide page documents this yet — the page shows what the code says about itself.
Remarks
Deliberately smaller than IVideoStreamDecoder: a codec knows nothing about files, positions or seeking. It is fed packets in the order the container had them and produces frames, and everything else is the stream decoder's job. That split is what lets one codec serve every container and one container serve every codec.
A codec may hold packets back. Returning NeedMoreData is ordinary for anything with frame reordering: the first B-frame cannot be output until the picture it refers forward to has arrived. Drain is how the frames still inside come out at the end of a stream.
Fields and properties (1)
VideoFormat FormatWhat it produces. Valid once the first frame has been decoded.
Methods (3)
VideoDecodeStatus Decode(in VideoPacket packet, VideoFrame destination)Decodes a packet.
VideoDecodeStatus Drain(VideoFrame destination)Asks for a frame the codec is holding, now that no more packets are coming.
void Reset()Throws away everything held, because the stream has jumped.
Used by (7)
- CountingCodecVixen.Video.Tests
- CountingFactoryVixen.Video.Tests
- IVideoCodecFactoryVixen.Video
- UncompressedVideoCodecVixen.Video
- UncompressedVideoCodecFactoryVixen.Video
- VideoCodecRegistryVixen.Video
- WebMVideoStreamDecoderVixen.Video