Mercurial > mplayer.hg
view libmpdemux/parse_mp4.h @ 18650:587abd8f3dab
Except for missing cd-dvd.xml and codecs.xml, German xml docs
should be complete, synced and corrected
:) Here we go:
bugreports.xml:
* r18600: xml docs: CVS --> Subversion
* r18552: URL fix
bugs.xml, audio.xml, usage.xml, faq.xml, tvinput.xml, documentation.xml:
* fix "in sync with" tag
skin.xml:
* review
* r18600: xml docs: CVS --> Subversion
* r17975: Rename the default GUI skins directory from 'Skin' to 'skins'
install.xml:
* r17975: Rename the default GUI skins directory from 'Skin' to 'skins'
* r17707: New website structure, the /homepage subdirectory is gone.
* r17462: s/LIVE.COM/LIVE555/ + URL update
video.xml:
* tiny wording fix
mail-lists.xml:
* r18606: Fix mailing list name.
* r18600: xml docs: CVS --> Subversion
author | kraymer |
---|---|
date | Thu, 08 Jun 2006 16:20:01 +0000 |
parents | 7dfda76015c8 |
children | 492c6d674c3e |
line wrap: on
line source
/* parse_mp4.h - Headerfile for MP4 file format parser code * This file is part of MPlayer, see http://mplayerhq.hu/ for info. * (c)2002 by Felix Buenemann <atmosfear at users.sourceforge.net> * File licensed under the GPL, see http://www.fsf.org/ for more info. */ #ifndef __PARSE_MP4_H #define __PARSE_MP4_H 1 #include <inttypes.h> /* one byte tag identifiers */ #define MP4ODescrTag 0x01 #define MP4IODescrTag 0x02 #define MP4ESDescrTag 0x03 #define MP4DecConfigDescrTag 0x04 #define MP4DecSpecificDescrTag 0x05 #define MP4SLConfigDescrTag 0x06 #define MP4ContentIdDescrTag 0x07 #define MP4SupplContentIdDescrTag 0x08 #define MP4IPIPtrDescrTag 0x09 #define MP4IPMPPtrDescrTag 0x0A #define MP4IPMPDescrTag 0x0B #define MP4RegistrationDescrTag 0x0D #define MP4ESIDIncDescrTag 0x0E #define MP4ESIDRefDescrTag 0x0F #define MP4FileIODescrTag 0x10 #define MP4FileODescrTag 0x11 #define MP4ExtProfileLevelDescrTag 0x13 #define MP4ExtDescrTagsStart 0x80 #define MP4ExtDescrTagsEnd 0xFE /* object type identifiers in the ESDS */ /* See http://gpac.sourceforge.net/tutorial/mediatypes.htm */ /* BIFS stream version 1 */ #define MP4OTI_MPEG4Systems1 0x01 /* BIFS stream version 2 */ #define MP4OTI_MPEG4Systems2 0x02 /* MPEG-4 visual stream */ #define MP4OTI_MPEG4Visual 0x20 /* MPEG-4 audio stream */ #define MP4OTI_MPEG4Audio 0x40 /* MPEG-2 visual streams with various profiles */ #define MP4OTI_MPEG2VisualSimple 0x60 #define MP4OTI_MPEG2VisualMain 0x61 #define MP4OTI_MPEG2VisualSNR 0x62 #define MP4OTI_MPEG2VisualSpatial 0x63 #define MP4OTI_MPEG2VisualHigh 0x64 #define MP4OTI_MPEG2Visual422 0x65 /* MPEG-2 audio stream part 7 ("AAC") with various profiles */ #define MP4OTI_MPEG2AudioMain 0x66 #define MP4OTI_MPEG2AudioLowComplexity 0x67 #define MP4OTI_MPEG2AudioScaleableSamplingRate 0x68 /* MPEG-2 audio part 3 ("MP3") */ #define MP4OTI_MPEG2AudioPart3 0x69 /* MPEG-1 visual visual stream */ #define MP4OTI_MPEG1Visual 0x6A /* MPEG-1 audio stream part 3 ("MP3") */ #define MP4OTI_MPEG1Audio 0x6B /* JPEG visual stream */ #define MP4OTI_JPEG 0x6C /* I define uint24 here for better understanding */ #ifndef uint24_t #define uint24_t uint32_t #endif /* esds_t */ typedef struct { uint8_t version; uint24_t flags; /* 0x03 ESDescrTag */ uint16_t ESId; uint8_t streamPriority; /* 0x04 DecConfigDescrTag */ uint8_t objectTypeId; uint8_t streamType; /* XXX: really streamType is * only 6bit, followed by: * 1bit upStream * 1bit reserved */ uint24_t bufferSizeDB; uint32_t maxBitrate; uint32_t avgBitrate; /* 0x05 DecSpecificDescrTag */ uint8_t decoderConfigLen; uint8_t *decoderConfig; /* 0x06 SLConfigDescrTag */ uint8_t SLConfigLen; uint8_t *SLConfig; /* TODO: add the missing tags, * I currently have no specs * for them and doubt they * are currently needed ::atmos */ } esds_t; int mp4_parse_esds(unsigned char *data, int datalen, esds_t *esds); void mp4_free_esds(esds_t *esds); #endif /* !__PARSE_MP4_H */