[MPlayer-cvslog] CVS: main/libmpdemux demux_mov.c, 1.108, 1.109 parse_mp4.h, 1.2, 1.3
Moritz Bunkus CVS
syncmail at mplayerhq.hu
Mon Nov 15 16:04:59 CET 2004
CVS change done by Moritz Bunkus CVS
Update of /cvsroot/mplayer/main/libmpdemux
In directory mail:/var2/tmp/cvs-serv26657
Modified Files:
demux_mov.c parse_mp4.h
Log Message:
Extended support for other object type IDs in the ESDS. This enables e.g. MPEG2 video in the MP4 container.
Index: demux_mov.c
===================================================================
RCS file: /cvsroot/mplayer/main/libmpdemux/demux_mov.c,v
retrieving revision 1.108
retrieving revision 1.109
diff -u -r1.108 -r1.109
--- demux_mov.c 13 Sep 2004 21:21:47 -0000 1.108
+++ demux_mov.c 15 Nov 2004 15:04:57 -0000 1.109
@@ -946,7 +946,7 @@
sh->i_bps = esds.avgBitrate/8;
// printf("######## audio format = %d ########\n",esds.objectTypeId);
- if(esds.objectTypeId==107)
+ if(esds.objectTypeId==MP4OTI_MPEG1Audio || esds.objectTypeId==MP4OTI_MPEG2AudioPart3)
sh->format=0x55; // .mp3
// dump away the codec specific configuration for the AAC decoder
@@ -1103,6 +1103,13 @@
esds_t esds;
if(!mp4_parse_esds(trak->stdata+pos+8, atom_len-8, &esds)) {
+ if(esds.objectTypeId==MP4OTI_MPEG2VisualSimple || esds.objectTypeId==MP4OTI_MPEG2VisualMain ||
+ esds.objectTypeId==MP4OTI_MPEG2VisualSNR || esds.objectTypeId==MP4OTI_MPEG2VisualSpatial ||
+ esds.objectTypeId==MP4OTI_MPEG2VisualHigh || esds.objectTypeId==MP4OTI_MPEG2Visual422)
+ sh->format=mmioFOURCC('m', 'p', 'g', '2');
+ else if(esds.objectTypeId==MP4OTI_MPEG1Visual)
+ sh->format=mmioFOURCC('m', 'p', 'g', '1');
+
// dump away the codec specific configuration for the AAC decoder
trak->stream_header_len = esds.decoderConfigLen;
trak->stream_header = (unsigned char *)malloc(trak->stream_header_len);
Index: parse_mp4.h
===================================================================
RCS file: /cvsroot/mplayer/main/libmpdemux/parse_mp4.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- parse_mp4.h 24 Mar 2002 06:10:13 -0000 1.2
+++ parse_mp4.h 15 Nov 2004 15:04:57 -0000 1.3
@@ -30,6 +30,36 @@
#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
More information about the MPlayer-cvslog
mailing list