MediaCodecs.AV1.OBU (MediCodecs v0.10.0)
View SourceModule describing an AV1 OBU (Open Bitstream Unit).
Summary
Types
@type t() :: %MediaCodecs.AV1.OBU{ header: MediaCodecs.AV1.OBU.Header.t(), payload: binary() | MediaCodecs.AV1.OBU.SequenceHeader.t() }
Functions
Clears the obu_has_size flag.
iex> MediaCodecs.AV1.OBU.clear_size_flag(<<10, 10, 0, 0, 0, 3, 54, 57, 231, 255, 204, 66>>)
<<8, 0, 0, 0, 3, 54, 57, 231, 255, 204, 66>>
Checks if an OBU is a keyframe.
iex> MediaCodecs.AV1.OBU.keyframe?(<<18, 0>>)
false
iex> MediaCodecs.AV1.OBU.keyframe?(<<10, 11, 0, 0, 0, 66, 167, 191, 230, 46, 223, 200, 66>>)
false
iex> MediaCodecs.AV1.OBU.keyframe?(<<50, 218, 169, 3, 20, 0, 52, 162, 224, 0, 0, 136, 0>>)
true
Parses a binary into an OBU struct.
iex> MediaCodecs.AV1.OBU.parse(<<18, 0>>)
{:ok,
%MediaCodecs.AV1.OBU{
header: %MediaCodecs.AV1.OBU.Header{
type: :temporal_delimiter,
extension_flag: false,
has_size: true,
extension_header: nil
},
payload: <<>>
}}
Same as parse/1, but raises in case of failure.
Sets the obu_has_size flag.
iex> MediaCodecs.AV1.OBU.set_size_flag(<<8, 0, 0, 0, 3, 54, 57, 231, 255, 204, 66>>)
<<10, 10, 0, 0, 0, 3, 54, 57, 231, 255, 204, 66>>
@spec type(binary()) :: MediaCodecs.AV1.OBU.Header.obu_type()
Returns the OBU type from a binary OBU.
iex> MediaCodecs.AV1.OBU.type(<<10, 10, 0, 0, 0, 3, 54, 57, 231, 255, 204, 66>>)
:sequence_header