ISOBMFF
ISO Base Media File Format Reference Software Documentation
 
Loading...
Searching...
No Matches
ISOMovies.h File Reference

A wrapper for the code defined in the MPEG-4 library. More...

#include "MP4Movies.h"

Go to the source code of this file.

Classes

struct  ISOMatrixRecord
 These data types are specific to JPEG-2; however, they have "ISO" names. More...
 
struct  ISORGBColor
 RGB color type. More...
 
struct  ISOMetaRecord
 Meta-data records. More...
 
struct  ISOMetaItemRecord
 Meta-item records. More...
 
struct  EntityGroupEntry
 Structure which contanis all the common parameters of an EntityGroup. More...
 

Macros

#define ISOHandle   MP4Handle
 
#define ISOErr   MP4Err
 
#define ISOMovie   MP4Movie
 
#define ISOTrack   MP4Track
 
#define ISOMedia   MP4Media
 
#define ISOTrackReader   MP4TrackReader
 
#define ISOUserData   MP4UserData
 
#define ISOAtomPtr   MP4AtomPtr
 
#define ISOLinkedList   MP4LinkedList
 
#define ISO_EXTERN   MP4_EXTERN
 
#define ISOEOF   MP4EOF
 
#define ISONoErr   MP4NoErr
 
#define ISOFileNotFoundErr   MP4FileNotFoundErr
 
#define ISOBadParamErr   MP4BadParamErr
 
#define ISONoMemoryErr   MP4NoMemoryErr
 
#define ISOIOErr   MP4IOErr
 
#define ISONoLargeAtomSupportErr   MP4NoLargeAtomSupportErr
 
#define ISOBadDataErr   MP4BadDataErr
 
#define ISOVersionNotSupportedErr   MP4VersionNotSupportedErr
 
#define ISOInvalidMediaErr   MP4InvalidMediaErr
 
#define ISODataEntryTypeNotSupportedErr   MP4DataEntryTypeNotSupportedErr
 
#define ISONoQTAtomErr   MP4NoQTAtomErr
 
#define ISONotImplementedErr   MP4NotImplementedErr
 
#define ISONewTrackIsVisual   MP4NewTrackIsVisual
 
#define ISONewTrackIsAudio   MP4NewTrackIsAudio
 
#define ISONewTrackIsPrivate   MP4NewTrackIsPrivate
 
#define ISONewTrackIsMetadata   MP4NewTrackIsMetadata
 
#define ISOVisualHandlerType   MP4VisualHandlerType
 
#define ISOAudioHandlerType   MP4AudioHandlerType
 
#define ISOHintHandlerType   MP4HintHandlerType
 
#define ISOVolumetricHandlerType   MP4VolumetricHandlerType
 
#define ISOHapticHandlerType   MP4HapticHandlerType
 
#define ISOOpenMovieNormal   MP4OpenMovieNormal
 
#define ISOOpenMovieDebug   MP4OpenMovieDebug
 
#define ISOOpenMovieInPlace   MP4OpenMovieInPlace
 
#define ISODisposeMovie   MP4DisposeMovie
 
#define ISOGetMovieTimeScale   MP4GetMovieTimeScale
 
#define ISOGetMovieTrack   MP4GetMovieTrack
 
#define ISOOpenMovieFile   MP4OpenMovieFile
 
#define ISOPutMovieIntoHandle   MP4PutMovieIntoHandle
 
#define ISOSetMovieTimeScale   MP4SetMovieTimeScale
 
#define ISOAddTrackReference   MP4AddTrackReference
 
#define ISOAddSubSampleInformationToTrack   MP4AddSubSampleInformationToTrack
 
#define ISOSetSubSampleInformationFlags   MP4SetSubSampleInformationFlags
 
#define ISOGetSubSampleInformationEntryFromTrack   MP4GetSubSampleInformationEntryFromTrack
 
#define ISOAddSubSampleInformationEntry   MP4AddSubSampleInformationEntry
 
#define ISOAddTrackGroup   MP4AddTrackGroup
 
#define ISOAddTrackReferenceWithID   MP4AddTrackReferenceWithID
 
#define ISOGetMovieIndTrack   MP4GetMovieIndTrack
 
#define ISOGetMovieTrackCount   MP4GetMovieTrackCount
 
#define ISOGetTrackEnabled   MP4GetTrackEnabled
 
#define ISOGetTrackID   MP4GetTrackID
 
#define ISOGetTrackMedia   MP4GetTrackMedia
 
#define ISOGetTrackMovie   MP4GetTrackMovie
 
#define ISOGetTrackOffset   MP4GetTrackOffset
 
#define ISOGetTrackReference   MP4GetTrackReference
 
#define ISOGetTrackReferenceCount   MP4GetTrackReferenceCount
 
#define ISOGetTrackGroup   MP4GetTrackGroup
 
#define ISOInsertMediaIntoTrack   MP4InsertMediaIntoTrack
 
#define ISONewMovieTrack   MP4NewMovieTrack
 
#define ISONewMovieTrackWithID   MP4NewMovieTrackWithID
 
#define ISONewTrackMedia   MP4NewTrackMedia
 
#define ISOSetTrackEnabled   MP4SetTrackEnabled
 
#define ISOSetTrackOffset   MP4SetTrackOffset
 
#define ISOTrackTimeToMediaTime   MP4TrackTimeToMediaTime
 
#define ISOAddMediaDataReference   MP4AddMediaDataReference
 
#define ISOAddMediaSampleReference   MP4AddMediaSampleReference
 
#define ISOAddMediaSamples   MP4AddMediaSamples
 
#define ISOAddMediaSamplesPad   MP4AddMediaSamplesPad
 
#define ISOBeginMediaEdits   MP4BeginMediaEdits
 
#define ISOCheckMediaDataReferences   MP4CheckMediaDataReferences
 
#define ISOEndMediaEdits   MP4EndMediaEdits
 
#define ISOGetIndMediaSample   MP4GetIndMediaSample
 
#define ISOGetIndMediaSampleWithPad   MP4GetIndMediaSampleWithPad
 
#define ISOGetMediaDataReference   MP4GetMediaDataReference
 
#define ISOGetMovieDuration   MP4GetMovieDuration
 
#define ISOGetTrackDuration   MP4GetTrackDuration
 
#define ISOGetMediaDuration   MP4GetMediaDuration
 
#define ISOGetMediaHandlerDescription   MP4GetMediaHandlerDescription
 
#define ISOGetMediaLanguage   MP4GetMediaLanguage
 
#define ISOGetMediaSample   MP4GetMediaSample
 
#define ISOGetMediaSampleWithPad   MP4GetMediaSampleWithPad
 
#define ISOGetMediaSampleCount   MP4GetMediaSampleCount
 
#define ISOGetMediaTimeScale   MP4GetMediaTimeScale
 
#define ISOGetMediaTrack   MP4GetMediaTrack
 
#define ISOMediaTimeToSampleNum   MP4MediaTimeToSampleNum
 
#define ISOSampleNumToMediaTime   MP4SampleNumToMediaTime
 
#define ISOSetMediaLanguage   MP4SetMediaLanguage
 
#define ISOSetMediaExtendedLanguageTag   MP4SetMediaExtendedLanguageTag
 
#define ISOAddUserData   MP4AddUserData
 
#define ISOGetIndUserDataType   MP4GetIndUserDataType
 
#define ISOGetMovieUserData   MP4GetMovieUserData
 
#define ISOGetTrackUserData   MP4GetTrackUserData
 
#define ISOGetUserDataEntryCount   MP4GetUserDataEntryCount
 
#define ISOGetUserDataItem   MP4GetUserDataItem
 
#define ISOGetAtomFromUserData   MP4GetAtomFromUserData
 
#define ISODeleteUserDataItem   MP4DeleteUserDataItem
 
#define ISOGetUserDataTypeCount   MP4GetUserDataTypeCount
 
#define ISONewUserData   MP4NewUserData
 
#define ISOCreateTrackReader   MP4CreateTrackReader
 
#define ISODisposeTrackReader   MP4DisposeTrackReader
 
#define ISONewHandle   MP4NewHandle
 
#define ISOSetHandleSize   MP4SetHandleSize
 
#define ISODisposeHandle   MP4DisposeHandle
 
#define ISOGetHandleSize   MP4GetHandleSize
 
#define ISOSetHandleOffset   MP4SetHandleOffset
 
#define ISOUseSignedCompositionTimeOffsets   MP4UseSignedCompositionTimeOffsets
 
#define QTPutMovieIntoHandle   MP4PutMovieIntoHandle
 
#define MJ2PutMovieIntoHandle   MP4PutMovieIntoHandle
 
#define ISOPutMovieIntoHandle   MP4PutMovieIntoHandle
 
#define QTWriteMovieToFile   MP4WriteMovieToFile
 
#define MJ2WriteMovieToFile   MP4WriteMovieToFile
 
#define ISOWriteMovieToFile   MP4WriteMovieToFile
 
#define ISOAddAtomToMovie   MP4AddAtomToMovie
 
#define ISONewForeignAtom   MP4NewForeignAtom
 
#define ISOGetForeignAtom   MP4GetForeignAtom
 
#define ISONewUUIDAtom   MP4NewUUIDAtom
 
#define ISOAddAtomToTrack   MP4AddAtomToTrack
 
#define ISOGetTrackEditlistEntryCount   MP4GetTrackEditlistEntryCount
 
#define ISOGetTrackEditlist   MP4GetTrackEditlist
 
#define ISOGenericAtom   MP4GenericAtom
 
#define MJ2TrackReaderGetNextSample   MP4TrackReaderGetNextAccessUnit
 

Typedefs

typedef struct ISOMatrixRecord ISOMatrixRecord
 
typedef ISOMatrixRecordISOMatrix
 
typedef struct ISORGBColor ISORGBColor
 
typedef ISORGBColorISORGBColorPtr
 
typedef struct ISOMetaRecord ISOMetaRecord
 
typedef ISOMetaRecordISOMeta
 This is an opaque handle that contains a reference to rich meta-data.
 
typedef struct ISOMetaItemRecord ISOMetaItemRecord
 
typedef ISOMetaItemRecordISOMetaItem
 This is an opaque handle that contains a reference to a rich meta-data item.
 
typedef struct EntityGroupEntry EntityGroupEntry
 Structure which contanis all the common parameters of an EntityGroup.
 
typedef struct EntityGroupEntryEntityGroupEntryPtr
 

Enumerations

enum  {
  ISOGraphicsModeSrcCopy = 0x00000000 , ISOGraphicsModeTransparent = 0x00000024 , ISOGraphicsModeAlpha = 0x00000100 , ISOGraphicsModeWhiteAlpha = 0x00000101 ,
  ISOGraphicsModeBlackAlpha = 0x00000102
}
 constants for the graphics modes (e.g. More...
 
enum  {
  ISOUnknownFileType = (u32)0 , ISOMPEG4FileType = (u32)1 , ISOStillJPEG2000FileType = (u32)2 , ISOMotionJPEG2000FileType = (u32)3 ,
  ISOQuickTimeFileType = (u32)4 , ISO3GPPFileType = (u32)5 , ISOMPEG21FileType = (u32)6
}
 constants for the fileType field of the MP4PrivateMovieRecord structure
 
enum  { ISOMediaHandlerType = MP4_FOUR_CHAR_CODE('m', 'h', 'l', 'r') , ISODataHandlerType = MP4_FOUR_CHAR_CODE('d', 'h', 'l', 'r') }
 constants for the qt_componentType field of the MP4HandlerAtom structure
 
enum  {
  JP2JPEG2000Brand = MP4_FOUR_CHAR_CODE('j', 'p', '2', ' ') , MJ2JPEG2000Brand = MP4_FOUR_CHAR_CODE('m', 'j', 'p', '2') , ISOQuickTimeBrand = MP4_FOUR_CHAR_CODE('q', 't', ' ', ' ') , ISOMpeg4V1Brand = MP4_FOUR_CHAR_CODE('m', 'p', '4', '1') ,
  ISOMpeg4V2Brand = MP4_FOUR_CHAR_CODE('m', 'p', '4', '2') , ISOISOBrand = MP4_FOUR_CHAR_CODE('i', 's', 'o', 'm') , ISOISO2Brand = MP4_FOUR_CHAR_CODE('i', 's', 'o', '2') , ISO3GP4Brand = MP4_FOUR_CHAR_CODE('3', 'g', 'p', '4') ,
  ISO3GP5Brand = MP4_FOUR_CHAR_CODE('3', 'g', 'p', '5') , ISO3GP6Brand = MP4_FOUR_CHAR_CODE('3', 'g', 'p', '6') , ISOMPEG21Brand = MP4_FOUR_CHAR_CODE('m', 'p', '2', '1') , ISOUnknownBrand = MP4_FOUR_CHAR_CODE(' ', ' ', ' ', ' ') ,
  ISO_DASH_Brand = MP4_FOUR_CHAR_CODE('d', 'a', 's', 'h') , ISO_DASH_DSMS_Brand = MP4_FOUR_CHAR_CODE('d', 's', 'm', 's') , ISO_DASH_MSDH_Brand = MP4_FOUR_CHAR_CODE('m', 's', 'd', 'h') , ISO_DASH_MSIX_Brand = MP4_FOUR_CHAR_CODE('m', 's', 'd', 'h') ,
  ISO_DASH_RISX_Brand = MP4_FOUR_CHAR_CODE('r', 'i', 's', 'x') , ISO_DASH_LMSG_Brand = MP4_FOUR_CHAR_CODE('l', 'm', 's', 'g') , ISO_DASH_SISX_Brand = MP4_FOUR_CHAR_CODE('s', 'i', 's', 'x') , ISO_DASH_SSSS_Brand = MP4_FOUR_CHAR_CODE('s', 's', 's', 's')
}
 Brands. More...
 
enum  {
  AVCsps = 1 , AVCpps = 2 , AVCspsext = 3 , SVCsps = 0x11 ,
  SVCpps = 0x12 , SVCspsext = 0x13 , HEVCvps = 0x20 , HEVCsps = 0x21 ,
  HEVCpps = 0x22
}
 AVC/SVC/HEVC Parameter Set places. More...
 
enum  {
  VVCsps = 15 , VVCpps = 16 , VVCvps = 14 , VVCopi = 12 ,
  VVCdci = 13 , VVC_prefix_aps = 17 , VVC_prefix_sei = 23
}
 VVC Parameter Set places. More...
 

Functions

ISOErr MJ2SetMovieMatrix (ISOMovie theMovie, u32 matrix[9])
 This sets the matrix of the overall movie.
 
ISOErr MJ2GetMovieMatrix (ISOMovie theMovie, u32 outMatrix[9])
 This returns the overall transformation matrix for the movie.
 
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 MJ2SetMoviePreferredVolume (ISOMovie theMovie, s16 volume)
 This sets the normal volume of the movie.
 
ISOErr MJ2GetMoviePreferredVolume (ISOMovie theMovie, s16 *outVolume)
 This returns the movie volume setting.
 
ISOErr MJ2SetTrackMatrix (ISOTrack theTrack, u32 matrix[9])
 This sets the overall transformation matrix for the movie as a whole.
 
ISOErr MJ2GetTrackMatrix (ISOTrack theTrack, u32 outMatrix[9])
 This returns the current matrix.
 
ISOErr MJ2SetTrackLayer (ISOTrack theTrack, s16 layer)
 This sets the ordering of the visual tracks.
 
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.
 
ISOErr MJ2GetTrackDimensions (ISOTrack theTrack, u32 *outWidth, u32 *outHeight)
 This returns the currently set dimensions.
 
ISOErr MJ2SetTrackVolume (ISOTrack theTrack, s16 volume)
 This sets the normal volume of the track.
 
ISOErr MJ2GetTrackVolume (ISOTrack theTrack, s16 *outVolume)
 Returns the currently set track volume.
 
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 MJ2SetMediaSoundBalance (ISOMedia theMedia, s16 balance)
 Sets the left-right balance of an audio track (normally a mono track).
 
ISOErr MJ2GetMediaSoundBalance (ISOMedia theMedia, s16 *outBalance)
 Returns the currently set balance value.
 
ISOErr MJ2NewMovie (ISOMovie *outMovie)
 Creates a new empty Motion JPEG 2000 Movie in memory.
 
ISOErr New3GPPMovie (ISOMovie *outMovie, u16 release)
 Creates a new empty 3GPP Movie in memory, and sets the brand to the indicated release (4, 5 or 6).
 
ISOErr QTNewMovie (ISOMovie *outMovie)
 Creaets a new empty QT Movie in memory.
 
ISOErr ISOWriteMovieToFile (ISOMovie theMovie, const char *filename)
 Writes the in-memory Movie to a file.
 
ISOErr ISOSetMovieBrand (ISOMovie theMovie, u32 brand, u32 minorversion)
 Sets the Movie’s major brand.
 
ISOErr ISOSetMovieCompatibleBrand (ISOMovie theMovie, u32 brand)
 Adds a minor brand into the compatible brands list of the Movie.
 
ISOErr ISOGetMovieBrand (ISOMovie theMovie, u32 *brand, u32 *minorversion)
 Returns the Movie’s major brand and minor version.
 
ISOErr ISOIsMovieCompatibleBrand (ISOMovie theMovie, u32 brand)
 If the brand is a compatible brand of the movie, this returns MP4NoErr, otherwise it returns MP4NotFoundErr.
 
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 ISOAddVCSampleDescriptionPS (MP4Handle sampleEntryH, MP4Handle ps, u32 where)
 This adds another parameter set (which is not, in fact, inspected), to the configuration.
 
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 ISOGetVCSampleDescriptionPS (MP4Handle sampleEntryH, MP4Handle ps, u32 where, u32 index)
 Gets an AVC parameter set, placing it in the given handle.
 
ISOErr ISOGetHEVCSampleDescriptionPS (MP4Handle sampleEntryH, MP4Handle ps, u32 where, u32 index)
 Gets a HEVC parameter set, placing it in the given handle.
 
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 ISOGetNALUnitLength (MP4Handle sampleEntryH, u32 *out)
 Get the NALUnitLength size in bytes.
 
ISOErr ISOGetRESVOriginalFormat (MP4Handle sampleEntryH, u32 *outOrigFmt)
 Get the four character code of the original un-transformed sample entry.
 
ISOErr ISOGetRESVSchemeType (MP4Handle sampleEntryH, u32 *schemeType, u32 *schemeVersion, char **schemeURI)
 Get scheme_type and scheme_version from the SchemeTypeBox in resv.
 
ISOErr ISOGetRESVSchemeInfoAtom (MP4Handle sampleEntryH, u32 atomType, MP4Handle outAtom)
 Get the box from the SchemeInformationBox in resv.
 
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 ISONewVVCSampleDescription (MP4Track theTrack, MP4Handle sampleDescriptionH, u32 dataReferenceIndex, u32 length_size, MP4Handle first_sps, MP4Handle first_pps)
 Create a new VVC 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 ISOGetVVCSampleDescriptionPS (MP4Handle sampleEntryH, MP4Handle ps, u32 where, u32 index)
 Gets a VVC parameter set, placing it in the given handle.
 
ISOErr ISOAddVVCSampleDescriptionPS (MP4Handle sampleEntryH, MP4Handle ps, u32 where)
 This adds another parameter set (which is not, in fact, inspected), to the configuration.
 
ISOErr ISONewVVCSubpicSampleDescription (MP4Track theTrack, MP4Handle sampleDescriptionH, u32 dataReferenceIndex, u32 width, u32 height, u32 length_size)
 Create a new VVC subpicture (vvs1) sample entry.
 
ISOErr ISOGetVVCSubpicSampleDescription (MP4Handle sampleEntryH, u32 *dataReferenceIndex, u32 *length_size)
 Gets the length size of the VVC subpicture sample entry.
 
MP4Err ISOAddBitrateToSampleDescription (MP4Handle sampleEntryH, u8 is_3GPP, u32 buffersizeDB, u32 maxBitrate, u32 avgBitrate)
 Add a bitrate atom to a sample entry (description).
 
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.
 
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.
 
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 ISONewFileMeta (ISOMovie theMovie, u32 metaType, ISOMeta *meta)
 Creates a new meta box (atom), with the indicated ‘handler’ type, at the file level.
 
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 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 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.
 
ISOErr ISOGetMetaBoxRelation (ISOMeta first_meta, ISOMeta second_meta, u8 *relation_type)
 Get the reletation type.
 
ISOErr ISOAddMetaDataReference (ISOMeta meta, u16 *out_ref, ISOHandle urlHandle, ISOHandle urnHandle)
 Adds a data reference to the given 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 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 ISOAddItemExtent (ISOMetaItem item, MP4Handle data)
 Adds some data to the given item, as its first (perhaps only) extent.
 
ISOErr ISOAddItemExtentReference (ISOMetaItem item, u64 offset, u64 length)
 Adds a reference to the data.
 
ISOErr ISOAddItemExtentUsingItemData (ISOMetaItem item, MP4Handle data)
 Adds some data to the given item, as its first (perhaps only) extent.
 
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 ISOAddItemReference (ISOMetaItem item, u32 reference_type, u32 to_item_ID, u32 *outIndex)
 This function adds an item reference to the item reference box.
 
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.
 
MP4Err ISOAddItemRelation (ISOMetaItem fromItem, ISOMetaItem toItem, u32 relationType)
 
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 ISOGetItemReference (ISOMetaItem item, u32 reference_type, u16 reference_index, ISOMetaItem *outItem)
 Get an item by reference type and index.
 
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.g.
 
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 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 ISOSetPrimaryItem (ISOMeta meta, ISOMetaItem item)
 Sets the item of the indicated ID as the primary item (using a primary item box).
 
ISOErr ISOGetPrimaryItemID (ISOMeta meta, u16 *ID)
 Finds the ID of the primary item.
 
ISOErr ISOGetItemID (ISOMetaItem item, u16 *ID)
 Gets the ID of the indicated item.
 
ISOErr ISOSetItemInfo (ISOMetaItem item, u16 protection_index, char *name, char *content_type, char *content_encoding)
 Sets the information for the indicated item.
 
ISOErr ISOSetItemInfoExtension (ISOMetaItem item, MP4Handle extension, u32 extension_type)
 Adds an item info extension to an existing item info entry.
 
ISOErr ISOGetItemInfoExtension (ISOMetaItem item, MP4Handle extension, u32 *extension_type)
 Gets an item info extension and its extension type from an item.
 
ISOErr ISOSetItemInfoItemType (ISOMetaItem item, u32 item_type, char *item_uri_type)
 Adds an item info item type to an existing item info entry.
 
ISOErr ISOHideItem (ISOMetaItem item)
 Hide item by setting the (flags & 1) = 1.
 
ISOErr ISOIsItemHidden (ISOMetaItem item)
 Check if item is hiden.
 
ISOErr ISOGetItemInfoItemType (ISOMetaItem item, u32 *item_type, char **item_uri_type)
 Gets an item info item type from an existing item info entry.
 
ISOErr ISOGetFileMeta (ISOMovie theMovie, ISOMeta *meta, u32 inMetaType, u32 *outMetaType)
 Gets a reference to the file-level meta data.
 
ISOErr ISOGetMovieMeta (ISOMovie theMovie, ISOMeta *meta, u32 inMetaType, u32 *outMetaType)
 Gets a reference to the movie-level meta data.
 
ISOErr ISOGetTrackMeta (ISOTrack theTrack, ISOMeta *meta, u32 inMetaType, u32 *outMetaType)
 Gets a reference to the track-level meta data.
 
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 ISOFindItemByName (ISOMeta meta, ISOMetaItem *item, char *name, u8 exact_case)
 Finds an item that has the associated name in its item 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 ISOGetItemInfo (ISOMetaItem item, u16 *protection_index, char *name, char *content_type, char *content_encoding)
 Returns the information for a given item.
 
MP4Err ISOCheckMetaDataReferences (ISOMeta meta)
 Checks that all the data references used by the meta-data are accessible.
 
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.
 
MP4Err ISOAddMetaProtectionInfo (ISOMeta meta, u16 protection_index, MP4GenericAtom schi_atom)
 Adds an arbitrary atom to the scheme information of the associated protection information.
 
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 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 at the given index.
 
MP4Err ISOAddMetaItemProperty (ISOMetaItem item, MP4GenericAtom *itemProperty, u8 essential)
 Adds an item property, which can be any MP4GenericAtom, to an ISOMetaItem.
 
MP4Err ISOGetProperitesOfMetaItem (ISOMetaItem item, MP4GenericAtom **properties, u32 *propertiesFound)
 Retruns an array of MP4GenericAtom pointers, which represent the item properties found for the item given.
 
ISOErr ISONewEntityGroup (ISOMeta meta, u32 grouping_type, u32 group_id)
 Add new EntityToGroupBox (creates grpl if needed)
 
ISOErr ISOAddEntityIDToGroup (ISOMeta meta, u32 group_id, u32 entity_id)
 Add entity_id to EntityToGroupBox.
 
ISOErr ISOGetEntityIDCnt (ISOMeta meta, u32 group_id, u32 *num_entities_in_group)
 Get number of entries in the EntityToGroupBox.
 
ISOErr ISOGetEntityGroupEntries (ISOMeta meta, EntityGroupEntryPtr *pEntries, u32 *cnt)
 Get common data for all EntityToGroup entries.
 

Detailed Description

A wrapper for the code defined in the MPEG-4 library.

Version
0.1

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

constants for the graphics modes (e.g.

for MJ2SetMediaGraphicsMode)

Function Documentation

◆ MJ2SetMediaGraphicsMode()

ISOErr MJ2SetMediaGraphicsMode ( ISOMedia  theMedia,
u32  mode,
const ISORGBColor opColor 
)

Sets the graphics mode for this track.

The mode should be chosen from the following list. The default mode is ISOGraphicsModeSrcCopy.

ISOGraphicsModeSrcCopy: This video image will be copied over the top of the layers below it. This is the default value, and should be used for the backmost track.

ISOGraphicsModeTransparent: The color ISORGBColor in this video image will be treated as transparent, allowing layers behind to be seen.

ISOGraphicsModeAlpha: This video image includes an alpha plane to define its transparency.

ISOGraphicsModeWhiteAlpha: This video image includes an alpha plane, which has been premultiplied with white, to define its transparency.

ISOGraphicsModeBlackAlpha: This video image includes an alpha plane, which has been premultiplied with black, to define its transparency.

◆ MJ2SetMediaSoundBalance()

ISOErr MJ2SetMediaSoundBalance ( ISOMedia  theMedia,
s16  balance 
)

Sets the left-right balance of an audio track (normally a mono track).

Balance values are represented as 16-bit, fixed-point numbers that range from -1.0 to +1.0. The high-order 8 bits contain the integer portion of the value; the low-order 8 bits contain the fractional part. Negative values weight the balance toward the left speaker; positive values emphasize the right channel. Setting the balance to 0 (the default) corresponds to a neutral setting.