Documentation
¶
Index ¶
Constants ¶
View Source
const ( // NALU_SEI - Supplementary Enhancement Information NAL Unit NALU_SEI = NalType(6) // NALU_SSP - SequenceParameterSet NAL Unit NALU_SPS = NalType(7) // NALU_PPS - PictureParameterSet NAL Unit NALU_PPS = NalType(8) // NALU_AUD - AccessUnitDelimiter NAL Unit NALU_AUD = NalType(9) // NALU_FILL - Filler NAL Unit NALU_FILL = NalType(12) // ExtendedSAR - Extended Sample Aspect Ratio Code ExtendedSAR = 255 )
Variables ¶
View Source
var ErrInvalidSliceType = errors.New("Invalid slice type")
View Source
var ErrNoSliceHeader = errors.New("No slice header")
View Source
var ErrNotSPS = errors.New("Not an SPS NAL unit")
View Source
var ErrTooFewBytesToParse = errors.New("Too few bytes to parse symbol")
Functions ¶
func HasParameterSets ¶
HasParameterSets - Check if H.264 SPS and PPS are present
Types ¶
type AVCDecConfRec ¶
type AVCDecConfRec struct {
AVCProfileIndication byte
ProfileCompatibility byte
AVCLevelIndication byte
SPSnalus [][]byte
PPSnalus [][]byte
ChromaFormat byte
BitDepthLumaMinus1 byte
BitDepthChromaMinus1 byte
NumSPSExt byte
NoTrailingInfo bool // To handle strange cases where trailing info is missing
}
AVCDecConfRec - AVCDecoderConfigurationRecord
func CreateAVCDecConfRec ¶
func CreateAVCDecConfRec(spsNALU []byte, ppsNALUs [][]byte) AVCDecConfRec
CreateAVCDecConfRec - Create an AVCDecConfRec based on SPS and PPS
func DecodeAVCDecConfRec ¶
func DecodeAVCDecConfRec(r io.Reader) (AVCDecConfRec, error)
DecodeAVCDecConfRec - decode an AVCDecConfRec
type HrdParameters ¶
type HrdParameters struct {
CpbCountMinus1 uint
BitRateScale uint
CpbSizeScale uint
CpbEntries []CpbEntry
InitialCpbRemovalDelayLengthMinus1 uint
CpbRemovalDelayLengthMinus1 uint
DpbOutpuDelayLengthMinus1 uint
TimeOffsetLength uint
}
HrdParameters inside VUI
type SPS ¶
type SPS struct {
Profile uint
ProfileCompatibility uint
Level uint
ParameterID uint
ChromaFormatIDC uint
SeparateColourPlaneFlag bool
BitDepthLumaMinus8 uint
BitDepthChromaMinus8 uint
QPPrimeYZeroTransformBypassFlag bool
SeqScalingMatrixPresentFlag bool
SeqScalings *SeqScalings
Log2MaxFrameNumMinus4 uint
PicOrderCntType uint
Log2MaxPicOrderCntLsbMinus4 uint
DeltaPicOrderAlwaysZeroFlag bool
OffsetForNonRefPic uint
OffsetForTopToBottomField uint
RefFramesInPicOrderCntCycle []uint
NumRefFrames uint
GapsInFrameNumValueAllowedFlag bool
FrameMbsOnlyFlag bool
MbAdaptiveFrameFieldFlag bool
Direct8x8InferenceFlag bool
FrameCroppingFlag bool
FrameCropLeftOffset uint
FrameCropRightOffset uint
FrameCropTopOffset uint
FrameCropBottomOffset uint
Width uint
Height uint
NrBytesBeforeVUI int
NrBytesRead int
VUI *VUIParameters
}
SPS - AVC SPS parameters
func ParseSPSNALUnit ¶
ParseSPSNALUnit - Parse AVC SPS NAL unit starting with NAL header
func (*SPS) ConstraintFlags ¶
ConstraintFlags - return the four ConstraintFlag bits
type SeqScalingList ¶
type SeqScalings ¶
type SeqScalings struct {
SeqScalingLists []SeqScalingList
}
type SliceType ¶
type SliceType uint
func GetSliceTypeFromNAL ¶
GetSliceTypeFromNAL - parse slice header to get slice type in interval 0 to 4
type VUIParameters ¶
type VUIParameters struct {
SampleAspectRatioWidth uint
SampleAspectRatioHeight uint
OverscanInfoPresentFlag bool
OverscanAppropriateFlag bool
VideoSignalTypePresentFlag bool
VideoFormat uint
VideoFullRangeFlag bool
ColourDescriptionFlag bool
ColourPrimaries uint
TransferCharacteristics uint
MatrixCoefficients uint
ChromaLocInfoPresentFlag bool
ChromaSampleLocTypeTopField uint
ChromaSampleLocTypeBottomField uint
TimingInfoPresentFlag bool
NumUnitsInTick uint
TimeScale uint
FixedFrameRateFlag bool
NalHrdParametersPresentFlag bool
NalHrdParameters *HrdParameters
VclHrdParametersPresentFlag bool
VclHrdParameters *HrdParameters
LowDelayHrdFlag bool // Only present with HrdParameters
PicStructPresentFlag bool
BitstreamRestrictionFlag bool
MotionVectorsOverPicBoundariesFlag bool
MaxBytesPerPicDenom uint
MaxBitsPerMbDenom uint
Log2MaxMvLengthHorizontal uint
Log2MaxMvLengthVertical uint
MaxNumReorderFrames uint
MaxDecFrameBuffering uint
}
VUIParameters - extra parameters according to 14496-10, E.1
Click to show internal directories.
Click to hide internal directories.