Membrane.AV1
(Membrane AV1 Format v0.2.0)
View Source
AV1 video stream format for Membrane Framework.
This module defines the stream format struct used for capability negotiation between Membrane elements processing AV1 video streams.
Summary
Types
Determines the resolution and performance constraints of a bitstream, with which a decoder
must be compliant. The bitrate constraint for levels 4.0 and higher is also determined
by tier/0. The constraints are defined in
Annex A, chapter A.3. of AV1 specification.
Determines the bit depth and subsampling constraints of a bitstream, with which a decoder must be compliant. The constraints are defined in Annex A, chapter A.2. of AV1 specification.
AV1 stream format.
Determines the bitrate and compression rate constraint of a bitstream for a given level/0.
In the table defining the constraints of levels
(Annex A, chapter A.3. of AV1 specification),
tier determines whether values from MainMbps and MainCR (:main tier), or HighMbps and HighCR
for (:high tier) are assumed. :main is the only valid tier for levels lower than 4.0.
Types
@type framerate() :: {non_neg_integer(), pos_integer()}
@type level() ::
:"2.0"
| :"2.1"
| :"2.2"
| :"2.3"
| :"3.0"
| :"3.1"
| :"3.2"
| :"3.3"
| :"4.0"
| :"4.1"
| :"4.2"
| :"4.3"
| :"5.0"
| :"5.1"
| :"5.2"
| :"5.3"
| :"6.0"
| :"6.1"
| :"6.2"
| :"6.3"
| :"7.0"
| :"7.1"
| :"7.2"
| :"7.3"
Determines the resolution and performance constraints of a bitstream, with which a decoder
must be compliant. The bitrate constraint for levels 4.0 and higher is also determined
by tier/0. The constraints are defined in
Annex A, chapter A.3. of AV1 specification.
@type profile() :: :main | :high | :professional
Determines the bit depth and subsampling constraints of a bitstream, with which a decoder must be compliant. The constraints are defined in Annex A, chapter A.2. of AV1 specification.
@type t() :: %Membrane.AV1{ framerate: framerate() | nil, height: pos_integer() | nil, level: level() | nil, profile: profile() | nil, tier: tier() | nil, width: pos_integer() | nil }
AV1 stream format.
@type tier() :: :main | :high
Determines the bitrate and compression rate constraint of a bitstream for a given level/0.
In the table defining the constraints of levels
(Annex A, chapter A.3. of AV1 specification),
tier determines whether values from MainMbps and MainCR (:main tier), or HighMbps and HighCR
for (:high tier) are assumed. :main is the only valid tier for levels lower than 4.0.