hevc

package
v0.0.11 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 7, 2023 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

View Source
const (
	NALUType_TRAIL_N NALUType = 0 // Coded slice segment of a non-TSA, non_STSA trailing picture
	NALUType_TRAIL_R NALUType = 1 // slice_segment_layer_rbsp()

	NALUType_TSA_N NALUType = 2 // Coded slice segment of a TSA picture
	NALUType_TSA_R NALUType = 3 // slice_segment_layer_rbsp()

	NALUType_STSA_N NALUType = 4 // Coded slice segment of an STSA picture
	NALUType_STSA_R NALUType = 5 // slice_segment_layer_rbsp()

	NALUType_RADL_N NALUType = 6 // Coded slice segment of a RADL picture
	NALUType_RADL_R NALUType = 7 // slice_segment_layer_rbsp()

	NALUType_RASL_N NALUType = 8 // Coded slice segment of a RASL picture
	NALUType_RASL_R NALUType = 9 // slice_segment_layer_rbsp()

	NALUType_RSV_VCL_N10 = 10 // Reserved non-IRAP SLNR VCL NAL unit types
	NALUType_RSV_VCL_R11 = 11 // Reserved non-IRAP sub-layer reference VCL NAL unit types
	NALUType_RSV_VCL_N12 = 12 // Reserved non-IRAP SLNR VCL NAL unit types
	NALUType_RSV_VCL_R13 = 13 // Reserved non-IRAP sub-layer reference VCL NAL unit types
	NALUType_RSV_VCL_N14 = 14 // Reserved non-IRAP SLNR VCL NAL unit types
	NALUType_RSV_VCL_R15 = 15 // Reserved non-IRAP sub-layer reference VCL NAL unit types

	NALUType_BLA_W_LP   NALUType = 16 // Coded slice segment of a BLA picture
	NALUType_BLA_W_RADL NALUType = 17 // slice_segment_layer_rbsp()
	NALUType_BLA_N_LP   NALUType = 18

	NALUType_IDR_W_RADL NALUType = 19 // Coded slice segment of an IDR picture
	NALUType_IDR_N_LP   NALUType = 20 // slice_segment_layer_rbsp()

	NALUType_CRA_NUT NALUType = 21 // Coded slice segment of a CRA picture slice_segment_layer_rbsp()

	NALUType_RSV_IRAP_VCL22 = 22 // Reserved IRAP VCL NAL unit types
	NALUType_RSV_IRAP_VCL23 = 23 // Reserved IRAP VCL NAL unit types

	NALUType_RSV_VCL24 = 24 // Reserved non-IRAP VCL NAL unit types
	NALUType_RSV_VCL25 = 25 // Reserved non-IRAP VCL NAL unit types
	NALUType_RSV_VCL26 = 26 // Reserved non-IRAP VCL NAL unit types
	NALUType_RSV_VCL27 = 27 // Reserved non-IRAP VCL NAL unit types
	NALUType_RSV_VCL28 = 28 // Reserved non-IRAP VCL NAL unit types
	NALUType_RSV_VCL29 = 29 // Reserved non-IRAP VCL NAL unit types
	NALUType_RSV_VCL30 = 30 // Reserved non-IRAP VCL NAL unit types
	NALUType_RSV_VCL31 = 31 // Reserved non-IRAP VCL NAL unit types

	NALUType_VPS_NUT NALUType = 32 // Video parameter set video_parameter_set_rbsp()
	NALUType_SPS_NUT NALUType = 33 // Sequence parameter set seq_parameter_set_rbsp()
	NALUType_PPS_NUT NALUType = 34 // Picture parameter set pic_parameter_set_rbsp()
	NALUType_AUD_NUT NALUType = 35 // Access unit delimiter access_unit_delimiter_rbsp()
	NALUType_EOS_NUT NALUType = 36 // End of sequence end_of_seq_rbsp()
	NALUType_EOB_NUT NALUType = 37 // End of bitstream end_of_bitstream_rbsp()
	NALUType_FD_NUT  NALUType = 38 // Filler data filler_data_rbsp()

	NALUType_Prefix_SEI_NUT NALUType = 39 // Supplemental enhancement information sei_rbsp()
	NALUType_Suffix_SEI_NUT NALUType = 40 // Supplemental enhancement information sei_rbsp()

	NALUType_RSV_NVCL41 = 41 // Reserved
	NALUType_RSV_NVCL42 = 42 // Reserved
	NALUType_RSV_NVCL43 = 43 // Reserved
	NALUType_RSV_NVCL44 = 44 // Reserved
	NALUType_RSV_NVCL45 = 45 // Reserved
	NALUType_RSV_NVCL46 = 46 // Reserved
	NALUType_RSV_NVCL47 = 47 // Reserved

	NALUType_UNSPEC48 = 48 // Unspecified
	NALUType_UNSPEC49 = 49 // Unspecified
	NALUType_UNSPEC50 = 50 // Unspecified
	NALUType_UNSPEC51 = 51 // Unspecified
	NALUType_UNSPEC52 = 52 // Unspecified
	NALUType_UNSPEC53 = 53 // Unspecified
	NALUType_UNSPEC54 = 54 // Unspecified
	NALUType_UNSPEC55 = 55 // Unspecified
	NALUType_UNSPEC56 = 56 // Unspecified
	NALUType_UNSPEC57 = 57 // Unspecified
	NALUType_UNSPEC58 = 58 // Unspecified
	NALUType_UNSPEC59 = 59 // Unspecified
	NALUType_UNSPEC60 = 60 // Unspecified
	NALUType_UNSPEC61 = 61 // Unspecified
	NALUType_UNSPEC62 = 62 // Unspecified
	NALUType_UNSPEC63 = 63 // Unspecified
)

Variables

This section is empty.

Functions

This section is empty.

Types

type HEVCDecoderConfigurationRecord

type HEVCDecoderConfigurationRecord struct {

	// It is a 5 bits profile_idc
	// @remark It's 5 bits.
	HEVCProfileIndication HEVCProfile

	// It is a 2 bits lengthSizeMinusOne
	LengthSizeMinusOne uint8

	// It contains a VPS NAL unit, as specified in ISO/IEC 14496-10. VPSs shall occur in
	// order of ascending parameter set identifier with gaps being allowed.
	VideoParameterSetNALUnits []*NALU
	// It contains a SPS NAL unit, as specified in ISO/IEC 14496-10. SPSs shall occur in
	// order of ascending parameter set identifier with gaps being allowed.
	SequenceParameterSetNALUnits []*NALU
	// It contains a PPS NAL unit, as specified in ISO/IEC 14496-10. PPSs shall occur in
	// order of ascending parameter set identifier with gaps being allowed.
	PictureParameterSetNALUnits []*NALU
	// contains filtered or unexported fields
}

hevc sequence header

func NewHEVCDecoderConfigurationRecord

func NewHEVCDecoderConfigurationRecord() *HEVCDecoderConfigurationRecord

func (*HEVCDecoderConfigurationRecord) UnmarshalBinary

func (v *HEVCDecoderConfigurationRecord) UnmarshalBinary(data []byte) error

Unmarshal H.265 sequence header with HEVCDecoderConfigurationRecord from bytes. @remark user must ensure the bytes left is at least 23.

type HEVCProfile

type HEVCProfile uint8

type HEVCSample

type HEVCSample struct {
	NALUs []*NALU
	// contains filtered or unexported fields
}

@doc ISO_IEC_14496-15-AVC-format-2012.pdf at page 20, 5.3.4.2 Sample format

func NewHEVCSample

func NewHEVCSample(lengthSizeMinusOne uint8) *HEVCSample

func (*HEVCSample) MarshalBinary

func (v *HEVCSample) MarshalBinary() ([]byte, error)

func (*HEVCSample) UnmarshalBinary

func (v *HEVCSample) UnmarshalBinary(data []byte) error

type NALRefIDC

type NALRefIDC uint8

@doc ISO_IEC_14496-10-AVC-2003.pdf at page 44, 7.3.1 NAL unit syntax

type NALU

type NALU struct {
	*NALUHeader
	Data []byte
}

@doc ISO_IEC_14496-10-AVC-2003.pdf at page 60, 7.4.1 NAL unit semantics

func NewNALU

func NewNALU() *NALU

func (*NALU) MarshalBinary

func (v *NALU) MarshalBinary() ([]byte, error)

func (*NALU) Size

func (v *NALU) Size() int

func (*NALU) String

func (v *NALU) String() string

func (*NALU) UnmarshalBinary

func (v *NALU) UnmarshalBinary(data []byte) error

type NALUHeader

type NALUHeader struct {
	// The 1-bit forbidden_bit
	// @remark It's 1 bit.
	Forbidden uint8
	// The 6-bits nal_unit_type.
	// @remark It's 6 bits.
	NALUType NALUType
	// The 6-bits nuh_layer_id.
	// @remark It's 6 bits.
	NUHLayerID uint8
	// The 3-bits nuh_temporal_id_plus1.
	// @remark It's 3 bits.
	NUHTemporalIDPlus1 uint8
}

H.265 NAL Header

func NewNALUHeader

func NewNALUHeader() *NALUHeader

func (*NALUHeader) MarshalBinary

func (v *NALUHeader) MarshalBinary() ([]byte, error)

Marshal H.265 NAL Header to bytes. @remark user must ensure the bytes left is at least 2.

func (*NALUHeader) Size

func (v *NALUHeader) Size() int

func (*NALUHeader) String

func (v *NALUHeader) String() string

func (*NALUHeader) UnmarshalBinary

func (v *NALUHeader) UnmarshalBinary(data []byte) error

Unmarshal H.265 NAL Header from bytes. @remark user must ensure the bytes left is at least 2.

type NALUType

type NALUType uint8

@doc ISO_IEC_14496-10-AVC-2003.pdf at page 44, 7.3.1 NAL unit syntax

func (NALUType) String

func (v NALUType) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL