Documentation
¶
Overview ¶
Package av1 contains utilities to work with the AV1 codec.
Index ¶
- Constants
- func BitstreamMarshal(tu [][]byte) ([]byte, error)
- func BitstreamUnmarshal(bs []byte, removeSizeField bool) ([][]byte, error)
- func ContainsKeyFrame(tu [][]byte) (bool, error)
- func LEB128MarshalSize(v uint) int
- func LEB128MarshalTo(v uint, buf []byte) int
- func LEB128Unmarshal(buf []byte) (uint, int, error)
- type OBUHeader
- type OBUType
- type SequenceHeader
- type SequenceHeader_ChromaSamplePosition
- type SequenceHeader_ColorConfig
- type SequenceHeader_ColorPrimaries
- type SequenceHeader_MatrixCoefficients
- type SequenceHeader_SeqForceIntegerMv
- type SequenceHeader_SeqForceScreenContentTools
- type SequenceHeader_TransferCharacteristics
Constants ¶
const ( // MaxTemporalUnitSize is the maximum size of a temporal unit. MaxTemporalUnitSize = 3 * 1024 * 1024 // MaxOBUsPerTemporalUnit is the maximum number of OBUs per temporal unit. MaxOBUsPerTemporalUnit = 10 )
Variables ¶
This section is empty.
Functions ¶
func BitstreamMarshal ¶
BitstreamMarshal encodes a temporal unit into a bitstream. Specification: https://aomediacodec.github.io/av1-spec/#low-overhead-bitstream-format
func BitstreamUnmarshal ¶
BitstreamUnmarshal extracts a temporal unit from a bitstream. Optionally, it also removes the size field from OBUs. Specification: https://aomediacodec.github.io/av1-spec/#low-overhead-bitstream-format
func ContainsKeyFrame ¶
ContainsKeyFrame checks whether a temporal unit contain a key frame.
func LEB128MarshalSize ¶
LEB128MarshalSize returns the marshal size of an unsigned integer in LEB128 format. Specification: https://aomediacodec.github.io/av1-spec/#leb128
func LEB128MarshalTo ¶
LEB128MarshalTo encodes an unsigned integer with the LEB128 format. Specification: https://aomediacodec.github.io/av1-spec/#leb128
func LEB128Unmarshal ¶
LEB128Unmarshal decodes an unsigned integer from the LEB128 format. Specification: https://aomediacodec.github.io/av1-spec/#leb128
Types ¶
type OBUHeader ¶
OBUHeader is a OBU header. Specification: https://aomediacodec.github.io/av1-spec/#obu-header-syntax
type OBUType ¶
type OBUType uint8
OBUType is an OBU type.
const (
OBUTypeSequenceHeader OBUType = 1
)
OBU types.
type SequenceHeader ¶
type SequenceHeader struct {
SeqProfile uint8
StillPicture bool
ReducedStillPictureHeader bool
TimingInfoPresentFlag bool
DecoderModelInfoPresentFlag bool
InitialDisplayDelayPresentFlag bool
OperatingPointsCntMinus1 uint8
OperatingPointIdc []uint16
SeqLevelIdx []uint8
SeqTier []bool
DecoderModelPresentForThisOp []bool
InitialDisplayPresentForThisOp []bool
InitialDisplayDelayMinus1 []uint8
MaxFrameWidthMinus1 uint32
MaxFrameHeightMinus1 uint32
FrameIDNumbersPresentFlag bool
Use128x128Superblock bool
EnableFilterIntra bool
EnableIntraEdgeFilter bool
EnableInterintraCompound bool
EnableMaskedCompound bool
EnableWarpedMotion bool
EnableDualFilter bool
EnableOrderHint bool
EnableJntComp bool
EnableRefFrameMvs bool
SeqChooseScreenContentTools bool
SeqForceScreenContentTools SequenceHeader_SeqForceScreenContentTools
SeqChooseIntegerMv bool
SeqForceIntegerMv SequenceHeader_SeqForceIntegerMv
OrderHintBitsMinus1 uint8
EnableSuperRes bool
EnableCdef bool
EnableRestoration bool
ColorConfig SequenceHeader_ColorConfig
}
SequenceHeader is a AV1 Sequence header OBU. Specification: https://aomediacodec.github.io/av1-spec/#sequence-header-obu-syntax
func (SequenceHeader) Height ¶
func (h SequenceHeader) Height() int
Height returns the video height.
func (*SequenceHeader) Unmarshal ¶
func (h *SequenceHeader) Unmarshal(buf []byte) error
Unmarshal decodes a SequenceHeader.
type SequenceHeader_ChromaSamplePosition ¶
type SequenceHeader_ChromaSamplePosition uint8 //nolint:revive
SequenceHeader_ChromaSamplePosition is a ChromaSamplePosition value.
const (
SequenceHeader_ChromaSamplePosition_CSP_UNKNOWN SequenceHeader_ChromaSamplePosition = 0 //nolint:revive
)
type SequenceHeader_ColorConfig ¶
type SequenceHeader_ColorConfig struct {
HighBitDepth bool
TwelveBit bool
BitDepth int
MonoChrome bool
ColorDescriptionPresentFlag bool
ColorPrimaries SequenceHeader_ColorPrimaries
TransferCharacteristics SequenceHeader_TransferCharacteristics
MatrixCoefficients SequenceHeader_MatrixCoefficients
ColorRange bool
SubsamplingX bool
SubsamplingY bool
ChromaSamplePosition SequenceHeader_ChromaSamplePosition
}
SequenceHeader_ColorConfig is a color configuration of a sequence header.
type SequenceHeader_ColorPrimaries ¶
type SequenceHeader_ColorPrimaries uint8 //nolint:revive
SequenceHeader_ColorPrimaries is a ColorPrimaries value.
const ( SequenceHeader_ColorPrimaries_CP_BT_709 SequenceHeader_ColorPrimaries = 1 //nolint:revive SequenceHeader_ColorPrimaries_CP_UNSPECIFIED SequenceHeader_ColorPrimaries = 2 //nolint:revive )
type SequenceHeader_MatrixCoefficients ¶
type SequenceHeader_MatrixCoefficients uint8 //nolint:revive
SequenceHeader_MatrixCoefficients is a MatrixCoefficients value.
const ( SequenceHeader_MatrixCoefficients_MC_IDENTITY SequenceHeader_MatrixCoefficients = 0 //nolint:revive SequenceHeader_MatrixCoefficients_MC_UNSPECIFIED SequenceHeader_MatrixCoefficients = 2 //nolint:revive )
type SequenceHeader_SeqForceIntegerMv ¶
type SequenceHeader_SeqForceIntegerMv uint8 //nolint:revive
SequenceHeader_SeqForceIntegerMv is a SeqForceIntegerMv value.
const (
SequenceHeader_SeqForceIntegerMv_SELECT_INTEGER_MV SequenceHeader_SeqForceIntegerMv = 2 //nolint:revive
)
type SequenceHeader_SeqForceScreenContentTools ¶
type SequenceHeader_SeqForceScreenContentTools uint8 //nolint:revive
SequenceHeader_SeqForceScreenContentTools is a SeqForceScreenContentTools value.
const (
SequenceHeader_SeqForceScreenContentTools_SELECT_SCREEN_CONTENT_TOOLS SequenceHeader_SeqForceScreenContentTools = 2 //nolint:revive,lll
)
type SequenceHeader_TransferCharacteristics ¶
type SequenceHeader_TransferCharacteristics uint8 //nolint:revive
SequenceHeader_TransferCharacteristics is a TransferCharacteristics value.
const ( SequenceHeader_TransferCharacteristics_TC_UNSPECIFIED SequenceHeader_TransferCharacteristics = 2 //nolint:revive SequenceHeader_TransferCharacteristics_TC_SRGB SequenceHeader_TransferCharacteristics = 13 //nolint:revive )