roboto.experimental.video.vp9#

Minimal VP9 bitstream inspection.

VP9 has no Annex B framing: a message payload is one raw frame (possibly a superframe, whose index trails the payload — so byte 0 always starts the first frame). This module parses only the fixed-position leading bits of the uncompressed frame header (VP9 Bitstream Specification section 6.2) needed for keyframe detection; the decoder reads everything else from the stream.

Module Contents#

roboto.experimental.video.vp9.is_keyframe(data)#

Whether the VP9 frame is a keyframe (intra-only, clean decoder entry point).

A keyframe has frame_type KEY_FRAME in its uncompressed header and is confirmed by the frame sync code. show_existing_frame payloads (which re-display an already decoded frame) are never keyframes.

Parameters:

data (bytes) – One frame’s raw VP9 bytes.

Returns:

True when the frame is a keyframe.

Return type:

bool