mirror of
https://github.com/wader/fq.git
synced 2024-12-23 21:31:33 +03:00
9b81d4d3ab
Preparation to make decoder use less memory and API more type safe. Now each scalar type has it's own struct type so it can store different things and enables to have a scalar interface. Also own types will enable experimenting with decode DLS designs like using chained methods that are type aware.
857 lines
36 KiB
Go
857 lines
36 KiB
Go
package format
|
|
|
|
import (
|
|
"github.com/wader/fq/pkg/scalar"
|
|
)
|
|
|
|
// based on ffmpeg libavformat/isom.c ff_mp4_obj_type
|
|
//
|
|
//nolint:revive
|
|
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
|
|
)
|
|
|
|
var MpegObjectTypeNames = scalar.UintMapSymStr{
|
|
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",
|
|
}
|
|
|
|
const (
|
|
MPEGStreamTypeUnknown = iota
|
|
MPEGStreamTypeVideo
|
|
MPEGStreamTypeAudio
|
|
MPEGStreamTypeText
|
|
)
|
|
|
|
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,
|
|
}
|
|
|
|
//nolint:revive
|
|
const (
|
|
MPEGAudioObjectTypeMain = 1
|
|
MPEGAudioObjectTypeLC = 2
|
|
MPEGAudioObjectTypeSSR = 3
|
|
MPEGAudioObjectTypeLTP = 4
|
|
MPEGAudioObjectTypeSBR = 5
|
|
MPEGAudioObjectTypeER_AAC_LD = 23
|
|
MPEGAudioObjectTypePS = 29
|
|
)
|
|
|
|
var MPEGAudioObjectTypeNames = scalar.UintMap{
|
|
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"},
|
|
}
|
|
|
|
// based on ffmpeg/libavutil/pixfmt.h
|
|
//
|
|
//nolint:revive
|
|
var ISO_23091_2_ColourPrimariesMap = scalar.UintMap{
|
|
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"},
|
|
}
|
|
|
|
//nolint:revive
|
|
var ISO_23091_2_TransferCharacteristicMap = scalar.UintMap{
|
|
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"},
|
|
}
|
|
|
|
//nolint:revive
|
|
var ISO_23091_2_MatrixCoefficients = scalar.UintMap{
|
|
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"},
|
|
}
|
|
|
|
// based on ffmpeg libavformat/riff.c
|
|
//
|
|
//nolint:revive
|
|
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
|
|
)
|
|
|
|
var WAVTagNames = scalar.UintMapSymStr{
|
|
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",
|
|
}
|
|
|
|
// based on ffmpeg libavformat/riff.c
|
|
//
|
|
//nolint:revive
|
|
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"
|
|
)
|