Documentation
¶
Index ¶
- Constants
- Variables
- func AddEmulationPrevention(data []byte) ([]byte, int)
- func CheckNALUsType(b []byte) (typ int)
- func DeEmulationPrevention(data []byte) []byte
- func IsDataNALU(b []byte) bool
- func IsPpsNALU(b byte) bool
- func IsSeiNALU(b byte) bool
- func IsSpsNALU(b byte) bool
- func RemoveH264orH265EmulationBytes(b []byte) []byte
- func SplitNALUs(b []byte) (nalus [][]byte, typ int)
- type AVCDecoderConfRecord
- type CodecData
- func (self CodecData) AVCDecoderConfRecordBytes() []byte
- func (self CodecData) Bandwidth() string
- func (self CodecData) FPS() int
- func (self CodecData) Height() int
- func (self CodecData) PPS() []byte
- func (self CodecData) PacketDuration(data []byte) time.Duration
- func (self CodecData) Resolution() string
- func (self CodecData) SPS() []byte
- func (self CodecData) Tag() string
- func (self CodecData) Type() av.CodecType
- func (self CodecData) Width() int
- type PPSInfo
- type SEIInfo
- type SPSInfo
- type SliceType
- type VuiParameters
Constants ¶
View Source
const ( NALU_SEI = 6 NALU_SPS = 7 NALU_PPS = 8 NALU_AUD = 9 )
View Source
const ( NALU_RAW = iota NALU_AVCC NALU_ANNEXB )
View Source
const ( SLICE_P = iota + 1 SLICE_B SLICE_I )
Variables ¶
View Source
var AUDBytes = []byte{0, 0, 0, 1, 0x9, 0xf0, 0, 0, 0, 1} // AUD
View Source
var ErrDecconfInvalid = fmt.Errorf("h264parser: AVCDecoderConfRecord invalid")
View Source
var StartCodeBytes = []byte{0, 0, 1}
Functions ¶
func AddEmulationPrevention ¶
增加防竞争码0x000003 0x00 00 01 -----> 0x00 00 03 01
func CheckNALUsType ¶
func IsDataNALU ¶
func SplitNALUs ¶
Types ¶
type AVCDecoderConfRecord ¶
type AVCDecoderConfRecord struct {
AVCProfileIndication uint8
ProfileCompatibility uint8
AVCLevelIndication uint8
LengthSizeMinusOne uint8
SPS [][]byte
PPS [][]byte
}
func (AVCDecoderConfRecord) Len ¶
func (self AVCDecoderConfRecord) Len() (n int)
func (AVCDecoderConfRecord) Marshal ¶
func (self AVCDecoderConfRecord) Marshal(b []byte) (n int)
type CodecData ¶
type CodecData struct {
Record []byte
RecordInfo AVCDecoderConfRecord
SPSInfo SPSInfo
PPSInfo PPSInfo
SequnceHeaderTag interface{}
}
func (CodecData) AVCDecoderConfRecordBytes ¶
func (CodecData) Resolution ¶
type PPSInfo ¶
type PPSInfo struct {
ForbiddenZeroBit uint
NalRefIdc uint
NalUnitType uint
PicParameterSetID uint
SeqParameterSetID uint
EntropyCodingModeFlag uint
PicOrderPresentFlag uint
NumSliceGroupsMinus1 uint
SliceGroupMapType uint
RunLengthMinus1 []uint // up to num_slice_groups_minus1, which is <= 7 in Baseline and Extended, 0 otheriwse
TopLeft []uint
BottomRight []uint
SliceGroupChangeDirectionFlag uint
SliceGroupChangeRateMinus1 uint
PicSizeInMapUnitsMinus1 uint
SliceGroupID []uint
NumRefIdxL0ActiveMinus1 uint
NumRefIdxL1ActiveMinus1 uint
WeightedPredFlag uint
WeightedBipredIdc uint
PicInitQpMinus26 uint
PicInitQsMinus26 uint
ChromaQpIndexOffset uint
DeblockingFilterControlPresentFlag uint
ConstrainedIntraPredFlag uint
RedundantPicCntPresnetFlag uint
}
PPSInfo ...
type SEIInfo ¶
type SEIInfo struct {
ForbiddenZeroBit uint
NalRefIdc uint
NalUnitType uint
PayloadType uint
PayloadSize uint
// PayloadType == 5
UUID []byte
UserData []byte
// PayloadType == 242
Ts uint64
Data []byte
}
SEIInfo ...
type SPSInfo ¶
type SPSInfo struct {
Id uint
ForbiddenZeroBit uint
NalRefIdc uint
NalUnitType uint
ConstraintSetFlag []uint
ProfileIdc uint
LevelIdc uint
SeqParameterSetID uint
ChromaFormatIdc uint
SeparateColourPlaneFlag uint
BitDepthLumaMinus8 uint
BitDepthChromaMinus8 uint
QpprimeYZeroTransformBypassFlag uint
SeqScalingMatrixPresentFlag uint
SeqScalingListPresentFlag []uint
Log2MaxFrameNumMinus4 uint
PicOrderCntType uint
Log2MaxPicOrderCntLsbMinus4 uint
DeltaPicOrderAlwaysZeroFlag uint
OffsetForNonRefPic uint
OffsetForTopToBottomField uint
NumRefFramesInPicOrderCntCycle uint
MaxNumRefFrames uint
GapsInFrameNumValueAllowedFlag uint
PicWidthInMbsMinus1 uint
PicHeightInMapUnitsMinus1 uint
MbAdaptiveFrameFieldFlag uint
Direct8x8InferenceFlag uint
FrameMbsOnlyFlag uint
FrameCroppingFlag uint
CropLeft uint
CropRight uint
CropTop uint
CropBottom uint
MbWidth uint
MbHeight uint
Width uint
Height uint
VuiParametersPresentFlag uint
VuiParameters
FPS uint
}
SPSInfo ...
type VuiParameters ¶
type VuiParameters struct {
AspectRatioInfoPresentFlag uint
AspectRatioIdc uint
SarWidth uint
SarHeight uint
OverscanInfoPresentFlag uint
OverscanAppropriateFlag uint
VideoSignalTypePresentFlag uint
VideoFormat uint
VideoFullRangeRlag uint
ColourDescriptionPresentFlag uint
ColourPrimaries uint
TransferCharacteristics uint
MatrixCoefficients uint
ChromaLocInfoPresentFlag uint
ChromaSampleLocTypeTopField uint
ChromaSampleLocTypeBottomField uint
TimingInfoPresentFlag uint
NumUnitsInTick uint
TimeScale uint
FixedFrameRateFlag uint
FPS uint
}
VuiParameters ...
Click to show internal directories.
Click to hide internal directories.