ISOBMFF
ISO Base Media File Format Reference Software Documentation
 
Loading...
Searching...
No Matches
ISOMovies.h
Go to the documentation of this file.
1
10#ifndef INCLUDED_ISOMOVIE_H
11#define INCLUDED_ISOMOVIE_H
12
13#ifndef INCLUDED_MP4MOVIE_H
14#include "MP4Movies.h"
15#endif
16
17#ifdef __cplusplus
18extern "C"
19{
20#endif
21
22/* These data types are common to both MPEG-4 and JPEG-2; ideally the "ISO" names should be used. */
23#define ISOHandle MP4Handle
24#define ISOErr MP4Err
25#define ISOMovie MP4Movie
26#define ISOTrack MP4Track
27#define ISOMedia MP4Media
28#define ISOTrackReader MP4TrackReader
29#define ISOUserData MP4UserData
30#define ISOAtomPtr MP4AtomPtr
31#define ISOLinkedList MP4LinkedList
32
33#define ISO_EXTERN MP4_EXTERN
34
35/* These constants are common to both MPEG-4 and JPEG-2; ideally the "ISO" names should be used. */
36#define ISOEOF MP4EOF
37#define ISONoErr MP4NoErr
38#define ISOFileNotFoundErr MP4FileNotFoundErr
39#define ISOBadParamErr MP4BadParamErr
40#define ISONoMemoryErr MP4NoMemoryErr
41#define ISOIOErr MP4IOErr
42#define ISONoLargeAtomSupportErr MP4NoLargeAtomSupportErr
43#define ISOBadDataErr MP4BadDataErr
44#define ISOVersionNotSupportedErr MP4VersionNotSupportedErr
45#define ISOInvalidMediaErr MP4InvalidMediaErr
46#define ISODataEntryTypeNotSupportedErr MP4DataEntryTypeNotSupportedErr
47#define ISONoQTAtomErr MP4NoQTAtomErr
48#define ISONotImplementedErr MP4NotImplementedErr
49
50#define ISONewTrackIsVisual MP4NewTrackIsVisual
51#define ISONewTrackIsAudio MP4NewTrackIsAudio
52#define ISONewTrackIsPrivate MP4NewTrackIsPrivate
53#define ISONewTrackIsMetadata MP4NewTrackIsMetadata
54
55#define ISOVisualHandlerType MP4VisualHandlerType
56#define ISOAudioHandlerType MP4AudioHandlerType
57#define ISOHintHandlerType MP4HintHandlerType
58#define ISOVolumetricHandlerType MP4VolumetricHandlerType
59#define ISOHapticHandlerType MP4HapticHandlerType
60
61#define ISOOpenMovieNormal MP4OpenMovieNormal
62#define ISOOpenMovieDebug MP4OpenMovieDebug
63#define ISOOpenMovieInPlace MP4OpenMovieInPlace
64
65 struct MP4BoxedMetadataSampleEntry;
66
70 enum
71 {
72 ISOGraphicsModeSrcCopy = 0x00000000,
73 ISOGraphicsModeTransparent = 0x00000024,
74 ISOGraphicsModeAlpha = 0x00000100,
75 ISOGraphicsModeWhiteAlpha = 0x00000101,
76 ISOGraphicsModeBlackAlpha = 0x00000102
77 };
78
83 {
84 u32 data[9];
85 };
86 typedef struct ISOMatrixRecord ISOMatrixRecord;
88
93 {
94 u16 red;
95 u16 green;
96 u16 blue;
97 };
98 typedef struct ISORGBColor ISORGBColor;
100
104 enum
105 {
106 ISOUnknownFileType = (u32)0,
107 ISOMPEG4FileType = (u32)1,
108 ISOStillJPEG2000FileType = (u32)2,
109 ISOMotionJPEG2000FileType = (u32)3,
110 ISOQuickTimeFileType = (u32)4,
111 ISO3GPPFileType = (u32)5,
112 ISOMPEG21FileType = (u32)6
113 };
114
118 enum
119 {
120 ISOMediaHandlerType = MP4_FOUR_CHAR_CODE('m', 'h', 'l', 'r'),
121 ISODataHandlerType = MP4_FOUR_CHAR_CODE('d', 'h', 'l', 'r')
122 };
123
128 enum
129 {
137 ISOMpeg4V1Brand = MP4_FOUR_CHAR_CODE('m', 'p', '4', '1'),
139 ISOMpeg4V2Brand = MP4_FOUR_CHAR_CODE('m', 'p', '4', '2'),
141 ISOISOBrand = MP4_FOUR_CHAR_CODE('i', 's', 'o', 'm'),
143 ISOISO2Brand = MP4_FOUR_CHAR_CODE('i', 's', 'o', '2'),
145 ISO3GP4Brand = MP4_FOUR_CHAR_CODE('3', 'g', 'p', '4'),
147 ISO3GP5Brand = MP4_FOUR_CHAR_CODE('3', 'g', 'p', '5'),
149 ISO3GP6Brand = MP4_FOUR_CHAR_CODE('3', 'g', 'p', '6'),
151 ISOMPEG21Brand = MP4_FOUR_CHAR_CODE('m', 'p', '2', '1'),
153 ISOUnknownBrand = MP4_FOUR_CHAR_CODE(' ', ' ', ' ', ' '),
155 ISO_DASH_Brand = MP4_FOUR_CHAR_CODE('d', 'a', 's', 'h'),
169 ISO_DASH_SSSS_Brand = MP4_FOUR_CHAR_CODE('s', 's', 's', 's')
170 };
171
178 enum
179 {
180 AVCsps = 1,
181 AVCpps = 2,
183 SVCsps = 0x11,
184 SVCpps = 0x12,
185 SVCspsext = 0x13,
186 HEVCvps = 0x20,
187 HEVCsps = 0x21,
188 HEVCpps = 0x22
189 };
190
196 enum
197 {
198 VVCsps = 15,
199 VVCpps = 16,
200 VVCvps = 14,
201 VVCopi = 12,
202 VVCdci = 13,
203 VVC_prefix_aps = 17,
204 VVC_prefix_sei = 23
205 };
206
211 {
212 void *data;
213 };
214 typedef struct ISOMetaRecord ISOMetaRecord;
220
225 {
226 void *data;
227 };
234
239 typedef struct EntityGroupEntry
240 {
241 u32 grouping_type;
242 u32 group_id;
243 u32 num_entities_in_group;
244 u32 *entity_ids;
246
247/* These functions are general movie-handling functions and are common to both MPEG-4 and JPEG-2;
248 ideally the "ISO" names should be used. */
249#define ISODisposeMovie MP4DisposeMovie
250#define ISOGetMovieTimeScale MP4GetMovieTimeScale
251#define ISOGetMovieTrack MP4GetMovieTrack
252#define ISOOpenMovieFile MP4OpenMovieFile
253#define ISOPutMovieIntoHandle MP4PutMovieIntoHandle
254#define ISOSetMovieTimeScale MP4SetMovieTimeScale
255#define ISOAddTrackReference MP4AddTrackReference
256#define ISOAddSubSampleInformationToTrack MP4AddSubSampleInformationToTrack
257#define ISOSetSubSampleInformationFlags MP4SetSubSampleInformationFlags
258#define ISOGetSubSampleInformationEntryFromTrack MP4GetSubSampleInformationEntryFromTrack
259#define ISOAddSubSampleInformationEntry MP4AddSubSampleInformationEntry
260#define ISOAddTrackGroup MP4AddTrackGroup
261#define ISOAddTrackReferenceWithID MP4AddTrackReferenceWithID
262#define ISOGetMovieIndTrack MP4GetMovieIndTrack
263#define ISOGetMovieTrackCount MP4GetMovieTrackCount
264#define ISOGetTrackEnabled MP4GetTrackEnabled
265#define ISOGetTrackID MP4GetTrackID
266#define ISOGetTrackMedia MP4GetTrackMedia
267#define ISOGetTrackMovie MP4GetTrackMovie
268#define ISOGetTrackOffset MP4GetTrackOffset
269#define ISOGetTrackReference MP4GetTrackReference
270#define ISOGetTrackReferenceCount MP4GetTrackReferenceCount
271#define ISOGetTrackGroup MP4GetTrackGroup
272#define ISOInsertMediaIntoTrack MP4InsertMediaIntoTrack
273#define ISONewMovieTrack MP4NewMovieTrack
274#define ISONewMovieTrackWithID MP4NewMovieTrackWithID
275#define ISONewTrackMedia MP4NewTrackMedia
276#define ISOSetTrackEnabled MP4SetTrackEnabled
277#define ISOSetTrackOffset MP4SetTrackOffset
278#define ISOTrackTimeToMediaTime MP4TrackTimeToMediaTime
279#define ISOAddMediaDataReference MP4AddMediaDataReference
280#define ISOAddMediaSampleReference MP4AddMediaSampleReference
281#define ISOAddMediaSamples MP4AddMediaSamples
282#define ISOAddMediaSamplesPad MP4AddMediaSamplesPad
283#define ISOBeginMediaEdits MP4BeginMediaEdits
284#define ISOCheckMediaDataReferences MP4CheckMediaDataReferences
285#define ISOEndMediaEdits MP4EndMediaEdits
286#define ISOGetIndMediaSample MP4GetIndMediaSample
287#define ISOGetIndMediaSampleWithPad MP4GetIndMediaSampleWithPad
288#define ISOGetMediaDataReference MP4GetMediaDataReference
289#define ISOGetMovieDuration MP4GetMovieDuration
290#define ISOGetTrackDuration MP4GetTrackDuration
291#define ISOGetMediaDuration MP4GetMediaDuration
292#define ISOGetMediaHandlerDescription MP4GetMediaHandlerDescription
293#define ISOGetMediaLanguage MP4GetMediaLanguage
294#define ISOGetMediaSample MP4GetMediaSample
295#define ISOGetMediaSampleWithPad MP4GetMediaSampleWithPad
296#define ISOGetMediaSampleCount MP4GetMediaSampleCount
297#define ISOGetMediaTimeScale MP4GetMediaTimeScale
298#define ISOGetMediaTrack MP4GetMediaTrack
299#define ISOMediaTimeToSampleNum MP4MediaTimeToSampleNum
300#define ISOSampleNumToMediaTime MP4SampleNumToMediaTime
301#define ISOSetMediaLanguage MP4SetMediaLanguage
302#define ISOSetMediaExtendedLanguageTag MP4SetMediaExtendedLanguageTag
303#define ISOAddUserData MP4AddUserData
304#define ISOGetIndUserDataType MP4GetIndUserDataType
305#define ISOGetMovieUserData MP4GetMovieUserData
306#define ISOGetTrackUserData MP4GetTrackUserData
307#define ISOGetUserDataEntryCount MP4GetUserDataEntryCount
308#define ISOGetUserDataItem MP4GetUserDataItem
309#define ISOGetAtomFromUserData MP4GetAtomFromUserData
310#define ISODeleteUserDataItem MP4DeleteUserDataItem
311#define ISOGetUserDataTypeCount MP4GetUserDataTypeCount
312#define ISONewUserData MP4NewUserData
313#define ISOCreateTrackReader MP4CreateTrackReader
314#define ISOSetMebxTrackReader MP4SetMebxTrackReader
315#define ISODisposeTrackReader MP4DisposeTrackReader
316#define ISONewHandle MP4NewHandle
317#define ISOSetHandleSize MP4SetHandleSize
318#define ISODisposeHandle MP4DisposeHandle
319#define ISOGetHandleSize MP4GetHandleSize
320#define ISOSetHandleOffset MP4SetHandleOffset
321#define ISOUseSignedCompositionTimeOffsets MP4UseSignedCompositionTimeOffsets
322
323#define QTPutMovieIntoHandle MP4PutMovieIntoHandle
324#define MJ2PutMovieIntoHandle MP4PutMovieIntoHandle
325#define ISOPutMovieIntoHandle MP4PutMovieIntoHandle
326
327#define QTWriteMovieToFile MP4WriteMovieToFile
328#define MJ2WriteMovieToFile MP4WriteMovieToFile
329#define ISOWriteMovieToFile MP4WriteMovieToFile
330
331#define ISOAddAtomToMovie MP4AddAtomToMovie
332#define ISONewForeignAtom MP4NewForeignAtom
333#define ISOGetForeignAtom MP4GetForeignAtom
334#define ISONewUUIDAtom MP4NewUUIDAtom
335#define ISOAddAtomToTrack MP4AddAtomToTrack
336
337#define ISOGetTrackEditlistEntryCount MP4GetTrackEditlistEntryCount
338#define ISOGetTrackEditlist MP4GetTrackEditlist
339
340#define ISOGenericAtom MP4GenericAtom
341
342#define MJ2TrackReaderGetNextSample MP4TrackReaderGetNextAccessUnit
343
344 /*************************************************************************************************
345 * These functions are specific to Motion JPEG-2; they have only the "MJ2" names.
346 ************************************************************************************************/
347
358 ISO_EXTERN(ISOErr) MJ2SetMovieMatrix(ISOMovie theMovie, u32 matrix[9]);
367 ISO_EXTERN(ISOErr) MJ2GetMovieMatrix(ISOMovie theMovie, u32 outMatrix[9]);
376 ISO_EXTERN(ISOErr) MJ2SetMoviePreferredRate(ISOMovie theMovie, u32 rate);
385 ISO_EXTERN(ISOErr) MJ2GetMoviePreferredRate(ISOMovie theMovie, u32 *outRate);
395 ISO_EXTERN(ISOErr) MJ2SetMoviePreferredVolume(ISOMovie theMovie, s16 volume);
404 ISO_EXTERN(ISOErr) MJ2GetMoviePreferredVolume(ISOMovie theMovie, s16 *outVolume);
416 ISO_EXTERN(ISOErr) MJ2SetTrackMatrix(ISOTrack theTrack, u32 matrix[9]);
425 ISO_EXTERN(ISOErr) MJ2GetTrackMatrix(ISOTrack theTrack, u32 outMatrix[9]);
437 ISO_EXTERN(ISOErr) MJ2SetTrackLayer(ISOTrack theTrack, s16 layer);
446 ISO_EXTERN(ISOErr) MJ2GetTrackLayer(ISOTrack theTrack, s16 *outLayer);
459 ISO_EXTERN(ISOErr) MJ2SetTrackDimensions(ISOTrack theTrack, u32 width, u32 height);
469 ISO_EXTERN(ISOErr) MJ2GetTrackDimensions(ISOTrack theTrack, u32 *outWidth, u32 *outHeight);
481 ISO_EXTERN(ISOErr) MJ2SetTrackVolume(ISOTrack theTrack, s16 volume);
490 ISO_EXTERN(ISOErr) MJ2GetTrackVolume(ISOTrack theTrack, s16 *outVolume);
511 ISO_EXTERN(ISOErr)
512 MJ2SetMediaGraphicsMode(ISOMedia theMedia, u32 mode, const ISORGBColor *opColor);
516 ISO_EXTERN(ISOErr)
517 MJ2GetMediaGraphicsMode(ISOMedia theMedia, u32 *outMode, ISORGBColor *outOpColor);
527 ISO_EXTERN(ISOErr) MJ2SetMediaSoundBalance(ISOMedia theMedia, s16 balance);
531 ISO_EXTERN(ISOErr) MJ2GetMediaSoundBalance(ISOMedia theMedia, s16 *outBalance);
539 ISO_EXTERN(ISOErr) MJ2NewMovie(ISOMovie *outMovie);
540
541 /*************************************************************************************************
542 * These functions are specific to 3GPP; they have only the "3GPP" names.
543 ************************************************************************************************/
544
554 ISO_EXTERN(ISOErr) New3GPPMovie(ISOMovie *outMovie, u16 release);
555
556 /*************************************************************************************************
557 * These functions are specific to QuickTime; they have only the "QT" names.
558 ************************************************************************************************/
559
563 ISO_EXTERN(ISOErr) QTNewMovie(ISOMovie *outMovie);
564
565 /*************************************************************************************************
566 * These functions are general.
567 ************************************************************************************************/
568
579 ISO_EXTERN(ISOErr) ISOWriteMovieToFile(ISOMovie theMovie, const char *filename);
592 ISO_EXTERN(ISOErr) ISOSetMovieBrand(ISOMovie theMovie, u32 brand, u32 minorversion);
618 ISO_EXTERN(ISOErr) ISOSetMovieCompatibleBrand(ISOMovie theMovie, u32 brand);
628 ISO_EXTERN(ISOErr) ISOGetMovieBrand(ISOMovie theMovie, u32 *brand, u32 *minorversion);
638 ISO_EXTERN(ISOErr) ISOIsMovieCompatibleBrand(ISOMovie theMovie, u32 brand);
639
640 /*************************************************************************************************
641 * AVC Sample descriptions
642 ************************************************************************************************/
643
658 ISO_EXTERN(ISOErr)
659 ISONewAVCSampleDescription(MP4Track theTrack, MP4Handle sampleDescriptionH,
660 u32 dataReferenceIndex, u32 length_size, MP4Handle first_sps,
661 MP4Handle first_pps, MP4Handle first_spsext);
669 ISO_EXTERN(ISOErr) ISOAddVCSampleDescriptionPS(MP4Handle sampleEntryH, MP4Handle ps, u32 where);
674 ISO_EXTERN(ISOErr)
675 ISOGetAVCSampleDescription(MP4Handle sampleEntryH, u32 *dataReferenceIndex, u32 *length_size,
676 u32 *sps_count, u32 *pss_count, u32 *spsext_count);
686 ISO_EXTERN(ISOErr)
687 ISOGetVCSampleDescriptionPS(MP4Handle sampleEntryH, MP4Handle ps, u32 where, u32 index);
697 ISO_EXTERN(ISOErr)
698 ISOGetHEVCSampleDescriptionPS(MP4Handle sampleEntryH, MP4Handle ps, u32 where, u32 index);
708 ISO_EXTERN(ISOErr)
709 ISOGetRESVSampleDescriptionPS(MP4Handle sampleEntryH, MP4Handle ps, u32 where, u32 index);
714 ISO_EXTERN(ISOErr) ISOGetNALUnitLength(MP4Handle sampleEntryH, u32 *out);
720 ISO_EXTERN(ISOErr) ISOGetRESVOriginalFormat(MP4Handle sampleEntryH, u32 *outOrigFmt);
729 ISO_EXTERN(ISOErr)
730 ISOGetRESVSchemeType(MP4Handle sampleEntryH, u32 *schemeType, u32 *schemeVersion,
731 char **schemeURI);
739 ISO_EXTERN(ISOErr)
740 ISOGetRESVSchemeInfoAtom(MP4Handle sampleEntryH, u32 atomType, MP4Handle outAtom);
752 ISO_EXTERN(ISOErr)
753 ISONewHEVCSampleDescription(MP4Track theTrack, MP4Handle sampleDescriptionH,
754 u32 dataReferenceIndex, u32 length_size, MP4Handle first_sps,
755 MP4Handle first_pps, MP4Handle first_vps);
756
764 ISO_EXTERN(ISOErr)
765 ISONewMebxSampleDescription(struct MP4BoxedMetadataSampleEntry **outSE, u32 dataReferenceIndex);
766
779 ISO_EXTERN(ISOErr)
780 ISOAddMebxMetadataToSampleEntry(struct MP4BoxedMetadataSampleEntry *mebxSE,
781 u32 desired_local_key_id, u32 *out_local_key_id,
782 u32 key_namespace, MP4Handle key_value, char *locale_string,
783 MP4Handle setupInfo);
784
785 ISO_EXTERN(ISOErr)
786 ISOGetMebxHandle(struct MP4BoxedMetadataSampleEntry *mebxSE, MP4Handle sampleDescriptionH);
787
794 ISO_EXTERN(ISOErr)
795 ISOGetMebxMetadataCount(MP4Handle sampleEntryH, u32 *key_cnt);
796
797 ISO_EXTERN(ISOErr)
798 ISOGetMebxMetadataConfig(MP4Handle sampleEntryH, u32 cnt, u32 *local_key_id, u32 *key_namespace,
799 MP4Handle key_value, char **locale_string, MP4Handle setupInfo);
800
801 /*************************************************************************************************
802 * VVC Sample descriptions
803 ************************************************************************************************/
815 ISO_EXTERN(ISOErr)
816 ISONewVVCSampleDescription(MP4Track theTrack, MP4Handle sampleDescriptionH,
817 u32 dataReferenceIndex, u32 length_size, MP4Handle first_sps,
818 MP4Handle first_pps);
831 MP4_EXTERN(ISOErr)
832 ISOGetVVCSampleDescription(MP4Handle sampleEntryH, u32 *dataReferenceIndex, u32 *length_size,
833 u32 naluType, u32 *count);
842 ISO_EXTERN(ISOErr)
843 ISOGetVVCNaluNums(MP4Handle sampleEntryH, u32 where, u32 *num_nalus);
853 ISO_EXTERN(ISOErr)
854 ISOGetVVCSampleDescriptionPS(MP4Handle sampleEntryH, MP4Handle ps, u32 where, u32 index);
863 MP4_EXTERN(ISOErr)
875 MP4_EXTERN(ISOErr)
877 u32 dataReferenceIndex, u32 width, u32 height, u32 length_size);
887 MP4_EXTERN(ISOErr)
888 ISOGetVVCSubpicSampleDescription(MP4Handle sampleEntryH, u32 *dataReferenceIndex,
889 u32 *length_size);
890
891 /*************************************************************************************************
892 * 3GPP media
893 ************************************************************************************************/
898 MP4_EXTERN(MP4Err)
899 ISOAddBitrateToSampleDescription(MP4Handle sampleEntryH, u8 is_3GPP, u32 buffersizeDB,
900 u32 maxBitrate, u32 avgBitrate);
905 MP4_EXTERN(MP4Err)
906 ISONewH263SampleDescription(MP4Track theTrack, MP4Handle sampleDescriptionH,
907 u32 dataReferenceIndex, u32 vendor, u8 decoder_version, u8 H263_level,
908 u8 H263_profile);
913 MP4_EXTERN(MP4Err)
914 ISONewAMRSampleDescription(MP4Track theTrack, MP4Handle sampleDescriptionH,
915 u32 dataReferenceIndex, u8 is_WB, u32 vendor, u8 decoder_version,
916 u16 mode_set, u8 mode_change_period, u8 frames_per_sample);
921 MP4_EXTERN(MP4Err)
922 ISONewAMRWPSampleDescription(MP4Track theTrack, MP4Handle sampleDescriptionH,
923 u32 dataReferenceIndex, u32 vendor, u8 decoder_version);
924
925 /*************************************************************************************************
926 * Meta Data
927 ************************************************************************************************/
954 ISO_EXTERN(ISOErr) ISONewFileMeta(ISOMovie theMovie, u32 metaType, ISOMeta *meta);
966 ISO_EXTERN(ISOErr) ISONewMovieMeta(ISOMovie theMovie, u32 metaType, ISOMeta *meta);
978 ISO_EXTERN(ISOErr) ISONewTrackMeta(ISOTrack theTrack, u32 metaType, ISOMeta *meta);
986 ISO_EXTERN(ISOErr)
987 ISOAddMetaBoxRelation(ISOMeta first_meta, ISOMeta second_meta, u8 relation_type);
993 ISO_EXTERN(ISOErr)
994 ISOGetMetaBoxRelation(ISOMeta first_meta, ISOMeta second_meta, u8 *relation_type);
1000 ISO_EXTERN(ISOErr)
1001 ISOAddMetaDataReference(ISOMeta meta, u16 *out_ref, ISOHandle urlHandle, ISOHandle urnHandle);
1012 ISO_EXTERN(ISOErr)
1013 ISOAddMetaItem(ISOMeta meta, ISOMetaItem *outItem, u64 base_offset, u16 data_ref_index);
1018 ISO_EXTERN(ISOErr)
1019 ISOAddMetaItemWithID(ISOMeta meta, ISOMetaItem *outItem, u64 base_offset, u16 data_ref_index,
1020 u16 item_ID);
1029 ISO_EXTERN(ISOErr) ISOAddItemExtent(ISOMetaItem item, MP4Handle data);
1037 ISO_EXTERN(ISOErr) ISOAddItemExtentReference(ISOMetaItem item, u64 offset, u64 length);
1052 ISO_EXTERN(ISOErr)
1053 ISOAddItemExtentItem(ISOMetaItem item, ISOMetaItem extent_item, u32 offset, u32 length);
1062 ISO_EXTERN(ISOErr)
1063 ISOAddItemReference(ISOMetaItem item, u32 reference_type, u32 to_item_ID, u32 *outIndex);
1071 ISO_EXTERN(ISOErr)
1072 ISOAddItemReferences(ISOMetaItem item, u32 reference_type, u16 reference_count,
1073 MP4Handle to_item_IDs);
1079 MP4_EXTERN(MP4Err)
1080 ISOAddItemRelation(ISOMetaItem fromItem, ISOMetaItem toItem, u32 relationType);
1084 ISO_EXTERN(ISOErr)
1085 ISOGetItemReferences(ISOMetaItem item, u32 reference_type, u16 *reference_count,
1086 MP4Handle to_item_IDs);
1090 ISO_EXTERN(ISOErr)
1091 ISOGetItemReference(ISOMetaItem item, u32 reference_type, u16 reference_index,
1092 ISOMetaItem *outItem);
1100 ISO_EXTERN(ISOErr) ISOAddPrimaryData(ISOMeta meta, u32 box_type, MP4Handle data, u8 is_full_atom);
1106 ISO_EXTERN(ISOErr) ISOGetPrimaryData(ISOMeta meta, u32 box_type, MP4Handle data, u8 is_full_atom);
1114 ISO_EXTERN(ISOErr)
1115 ISOGetPrimaryItemData(ISOMeta meta, u32 box_type, MP4Handle data, u8 is_full_atom);
1119 ISO_EXTERN(ISOErr) ISOSetPrimaryItem(ISOMeta meta, ISOMetaItem item);
1123 ISO_EXTERN(ISOErr) ISOGetPrimaryItemID(ISOMeta meta, u16 *ID);
1127 ISO_EXTERN(ISOErr) ISOGetItemID(ISOMetaItem item, u16 *ID);
1133 ISO_EXTERN(ISOErr)
1134 ISOSetItemInfo(ISOMetaItem item, u16 protection_index, char *name, char *content_type,
1135 char *content_encoding);
1139 ISO_EXTERN(ISOErr)
1140 ISOSetItemInfoExtension(ISOMetaItem item, MP4Handle extension, u32 extension_type);
1144 ISO_EXTERN(ISOErr)
1145 ISOGetItemInfoExtension(ISOMetaItem item, MP4Handle extension, u32 *extension_type);
1150 ISO_EXTERN(ISOErr) ISOSetItemInfoItemType(ISOMetaItem item, u32 item_type, char *item_uri_type);
1155 ISO_EXTERN(ISOErr) ISOHideItem(ISOMetaItem item);
1161 ISO_EXTERN(ISOErr) ISOIsItemHidden(ISOMetaItem item);
1166 ISO_EXTERN(ISOErr) ISOGetItemInfoItemType(ISOMetaItem item, u32 *item_type, char **item_uri_type);
1173 ISO_EXTERN(ISOErr)
1174 ISOGetFileMeta(ISOMovie theMovie, ISOMeta *meta, u32 inMetaType, u32 *outMetaType);
1181 ISO_EXTERN(ISOErr)
1182 ISOGetMovieMeta(ISOMovie theMovie, ISOMeta *meta, u32 inMetaType, u32 *outMetaType);
1189 ISO_EXTERN(ISOErr)
1190 ISOGetTrackMeta(ISOTrack theTrack, ISOMeta *meta, u32 inMetaType, u32 *outMetaType);
1194 ISO_EXTERN(ISOErr)
1195 ISOGetAllItemsWithType(ISOMeta meta, u32 type, ISOMetaItem **items, u32 *numberOfItemsFound);
1199 ISO_EXTERN(ISOErr) ISOFindItemByName(ISOMeta meta, ISOMetaItem *item, char *name, u8 exact_case);
1203 ISO_EXTERN(ISOErr) ISOFindItemByID(ISOMeta meta, ISOMetaItem *item, u16 ID);
1211 ISO_EXTERN(ISOErr) ISOGetItemData(ISOMetaItem item, MP4Handle data, u64 *base_offset);
1217 ISO_EXTERN(ISOErr)
1218 ISOGetItemInfo(ISOMetaItem item, u16 *protection_index, char *name, char *content_type,
1219 char *content_encoding);
1227 ISO_EXTERN(MP4Err)
1228 ISONewMetaProtection(ISOMeta meta, u32 sch_type, u32 sch_version, char *sch_url,
1229 u16 *protection_index);
1234 ISO_EXTERN(MP4Err)
1235 ISOAddMetaProtectionInfo(ISOMeta meta, u16 protection_index, MP4GenericAtom schi_atom);
1240 ISO_EXTERN(MP4Err)
1241 ISOGetMetaProtection(ISOMeta meta, u16 protection_index, u32 *sch_type, u32 *sch_version,
1242 char *sch_url);
1247 ISO_EXTERN(MP4Err)
1248 ISOGetMetaProtectionInfo(ISOMeta meta, u16 protection_index, u32 atom_type,
1249 MP4GenericAtom *schi_atom);
1255 ISO_EXTERN(MP4Err)
1256 ISOAddMetaItemProperty(ISOMetaItem item, MP4GenericAtom *itemProperty, u8 essential);
1264 ISO_EXTERN(MP4Err)
1265 ISOGetProperitesOfMetaItem(ISOMetaItem item, MP4GenericAtom **properties, u32 *propertiesFound);
1273 ISO_EXTERN(ISOErr) ISONewEntityGroup(ISOMeta meta, u32 grouping_type, u32 group_id);
1281 ISO_EXTERN(ISOErr) ISOAddEntityIDToGroup(ISOMeta meta, u32 group_id, u32 entity_id);
1289 ISO_EXTERN(ISOErr) ISOGetEntityIDCnt(ISOMeta meta, u32 group_id, u32 *num_entities_in_group);
1299 ISO_EXTERN(ISOErr)
1301
1304#ifdef PRAGMA_EXPORT
1305#pragma export on
1306#endif
1307
1308#ifdef __cplusplus
1309}
1310#endif
1311#ifdef PRAGMA_EXPORT
1312#pragma export off
1313#endif
1314
1315#endif
ISOErr ISOGetMebxMetadataCount(MP4Handle sampleEntryH, u32 *key_cnt)
Get the number of entries in the mebx sample entry.
ISOErr QTNewMovie(ISOMovie *outMovie)
Creaets a new empty QT Movie in memory.
ISOErr MJ2SetMediaSoundBalance(ISOMedia theMedia, s16 balance)
Sets the left-right balance of an audio track (normally a mono track).
ISOErr ISOAddMebxMetadataToSampleEntry(struct MP4BoxedMetadataSampleEntry *mebxSE, u32 desired_local_key_id, u32 *out_local_key_id, u32 key_namespace, MP4Handle key_value, char *locale_string, MP4Handle setupInfo)
Add a new metadata type to mebx sample entry.
ISOErr MJ2SetMediaGraphicsMode(ISOMedia theMedia, u32 mode, const ISORGBColor *opColor)
Sets the graphics mode for this track.
ISOErr MJ2GetMediaGraphicsMode(ISOMedia theMedia, u32 *outMode, ISORGBColor *outOpColor)
Returns the currently set graphics mode.
ISOErr MJ2GetMediaSoundBalance(ISOMedia theMedia, s16 *outBalance)
Returns the currently set balance value.
ISOErr ISOSetPrimaryItem(ISOMeta meta, ISOMetaItem item)
Sets the item of the indicated ID as the primary item (using a primary item box).
MP4Err ISOGetProperitesOfMetaItem(ISOMetaItem item, MP4GenericAtom **properties, u32 *propertiesFound)
Retruns an array of MP4GenericAtom pointers, which represent the item properties found for the item g...
MP4Err ISONewMetaProtection(ISOMeta meta, u32 sch_type, u32 sch_version, char *sch_url, u16 *protection_index)
Creates a new item protection information inside the given meta-data box.
ISOErr ISONewMovieMeta(ISOMovie theMovie, u32 metaType, ISOMeta *meta)
Creates a new meta box (atom), with the indicated ‘handler’ type, in the movie box (atom).
ISOErr ISOSetItemInfo(ISOMetaItem item, u16 protection_index, char *name, char *content_type, char *content_encoding)
Sets the information for the indicated item.
ISOErr ISOAddMetaItemWithID(ISOMeta meta, ISOMetaItem *outItem, u64 base_offset, u16 data_ref_index, u16 item_ID)
Creates a new meta-data item with specific ID, and returns an opaque pointer to it.
ISOErr ISOSetItemInfoExtension(ISOMetaItem item, MP4Handle extension, u32 extension_type)
Adds an item info extension to an existing item info entry.
ISOErr ISOGetEntityIDCnt(ISOMeta meta, u32 group_id, u32 *num_entities_in_group)
Get number of entries in the EntityToGroupBox.
MP4Err ISOAddItemRelation(ISOMetaItem fromItem, ISOMetaItem toItem, u32 relationType)
ISOErr ISOAddMetaDataReference(ISOMeta meta, u16 *out_ref, ISOHandle urlHandle, ISOHandle urnHandle)
Adds a data reference to the given meta-data.
ISOErr ISOAddItemExtent(ISOMetaItem item, MP4Handle data)
Adds some data to the given item, as its first (perhaps only) extent.
ISOErr ISOGetItemID(ISOMetaItem item, u16 *ID)
Gets the ID of the indicated item.
ISOErr ISOGetEntityGroupEntries(ISOMeta meta, EntityGroupEntryPtr *pEntries, u32 *cnt)
Get common data for all EntityToGroup entries.
ISOErr ISOAddItemReference(ISOMetaItem item, u32 reference_type, u32 to_item_ID, u32 *outIndex)
This function adds an item reference to the item reference box.
MP4Err ISOAddMetaProtectionInfo(ISOMeta meta, u16 protection_index, MP4GenericAtom schi_atom)
Adds an arbitrary atom to the scheme information of the associated protection information.
ISOErr ISOFindItemByID(ISOMeta meta, ISOMetaItem *item, u16 ID)
Gets a reference to an item by its ID.
ISOErr ISOGetItemData(ISOMetaItem item, MP4Handle data, u64 *base_offset)
Reads and returns the data associated with all the extents of the given item, concatenating them.
ISOErr ISOGetItemInfoExtension(ISOMetaItem item, MP4Handle extension, u32 *extension_type)
Gets an item info extension and its extension type from an item.
ISOErr ISOAddItemExtentItem(ISOMetaItem item, ISOMetaItem extent_item, u32 offset, u32 length)
Indicates that the data for this extent is located at another item’s extends.
ISOErr ISOGetMetaBoxRelation(ISOMeta first_meta, ISOMeta second_meta, u8 *relation_type)
Get the reletation type.
ISOErr ISONewTrackMeta(ISOTrack theTrack, u32 metaType, ISOMeta *meta)
Creates a new meta box (atom), with the indicated ‘handler’ type, in the indicated track box (atom).
ISOErr ISOGetItemReference(ISOMetaItem item, u32 reference_type, u16 reference_index, ISOMetaItem *outItem)
Get an item by reference type and index.
ISOErr ISOGetAllItemsWithType(ISOMeta meta, u32 type, ISOMetaItem **items, u32 *numberOfItemsFound)
Collects all items of a given type and presents the result in form of an array.
ISOErr ISOGetItemInfoItemType(ISOMetaItem item, u32 *item_type, char **item_uri_type)
Gets an item info item type from an existing item info entry.
ISOErr ISOSetItemInfoItemType(ISOMetaItem item, u32 item_type, char *item_uri_type)
Adds an item info item type to an existing item info entry.
ISOErr ISOGetPrimaryData(ISOMeta meta, u32 box_type, MP4Handle data, u8 is_full_atom)
Finds the box of the given type inside the meta box, and returns its contents.
ISOErr ISOGetItemInfo(ISOMetaItem item, u16 *protection_index, char *name, char *content_type, char *content_encoding)
Returns the information for a given item.
ISOErr ISOGetItemReferences(ISOMetaItem item, u32 reference_type, u16 *reference_count, MP4Handle to_item_IDs)
This function collects all item references of the item / reference_type combination.
ISOErr ISOAddItemExtentUsingItemData(ISOMetaItem item, MP4Handle data)
Adds some data to the given item, as its first (perhaps only) extent.
ISOErr ISOAddItemReferences(ISOMetaItem item, u32 reference_type, u16 reference_count, MP4Handle to_item_IDs)
This function adds multiple item references to the item reference box.
ISOErr ISOAddMetaBoxRelation(ISOMeta first_meta, ISOMeta second_meta, u8 relation_type)
Adds a meta box relation box to the additional meta data box, related to first and second meta box.
MP4Err ISOGetMetaProtection(ISOMeta meta, u16 protection_index, u32 *sch_type, u32 *sch_version, char *sch_url)
Gets the scheme type, version, and URL associated with the protection information of the given index.
MP4Err ISOAddMetaItemProperty(ISOMetaItem item, MP4GenericAtom *itemProperty, u8 essential)
Adds an item property, which can be any MP4GenericAtom, to an ISOMetaItem.
ISOErr ISOGetFileMeta(ISOMovie theMovie, ISOMeta *meta, u32 inMetaType, u32 *outMetaType)
Gets a reference to the file-level meta data.
MP4Err ISOGetMetaProtectionInfo(ISOMeta meta, u16 protection_index, u32 atom_type, MP4GenericAtom *schi_atom)
Finds and returns the atom of the given type inside the scheme information of the protection scheme a...
ISOErr ISOGetMovieMeta(ISOMovie theMovie, ISOMeta *meta, u32 inMetaType, u32 *outMetaType)
Gets a reference to the movie-level meta data.
MP4Err ISOCheckMetaDataReferences(ISOMeta meta)
Checks that all the data references used by the meta-data are accessible.
ISOErr ISOGetTrackMeta(ISOTrack theTrack, ISOMeta *meta, u32 inMetaType, u32 *outMetaType)
Gets a reference to the track-level meta data.
ISOErr ISOAddMetaItem(ISOMeta meta, ISOMetaItem *outItem, u64 base_offset, u16 data_ref_index)
Creates a new meta-data item, and returns an opaque pointer to it.
ISOErr ISONewFileMeta(ISOMovie theMovie, u32 metaType, ISOMeta *meta)
Creates a new meta box (atom), with the indicated ‘handler’ type, at the file level.
ISOErr ISOGetPrimaryItemID(ISOMeta meta, u16 *ID)
Finds the ID of the primary item.
ISOErr ISOHideItem(ISOMetaItem item)
Hide item by setting the (flags & 1) = 1.
ISOErr ISONewEntityGroup(ISOMeta meta, u32 grouping_type, u32 group_id)
Add new EntityToGroupBox (creates grpl if needed)
ISOErr ISOGetPrimaryItemData(ISOMeta meta, u32 box_type, MP4Handle data, u8 is_full_atom)
Finds the box of the given type inside the meta box, and returns its contents.
ISOErr ISOFindItemByName(ISOMeta meta, ISOMetaItem *item, char *name, u8 exact_case)
Finds an item that has the associated name in its item information.
ISOErr ISOAddEntityIDToGroup(ISOMeta meta, u32 group_id, u32 entity_id)
Add entity_id to EntityToGroupBox.
ISOErr ISOAddItemExtentReference(ISOMetaItem item, u64 offset, u64 length)
Adds a reference to the data.
ISOErr ISOIsItemHidden(ISOMetaItem item)
Check if item is hiden.
ISOErr ISOAddPrimaryData(ISOMeta meta, u32 box_type, MP4Handle data, u8 is_full_atom)
Places the indicated data inside a box in the meta-box, with the indicated box type (e....
ISOErr MJ2GetMovieMatrix(ISOMovie theMovie, u32 outMatrix[9])
This returns the overall transformation matrix for the movie.
ISOErr MJ2SetMovieMatrix(ISOMovie theMovie, u32 matrix[9])
This sets the matrix of the overall movie.
ISOErr New3GPPMovie(ISOMovie *outMovie, u16 release)
Creates a new empty 3GPP Movie in memory, and sets the brand to the indicated release (4,...
ISOErr MJ2SetMoviePreferredRate(ISOMovie theMovie, u32 rate)
This sets the rate of the movie (the normal and default rate is 1.0).
ISOErr MJ2GetMoviePreferredRate(ISOMovie theMovie, u32 *outRate)
This returns the currently set movie preferred rate.
ISOErr ISOSetMovieCompatibleBrand(ISOMovie theMovie, u32 brand)
Adds a minor brand into the compatible brands list of the Movie.
ISOErr ISOSetMovieBrand(ISOMovie theMovie, u32 brand, u32 minorversion)
Sets the Movie’s major brand.
ISOErr MJ2GetMoviePreferredVolume(ISOMovie theMovie, s16 *outVolume)
This returns the movie volume setting.
ISOErr MJ2SetMoviePreferredVolume(ISOMovie theMovie, s16 volume)
This sets the normal volume of the movie.
ISOErr ISOIsMovieCompatibleBrand(ISOMovie theMovie, u32 brand)
If the brand is a compatible brand of the movie, this returns MP4NoErr, otherwise it returns MP4NotFo...
ISOErr ISOGetMovieBrand(ISOMovie theMovie, u32 *brand, u32 *minorversion)
Returns the Movie’s major brand and minor version.
ISOErr MJ2NewMovie(ISOMovie *outMovie)
Creates a new empty Motion JPEG 2000 Movie in memory.
ISOErr ISOGetVCSampleDescriptionPS(MP4Handle sampleEntryH, MP4Handle ps, u32 where, u32 index)
Gets an AVC parameter set, placing it in the given handle.
ISOErr ISONewAVCSampleDescription(MP4Track theTrack, MP4Handle sampleDescriptionH, u32 dataReferenceIndex, u32 length_size, MP4Handle first_sps, MP4Handle first_pps, MP4Handle first_spsext)
Create a new AVC sample entry.
ISOErr ISOGetRESVSampleDescriptionPS(MP4Handle sampleEntryH, MP4Handle ps, u32 where, u32 index)
Gets a restricted video parameter set (AVC or HEVC), placing it in the given handle.
ISOErr ISOGetRESVOriginalFormat(MP4Handle sampleEntryH, u32 *outOrigFmt)
Get the four character code of the original un-transformed sample entry.
ISOErr ISONewHEVCSampleDescription(MP4Track theTrack, MP4Handle sampleDescriptionH, u32 dataReferenceIndex, u32 length_size, MP4Handle first_sps, MP4Handle first_pps, MP4Handle first_vps)
Create a new HEVC sample entry.
ISOErr ISOGetVVCSampleDescription(MP4Handle sampleEntryH, u32 *dataReferenceIndex, u32 *length_size, u32 naluType, u32 *count)
Gets the basic parameters of the VVC sample entry.
ISOErr ISOGetVVCNaluNums(MP4Handle sampleEntryH, u32 where, u32 *num_nalus)
Gets a VVC parameter set, placing it in the given handle.
ISOErr ISOGetRESVSchemeType(MP4Handle sampleEntryH, u32 *schemeType, u32 *schemeVersion, char **schemeURI)
Get scheme_type and scheme_version from the SchemeTypeBox in resv.
MP4Err ISONewH263SampleDescription(MP4Track theTrack, MP4Handle sampleDescriptionH, u32 dataReferenceIndex, u32 vendor, u8 decoder_version, u8 H263_level, u8 H263_profile)
Creates a new H.263 video sample description according to the 3GPP specifications.
ISOErr ISOGetVVCSampleDescriptionPS(MP4Handle sampleEntryH, MP4Handle ps, u32 where, u32 index)
Gets a VVC parameter set, placing it in the given handle.
MP4Err ISONewAMRWPSampleDescription(MP4Track theTrack, MP4Handle sampleDescriptionH, u32 dataReferenceIndex, u32 vendor, u8 decoder_version)
Creates a new AMR wideband plus audio sample description according to the 3GPP spec.
ISOErr ISOGetAVCSampleDescription(MP4Handle sampleEntryH, u32 *dataReferenceIndex, u32 *length_size, u32 *sps_count, u32 *pss_count, u32 *spsext_count)
Gets the basic parameters of the AVC sample entry.
ISOErr ISOGetNALUnitLength(MP4Handle sampleEntryH, u32 *out)
Get the NALUnitLength size in bytes.
ISOErr ISONewVVCSubpicSampleDescription(MP4Track theTrack, MP4Handle sampleDescriptionH, u32 dataReferenceIndex, u32 width, u32 height, u32 length_size)
Create a new VVC subpicture (vvs1) sample entry.
ISOErr ISOGetRESVSchemeInfoAtom(MP4Handle sampleEntryH, u32 atomType, MP4Handle outAtom)
Get the box from the SchemeInformationBox in resv.
MP4Err ISOAddBitrateToSampleDescription(MP4Handle sampleEntryH, u8 is_3GPP, u32 buffersizeDB, u32 maxBitrate, u32 avgBitrate)
Add a bitrate atom to a sample entry (description).
MP4Err ISONewAMRSampleDescription(MP4Track theTrack, MP4Handle sampleDescriptionH, u32 dataReferenceIndex, u8 is_WB, u32 vendor, u8 decoder_version, u16 mode_set, u8 mode_change_period, u8 frames_per_sample)
Creates a new AMR audio sample description according to the 3GPP specifications.
ISOErr ISOGetHEVCSampleDescriptionPS(MP4Handle sampleEntryH, MP4Handle ps, u32 where, u32 index)
Gets a HEVC parameter set, placing it in the given handle.
ISOErr ISONewVVCSampleDescription(MP4Track theTrack, MP4Handle sampleDescriptionH, u32 dataReferenceIndex, u32 length_size, MP4Handle first_sps, MP4Handle first_pps)
Create a new VVC sample entry.
ISOErr ISOAddVCSampleDescriptionPS(MP4Handle sampleEntryH, MP4Handle ps, u32 where)
This adds another parameter set (which is not, in fact, inspected), to the configuration.
ISOErr ISONewMebxSampleDescription(struct MP4BoxedMetadataSampleEntry **outSE, u32 dataReferenceIndex)
Construct a new mebx sample entry.
ISOErr ISOAddVVCSampleDescriptionPS(MP4Handle sampleEntryH, MP4Handle ps, u32 where)
This adds another parameter set (which is not, in fact, inspected), to the configuration.
ISOErr ISOGetVVCSubpicSampleDescription(MP4Handle sampleEntryH, u32 *dataReferenceIndex, u32 *length_size)
Gets the length size of the VVC subpicture sample entry.
ISOErr MJ2GetTrackMatrix(ISOTrack theTrack, u32 outMatrix[9])
This returns the current matrix.
ISOErr MJ2SetTrackMatrix(ISOTrack theTrack, u32 matrix[9])
This sets the overall transformation matrix for the movie as a whole.
ISOErr MJ2SetTrackLayer(ISOTrack theTrack, s16 layer)
This sets the ordering of the visual tracks.
ISOErr MJ2SetTrackVolume(ISOTrack theTrack, s16 volume)
This sets the normal volume of the track.
ISOErr MJ2GetTrackDimensions(ISOTrack theTrack, u32 *outWidth, u32 *outHeight)
This returns the currently set dimensions.
ISOErr MJ2GetTrackVolume(ISOTrack theTrack, s16 *outVolume)
Returns the currently set track volume.
ISOErr MJ2GetTrackLayer(ISOTrack theTrack, s16 *outLayer)
This returns the currently set track layer.
ISOErr MJ2SetTrackDimensions(ISOTrack theTrack, u32 width, u32 height)
This sets the width and height of a track.
int MP4Err
This is a typedef for function error codes.
Definition MP4Movies.h:34
char ** MP4Handle
MP4Handle is used to pass sections of dynamically allocated memory to the API.
Definition MP4Movies.h:274
ISOMetaItemRecord * ISOMetaItem
This is an opaque handle that contains a reference to a rich meta-data item.
Definition ISOMovies.h:233
#define MP4_FOUR_CHAR_CODE(a, b, c, d)
Makes a four-character code when needed.
Definition MP4OSMacros.h:51
ISOMetaRecord * ISOMeta
This is an opaque handle that contains a reference to rich meta-data.
Definition ISOMovies.h:219
@ ISOUnknownBrand
default 'brand'
Definition ISOMovies.h:153
@ ISO_DASH_MSIX_Brand
DASH indexed media segment.
Definition ISOMovies.h:161
@ ISO_DASH_DSMS_Brand
DASH self-initializing media seg.
Definition ISOMovies.h:157
@ ISO3GP5Brand
3GPP Release 5
Definition ISOMovies.h:147
@ MJ2JPEG2000Brand
brand for Motion JPEG-2000
Definition ISOMovies.h:133
@ ISO_DASH_MSDH_Brand
DASH general format media segment.
Definition ISOMovies.h:159
@ ISO_DASH_Brand
DASH (ISO/IEC 23009-1)
Definition ISOMovies.h:155
@ ISOMpeg4V1Brand
brand for MPEG-4 version 1
Definition ISOMovies.h:137
@ ISOMPEG21Brand
MPEG-21.
Definition ISOMovies.h:151
@ ISOQuickTimeBrand
brand for QuickTime
Definition ISOMovies.h:135
@ ISOMpeg4V2Brand
brand for MPEG-4 version 2
Definition ISOMovies.h:139
@ ISO_DASH_RISX_Brand
DASH representation index segment.
Definition ISOMovies.h:163
@ JP2JPEG2000Brand
brand for JPEG-2000
Definition ISOMovies.h:131
@ ISO3GP6Brand
3GPP Release 6
Definition ISOMovies.h:149
@ ISO_DASH_SISX_Brand
DASH single index segment.
Definition ISOMovies.h:167
@ ISOISOBrand
conforming brand for all files
Definition ISOMovies.h:141
@ ISO_DASH_SSSS_Brand
DASH subsegment index segment.
Definition ISOMovies.h:169
@ ISO3GP4Brand
3GPP Release 4
Definition ISOMovies.h:145
@ ISOISO2Brand
conforming brand for all files
Definition ISOMovies.h:143
@ ISO_DASH_LMSG_Brand
DASH last media segment indicator.
Definition ISOMovies.h:165
@ AVCpps
AVC Picture parameter set.
Definition ISOMovies.h:181
@ SVCpps
SVC Picture parameter set.
Definition ISOMovies.h:184
@ AVCspsext
AVC Sequence parameter set extension.
Definition ISOMovies.h:182
@ AVCsps
AVC Sequence parameter set.
Definition ISOMovies.h:180
@ SVCspsext
SVC SPS extension.
Definition ISOMovies.h:185
@ HEVCsps
HEVC Sequence Parameter Set.
Definition ISOMovies.h:187
@ SVCsps
SVC Sequence parameter set.
Definition ISOMovies.h:183
@ HEVCvps
HEVC Video Parameter Set.
Definition ISOMovies.h:186
@ HEVCpps
HEVC Picture Parameter Set.
Definition ISOMovies.h:188
Structure which contanis all the common parameters of an EntityGroup.
Definition ISOMovies.h:240
These data types are specific to JPEG-2; however, they have "ISO" names.
Definition ISOMovies.h:83
Meta-item records.
Definition ISOMovies.h:225
Meta-data records.
Definition ISOMovies.h:211
RGB color type.
Definition ISOMovies.h:93
Definition MP4Movies.h:256
Definition MP4Movies.h:209