format

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Nov 24, 2022 License: MIT Imports: 1 Imported by: 1

Documentation

Index

Constants

View Source
const (
	ProbeOrderBinUnique = 0   // binary with unlikely overlap
	ProbeOrderBinFuzzy  = 100 // binary with possible overlap
	ProbeOrderTextJSON  = 200 // text json has prio as yaml overlap
	ProbeOrderTextFuzzy = 300 // text with possible overlap
)

TODO: do before-format somehow and topology sort?

View Source
const (
	ALL = "all"

	IMAGE       = "image"
	PROBE       = "probe"
	LINK_FRAME  = "link_frame"  // ex: ethernet
	INET_PACKET = "inet_packet" // ex: ipv4
	IP_PACKET   = "ip_packet"   // ex: tcp
	TCP_STREAM  = "tcp_stream"  // ex: http
	UDP_PAYLOAD = "udp_payload" // ex: dns

	BYTES = "bytes"
	BITS  = "bits"

	AAC_FRAME           = "aac_frame"
	ADTS                = "adts"
	ADTS_FRAME          = "adts_frame"
	AMF0                = "amf0"
	APEV2               = "apev2"
	AR                  = "ar"
	ASN1_BER            = "asn1_ber"
	AV1_CCR             = "av1_ccr"
	AV1_FRAME           = "av1_frame"
	AV1_OBU             = "av1_obu"
	AVC_ANNEXB          = "avc_annexb"
	AVC_AU              = "avc_au"
	AVC_DCR             = "avc_dcr"
	AVC_NALU            = "avc_nalu"
	AVC_PPS             = "avc_pps"
	AVC_SEI             = "avc_sei"
	AVC_SPS             = "avc_sps"
	AVI                 = "avi"
	AVRO_OCF            = "avro_ocf"
	BENCODE             = "bencode"
	BITCOIN_BLKDAT      = "bitcoin_blkdat"
	BITCOIN_BLOCK       = "bitcoin_block"
	BITCOIN_SCRIPT      = "bitcoin_script"
	BITCOIN_TRANSACTION = "bitcoin_transaction"
	BPLIST              = "bplist"
	BSD_LOOPBACK_FRAME  = "bsd_loopback_frame"
	BSON                = "bson"
	BZIP2               = "bzip2"
	CBOR                = "cbor"
	CSV                 = "csv"
	DNS                 = "dns"
	DNS_TCP             = "dns_tcp"
	ELF                 = "elf"
	ETHER8023_FRAME     = "ether8023_frame"
	EXIF                = "exif"
	FAIRPLAY_SPC        = "fairplay_spc"
	FLAC                = "flac"
	FLAC_FRAME          = "flac_frame"
	FLAC_METADATABLOCK  = "flac_metadatablock"
	FLAC_METADATABLOCKS = "flac_metadatablocks"
	FLAC_PICTURE        = "flac_picture"
	FLAC_STREAMINFO     = "flac_streaminfo"
	FLV                 = "flv" // TODO:
	GIF                 = "gif"
	GZIP                = "gzip"
	HEVC_ANNEXB         = "hevc_annexb"
	HEVC_AU             = "hevc_au"
	HEVC_DCR            = "hevc_dcr"
	HEVC_NALU           = "hevc_nalu"
	HEVC_PPS            = "hevc_pps"
	HEVC_SPS            = "hevc_sps"
	HEVC_VPS            = "hevc_vps"
	HTML                = "html"
	ICC_PROFILE         = "icc_profile"
	ICMP                = "icmp"
	ICMPV6              = "icmpv6"
	ID3V1               = "id3v1"
	ID3V11              = "id3v11"
	ID3V2               = "id3v2"
	IPV4_PACKET         = "ipv4_packet"
	IPV6_PACKET         = "ipv6_packet"
	JPEG                = "jpeg"
	JSON                = "json"
	JSONL               = "jsonl"
	MACHO               = "macho"
	MACHO_FAT           = "macho_fat"
	MARKDOWN            = "markdown"
	MATROSKA            = "matroska"
	MP3                 = "mp3"
	MP3_FRAME           = "mp3_frame"
	MP3_FRAME_TAGS      = "mp3_frame_tags"
	MP4                 = "mp4"
	MPEG_ASC            = "mpeg_asc"
	MPEG_ES             = "mpeg_es"
	MPEG_PES            = "mpeg_pes"
	MPEG_PES_PACKET     = "mpeg_pes_packet"
	MPEG_SPU            = "mpeg_spu"
	MPEG_TS             = "mpeg_ts"
	MSGPACK             = "msgpack"
	OGG                 = "ogg"
	OGG_PAGE            = "ogg_page"
	OPUS_PACKET         = "opus_packet"
	PCAP                = "pcap"
	PCAPNG              = "pcapng"
	PNG                 = "png"
	PRORES_FRAME        = "prores_frame"
	PROTOBUF            = "protobuf"
	PROTOBUF_WIDEVINE   = "protobuf_widevine"
	PSSH_PLAYREADY      = "pssh_playready"
	RTMP                = "rtmp"
	SLL_PACKET          = "sll_packet"
	SLL2_PACKET         = "sll2_packet"
	TAR                 = "tar"
	TCP_SEGMENT         = "tcp_segment"
	TIFF                = "tiff"
	TOML                = "toml"
	UDP_DATAGRAM        = "udp_datagram"
	VORBIS_COMMENT      = "vorbis_comment"
	VORBIS_PACKET       = "vorbis_packet"
	VP8_FRAME           = "vp8_frame"
	VP9_CFM             = "vp9_cfm"
	VP9_FRAME           = "vp9_frame"
	VPX_CCR             = "vpx_ccr"
	WASM                = "wasm"
	WAV                 = "wav"
	WEBP                = "webp"
	XML                 = "xml"
	YAML                = "yaml"
	ZIP                 = "zip"
)

TODO: change to CamelCase?

View Source
const (
	LinkTypeNULL                       = 0
	LinkTypeETHERNET                   = 1
	LinkTypeAX25                       = 3
	LinkTypeIEEE802_5                  = 6
	LinkTypeARCNET_BSD                 = 7
	LinkTypeSLIP                       = 8
	LinkTypePPP                        = 9
	LinkTypeFDDI                       = 10
	LinkTypePPP_HDLC                   = 50
	LinkTypePPP_ETHER                  = 51
	LinkTypeATM_RFC1483                = 100
	LinkTypeRAW                        = 101
	LinkTypeC_HDLC                     = 104
	LinkTypeIEEE802_11                 = 105
	LinkTypeFRELAY                     = 107
	LinkTypeLOOP                       = 108
	LinkTypeLINUX_SLL                  = 113
	LinkTypeLTALK                      = 114
	LinkTypePFLOG                      = 117
	LinkTypeIEEE802_11_PRISM           = 119
	LinkTypeIP_OVER_FC                 = 122
	LinkTypeSUNATM                     = 123
	LinkTypeIEEE802_11_RADIOTAP        = 127
	LinkTypeARCNET_LINUX               = 129
	LinkTypeAPPLE_IP_OVER_IEEE1394     = 138
	LinkTypeMTP2_WITH_PHDR             = 139
	LinkTypeMTP2                       = 140
	LinkTypeMTP3                       = 141
	LinkTypeSCCP                       = 142
	LinkTypeDOCSIS                     = 143
	LinkTypeLINUX_IRDA                 = 144
	LinkTypeUSER0                      = 147
	LinkTypeUSER1                      = 148
	LinkTypeUSER2                      = 149
	LinkTypeUSER3                      = 150
	LinkTypeUSER4                      = 151
	LinkTypeUSER5                      = 152
	LinkTypeUSER6                      = 153
	LinkTypeUSER7                      = 154
	LinkTypeUSER8                      = 155
	LinkTypeUSER9                      = 156
	LinkTypeUSER10                     = 157
	LinkTypeUSER11                     = 158
	LinkTypeUSER12                     = 159
	LinkTypeUSER13                     = 160
	LinkTypeUSER14                     = 161
	LinkTypeUSER15                     = 162
	LinkTypeIEEE802_11_AVS             = 163
	LinkTypeBACNET_MS_TP               = 165
	LinkTypePPP_PPPD                   = 166
	LinkTypeGPRS_LLC                   = 169
	LinkTypeGPF_T                      = 170
	LinkTypeGPF_F                      = 171
	LinkTypeLINUX_LAPD                 = 177
	LinkTypeMFR                        = 182
	LinkTypeBLUETOOTH_HCI_H4           = 187
	LinkTypeUSB_LINUX                  = 189
	LinkTypePPI                        = 192
	LinkTypeIEEE802_15_4_WITHFCS       = 195
	LinkTypeSITA                       = 196
	LinkTypeERF                        = 197
	LinkTypeBLUETOOTH_HCI_H4_WITH_PHDR = 201
	LinkTypeAX25_KISS                  = 202
	LinkTypeLAPD                       = 203
	LinkTypePPP_WITH_DIR               = 204
	LinkTypeC_HDLC_WITH_DIR            = 205
	LinkTypeFRELAY_WITH_DIR            = 206
	LinkTypeLAPB_WITH_DIR              = 207
	LinkTypeIPMB_LINUX                 = 209
	LinkTypeFLEXRAY                    = 210
	LinkTypeLIN                        = 212
	LinkTypeIEEE802_15_4_NONASK_PHY    = 215
	LinkTypeUSB_LINUX_MMAPPED          = 220
	LinkTypeFC_2                       = 224
	LinkTypeFC_2_WITH_FRAME_DELIMS     = 225
	LinkTypeIPNET                      = 226
	LinkTypeCAN_SOCKETCAN              = 227
	LinkTypeIPV4                       = 228
	LinkTypeIPV6                       = 229
	LinkTypeIEEE802_15_4_NOFCS         = 230
	LinkTypeDBUS                       = 231
	LinkTypeDVB_CI                     = 235
	LinkTypeMUX27010                   = 236
	LinkTypeSTANAG_5066_D_PDU          = 237
	LinkTypeNFLOG                      = 239
	LinkTypeNETANALYZER                = 240
	LinkTypeNETANALYZER_TRANSPARENT    = 241
	LinkTypeIPOIB                      = 242
	LinkTypeMPEG_2_TS                  = 243
	LinkTypeNG40                       = 244
	LinkTypeNFC_LLCP                   = 245
	LinkTypeINFINIBAND                 = 247
	LinkTypeSCTP                       = 248
	LinkTypeUSBPCAP                    = 249
	LinkTypeRTAC_SERIAL                = 250
	LinkTypeBLUETOOTH_LE_LL            = 251
	LinkTypeNETLINK                    = 253
	LinkTypeBLUETOOTH_LINUX_MONITOR    = 254
	LinkTypeBLUETOOTH_BREDR_BB         = 255
	LinkTypeBLUETOOTH_LE_LL_WITH_PHDR  = 256
	LinkTypePROFIBUS_DL                = 257
	LinkTypePKTAP                      = 258
	LinkTypeEPON                       = 259
	LinkTypeIPMI_HPM_2                 = 260
	LinkTypeZWAVE_R1_R2                = 261
	LinkTypeZWAVE_R3                   = 262
	LinkTypeWATTSTOPPER_DLM            = 263
	LinkTypeISO_14443                  = 264
	LinkTypeRDS                        = 265
	LinkTypeUSB_DARWIN                 = 266
	LinkTypeSDLC                       = 268
	LinkTypeLORATAP                    = 270
	LinkTypeVSOCK                      = 271
	LinkTypeNORDIC_BLE                 = 272
	LinkTypeDOCSIS31_XRA31             = 273
	LinkTypeETHERNET_MPACKET           = 274
	LinkTypeDISPLAYPORT_AUX            = 275
	LinkTypeLINUX_SLL2                 = 276
	LinkTypeOPENVIZSLA                 = 278
	LinkTypeEBHSCR                     = 279
	LinkTypeVPP_DISPATCH               = 280
	LinkTypeDSA_TAG_BRCM               = 281
	LinkTypeDSA_TAG_BRCM_PREPEND       = 282
	LinkTypeIEEE802_15_4_TAP           = 283
	LinkTypeDSA_TAG_DSA                = 284
	LinkTypeDSA_TAG_EDSA               = 285
	LinkTypeELEE                       = 286
	LinkTypeZ_WAVE_SERIAL              = 287
	LinkTypeUSB_2_0                    = 288
	LinkTypeATSC_ALP                   = 289
	LinkTypeETW                        = 290
)

from https://www.tcpdump.org/linktypes.html TODO cleanup

View Source
const (
	EtherTypeIPv4 = 0x0800
	EtherTypeIPv6 = 0x86dd
)
View Source
const (
	IPv4ProtocolICMP   = 1
	IPv4ProtocolIGMP   = 2
	IPv4ProtocolTCP    = 6
	IPv4ProtocolUDP    = 17
	IPv4ProtocolICMPv6 = 58
)
View Source
const (
	UDPPortDomain = 53
	UDPPortMDNS   = 5353
)
View Source
const (
	TCPPortDomain = 53
	TCPPortRTMP   = 1935
)
View Source
const (
	MPEGObjectTypeMOV_TEXT          = 0x08
	MPEGObjectTypeMPEG4             = 0x20
	MPEGObjectTypeH264              = 0x21
	MPEGObjectTypeHEVC              = 0x23
	MPEGObjectTypeAAC               = 0x40
	MPEGObjectTypeMPEG2VideoMain    = 0x61 /* MPEG-2 Main */
	MPEGObjectTypeMPEG2VideoSimple  = 0x60 /* MPEG-2 Simple */
	MPEGObjectTypeMPEG2VideoSNR     = 0x62 /* MPEG-2 SNR */
	MPEGObjectTypeMPEG2VideoSpatial = 0x63 /* MPEG-2 Spatial */
	MPEGObjectTypeMPEG2VideoHigh    = 0x64 /* MPEG-2 High */
	MPEGObjectTypeMPEG2Video422     = 0x65 /* MPEG-2 422 */
	MPEGObjectTypeAACMain           = 0x66 /* MPEG-2 AAC Main */
	MPEGObjectTypeAACLow            = 0x67 /* MPEG-2 AAC Low */
	MPEGObjectTypeAACSSR            = 0x68 /* MPEG-2 AAC SSR */
	MPEGObjectTypeMP32MP3           = 0x69 /* 13818-3 */
	MPEGObjectTypeMPEG1VIDEO        = 0x6a /* 11172-2 */
	MPEGObjectTypeMP3               = 0x6b /* 11172-3 */
	MPEGObjectTypeMJPEG             = 0x6c /* 10918-1 */
	MPEGObjectTypePNG               = 0x6d
	MPEGObjectTypeJPEG2000          = 0x6e /* 15444-1 */
	MPEGObjectTypeVC1               = 0xa3
	MPEGObjectTypeDIRAC             = 0xa4
	MPEGObjectTypeAC3               = 0xa5
	MPEGObjectTypeEAC3              = 0xa6
	MPEGObjectTypeDTS               = 0xa9 /* mp4ra.org */
	MPEGObjectTypeOPUS              = 0xad /* mp4ra.org */
	MPEGObjectTypeVP9               = 0xb1 /* mp4ra.org */
	MPEGObjectTypeFLAC              = 0xc1 /* nonstandard, update when there is a standard value */
	MPEGObjectTypeTSCC2             = 0xd0 /* nonstandard, camtasia uses it */
	MPEGObjectTypeEVRC              = 0xd1 /* nonstandard, pvAuthor uses it */
	MPEGObjectTypeVORBIS            = 0xdd /* nonstandard, gpac uses it */
	MPEGObjectTypeDVDSubtitle       = 0xe0 /* nonstandard, see unsupported-embedded-subs-2.mp4 */
	MPEGObjectTypeQCELP             = 0xe1
	MPEGObjectTypeMPEG4SYSTEMS1     = 0x01
	MPEGObjectTypeMPEG4SYSTEMS2     = 0x02
	MPEGObjectTypeNONE              = 0
)

based on ffmpeg libavformat/isom.c ff_mp4_obj_type

View Source
const (
	MPEGStreamTypeUnknown = iota
	MPEGStreamTypeVideo
	MPEGStreamTypeAudio
	MPEGStreamTypeText
)
View Source
const (
	MPEGAudioObjectTypeMain      = 1
	MPEGAudioObjectTypeLC        = 2
	MPEGAudioObjectTypeSSR       = 3
	MPEGAudioObjectTypeLTP       = 4
	MPEGAudioObjectTypeSBR       = 5
	MPEGAudioObjectTypeER_AAC_LD = 23
	MPEGAudioObjectTypePS        = 29
)
View Source
const (
	WAVTagPCM_S16LE       = 0x0001
	WAVTagADPCM_MS        = 0x0002
	WAVTagPCM_F32LE       = 0x0003
	WAVTagPCM_ALAW        = 0x0006
	WAVTagPCM_MULAW       = 0x0007
	WAVTagWMAVOICE        = 0x000a
	WAVTagADPCM_IMA_OKI   = 0x0010
	WAVTagADPCM_IMA_WAV   = 0x0011
	WAVTagADPCM_IMA_OKI_2 = 0x0017
	WAVTagADPCM_YAMAHA    = 0x0020
	WAVTagTRUESPEECH      = 0x0022
	WAVTagGSM_MS          = 0x0031
	WAVTagGSM_MS_2        = 0x0032
	WAVTagAMR_NB          = 0x0038
	WAVTagG723_1          = 0x0042
	WAVTagADPCM_G726      = 0x0045
	WAVTagADPCM_G726_2    = 0x0014
	WAVTagADPCM_G726_3    = 0x0040
	WAVTagMP2             = 0x0050
	WAVTagMP3             = 0x0055
	WAVTagAMR_NB_2        = 0x0057
	WAVTagAMR_WB          = 0x0058
	WAVTagADPCM_IMA_DK4   = 0x0061
	WAVTagADPCM_IMA_DK3   = 0x0062
	WAVTagADPCM_G726_4    = 0x0064
	WAVTagADPCM_IMA_WAV_2 = 0x0069
	WAVTagMETASOUND       = 0x0075
	WAVTagG729            = 0x0083
	WAVTagAAC             = 0x00ff
	WAVTagG723_1_2        = 0x0111
	WAVTagSIPR            = 0x0130
	WAVTagACELP_KELVIN    = 0x0135
	WAVTagWMAV1           = 0x0160
	WAVTagWMAV2           = 0x0161
	WAVTagWMAPRO          = 0x0162
	WAVTagWMALOSSLESS     = 0x0163
	WAVTagXMA1            = 0x0165
	WAVTagXMA2            = 0x0166
	WAVTagFTR             = 0x0180
	WAVTagADPCM_CT        = 0x0200
	WAVTagDVAUDIO         = 0x0215
	WAVTagDVAUDIO_2       = 0x0216
	WAVTagATRAC3          = 0x0270
	WAVTagMSNSIREN        = 0x028e
	WAVTagADPCM_G722      = 0x028f
	WAVTagMISC4           = 0x0350
	WAVTagIMC             = 0x0401
	WAVTagIAC             = 0x0402
	WAVTagON2AVC          = 0x0500
	WAVTagON2AVC_2        = 0x0501
	WAVTagGSM_MS_3        = 0x1500
	WAVTagTRUESPEECH_2    = 0x1501
	WAVTagAAC_2           = 0x1600
	WAVTagAAC_LATM        = 0x1602
	WAVTagAC3             = 0x2000
	WAVTagDTS             = 0x2001
	WAVTagSONIC           = 0x2048
	WAVTagG729_2          = 0x2222
	WAVTagPCM_MULAW_2     = 0x6c75
	WAVTagAAC_3           = 0x706d
	WAVTagAAC_4           = 0x4143
	WAVTagFTR_2           = 0x4180
	WAVTagXAN_DPCM        = 0x594a
	WAVTagG729_3          = 0x729a
	WAVTagFTR_3           = 0x8180
	WAVTagG723_1_3        = 0xa100
	WAVTagAAC_5           = 0xa106
	WAVTagSPEEX           = 0xa109
	WAVTagFLAC            = 0xf1ac
	WAVTagFORMATEX        = 0xfffe
	WAVTagADPCM_SWF       = 0x5356
	WAVTagVORBIS          = 0x566f
)

based on ffmpeg libavformat/riff.c

View Source
const (
	BMPTagH264                = "H264"
	BMPTagH264_h264           = "h264"
	BMPTagH264_X264           = "X264"
	BMPTagH264_x264           = "x264"
	BMPTagH264_avc1           = "avc1"
	BMPTagH264_DAVC           = "DAVC"
	BMPTagH264_SMV2           = "SMV2"
	BMPTagH264_VSSH           = "VSSH"
	BMPTagH264_Q264           = "Q264" // QNAP surveillance system
	BMPTagH264_V264           = "V264" // CCTV recordings
	BMPTagH264_GAVC           = "GAVC" // GeoVision camera
	BMPTagH264_UMSV           = "UMSV"
	BMPTagH264_tshd           = "tshd"
	BMPTagH264_INMC           = "INMC"
	BMPTagH263                = "H263"
	BMPTagH263_X263           = "X263"
	BMPTagH263_T263           = "T263"
	BMPTagH263_L263           = "L263"
	BMPTagH263_VX1K           = "VX1K"
	BMPTagH263_ZyGo           = "ZyGo"
	BMPTagH263_M263           = "M263"
	BMPTagH263_lsvm           = "lsvm"
	BMPTagH263P               = "H263"
	BMPTagH263I               = "I263" // Intel H.263
	BMPTagH261                = "H261"
	BMPTagH263_U263           = "U263"
	BMPTagH263_VSM4           = "VSM4" // needs -vf il=l=i:c=i
	BMPTagMPEG4               = "FMP4"
	BMPTagMPEG4_DIVX          = "DIVX"
	BMPTagMPEG4_DX50          = "DX50"
	BMPTagMPEG4_XVID          = "XVID"
	BMPTagMPEG4_MP4S          = "MP4S"
	BMPTagMPEG4_M4S2          = "M4S2"             // some broken AVIs use this
	BMPTagMPEG4_04000000      = "\x04\x00\x00\x00" // some broken AVIs use this
	BMPTagMPEG4_ZMP4          = "ZMP4"
	BMPTagMPEG4_DIV1          = "DIV1"
	BMPTagMPEG4_BLZ0          = "BLZ0"
	BMPTagMPEG4_mp4v          = "mp4v"
	BMPTagMPEG4_UMP4          = "UMP4"
	BMPTagMPEG4_WV1F          = "WV1F"
	BMPTagMPEG4_SEDG          = "SEDG"
	BMPTagMPEG4_RMP4          = "RMP4"
	BMPTagMPEG4_3IV2          = "3IV2" // WaWv MPEG-4 Video Codec
	BMPTagMPEG4_WAWV          = "WAWV"
	BMPTagMPEG4_FFDS          = "FFDS"
	BMPTagMPEG4_FVFW          = "FVFW"
	BMPTagMPEG4_DCOD          = "DCOD"
	BMPTagMPEG4_MVXM          = "MVXM"
	BMPTagMPEG4_PM4V          = "PM4V"
	BMPTagMPEG4_SMP4          = "SMP4"
	BMPTagMPEG4_DXGM          = "DXGM"
	BMPTagMPEG4_VIDM          = "VIDM"
	BMPTagMPEG4_M4T3          = "M4T3"
	BMPTagMPEG4_GEOX          = "GEOX" // flipped video
	BMPTagMPEG4_G264          = "G264" // flipped video
	BMPTagMPEG4_HDX4          = "HDX4"
	BMPTagMPEG4_DM4V          = "DM4V"
	BMPTagMPEG4_DMK2          = "DMK2"
	BMPTagMPEG4_DYM4          = "DYM4"
	BMPTagMPEG4_DIGI          = "DIGI" // Ephv MPEG-4
	BMPTagMPEG4_EPHV          = "EPHV"
	BMPTagMPEG4_EM4A          = "EM4A" // Divio MPEG-4
	BMPTagMPEG4_M4CC          = "M4CC"
	BMPTagMPEG4_SN40          = "SN40"
	BMPTagMPEG4_VSPX          = "VSPX"
	BMPTagMPEG4_ULDX          = "ULDX"
	BMPTagMPEG4_GEOV          = "GEOV" // Samsung SHR-6040
	BMPTagMPEG4_SIPP          = "SIPP"
	BMPTagMPEG4_SM4V          = "SM4V"
	BMPTagMPEG4_XVIX          = "XVIX"
	BMPTagMPEG4_DreX          = "DreX"
	BMPTagMPEG4_QMP4          = "QMP4" // QNAP Systems
	BMPTagMPEG4_PLV1          = "PLV1" // Pelco DVR MPEG-4
	BMPTagMPEG4_GLV4          = "GLV4"
	BMPTagMPEG4_GMP4          = "GMP4" // GeoVision camera
	BMPTagMPEG4_MNM4          = "MNM4" // March Networks DVR
	BMPTagMPEG4_GTM4          = "GTM4" // Telefactor
	BMPTagMSMPEG4V3           = "MP43"
	BMPTagMSMPEG4V3_DIV3      = "DIV3"
	BMPTagMSMPEG4V3_MPG3      = "MPG3"
	BMPTagMSMPEG4V3_DIV5      = "DIV5"
	BMPTagMSMPEG4V3_DIV6      = "DIV6"
	BMPTagMSMPEG4V3_DIV4      = "DIV4"
	BMPTagMSMPEG4V3_DVX3      = "DVX3"
	BMPTagMSMPEG4V3_AP41      = "AP41"
	BMPTagMSMPEG4V3_COL1      = "COL1"
	BMPTagMSMPEG4V3_COL0      = "COL0"
	BMPTagMSMPEG4V2           = "MP42"
	BMPTagMSMPEG4V2_DIV2      = "DIV2"
	BMPTagMSMPEG4V1           = "MPG4"
	BMPTagMSMPEG4V1_MP41      = "MP41"
	BMPTagWMV1                = "WMV1"
	BMPTagWMV2                = "WMV2"
	BMPTagWMV2_GXVE           = "GXVE"
	BMPTagDVVIDEO             = "dvsd"
	BMPTagDVVIDEO_dvhd        = "dvhd"
	BMPTagDVVIDEO_dvh1        = "dvh1"
	BMPTagDVVIDEO_dvsl        = "dvsl"
	BMPTagDVVIDEO_dv25        = "dv25"
	BMPTagDVVIDEO_dv50        = "dv50" // Canopus DV
	BMPTagDVVIDEO_cdvc        = "cdvc" // Canopus DV
	BMPTagDVVIDEO_CDVH        = "CDVH" // Canopus DV
	BMPTagDVVIDEO_CDV5        = "CDV5"
	BMPTagDVVIDEO_dvc         = "dvc "
	BMPTagDVVIDEO_dvcs        = "dvcs"
	BMPTagDVVIDEO_dvis        = "dvis"
	BMPTagDVVIDEO_pdvc        = "pdvc"
	BMPTagDVVIDEO_SL25        = "SL25"
	BMPTagDVVIDEO_SLDV        = "SLDV"
	BMPTagDVVIDEO_AVd1        = "AVd1"
	BMPTagMPEG1VIDEO          = "mpg1"
	BMPTagMPEG2VIDEO_mpg2     = "mpg2"
	BMPTagMPEG2VIDEO_MPEG     = "MPEG"
	BMPTagMPEG1VIDEO_PIM1     = "PIM1"
	BMPTagMPEG2VIDEO_PIM2     = "PIM2"
	BMPTagMPEG1VIDEO_VCR2     = "VCR2"
	BMPTagMPEG1VIDEO_01000016 = "\x01\x00\x00\x16"
	BMPTagMPEG2VIDEO_02000016 = "\x02\x00\x00\x16"
	BMPTagMPEG4_04000016      = "\x04\x00\x00\x16"
	BMPTagMPEG2VIDEO          = "DVR "
	BMPTagMPEG2VIDEOMMES      = "MMES" // Lead MPEG-2 in AVI
	BMPTagMPEG2VIDEOLMP2      = "LMP2"
	BMPTagMPEG2VIDEOslif      = "slif"
	BMPTagMPEG2VIDEOEM2V      = "EM2V" // Matrox MPEG-2 intra-only
	BMPTagMPEG2VIDEOM701      = "M701"
	BMPTagMPEG2VIDEOM702      = "M702"
	BMPTagMPEG2VIDEOM703      = "M703"
	BMPTagMPEG2VIDEOM704      = "M704"
	BMPTagMPEG2VIDEOM705      = "M705"
	BMPTagMPEG2VIDEOmpgv      = "mpgv"
	BMPTagMPEG1VIDEO_BW10     = "BW10"
	BMPTagMPEG1VIDEO_XMPG     = "XMPG" // Xing MPEG intra only
	BMPTagMJPEG               = "MJPG"
	BMPTagMJPEG_MSC2          = "MSC2" // Multiscope II
	BMPTagMJPEG_LJPG          = "LJPG"
	BMPTagMJPEG_dmb1          = "dmb1"
	BMPTagMJPEG_mjpa          = "mjpa"
	BMPTagMJPEG_JR24          = "JR24" // Quadrox Mjpeg
	BMPTagLJPEG               = "LJPG" // Pegasus lossless JPEG
	BMPTagMJPEG_JPGL          = "JPGL" // JPEG-LS custom FOURCC for AVI - encoder
	BMPTagJPEGLS              = "MJLS"
	BMPTagJPEGLS_MJPG         = "MJPG" // JPEG-LS custom FOURCC for AVI - decoder
	BMPTagMJPEG_MJLS          = "MJLS"
	BMPTagMJPEG_jpeg          = "jpeg"
	BMPTagMJPEG_IJPG          = "IJPG"
	BMPTagAVRN                = "AVRn"
	BMPTagMJPEG_ACDV          = "ACDV"
	BMPTagMJPEG_QIVG          = "QIVG" // SL M-JPEG
	BMPTagMJPEG_SLMJ          = "SLMJ" // Creative Webcam JPEG
	BMPTagMJPEG_CJPG          = "CJPG" // Intel JPEG Library Video Codec
	BMPTagMJPEG_IJLV          = "IJLV" // Midvid JPEG Video Codec
	BMPTagMJPEG_MVJP          = "MVJP"
	BMPTagMJPEG_AVI1          = "AVI1"
	BMPTagMJPEG_AVI2          = "AVI2"
	BMPTagMJPEG_MTSJ          = "MTSJ" // Paradigm Matrix M-JPEG Codec
	BMPTagMJPEG_ZJPG          = "ZJPG"
	BMPTagMJPEG_MMJP          = "MMJP"
	BMPTagHUFFYUV             = "HFYU"
	BMPTagFFVHUFF             = "FFVH"
	BMPTagCYUV                = "CYUV"
	BMPTagRAWVIDEO_00000000   = "\x00\x00\x00\x00"
	BMPTagRAWVIDEO_03000000   = "\x03\x00\x00\x00"
	BMPTagRAWVIDEO_I420       = "I420"
	BMPTagRAWVIDEO_YUY2       = "YUY2"
	BMPTagRAWVIDEO_Y422       = "Y422"
	BMPTagRAWVIDEO_V422       = "V422"
	BMPTagRAWVIDEO_YUNV       = "YUNV"
	BMPTagRAWVIDEO_UYNV       = "UYNV"
	BMPTagRAWVIDEO_UYNY       = "UYNY"
	BMPTagRAWVIDEO_uyv1       = "uyv1"
	BMPTagRAWVIDEO_2Vu1       = "2Vu1"
	BMPTagRAWVIDEO_2vuy       = "2vuy"
	BMPTagRAWVIDEO_yuvs       = "yuvs"
	BMPTagRAWVIDEO_yuv2       = "yuv2"
	BMPTagRAWVIDEO_P422       = "P422"
	BMPTagRAWVIDEO_YV12       = "YV12"
	BMPTagRAWVIDEO_YV16       = "YV16"
	BMPTagRAWVIDEO_YV24       = "YV24"
	BMPTagRAWVIDEO_UYVY       = "UYVY"
	BMPTagRAWVIDEO_VYUY       = "VYUY"
	BMPTagRAWVIDEO_IYUV       = "IYUV"
	BMPTagRAWVIDEO_AYUV       = "AYUV"
	BMPTagRAWVIDEO_Y800       = "Y800"
	BMPTagRAWVIDEO_Y8         = "Y8  "
	BMPTagRAWVIDEO_HDYC       = "HDYC"
	BMPTagRAWVIDEO_VDTZ       = "VDTZ"
	BMPTagRAWVIDEO_Y411       = "Y411"
	BMPTagRAWVIDEO_NV12       = "NV12"
	BMPTagRAWVIDEO_NV21       = "NV21"
	BMPTagRAWVIDEO_Y41B       = "Y41B"
	BMPTagRAWVIDEO_Y42B       = "Y42B"
	BMPTagRAWVIDEO_YUV9       = "YUV9"
	BMPTagRAWVIDEO_YVU9       = "YVU9"
	BMPTagRAWVIDEO_auv2       = "auv2"
	BMPTagRAWVIDEO_YVYU       = "YVYU"
	BMPTagRAWVIDEO_YUYV       = "YUYV"
	BMPTagRAWVIDEO_I410       = "I410"
	BMPTagRAWVIDEO_I411       = "I411"
	BMPTagRAWVIDEO_I422       = "I422"
	BMPTagRAWVIDEO_I440       = "I440"
	BMPTagRAWVIDEO_I444       = "I444"
	BMPTagRAWVIDEO_J420       = "J420"
	BMPTagRAWVIDEO_J422       = "J422"
	BMPTagRAWVIDEO_J440       = "J440"
	BMPTagRAWVIDEO_J444       = "J444"
	BMPTagRAWVIDEO_YUVA       = "YUVA"
	BMPTagRAWVIDEO_I40A       = "I40A"
	BMPTagRAWVIDEO_I42A       = "I42A"
	BMPTagRAWVIDEO_RGB2       = "RGB2"
	BMPTagRAWVIDEO_RV15       = "RV15"
	BMPTagRAWVIDEO_RV16       = "RV16"
	BMPTagRAWVIDEO_RV24       = "RV24"
	BMPTagRAWVIDEO_RV32       = "RV32"
	BMPTagRAWVIDEO_RGBA       = "RGBA"
	BMPTagRAWVIDEO_AV32       = "AV32"
	BMPTagRAWVIDEO_GREY       = "GREY"
	BMPTagRAWVIDEO_I09L       = "I09L"
	BMPTagRAWVIDEO_I09B       = "I09B"
	BMPTagRAWVIDEO_I29L       = "I29L"
	BMPTagRAWVIDEO_I29B       = "I29B"
	BMPTagRAWVIDEO_I49L       = "I49L"
	BMPTagRAWVIDEO_I49B       = "I49B"
	BMPTagRAWVIDEO_I0AL       = "I0AL"
	BMPTagRAWVIDEO_I0AB       = "I0AB"
	BMPTagRAWVIDEO_I2AL       = "I2AL"
	BMPTagRAWVIDEO_I2AB       = "I2AB"
	BMPTagRAWVIDEO_I4AL       = "I4AL"
	BMPTagRAWVIDEO_I4AB       = "I4AB"
	BMPTagRAWVIDEO_I4FL       = "I4FL"
	BMPTagRAWVIDEO_I4FB       = "I4FB"
	BMPTagRAWVIDEO_I0CL       = "I0CL"
	BMPTagRAWVIDEO_I0CB       = "I0CB"
	BMPTagRAWVIDEO_I2CL       = "I2CL"
	BMPTagRAWVIDEO_I2CB       = "I2CB"
	BMPTagRAWVIDEO_I4CL       = "I4CL"
	BMPTagRAWVIDEO_I4CB       = "I4CB"
	BMPTagRAWVIDEO_I0FL       = "I0FL"
	BMPTagRAWVIDEO_I0FB       = "I0FB"
	BMPTagFRWU                = "FRWU"
	BMPTagR10K                = "R10k"
	BMPTagR210                = "r210"
	BMPTagV210_v210           = "v210"
	BMPTagV210_C210           = "C210"
	BMPTagV308                = "v308"
	BMPTagV408                = "v408"
	BMPTagV410                = "v410"
	BMPTagYUV4                = "yuv4"
	BMPTagINDEO3_IV31         = "IV31"
	BMPTagINDEO3_IV32         = "IV32"
	BMPTagINDEO4              = "IV41"
	BMPTagINDEO5              = "IV50"
	BMPTagVP3_VP31            = "VP31"
	BMPTagVP3_VP30            = "VP30"
	BMPTagVP4                 = "VP40"
	BMPTagVP5                 = "VP50"
	BMPTagVP6_VP60            = "VP60"
	BMPTagVP6_VP61            = "VP61"
	BMPTagVP6_VP62            = "VP62"
	BMPTagVP6A                = "VP6A"
	BMPTagVP6F_VP6F           = "VP6F"
	BMPTagVP6F_FLV4           = "FLV4"
	BMPTagVP7_VP70            = "VP70"
	BMPTagVP7_VP71            = "VP71"
	BMPTagVP8                 = "VP80"
	BMPTagVP9                 = "VP90"
	BMPTagASV1                = "ASV1"
	BMPTagASV2                = "ASV2"
	BMPTagVCR1                = "VCR1"
	BMPTagFFV1                = "FFV1"
	BMPTagXAN_WC4             = "Xxan"
	BMPTagMIMIC               = "LM20"
	BMPTagMSRLE_mrle          = "mrle"
	BMPTagMSRLE_01000000      = "\x01\x00\x00\x00"
	BMPTagMSRLE_02000000      = "\x02\x00\x00\x00"
	BMPTagMSVIDEO1_MSVC       = "MSVC"
	BMPTagMSVIDEO1_msvc       = "msvc"
	BMPTagMSVIDEO1_CRAM       = "CRAM"
	BMPTagMSVIDEO1_cram       = "cram"
	BMPTagMSVIDEO1_WHAM       = "WHAM"
	BMPTagMSVIDEO1_wham       = "wham"
	BMPTagCINEPAK             = "cvid"
	BMPTagTRUEMOTION1_DUCK    = "DUCK"
	BMPTagTRUEMOTION1_PVEZ    = "PVEZ"
	BMPTagMSZH                = "MSZH"
	BMPTagZLIB                = "ZLIB"
	BMPTagSNOW                = "SNOW"
	BMPTag4XM                 = "4XMV"
	BMPTagFLV1                = "FLV1"
	BMPTagFLV1_S263           = "S263"
	BMPTagFLASHSV             = "FSV1"
	BMPTagSVQ1                = "svq1"
	BMPTagTSCC                = "tscc"
	BMPTagULTI                = "ULTI"
	BMPTagVIXL                = "VIXL"
	BMPTagQPEG                = "QPEG"
	BMPTagQPEG_Q1_0           = "Q1.0"
	BMPTagQPEG_Q1_1           = "Q1.1"
	BMPTagWMV3                = "WMV3"
	BMPTagWMV3IMAGE           = "WMVP"
	BMPTagVC1_WVC1            = "WVC1"
	BMPTagVC1_WMVA            = "WMVA"
	BMPTagVC1IMAGE            = "WVP2"
	BMPTagLOCO                = "LOCO"
	BMPTagWNV1_WNV1           = "WNV1"
	BMPTagWNV1_YUV8           = "YUV8"
	BMPTagAASC_AAS4           = "AAS4" // Autodesk 24 bit RLE compressor
	BMPTagAASC                = "AASC"
	BMPTagINDEO2              = "RT21"
	BMPTagFRAPS               = "FPS1"
	BMPTagTHEORA              = "theo"
	BMPTagTRUEMOTION2         = "TM20"
	BMPTagTRUEMOTION2RT       = "TR20"
	BMPTagCSCD                = "CSCD"
	BMPTagZMBV                = "ZMBV"
	BMPTagKMVC                = "KMVC"
	BMPTagCAVS                = "CAVS"
	BMPTagAVS2                = "AVS2"
	BMPTagJPEG2000_mjp2       = "mjp2"
	BMPTagJPEG2000_MJ2C       = "MJ2C"
	BMPTagJPEG2000_LJ2C       = "LJ2C"
	BMPTagJPEG2000_LJ2K       = "LJ2K"
	BMPTagJPEG2000_IPJ2       = "IPJ2"
	BMPTagJPEG2000_AVj2       = "AVj2" // Avid jpeg2000
	BMPTagVMNC                = "VMnc"
	BMPTagTARGA               = "tga "
	BMPTagPNG_MPNG            = "MPNG"
	BMPTagPNG_PNG1            = "PNG1"
	BMPTagPNG                 = "png " // ImageJ
	BMPTagCLJR                = "CLJR"
	BMPTagDIRAC               = "drac"
	BMPTagRPZA_azpr           = "azpr"
	BMPTagRPZA                = "RPZA"
	BMPTagRPZA_rpza           = "rpza"
	BMPTagSP5X                = "SP54"
	BMPTagAURA                = "AURA"
	BMPTagAURA2               = "AUR2"
	BMPTagDPX                 = "dpx "
	BMPTagKGV1                = "KGV1"
	BMPTagLAGARITH            = "LAGS"
	BMPTagAMV                 = "AMVF"
	BMPTagUTVIDEO_ULRA        = "ULRA"
	BMPTagUTVIDEO_ULRG        = "ULRG"
	BMPTagUTVIDEO_ULY0        = "ULY0"
	BMPTagUTVIDEO_ULY2        = "ULY2"
	BMPTagUTVIDEO_ULY4        = "ULY4" // Ut Video version 13.0.1 BT.709 codecs
	BMPTagUTVIDEO_ULH0        = "ULH0"
	BMPTagUTVIDEO_ULH2        = "ULH2"
	BMPTagUTVIDEO_ULH4        = "ULH4"
	BMPTagUTVIDEO_UQY0        = "UQY0"
	BMPTagUTVIDEO_UQY2        = "UQY2"
	BMPTagUTVIDEO_UQRA        = "UQRA"
	BMPTagUTVIDEO_UQRG        = "UQRG"
	BMPTagUTVIDEO_UMY2        = "UMY2"
	BMPTagUTVIDEO_UMH2        = "UMH2"
	BMPTagUTVIDEO_UMY4        = "UMY4"
	BMPTagUTVIDEO_UMH4        = "UMH4"
	BMPTagUTVIDEO_UMRA        = "UMRA"
	BMPTagUTVIDEO_UMRG        = "UMRG"
	BMPTagVBLE                = "VBLE"
	BMPTagESCAPE130           = "E130"
	BMPTagDXTORY              = "xtor"
	BMPTagZEROCODEC           = "ZECO"
	BMPTagY41P                = "Y41P"
	BMPTagFLIC                = "AFLC"
	BMPTagMSS1                = "MSS1"
	BMPTagMSA1                = "MSA1"
	BMPTagTSCC2               = "TSC2"
	BMPTagMTS2                = "MTS2"
	BMPTagCLLC                = "CLLC"
	BMPTagMSS2                = "MSS2"
	BMPTagSVQ3                = "SVQ3"
	BMPTag012V                = "012v"
	BMPTag012V_a12v           = "a12v"
	BMPTagG2M_G2M2            = "G2M2"
	BMPTagG2M_G2M3            = "G2M3"
	BMPTagG2M_G2M4            = "G2M4"
	BMPTagG2M_G2M5            = "G2M5"
	BMPTagFIC                 = "FICV"
	BMPTagHQX                 = "CHQX"
	BMPTagTDSC                = "TDSC"
	BMPTagHQ_HQA              = "CUVC"
	BMPTagRV40                = "RV40"
	BMPTagSCREENPRESSO        = "SPV1"
	BMPTagRSCC                = "RSCC"
	BMPTagRSCC_ISCC           = "ISCC"
	BMPTagCFHD                = "CFHD"
	BMPTagM101                = "M101"
	BMPTagM101_M102           = "M102"
	BMPTagMAGICYUV_MAGY       = "MAGY"
	BMPTagMAGICYUV_M8RG       = "M8RG"
	BMPTagMAGICYUV_M8RA       = "M8RA"
	BMPTagMAGICYUV_M8G0       = "M8G0"
	BMPTagMAGICYUV_M8Y0       = "M8Y0"
	BMPTagMAGICYUV_M8Y2       = "M8Y2"
	BMPTagMAGICYUV_M8Y4       = "M8Y4"
	BMPTagMAGICYUV_M8YA       = "M8YA"
	BMPTagMAGICYUV_M0RA       = "M0RA"
	BMPTagMAGICYUV_M0RG       = "M0RG"
	BMPTagMAGICYUV_M0G0       = "M0G0"
	BMPTagMAGICYUV_M0Y0       = "M0Y0"
	BMPTagMAGICYUV_M0Y2       = "M0Y2"
	BMPTagMAGICYUV_M0Y4       = "M0Y4"
	BMPTagMAGICYUV_M2RA       = "M2RA"
	BMPTagMAGICYUV_M2RG       = "M2RG"
	BMPTagYLC                 = "YLC0"
	BMPTagSPEEDHQ_SHQ0        = "SHQ0"
	BMPTagSPEEDHQ_SHQ1        = "SHQ1"
	BMPTagSPEEDHQ_SHQ2        = "SHQ2"
	BMPTagSPEEDHQ_SHQ3        = "SHQ3"
	BMPTagSPEEDHQ_SHQ4        = "SHQ4"
	BMPTagSPEEDHQ_SHQ5        = "SHQ5"
	BMPTagSPEEDHQ_SHQ7        = "SHQ7"
	BMPTagSPEEDHQ_SHQ9        = "SHQ9"
	BMPTagFMVC                = "FMVC"
	BMPTagSCPR                = "SCPR"
	BMPTagCLEARVIDEO          = "UCOD"
	BMPTagAV1                 = "AV01"
	BMPTagMSCC                = "MSCC"
	BMPTagSRGC                = "SRGC"
	BMPTagIMM4                = "IMM4"
	BMPTagPROSUMER            = "BT20"
	BMPTagMWSC                = "MWSC"
	BMPTagWCMV                = "WCMV"
	BMPTagRASC                = "RASC"
	BMPTagHYMT                = "HYMT"
	BMPTagARBC                = "ARBC"
	BMPTagAGM_AGM0            = "AGM0"
	BMPTagAGM_AGM1            = "AGM1"
	BMPTagAGM_AGM2            = "AGM2"
	BMPTagAGM_AGM3            = "AGM3"
	BMPTagAGM_AGM4            = "AGM4"
	BMPTagAGM_AGM5            = "AGM5"
	BMPTagAGM_AGM6            = "AGM6"
	BMPTagAGM_AGM7            = "AGM7"
	BMPTagLSCR                = "LSCR"
	BMPTagIMM5                = "IMM5"
	BMPTagMVDV                = "MVDV"
	BMPTagMVHA                = "MVHA"
	BMPTagMV30                = "MV30"
	BMPTagNOTCHLC             = "nlc1"
	BMPTagVQC_VQC1            = "VQC1"
	BMPTagVQC_VQC2            = "VQC2"
	// unofficial
	BMPTagHEVC      = "HEVC"
	BMPTagHEVC_H265 = "H265"
)

based on ffmpeg libavformat/riff.c

View Source
const (
	ProtoBufTypeInt32 = iota
	ProtoBufTypeInt64
	ProtoBufTypeUInt32
	ProtoBufTypeUInt64
	ProtoBufTypeSInt32
	ProtoBufTypeSInt64
	ProtoBufTypeBool
	ProtoBufTypeEnum
	ProtoBufTypeFixed64
	ProtoBufTypeSFixed64
	ProtoBufTypeDouble
	ProtoBufTypeString
	ProtoBufTypeBytes
	ProtoBufTypeMessage
	ProtoBufTypePackedRepeated
	ProtoBufTypeFixed32
	ProtoBufTypeSFixed32
	ProtoBufTypeFloat
)

Variables

View Source
var EtherTypeMap = scalar.UToScalar{
	EtherTypeIPv4: {Sym: "ipv4", Description: `Internet Protocol version 4`},
	0x0806:        {Sym: "arp", Description: `Address Resolution Protocol`},
	0x0842:        {Sym: "wake", Description: `Wake-on-LAN[9]`},
	0x22f0:        {Sym: "audio", Description: `Audio Video Transport Protocol`},
	0x22f3:        {Sym: "trill", Description: `IETF TRILL Protocol`},
	0x22ea:        {Sym: "srp", Description: `Stream Reservation Protocol`},
	0x6002:        {Sym: "dec", Description: `DEC MOP RC`},
	0x6003:        {Sym: "decnet", Description: `DECnet Phase IV, DNA Routing`},
	0x6004:        {Sym: "declat", Description: `DEC LAT`},
	0x8035:        {Sym: "reverse", Description: `Reverse Address Resolution Protocol`},
	0x809b:        {Sym: "appletalk", Description: `AppleTalk`},
	0x80f3:        {Sym: "appletalk_arp", Description: `AppleTalk Address Resolution Protocol`},
	0x8100:        {Sym: "vlan", Description: `VLAN-tagged (IEEE 802.1Q)`},
	0x8102:        {Sym: "slpp", Description: `Simple Loop Prevention Protocol`},
	0x8103:        {Sym: "vlacp", Description: `Virtual Link Aggregation Control Protocol`},
	0x8137:        {Sym: "ipx", Description: `IPX`},
	0x8204:        {Sym: "qnx", Description: `QNX Qnet`},
	EtherTypeIPv6: {Sym: "ipv6", Description: `Internet Protocol Version 6`},
	0x8808:        {Sym: "flow_control", Description: `Ethernet flow control`},
	0x8809:        {Sym: "lacp", Description: `Ethernet Slow Protocols] such as the Link Aggregation Control Protocol`},
	0x8819:        {Sym: "cobranet", Description: `CobraNet`},
	0x8847:        {Sym: "mpls", Description: `MPLS unicast`},
	0x8848:        {Sym: "mpls", Description: `MPLS multicast`},
	0x8863:        {Sym: "pppoe_discovery", Description: `PPPoE Discovery Stage`},
	0x8864:        {Sym: "pppoe_session", Description: `PPPoE Session Stage`},
	0x887b:        {Sym: "homeplug", Description: `HomePlug 1.0 MME`},
	0x888e:        {Sym: "eap", Description: `EAP over LAN (IEEE 802.1X)`},
	0x8892:        {Sym: "profinet", Description: `PROFINET Protocol`},
	0x889a:        {Sym: "hyperscsi", Description: `HyperSCSI (SCSI over Ethernet)`},
	0x88a2:        {Sym: "ata", Description: `ATA over Ethernet`},
	0x88a4:        {Sym: "ethercat", Description: `EtherCAT Protocol`},
	0x88a8:        {Sym: "service", Description: `Service VLAN tag identifier (S-Tag) on Q-in-Q tunnel`},
	0x88ab:        {Sym: "ethernet", Description: `Ethernet Powerlink`},
	0x88b8:        {Sym: "goose", Description: `GOOSE (Generic Object Oriented Substation event)`},
	0x88b9:        {Sym: "gse", Description: `GSE (Generic Substation Events) Management Services`},
	0x88ba:        {Sym: "sv", Description: `SV (Sampled Value Transmission)`},
	0x88bf:        {Sym: "mikrotik", Description: `MikroTik RoMON (unofficial)`},
	0x88cc:        {Sym: "link", Description: `Link Layer Discovery Protocol (LLDP)`},
	0x88cd:        {Sym: "sercos", Description: `SERCOS III`},
	0x88e1:        {Sym: "homeplug", Description: `HomePlug Green PHY`},
	0x88e3:        {Sym: "media", Description: `Media Redundancy Protocol (IEC62439-2)`},
	0x88e5:        {Sym: "ieee", Description: `IEEE 802.1AE MAC security (MACsec)`},
	0x88e7:        {Sym: "provider", Description: `Provider Backbone Bridges (PBB) (IEEE 802.1ah)`},
	0x88f7:        {Sym: "precision", Description: `Precision Time Protocol (PTP) over IEEE 802.3 Ethernet`},
	0x88f8:        {Sym: "nc", Description: `NC-SI`},
	0x88fb:        {Sym: "parallel", Description: `Parallel Redundancy Protocol (PRP)`},
	0x8902:        {Sym: "ieee", Description: `IEEE 802.1ag Connectivity Fault Management (CFM) Protocol / ITU-T Recommendation Y.1731 (OAM)`},
	0x8906:        {Sym: "fibre", Description: `Fibre Channel over Ethernet (FCoE)`},
	0x8914:        {Sym: "fcoe", Description: `FCoE Initialization Protocol`},
	0x8915:        {Sym: "rdma", Description: `RDMA over Converged Ethernet (RoCE)`},
	0x891d:        {Sym: "ttethernet", Description: `TTEthernet Protocol Control Frame (TTE)`},
	0x893a:        {Sym: "1905", Description: `1905.1 IEEE Protocol`},
	0x892f:        {Sym: "high", Description: `High-availability Seamless Redundancy (HSR)`},
	0x9000:        {Sym: "ethernet", Description: `Ethernet Configuration Testing Protocol[12]`},
	0xf1c1:        {Sym: "redundancy", Description: `Redundancy Tag (IEEE 802.1CB Frame Replication and Elimination for Reliability)`},
}

from https://en.wikipedia.org/wiki/EtherType TODO: cleanup

View Source
var IPv4ProtocolMap = scalar.UToScalar{}/* 136 elements not displayed */
View Source
var ISO_23091_2_ColourPrimariesMap = scalar.UToScalar{
	1:  {Sym: "bt709", Description: "ITU-R BT1361 / IEC 61966-2-4 / SMPTE RP 177 Annex B"},
	2:  {Sym: "unspecified", Description: "Unspecified"},
	3:  {Sym: "reserved", Description: "Reserved"},
	4:  {Sym: "bt470m", Description: "FCC Title 47 Code of Federal Regulations 73.682 (a)(20)"},
	5:  {Sym: "bt470bg", Description: "ITU-R BT601-6 625 / ITU-R BT1358 625 / ITU-R BT1700 625 PAL & SECAM"},
	6:  {Sym: "smpte170m", Description: "ITU-R BT601-6 525 / ITU-R BT1358 525 / ITU-R BT1700 NTSC"},
	7:  {Sym: "smpte240m", Description: "ITU-R BT601-6 525 / ITU-R BT1358 525 / ITU-R BT1700 NTSC"},
	8:  {Sym: "film", Description: "Illuminant C"},
	9:  {Sym: "bt2020", Description: "ITU-R BT2020"},
	10: {Sym: "smpte428", Description: "SMPTE ST 428-1 (CIE 1931 XYZ)"},
	11: {Sym: "smpte431", Description: "SMPTE ST 431-2 (2011) / DCI P3"},
	12: {Sym: "smpte432", Description: "SMPTE ST 432-1 (2010) / P3 D65 / Display P3"},
	22: {Sym: "ebu3213", Description: "EBU Tech. 3213-E (nothing there) / one of JEDEC P22 group phosphors"},
}

based on ffmpeg/libavutil/pixfmt.h

View Source
var ISO_23091_2_MatrixCoefficients = scalar.UToScalar{
	0:  {Sym: "rgb", Description: "GBR, IEC 61966-2-1 (sRGB), YZX and ST 428-1"},
	1:  {Sym: "bt709", Description: "ITU-R BT1361 / IEC 61966-2-4 xvYCC709 / derived in SMPTE RP 177 Annex B"},
	2:  {Sym: "unspecified", Description: "Unspecified"},
	3:  {Sym: "reserved", Description: "Reserved"},
	4:  {Sym: "fcc", Description: "FCC Title 47 Code of Federal Regulations 73.682 (a)(20)"},
	5:  {Sym: "bt470bg", Description: "ITU-R BT601-6 625 / ITU-R BT1358 625 / ITU-R BT1700 625 PAL & SECAM / IEC 61966-2-4 xvYCC601"},
	6:  {Sym: "smpte170m", Description: "ITU-R BT601-6 525 / ITU-R BT1358 525 / ITU-R BT1700 NTSC"},
	7:  {Sym: "smpte240m", Description: "Derived from 170M primaries and D65 white point"},
	8:  {Sym: "ycgco", Description: "VC-2 and H.264 FRext"},
	9:  {Sym: "bt2020_ncl", Description: "ITU-R BT2020 non-constant luminance system"},
	10: {Sym: "bt2020_cl", Description: "ITU-R BT2020 constant luminance system"},
	11: {Sym: "smpte2085", Description: "SMPTE 2085, Y'D'zD'x"},
	12: {Sym: "chroma_derived_ncl", Description: "Chromaticity-derived non-constant luminance system"},
	13: {Sym: "chroma_derived_cl", Description: "Chromaticity-derived constant luminance system"},
	14: {Sym: "ictcp", Description: "ITU-R BT.2100-0, ICtCp"},
}
View Source
var ISO_23091_2_TransferCharacteristicMap = scalar.UToScalar{
	1:  {Sym: "bt709", Description: "ITU-R BT1361"},
	2:  {Sym: "unspecified", Description: "Unspecified"},
	3:  {Sym: "reserved", Description: "Reserved"},
	4:  {Sym: "gamma22", Description: "ITU-R BT470M / ITU-R BT1700 625 PAL & SECAM"},
	5:  {Sym: "gamma28", Description: "ITU-R BT470BG"},
	6:  {Sym: "smpte170m", Description: "ITU-R BT601-6 525 or 625 / ITU-R BT1358 525 or 625 / ITU-R BT1700 NTSC"},
	7:  {Sym: "smpte240m"},
	8:  {Sym: "linear", Description: "Linear transfer characteristics"},
	9:  {Sym: "log", Description: "Logarithmic transfer characteristic (100:1 range)"},
	10: {Sym: "log_sqrt", Description: "Logarithmic transfer characteristic (100 * Sqrt(10) : 1 range)"},
	11: {Sym: "iec61966_2_4", Description: "IEC 61966-2-4"},
	12: {Sym: "bt1361_ecg", Description: "ITU-R BT1361 Extended Colour Gamut"},
	13: {Sym: "iec61966_2_1", Description: "IEC 61966-2-1 (sRGB or sYCC)"},
	14: {Sym: "bt2020_10", Description: "ITU-R BT2020 for 10-bit system"},
	15: {Sym: "bt2020_12", Description: "ITU-R BT2020 for 12-bit system"},
	16: {Sym: "smpte2084", Description: "SMPTE ST 2084 for 10-, 12-, 14- and 16-bit systems"},
	17: {Sym: "smpte428", Description: "SMPTE ST 428-1"},
	18: {Sym: "arib_std_b67", Description: "ARIB STD-B67, known as Hybrid log-gamma"},
}
View Source
var LinkTypeMap = scalar.UToScalar{}/* 131 elements not displayed */
View Source
var MPEGAudioObjectTypeNames = scalar.UToScalar{
	0:                            {Sym: "mull", Description: "Null"},
	MPEGAudioObjectTypeMain:      {Sym: "aac_main", Description: "AAC Main"},
	MPEGAudioObjectTypeLC:        {Sym: "aac_lc", Description: "AAC Low Complexity)"},
	MPEGAudioObjectTypeSSR:       {Sym: "aac_ssr", Description: "AAC Scalable Sample Rate"},
	MPEGAudioObjectTypeLTP:       {Sym: "aac_ltp", Description: "AAC Long Term Prediction"},
	MPEGAudioObjectTypeSBR:       {Sym: "sbr", Description: "Spectral Band Replication"},
	6:                            {Sym: "aac_scalable", Description: "AAC Scalable"},
	7:                            {Sym: "twinvq", Description: "TwinVQ"},
	8:                            {Sym: "celp", Description: "Code Excited Linear Prediction"},
	9:                            {Sym: "hxvc", Description: "Harmonic Vector eXcitation Coding"},
	10:                           {Sym: "reserved", Description: "Reserved"},
	11:                           {Sym: "reserved", Description: "Reserved"},
	12:                           {Sym: "ttsi", Description: "TTSI (Text-To-Speech Interface)"},
	13:                           {Sym: "main_synthesis", Description: "Main Synthesis"},
	14:                           {Sym: "wavetable_synthesis", Description: "Wavetable Synthesis"},
	15:                           {Sym: "general_midi", Description: "General MIDI"},
	16:                           {Sym: "algorithmic", Description: "Algorithmic Synthesis and Audio Effects"},
	17:                           {Sym: "er_aac_lc", Description: "Error Resilient AAC LC"},
	18:                           {Sym: "reserved", Description: "Reserved"},
	19:                           {Sym: "er_aac_ltp", Description: "ER AAC LTP"},
	20:                           {Sym: "er_aac_Scalable", Description: "ER AAC Scalable"},
	21:                           {Sym: "er_twinvq", Description: "ER TwinVQ"},
	22:                           {Sym: "er_bsac", Description: "ER BSAC Bit-Sliced Arithmetic Coding"},
	MPEGAudioObjectTypeER_AAC_LD: {Sym: "er_aac_ld", Description: "ER AAC LD Low Delay"},
	24:                           {Sym: "er_celp", Description: "ER CELP"},
	25:                           {Sym: "er_hvxc", Description: "ER HVXC"},
	26:                           {Sym: "er_hiln", Description: "ER HILN Harmonic and Individual Lines plus Noise"},
	27:                           {Sym: "er_parametric", Description: "ER Parametric"},
	28:                           {Sym: "ssc", Description: "SinuSoidal Coding"},
	MPEGAudioObjectTypePS:        {Sym: "ps", Description: "Parametric Stereo"},
	30:                           {Sym: "mpeg_surround", Description: "MPEG Surround"},
	31:                           {Description: "(Escape value)"},
	32:                           {Sym: "layer_1", Description: "MPEG Layer-1"},
	33:                           {Sym: "layer_2", Description: "MPEG Layer-2"},
	34:                           {Sym: "layer_3", Description: "MPEG Layer-3"},
	35:                           {Sym: "dst", Description: "Direct Stream Transfer"},
	36:                           {Sym: "als", Description: "Audio Lossless"},
	37:                           {Sym: "sls", Description: "Scalable Lossless"},
	38:                           {Sym: "sls_non_core", Description: "SLS non-core"},
	39:                           {Sym: "er_aac_eld", Description: "ER AAC ELD Enhanced Low Delay"},
	40:                           {Sym: "smr_simple", Description: "Symbolic Music Representation Simple"},
	41:                           {Sym: "smr_main", Description: "Symbolic Music Representation Main"},
	42:                           {Sym: "usac_no_sbr", Description: "Unified Speech and Audio Coding (no SBR)"},
	43:                           {Sym: "saoc", Description: "Spatial Audio Object Coding"},
	44:                           {Sym: "ld_mpeg_surround", Description: "LD MPEG Surround"},
	45:                           {Sym: "usac", Description: "USAC"},
}
View Source
var MpegObjectTypeNames = scalar.UToSymStr{
	MPEGObjectTypeMOV_TEXT:          "MPEGObjectTypeMOV_TEXT",
	MPEGObjectTypeMPEG4:             "MPEGObjectTypeMPEG4",
	MPEGObjectTypeH264:              "MPEGObjectTypeH264",
	MPEGObjectTypeHEVC:              "MPEGObjectTypeHEVC",
	MPEGObjectTypeAAC:               "MPEGObjectTypeAAC",
	MPEGObjectTypeMPEG2VideoMain:    "MPEGObjectTypeMPEG2VideoMain",
	MPEGObjectTypeMPEG2VideoSimple:  "MPEGObjectTypeMPEG2VideoSimple",
	MPEGObjectTypeMPEG2VideoSNR:     "MPEGObjectTypeMPEG2VideoSNR",
	MPEGObjectTypeMPEG2VideoSpatial: "MPEGObjectTypeMPEG2VideoSpatial",
	MPEGObjectTypeMPEG2VideoHigh:    "MPEGObjectTypeMPEG2VideoHigh",
	MPEGObjectTypeMPEG2Video422:     "MPEGObjectTypeMPEG2Video422",
	MPEGObjectTypeAACMain:           "MPEGObjectTypeAACMain",
	MPEGObjectTypeAACLow:            "MPEGObjectTypeAACLow",
	MPEGObjectTypeAACSSR:            "MPEGObjectTypeAACSSR",
	MPEGObjectTypeMP32MP3:           "MPEGObjectTypeMP32MP3",
	MPEGObjectTypeMPEG1VIDEO:        "MPEGObjectTypeMPEG1VIDEO",
	MPEGObjectTypeMP3:               "MPEGObjectTypeMP3",
	MPEGObjectTypeMJPEG:             "MPEGObjectTypeMJPEG",
	MPEGObjectTypePNG:               "MPEGObjectTypePNG",
	MPEGObjectTypeJPEG2000:          "MPEGObjectTypeJPEG2000",
	MPEGObjectTypeVC1:               "MPEGObjectTypeVC1",
	MPEGObjectTypeDIRAC:             "MPEGObjectTypeDIRAC",
	MPEGObjectTypeAC3:               "MPEGObjectTypeAC3",
	MPEGObjectTypeEAC3:              "MPEGObjectTypeEAC3",
	MPEGObjectTypeDTS:               "MPEGObjectTypeDTS",
	MPEGObjectTypeOPUS:              "MPEGObjectTypeOPUS",
	MPEGObjectTypeVP9:               "MPEGObjectTypeVP9",
	MPEGObjectTypeFLAC:              "MPEGObjectTypeFLAC",
	MPEGObjectTypeTSCC2:             "MPEGObjectTypeTSCC2",
	MPEGObjectTypeEVRC:              "MPEGObjectTypeEVRC",
	MPEGObjectTypeVORBIS:            "MPEGObjectTypeVORBIS",
	MPEGObjectTypeDVDSubtitle:       "MPEGObjectTypeDVDSubtitle",
	MPEGObjectTypeQCELP:             "MPEGObjectTypeQCELP",
	MPEGObjectTypeMPEG4SYSTEMS1:     "MPEGObjectTypeMPEG4SYSTEMS1",
	MPEGObjectTypeMPEG4SYSTEMS2:     "MPEGObjectTypeMPEG4SYSTEMS2",
	MPEGObjectTypeNONE:              "MPEGObjectTypeNONE",
}
View Source
var MpegObjectTypeStreamType = map[uint64]int{
	MPEGObjectTypeMOV_TEXT:          MPEGStreamTypeText,
	MPEGObjectTypeMPEG4:             MPEGStreamTypeVideo,
	MPEGObjectTypeH264:              MPEGStreamTypeVideo,
	MPEGObjectTypeHEVC:              MPEGStreamTypeVideo,
	MPEGObjectTypeAAC:               MPEGStreamTypeAudio,
	MPEGObjectTypeMPEG2VideoMain:    MPEGStreamTypeVideo,
	MPEGObjectTypeMPEG2VideoSimple:  MPEGStreamTypeVideo,
	MPEGObjectTypeMPEG2VideoSNR:     MPEGStreamTypeVideo,
	MPEGObjectTypeMPEG2VideoSpatial: MPEGStreamTypeVideo,
	MPEGObjectTypeMPEG2VideoHigh:    MPEGStreamTypeVideo,
	MPEGObjectTypeMPEG2Video422:     MPEGStreamTypeVideo,
	MPEGObjectTypeAACMain:           MPEGStreamTypeAudio,
	MPEGObjectTypeAACLow:            MPEGStreamTypeAudio,
	MPEGObjectTypeAACSSR:            MPEGStreamTypeAudio,
	MPEGObjectTypeMP32MP3:           MPEGStreamTypeAudio,
	MPEGObjectTypeMPEG1VIDEO:        MPEGStreamTypeVideo,
	MPEGObjectTypeMP3:               MPEGStreamTypeAudio,
	MPEGObjectTypeMJPEG:             MPEGStreamTypeVideo,
	MPEGObjectTypePNG:               MPEGStreamTypeVideo,
	MPEGObjectTypeJPEG2000:          MPEGStreamTypeVideo,
	MPEGObjectTypeVC1:               MPEGStreamTypeVideo,
	MPEGObjectTypeDIRAC:             MPEGStreamTypeVideo,
	MPEGObjectTypeAC3:               MPEGStreamTypeAudio,
	MPEGObjectTypeEAC3:              MPEGStreamTypeAudio,
	MPEGObjectTypeDTS:               MPEGStreamTypeAudio,
	MPEGObjectTypeOPUS:              MPEGStreamTypeAudio,
	MPEGObjectTypeVP9:               MPEGStreamTypeAudio,
	MPEGObjectTypeFLAC:              MPEGStreamTypeAudio,
	MPEGObjectTypeTSCC2:             MPEGStreamTypeVideo,
	MPEGObjectTypeEVRC:              MPEGStreamTypeAudio,
	MPEGObjectTypeVORBIS:            MPEGStreamTypeAudio,
	MPEGObjectTypeDVDSubtitle:       MPEGStreamTypeText,
	MPEGObjectTypeQCELP:             MPEGStreamTypeAudio,
	MPEGObjectTypeMPEG4SYSTEMS1:     MPEGStreamTypeUnknown,
	MPEGObjectTypeMPEG4SYSTEMS2:     MPEGStreamTypeUnknown,
	MPEGObjectTypeNONE:              MPEGStreamTypeUnknown,
}
View Source
var ProtoBufTypeNames = scalar.UToSymStr{
	ProtoBufTypeInt32:          "Int32",
	ProtoBufTypeInt64:          "Int64",
	ProtoBufTypeUInt32:         "UInt32",
	ProtoBufTypeUInt64:         "UInt64",
	ProtoBufTypeSInt32:         "SInt32",
	ProtoBufTypeSInt64:         "SInt64",
	ProtoBufTypeBool:           "Bool",
	ProtoBufTypeEnum:           "Enum",
	ProtoBufTypeFixed64:        "Fixed64",
	ProtoBufTypeSFixed64:       "SFixed64",
	ProtoBufTypeDouble:         "Double",
	ProtoBufTypeString:         "String",
	ProtoBufTypeBytes:          "Bytes",
	ProtoBufTypeMessage:        "Message",
	ProtoBufTypePackedRepeated: "PackedRepeated",
	ProtoBufTypeFixed32:        "Fixed32",
	ProtoBufTypeSFixed32:       "SFixed32",
	ProtoBufTypeFloat:          "Float",
}
View Source
var TCPPortMap = scalar.UToScalar{}/* 680 elements not displayed */
View Source
var UDPPortMap = scalar.UToScalar{}/* 679 elements not displayed */
View Source
var WAVTagNames = scalar.UToSymStr{
	WAVTagPCM_S16LE:       "pcm_s16le",
	WAVTagADPCM_MS:        "adpcm_ms",
	WAVTagPCM_F32LE:       "pcm_f32le",
	WAVTagPCM_ALAW:        "pcm_alaw",
	WAVTagPCM_MULAW:       "pcm_mulaw",
	WAVTagWMAVOICE:        "wmavoice",
	WAVTagADPCM_IMA_OKI:   "adpcm_ima_oki",
	WAVTagADPCM_IMA_WAV:   "adpcm_ima_wav",
	WAVTagADPCM_IMA_OKI_2: "adpcm_ima_oki_2",
	WAVTagADPCM_YAMAHA:    "adpcm_yamaha",
	WAVTagTRUESPEECH:      "truespeech",
	WAVTagGSM_MS:          "gsm_ms",
	WAVTagGSM_MS_2:        "gsm_ms_2",
	WAVTagAMR_NB:          "amr_nb",
	WAVTagG723_1:          "g723_1",
	WAVTagADPCM_G726:      "adpcm_g726",
	WAVTagADPCM_G726_2:    "adpcm_g726_2",
	WAVTagADPCM_G726_3:    "adpcm_g726_3",
	WAVTagMP2:             "mp2",
	WAVTagMP3:             "mp3",
	WAVTagAMR_NB_2:        "amr_nb_2",
	WAVTagAMR_WB:          "amr_wb",
	WAVTagADPCM_IMA_DK4:   "adpcm_ima_dk4",
	WAVTagADPCM_IMA_DK3:   "adpcm_ima_dk3",
	WAVTagADPCM_G726_4:    "adpcm_g726_4",
	WAVTagADPCM_IMA_WAV_2: "adpcm_ima_wav_2",
	WAVTagMETASOUND:       "metasound",
	WAVTagG729:            "g729",
	WAVTagAAC:             "aac",
	WAVTagG723_1_2:        "g723_1_2",
	WAVTagSIPR:            "sipr",
	WAVTagACELP_KELVIN:    "acelp_kelvin",
	WAVTagWMAV1:           "wmav1",
	WAVTagWMAV2:           "wmav2",
	WAVTagWMAPRO:          "wmapro",
	WAVTagWMALOSSLESS:     "wmalossless",
	WAVTagXMA1:            "xma1",
	WAVTagXMA2:            "xma2",
	WAVTagFTR:             "ftr",
	WAVTagADPCM_CT:        "adpcm_ct",
	WAVTagDVAUDIO:         "dvaudio",
	WAVTagDVAUDIO_2:       "dvaudio_2",
	WAVTagATRAC3:          "atrac3",
	WAVTagMSNSIREN:        "msnsiren",
	WAVTagADPCM_G722:      "adpcm_g722",
	WAVTagMISC4:           "misc4",
	WAVTagIMC:             "imc",
	WAVTagIAC:             "iac",
	WAVTagON2AVC:          "on2avc",
	WAVTagON2AVC_2:        "on2avc_2",
	WAVTagGSM_MS_3:        "gsm_ms_3",
	WAVTagTRUESPEECH_2:    "truespeech_2",
	WAVTagAAC_2:           "aac_2",
	WAVTagAAC_LATM:        "aac_latm",
	WAVTagAC3:             "ac3",
	WAVTagDTS:             "dts",
	WAVTagSONIC:           "sonic",
	WAVTagG729_2:          "g729_2",
	WAVTagPCM_MULAW_2:     "pcm_mulaw_2",
	WAVTagAAC_3:           "aac_3",
	WAVTagAAC_4:           "aac_4",
	WAVTagFTR_2:           "ftr_2",
	WAVTagXAN_DPCM:        "xan_dpcm",
	WAVTagG729_3:          "g729_3",
	WAVTagFTR_3:           "ftr_3",
	WAVTagG723_1_3:        "g723_1_3",
	WAVTagAAC_5:           "aac_5",
	WAVTagSPEEX:           "speex",
	WAVTagFLAC:            "flac",
	WAVTagFORMATEX:        "formatex",
	WAVTagADPCM_SWF:       "adpcm_swf",
	WAVTagVORBIS:          "vorbis",
}

Functions

This section is empty.

Types

type AACFrameIn

type AACFrameIn struct {
	ObjectType int `doc:"Audio object type"`
}

type AvcAuIn added in v0.0.7

type AvcAuIn struct {
	LengthSize uint64 `doc:"Length value size"`
}

type AvcDcrOut

type AvcDcrOut struct {
	LengthSize uint64
}

type AviIn added in v0.1.0

type AviIn struct {
	DecodeSamples bool `doc:"Decode supported media samples"`
}

type BitCoinBlockIn added in v0.0.10

type BitCoinBlockIn struct {
	HasHeader bool `doc:"Has blkdat header"`
}

type CSVLIn added in v0.0.8

type CSVLIn struct {
	Comma   string `doc:"Separator character"`
	Comment string `doc:"Comment line character"`
}

type FlacFrameIn

type FlacFrameIn struct {
	SamplesBuf    []byte
	BitsPerSample int `doc:"Bits per sample"`
}

type FlacFrameOut

type FlacFrameOut struct {
	SamplesBuf    []byte
	Samples       uint64
	Channels      int
	BitsPerSample int
}

type FlacMetadatablockOut

type FlacMetadatablockOut struct {
	IsLastBlock   bool
	HasStreamInfo bool
	StreamInfo    FlacStreamInfo
}

type FlacMetadatablocksOut

type FlacMetadatablocksOut struct {
	HasStreamInfo bool
	StreamInfo    FlacStreamInfo
}

type FlacStreamInfo

type FlacStreamInfo struct {
	SampleRate           uint64
	BitsPerSample        uint64
	TotalSamplesInStream uint64
	MD5                  []byte
}

type FlacStreaminfoOut

type FlacStreaminfoOut struct {
	StreamInfo FlacStreamInfo
}

type HTMLIn added in v0.0.8

type HTMLIn struct {
	Seq             bool   `doc:"Use seq attribute to preserve element order"`
	Array           bool   `doc:"Decode as nested arrays"`
	AttributePrefix string `doc:"Prefix for attribute keys"`
}

type HevcAuIn added in v0.0.7

type HevcAuIn struct {
	LengthSize uint64 `doc:"Length value size"`
}

type HevcDcrOut

type HevcDcrOut struct {
	LengthSize uint64
}

type IPPacketIn added in v0.0.7

type IPPacketIn struct {
	Protocol int
}

type InetPacketIn added in v0.0.7

type InetPacketIn struct {
	EtherType int
}

type LinkFrameIn added in v0.0.3

type LinkFrameIn struct {
	Type           int
	IsLittleEndian bool // pcap endian etc
}

type MP3FrameOut

type MP3FrameOut struct {
	MPEGVersion      int
	ProtectionAbsent bool
	BitRate          int
	SampleRate       int
	ChannelsIndex    int
	ChannelModeIndex int
}

type MPEGASCOut

type MPEGASCOut struct {
	ObjectType int
}

type Mp3In added in v0.0.7

type Mp3In struct {
	MaxUniqueHeaderConfigs int `doc:"Max number of unique frame header configs allowed"`
	MaxSyncSeek            int `doc:"Max byte distance to next sync"`
}

type Mp4In added in v0.0.7

type Mp4In struct {
	DecodeSamples  bool `doc:"Decode supported media samples"`
	AllowTruncated bool `doc:"Allow box to be truncated"`
}

type MpegDecoderConfig

type MpegDecoderConfig struct {
	ObjectType    int
	ASCObjectType int
}

type MpegEsOut

type MpegEsOut struct {
	DecoderConfigs []MpegDecoderConfig
}

type OggPageOut

type OggPageOut struct {
	IsLastPage         bool
	IsFirstPage        bool
	IsContinuedPacket  bool
	StreamSerialNumber uint32
	SequenceNo         uint32
	Segments           [][]byte
}

type ProtoBufField

type ProtoBufField struct {
	Type    int
	Name    string
	Message ProtoBufMessage
	Enums   map[uint64]string
}

type ProtoBufIn

type ProtoBufIn struct {
	Message ProtoBufMessage
}

type ProtoBufMessage

type ProtoBufMessage map[int]ProtoBufField

type TCPStreamIn

type TCPStreamIn struct {
	IsClient        bool
	HasStart        bool
	HasEnd          bool
	SkippedBytes    uint64
	SourcePort      int
	DestinationPort int
}

func (TCPStreamIn) IsPort added in v0.0.7

func (t TCPStreamIn) IsPort(ports ...int) bool

func (TCPStreamIn) MustIsPort added in v0.0.7

func (t TCPStreamIn) MustIsPort(fn func(format string, a ...any), ports ...int)

type UDPPayloadIn added in v0.0.3

type UDPPayloadIn struct {
	SourcePort      int
	DestinationPort int
}

func (UDPPayloadIn) IsPort added in v0.0.7

func (u UDPPayloadIn) IsPort(ports ...int) bool

func (UDPPayloadIn) MustIsPort added in v0.0.7

func (u UDPPayloadIn) MustIsPort(fn func(format string, a ...any), ports ...int)

type XMLIn added in v0.0.8

type XMLIn struct {
	Seq             bool   `doc:"Use seq attribute to preserve element order"`
	Array           bool   `doc:"Decode as nested arrays"`
	AttributePrefix string `doc:"Prefix for attribute keys"`
}

type ZipIn added in v0.0.8

type ZipIn struct {
	Uncompress bool `doc:"Uncompress and probe files"`
}

Directories

Path Synopsis
Package all registers all builtin formats with the default registry
Package all registers all builtin formats with the default registry
ebml_matroska
Code below generated from ebml_matroska.xml
Code below generated from ebml_matroska.xml

Jump to

Keyboard shortcuts

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