OSDN Git Service

Remove the old mpeg4i patches that are now redundant.
authoreddyg <eddyg@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Wed, 26 Nov 2008 22:04:10 +0000 (22:04 +0000)
committereddyg <eddyg@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Wed, 26 Nov 2008 22:04:10 +0000 (22:04 +0000)
git-svn-id: svn://localhost/HandBrake/trunk@1961 b64f7644-9d1e-0410-96f1-a4d463321fa5

contrib/patch-mpeg4ip-ac3.patch [deleted file]
contrib/patch-mpeg4ip-colr.patch [deleted file]
contrib/patch-mpeg4ip-nasm-2.00-configure.patch [deleted file]
contrib/patch-mpeg4ip-pascal-str.patch [deleted file]
contrib/patch-mpeg4ip.patch [deleted file]

diff --git a/contrib/patch-mpeg4ip-ac3.patch b/contrib/patch-mpeg4ip-ac3.patch
deleted file mode 100644 (file)
index ea581c4..0000000
+++ /dev/null
@@ -1,343 +0,0 @@
-diff -Naur mpeg4ip/lib/mp4v2/Makefile.am mpeg4ip-patched/lib/mp4v2/Makefile.am
---- mpeg4ip/lib/mp4v2/Makefile.am      2008-02-14 14:44:36.000000000 +1300
-+++ mpeg4ip-patched/lib/mp4v2/Makefile.am      2008-02-13 15:50:50.000000000 +1300
-@@ -10,6 +10,7 @@
- libmp4v2_la_SOURCES = \
-       3gp.cpp \
-+      atom_ac3.cpp \
-       atom_amr.cpp \
-       atom_avc1.cpp \
-       atom_avcC.cpp \
-@@ -33,6 +34,7 @@
-       atom_mp4s.cpp \
-       atom_mp4v.cpp \
-       atom_mvhd.cpp \
-+      atom_name.cpp \
-       atom_pasp.cpp \
-       atom_root.cpp \
-       atom_rtp.cpp \
-diff -Naur mpeg4ip/lib/mp4v2/Makefile.in mpeg4ip-patched/lib/mp4v2/Makefile.in
---- mpeg4ip/lib/mp4v2/Makefile.in      2008-02-14 14:44:36.000000000 +1300
-+++ mpeg4ip-patched/lib/mp4v2/Makefile.in      2008-02-14 14:38:05.000000000 +1300
-@@ -55,7 +55,7 @@
- am_libmp4v2_la_OBJECTS = 3gp.lo atom_amr.lo atom_avc1.lo atom_avcC.lo \
-       atom_d263.lo atom_damr.lo atom_dref.lo atom_elst.lo \
-       atom_enca.lo atom_encv.lo atom_free.lo atom_ftyp.lo \
--      atom_gmin.lo atom_text.lo \
-+      atom_gmin.lo atom_text.lo atom_ac3.lo \
-       atom_hdlr.lo atom_hinf.lo atom_hnti.lo atom_href.lo \
-       atom_mdat.lo atom_mdhd.lo atom_meta.lo atom_mp4a.lo \
-       atom_mp4s.lo atom_mp4v.lo atom_mvhd.lo atom_pasp.lo atom_root.lo \
-@@ -73,6 +73,7 @@
- depcomp = $(SHELL) $(top_srcdir)/depcomp
- am__depfiles_maybe = depfiles
- @AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/3gp.Plo ./$(DEPDIR)/atom_amr.Plo \
-+@AMDEP_TRUE@  ./$(DEPDIR)/atom_ac3.Plo \
- @AMDEP_TRUE@  ./$(DEPDIR)/atom_avc1.Plo \
- @AMDEP_TRUE@  ./$(DEPDIR)/atom_avcC.Plo \
- @AMDEP_TRUE@  ./$(DEPDIR)/atom_d263.Plo \
-@@ -342,6 +343,7 @@
- include_HEADERS = mp4.h
- libmp4v2_la_SOURCES = \
-       3gp.cpp \
-+      atom_ac3.cpp \
-       atom_amr.cpp \
-       atom_avc1.cpp \
-       atom_avcC.cpp \
-@@ -497,6 +499,7 @@
-       -rm -f *.tab.c
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/3gp.Plo@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atom_ac3.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atom_amr.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atom_avc1.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atom_avcC.Plo@am__quote@
-diff -Naur mpeg4ip/lib/mp4v2/atom_ac3.cpp mpeg4ip-patched/lib/mp4v2/atom_ac3.cpp
---- mpeg4ip/lib/mp4v2/atom_ac3.cpp     1970-01-01 12:00:00.000000000 +1200
-+++ mpeg4ip-patched/lib/mp4v2/atom_ac3.cpp     2008-02-14 14:29:52.000000000 +1300
-@@ -0,0 +1,51 @@
-+/*
-+ * The contents of this file are subject to the Mozilla Public
-+ * License Version 1.1 (the "License"); you may not use this file
-+ * except in compliance with the License. You may obtain a copy of
-+ * the License at http://www.mozilla.org/MPL/
-+ * 
-+ * Software distributed under the License is distributed on an "AS
-+ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
-+ * implied. See the License for the specific language governing
-+ * rights and limitations under the License.
-+ * 
-+ * The Original Code is MPEG4IP.
-+ * 
-+ * The Initial Developer of the Original Code is Cisco Systems Inc.
-+ * Portions created by Cisco Systems Inc. are
-+ * Copyright (C) Cisco Systems Inc. 2001.  All Rights Reserved.
-+ * 
-+ * Contributor(s): 
-+ *            Dave Mackie             dmackie@cisco.com
-+ */
-+
-+#include "mp4common.h"
-+
-+MP4Ac3Atom::MP4Ac3Atom() 
-+      : MP4Atom("ac-3") 
-+{
-+
-+    AddProperty( new MP4BytesProperty("data", 47));
-+}
-+
-+void MP4Ac3Atom::Generate()
-+{
-+      MP4Atom::Generate();
-+
-+        // This is a nasty nasty hack because Apple haven't told us what is
-+        // in the AC3 atom. So I've just copied this raw data from a sample
-+        // file.
-+        // I believe most of this is actually the same as the mp4a atom.
-+        // I can play with this later to get it 100% right, for now this works.
-+        static u_int8_t ac3[39] = {
-+            0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+            0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+            0x00, 0x02, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0xbb,
-+            0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 
-+            0x64, 0x61, 0x63, 0x33, 0x10, 0x3d, 0x40,
-+        };
-+
-+        m_pProperties[0]->SetReadOnly(false);
-+        ((MP4BytesProperty*)m_pProperties[0])->
-+            SetValue(ac3, sizeof(ac3));
-+}
-diff -Naur mpeg4ip/lib/mp4v2/atom_meta.cpp mpeg4ip-patched/lib/mp4v2/atom_meta.cpp
---- mpeg4ip/lib/mp4v2/atom_meta.cpp    2004-12-15 10:35:35.000000000 +1300
-+++ mpeg4ip-patched/lib/mp4v2/atom_meta.cpp    2008-02-13 16:49:16.000000000 +1300
-@@ -43,20 +43,33 @@
- MP4NameAtom::MP4NameAtom()
-     : MP4Atom("name")
- {
--      AddVersionAndFlags(); /* 0, 1 */
--
--    AddProperty(
--        new MP4BytesProperty("metadata")); /* 2 */
-+ 
- }
- void MP4NameAtom::Read() 
- {
-+    if (ATOMID(m_pParentAtom->GetType()) != ATOMID("udta")) {
-       // calculate size of the metadata from the atom size
-       ((MP4BytesProperty*)m_pProperties[2])->SetValueSize(m_size - 4);
-+    }
--      MP4Atom::Read();
-+    MP4Atom::Read();
- }
-+void MP4NameAtom::Generate()
-+{
-+    if (ATOMID(m_pParentAtom->GetType()) == ATOMID("udta")) {
-+        AddProperty(new MP4BytesProperty("value"));
-+    } else {
-+      AddVersionAndFlags(); /* 0, 1 */
-+        
-+        AddProperty(
-+            new MP4BytesProperty("metadata")); /* 2 */
-+    }
-+    MP4Atom::Generate();
-+}
-+
-+
- MP4DataAtom::MP4DataAtom()
-     : MP4Atom("data")
- {
-diff -Naur mpeg4ip/lib/mp4v2/atom_stsd.cpp mpeg4ip-patched/lib/mp4v2/atom_stsd.cpp
---- mpeg4ip/lib/mp4v2/atom_stsd.cpp    2008-02-14 14:44:36.000000000 +1300
-+++ mpeg4ip-patched/lib/mp4v2/atom_stsd.cpp    2008-02-13 14:52:10.000000000 +1300
-@@ -51,6 +51,7 @@
-       ExpectChildAtom("avc1", Optional, Many);
-       ExpectChildAtom("text", Optional, Many);
-       ExpectChildAtom("pasp", Optional, Many);
-+      ExpectChildAtom("ac-3", Optional, Many);
- }
- void MP4StsdAtom::Read() 
-diff -Naur mpeg4ip/lib/mp4v2/atom_udta.cpp mpeg4ip-patched/lib/mp4v2/atom_udta.cpp
---- mpeg4ip/lib/mp4v2/atom_udta.cpp    2003-08-05 09:59:56.000000000 +1200
-+++ mpeg4ip-patched/lib/mp4v2/atom_udta.cpp    2008-02-13 16:25:08.000000000 +1300
-@@ -33,6 +33,7 @@
- {
-       if (ATOMID(m_pParentAtom->GetType()) == ATOMID("trak")) {
-               ExpectChildAtom("hinf", Optional, OnlyOne);
-+                ExpectChildAtom("name", Optional, OnlyOne);
-       }
-       MP4Atom::Read();
-diff -Naur mpeg4ip/lib/mp4v2/atoms.h mpeg4ip-patched/lib/mp4v2/atoms.h
---- mpeg4ip/lib/mp4v2/atoms.h  2008-02-14 14:44:36.000000000 +1300
-+++ mpeg4ip-patched/lib/mp4v2/atoms.h  2008-02-14 14:54:20.000000000 +1300
-@@ -146,6 +146,12 @@
-       void Generate();
- };
-+class MP4Ac3Atom : public MP4Atom {
-+public:
-+      MP4Ac3Atom();
-+      void Generate();
-+};
-+
- class MP4Mp4sAtom : public MP4Atom {
- public:
-       MP4Mp4sAtom();
-@@ -267,6 +273,7 @@
- public:
-     MP4NameAtom();
-     void Read();
-+    void Generate();
- };
- class MP4RtpAtom : public MP4Atom {
-diff -Naur mpeg4ip/lib/mp4v2/mp4.cpp mpeg4ip-patched/lib/mp4v2/mp4.cpp
---- mpeg4ip/lib/mp4v2/mp4.cpp  2008-02-14 14:44:36.000000000 +1300
-+++ mpeg4ip-patched/lib/mp4v2/mp4.cpp  2008-02-13 17:16:33.000000000 +1300
-@@ -592,6 +592,25 @@
-       return MP4_INVALID_TRACK_ID;
- }
-+extern "C" MP4TrackId MP4AddAC3AudioTrack(
-+      MP4FileHandle hFile, 
-+      u_int32_t timeScale, 
-+      MP4Duration sampleDuration, 
-+      u_int8_t audioType)
-+{
-+      if (MP4_IS_VALID_FILE_HANDLE(hFile)) {
-+              try {
-+                      return ((MP4File*)hFile)->
-+                              AddAC3AudioTrack(timeScale, sampleDuration, audioType);
-+              }
-+              catch (MP4Error* e) {
-+                      PRINT_ERROR(e);
-+                      delete e;
-+              }
-+      }
-+      return MP4_INVALID_TRACK_ID;
-+}
-+
- extern "C" MP4TrackId MP4AddEncAudioTrack(MP4FileHandle hFile, 
-                                         u_int32_t timeScale, 
-                                         MP4Duration sampleDuration,
-diff -Naur mpeg4ip/lib/mp4v2/mp4.h mpeg4ip-patched/lib/mp4v2/mp4.h
---- mpeg4ip/lib/mp4v2/mp4.h    2008-02-14 14:44:36.000000000 +1300
-+++ mpeg4ip-patched/lib/mp4v2/mp4.h    2008-02-13 17:15:24.000000000 +1300
-@@ -432,6 +432,12 @@
-       MP4Duration sampleDuration,
-       u_int8_t audioType DEFAULT(MP4_MPEG4_AUDIO_TYPE));
-+MP4TrackId MP4AddAC3AudioTrack(
-+      MP4FileHandle hFile, 
-+      u_int32_t timeScale, 
-+      MP4Duration sampleDuration,
-+      u_int8_t audioType DEFAULT(MP4_MPEG4_AUDIO_TYPE));
-+
- typedef struct mp4v2_ismacryp_session_params {
-   u_int32_t  scheme_type;
-   u_int16_t  scheme_version;
-diff -Naur mpeg4ip/lib/mp4v2/mp4atom.cpp mpeg4ip-patched/lib/mp4v2/mp4atom.cpp
---- mpeg4ip/lib/mp4v2/mp4atom.cpp      2008-02-14 14:44:36.000000000 +1300
-+++ mpeg4ip-patched/lib/mp4v2/mp4atom.cpp      2008-02-13 16:03:41.000000000 +1300
-@@ -76,6 +76,8 @@
-     case 'a':
-       if (ATOMID(type) == ATOMID("avc1")) {
-       pAtom = new MP4Avc1Atom();
-+      } else if (ATOMID(type) == ATOMID("ac-3")) {
-+      pAtom = new MP4Ac3Atom();
-       } else if (ATOMID(type) == ATOMID("avcC")) {
-       pAtom = new MP4AvcCAtom();
-       } else if (ATOMID(type) == ATOMID("alis")) {
-diff -Naur mpeg4ip/lib/mp4v2/mp4file.cpp mpeg4ip-patched/lib/mp4v2/mp4file.cpp
---- mpeg4ip/lib/mp4v2/mp4file.cpp      2008-02-14 14:44:36.000000000 +1300
-+++ mpeg4ip-patched/lib/mp4v2/mp4file.cpp      2008-02-13 17:47:11.000000000 +1300
-@@ -1301,6 +1301,8 @@
-       AddChildAtom(MakeTrackName(trackId, "mdia.minf.stbl.stsd"), "mp4a");
-+        AddDescendantAtoms(MakeTrackName(trackId, NULL), "udta.name");
-+
-       // stsd is a unique beast in that it has a count of the number 
-       // of child atoms that needs to be incremented after we add the mp4a atom
-       MP4Integer32Property* pStsdCountProperty;
-@@ -1337,6 +1339,60 @@
-       return trackId;
- }
-+MP4TrackId MP4File::AddAC3AudioTrack(
-+      u_int32_t timeScale, 
-+      MP4Duration sampleDuration, 
-+      u_int8_t audioType)
-+{
-+      MP4TrackId trackId = AddTrack(MP4_AUDIO_TRACK_TYPE, timeScale);
-+
-+      AddTrackToOd(trackId);
-+
-+      SetTrackFloatProperty(trackId, "tkhd.volume", 1.0);
-+
-+      InsertChildAtom(MakeTrackName(trackId, "mdia.minf"), "smhd", 0);
-+
-+      AddChildAtom(MakeTrackName(trackId, "mdia.minf.stbl.stsd"), "ac-3");
-+
-+        AddDescendantAtoms(MakeTrackName(trackId, NULL), "udta.name");
-+
-+      // stsd is a unique beast in that it has a count of the number 
-+      // of child atoms that needs to be incremented after we add the mp4a atom
-+      MP4Integer32Property* pStsdCountProperty;
-+      FindIntegerProperty(
-+              MakeTrackName(trackId, "mdia.minf.stbl.stsd.entryCount"),
-+              (MP4Property**)&pStsdCountProperty);
-+      pStsdCountProperty->IncrementValue();
-+
-+      //SetTrackIntegerProperty(trackId, 
-+      //      "mdia.minf.stbl.stsd.ac-3.timeScale", timeScale);
-+
-+        //
-+      //SetTrackIntegerProperty(trackId, 
-+      //                      "mdia.minf.stbl.stsd.ac-3.esds.ESID", 
-+#if 0
-+                              // note - for a file, these values need to 
-+                              // be 0 - wmay - 04/16/2003
-+      //                      trackId
-+#else
-+        //            0
-+#endif
-+        //            );
-+
-+      //SetTrackIntegerProperty(trackId, 
-+      //      "mdia.minf.stbl.stsd.ac-3.esds.decConfigDescr.objectTypeId", 
-+      //      audioType);
-+
-+      //SetTrackIntegerProperty(trackId, 
-+      //      "mdia.minf.stbl.stsd.ac-3.esds.decConfigDescr.streamType", 
-+      //      MP4AudioStreamType);
-+
-+      m_pTracks[FindTrackIndex(trackId)]->
-+              SetFixedSampleDuration(sampleDuration);
-+
-+      return trackId;
-+}
-+
- MP4TrackId MP4File::AddEncAudioTrack(u_int32_t timeScale, 
-                                    MP4Duration sampleDuration, 
-                                    u_int8_t audioType,
-diff -Naur mpeg4ip/lib/mp4v2/mp4file.h mpeg4ip-patched/lib/mp4v2/mp4file.h
---- mpeg4ip/lib/mp4v2/mp4file.h        2008-02-14 14:44:36.000000000 +1300
-+++ mpeg4ip-patched/lib/mp4v2/mp4file.h        2008-02-13 17:17:11.000000000 +1300
-@@ -203,6 +203,11 @@
-               MP4Duration sampleDuration,
-               u_int8_t audioType);
-+      MP4TrackId AddAC3AudioTrack(
-+              u_int32_t timeScale, 
-+              MP4Duration sampleDuration,
-+              u_int8_t audioType);
-+
-       MP4TrackId AddEncAudioTrack( // ismacryp
-               u_int32_t timeScale, 
-               MP4Duration sampleDuration,
diff --git a/contrib/patch-mpeg4ip-colr.patch b/contrib/patch-mpeg4ip-colr.patch
deleted file mode 100644 (file)
index 105267b..0000000
+++ /dev/null
@@ -1,223 +0,0 @@
-diff -Nur -x Makefile -x config.log -x config.status -x libtool -x '*.Plo' -x '*.lo' ../handbrake/contrib/mpeg4ip/lib/mp4v2/Makefile.am mpeg4ip/lib/mp4v2/Makefile.am
---- ../handbrake/contrib/mpeg4ip/lib/mp4v2/Makefile.am 2008-06-13 11:22:55.000000000 -0700
-+++ mpeg4ip/lib/mp4v2/Makefile.am      2008-06-17 16:21:54.000000000 -0700
-@@ -14,6 +14,7 @@
-       atom_amr.cpp \
-       atom_avc1.cpp \
-       atom_avcC.cpp \
-+      atom_colr.cpp \
-       atom_d263.cpp \
-       atom_damr.cpp \
-       atom_dref.cpp \
-diff -Nur -x Makefile -x config.log -x config.status -x libtool -x '*.Plo' -x '*.lo' ../handbrake/contrib/mpeg4ip/lib/mp4v2/Makefile.in mpeg4ip/lib/mp4v2/Makefile.in
---- ../handbrake/contrib/mpeg4ip/lib/mp4v2/Makefile.in 2008-06-13 11:22:55.000000000 -0700
-+++ mpeg4ip/lib/mp4v2/Makefile.in      2008-06-17 16:21:54.000000000 -0700
-@@ -53,7 +53,7 @@
- LTLIBRARIES = $(lib_LTLIBRARIES)
- libmp4v2_la_LIBADD =
- am_libmp4v2_la_OBJECTS = 3gp.lo atom_amr.lo atom_avc1.lo atom_avcC.lo \
--      atom_d263.lo atom_damr.lo atom_dref.lo atom_elst.lo \
-+      atom_colr.lo atom_d263.lo atom_damr.lo atom_dref.lo atom_elst.lo \
-       atom_enca.lo atom_encv.lo atom_free.lo atom_ftyp.lo \
-       atom_gmin.lo atom_text.lo atom_ac3.lo \
-       atom_hdlr.lo atom_hinf.lo atom_hnti.lo atom_href.lo \
-@@ -76,6 +76,7 @@
- @AMDEP_TRUE@  ./$(DEPDIR)/atom_ac3.Plo \
- @AMDEP_TRUE@  ./$(DEPDIR)/atom_avc1.Plo \
- @AMDEP_TRUE@  ./$(DEPDIR)/atom_avcC.Plo \
-+@AMDEP_TRUE@  ./$(DEPDIR)/atom_colr.Plo \
- @AMDEP_TRUE@  ./$(DEPDIR)/atom_d263.Plo \
- @AMDEP_TRUE@  ./$(DEPDIR)/atom_damr.Plo \
- @AMDEP_TRUE@  ./$(DEPDIR)/atom_dref.Plo \
-@@ -347,6 +348,7 @@
-       atom_amr.cpp \
-       atom_avc1.cpp \
-       atom_avcC.cpp \
-+      atom_colr.cpp \
-       atom_d263.cpp \
-       atom_damr.cpp \
-       atom_dref.cpp \
-@@ -503,6 +505,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atom_amr.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atom_avc1.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atom_avcC.Plo@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atom_colr.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atom_d263.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atom_damr.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atom_dref.Plo@am__quote@
-diff -Nur -x Makefile -x config.log -x config.status -x libtool -x '*.Plo' -x '*.lo' ../handbrake/contrib/mpeg4ip/lib/mp4v2/atom_colr.cpp mpeg4ip/lib/mp4v2/atom_colr.cpp
---- ../handbrake/contrib/mpeg4ip/lib/mp4v2/atom_colr.cpp       1969-12-31 16:00:00.000000000 -0800
-+++ mpeg4ip/lib/mp4v2/atom_colr.cpp    2008-06-18 13:51:37.000000000 -0700
-@@ -0,0 +1,45 @@
-+/*
-+ * The contents of this file are subject to the Mozilla Public
-+ * License Version 1.1 (the "License"); you may not use this file
-+ * except in compliance with the License. You may obtain a copy of
-+ * the License at http://www.mozilla.org/MPL/
-+ * 
-+ * Software distributed under the License is distributed on an "AS
-+ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
-+ * implied. See the License for the specific language governing
-+ * rights and limitations under the License.
-+ * 
-+ * The Original Code is MPEG4IP.
-+ * 
-+ * Contributer has declined to give copyright information, and gives
-+ * it freely to the world.
-+ * 
-+ * Contributor(s): 
-+ */
-+
-+#include "mp4common.h"
-+
-+MP4ColrAtom::MP4ColrAtom() 
-+      : MP4Atom("colr") 
-+{
-+    MP4StringProperty* cpt = new MP4StringProperty("colorParameterType");
-+    cpt->SetFixedLength(4);
-+    AddProperty(cpt); /* 0 */
-+
-+      AddProperty( /* 1 */ new MP4Integer16Property("primariesIndex"));
-+
-+      AddProperty( /* 2 */ new MP4Integer16Property("transferFunctionIndex")); 
-+
-+      AddProperty( /* 3 */ new MP4Integer16Property("matrixIndex")); 
-+}
-+
-+void MP4ColrAtom::Generate()
-+{
-+      MP4Atom::Generate();
-+
-+      ((MP4StringProperty*)m_pProperties[0])->SetValue("nclc");
-+    // default to ITU BT.709 values
-+      ((MP4Integer16Property*)m_pProperties[1])->SetValue(1);
-+      ((MP4Integer16Property*)m_pProperties[2])->SetValue(1);
-+      ((MP4Integer16Property*)m_pProperties[3])->SetValue(1);
-+}
-diff -Nur -x Makefile -x config.log -x config.status -x libtool -x '*.Plo' -x '*.lo' ../handbrake/contrib/mpeg4ip/lib/mp4v2/atom_stsd.cpp mpeg4ip/lib/mp4v2/atom_stsd.cpp
---- ../handbrake/contrib/mpeg4ip/lib/mp4v2/atom_stsd.cpp       2008-06-13 11:22:55.000000000 -0700
-+++ mpeg4ip/lib/mp4v2/atom_stsd.cpp    2008-06-17 16:21:54.000000000 -0700
-@@ -52,6 +52,7 @@
-       ExpectChildAtom("text", Optional, Many);
-       ExpectChildAtom("pasp", Optional, Many);
-       ExpectChildAtom("ac-3", Optional, Many);
-+      ExpectChildAtom("colr", Optional, Many);
- }
- void MP4StsdAtom::Read() 
-diff -Nur -x Makefile -x config.log -x config.status -x libtool -x '*.Plo' -x '*.lo' ../handbrake/contrib/mpeg4ip/lib/mp4v2/atoms.h mpeg4ip/lib/mp4v2/atoms.h
---- ../handbrake/contrib/mpeg4ip/lib/mp4v2/atoms.h     2008-06-13 11:22:55.000000000 -0700
-+++ mpeg4ip/lib/mp4v2/atoms.h  2008-06-17 16:21:54.000000000 -0700
-@@ -406,4 +406,10 @@
-     void Generate();
- };
-+class MP4ColrAtom : public MP4Atom {
-+ public:
-+    MP4ColrAtom();
-+    void Generate();
-+};
-+
- #endif /* __MP4_ATOMS_INCLUDED__ */
-diff -Nur -x Makefile -x config.log -x config.status -x libtool -x '*.Plo' -x '*.lo' ../handbrake/contrib/mpeg4ip/lib/mp4v2/mp4.cpp mpeg4ip/lib/mp4v2/mp4.cpp
---- ../handbrake/contrib/mpeg4ip/lib/mp4v2/mp4.cpp     2008-06-13 11:22:55.000000000 -0700
-+++ mpeg4ip/lib/mp4v2/mp4.cpp  2008-06-17 16:21:54.000000000 -0700
-@@ -1003,6 +1003,21 @@
-       return MP4_INVALID_TRACK_ID;
- }
-+extern "C" MP4TrackId MP4AddColr(
-+      MP4FileHandle hFile, MP4TrackId refTrackId, u_int16_t pri, u_int16_t tran, u_int16_t mat)
-+{
-+      if (MP4_IS_VALID_FILE_HANDLE(hFile)) {
-+              try {
-+                      return ((MP4File*)hFile)->AddColr(refTrackId, pri, tran, mat);
-+              }
-+              catch (MP4Error* e) {
-+                      PRINT_ERROR(e);
-+                      delete e;
-+              }
-+      }
-+      return MP4_INVALID_TRACK_ID;
-+}
-+
- extern "C" MP4TrackId MP4CloneTrack(
-       MP4FileHandle srcFile, 
-diff -Nur -x Makefile -x config.log -x config.status -x libtool -x '*.Plo' -x '*.lo' ../handbrake/contrib/mpeg4ip/lib/mp4v2/mp4.h mpeg4ip/lib/mp4v2/mp4.h
---- ../handbrake/contrib/mpeg4ip/lib/mp4v2/mp4.h       2008-06-13 11:22:55.000000000 -0700
-+++ mpeg4ip/lib/mp4v2/mp4.h    2008-06-18 14:03:17.000000000 -0700
-@@ -559,6 +559,13 @@
-     u_int32_t hSpacing,
-     u_int32_t vSpacing);
-+MP4TrackId MP4AddColr(
-+      MP4FileHandle hFile, 
-+      MP4TrackId refTrackId,
-+    u_int16_t primary,
-+    u_int16_t transfer,
-+    u_int16_t matrix);
-+
- MP4TrackId MP4CloneTrack(
-       MP4FileHandle srcFile, 
-       MP4TrackId srcTrackId,
-diff -Nur -x Makefile -x config.log -x config.status -x libtool -x '*.Plo' -x '*.lo' ../handbrake/contrib/mpeg4ip/lib/mp4v2/mp4atom.cpp mpeg4ip/lib/mp4v2/mp4atom.cpp
---- ../handbrake/contrib/mpeg4ip/lib/mp4v2/mp4atom.cpp 2008-06-13 11:22:55.000000000 -0700
-+++ mpeg4ip/lib/mp4v2/mp4atom.cpp      2008-06-17 16:21:54.000000000 -0700
-@@ -90,6 +90,8 @@
-     case 'c':
-       if (ATOMID(type) == ATOMID("chap")) {
-       pAtom = new MP4TrefTypeAtom(type);
-+      } else if (ATOMID(type) == ATOMID("colr")) {
-+      pAtom = new MP4ColrAtom();
-         }
-         break;
-diff -Nur -x Makefile -x config.log -x config.status -x libtool -x '*.Plo' -x '*.lo' ../handbrake/contrib/mpeg4ip/lib/mp4v2/mp4file.cpp mpeg4ip/lib/mp4v2/mp4file.cpp
---- ../handbrake/contrib/mpeg4ip/lib/mp4v2/mp4file.cpp 2008-06-13 11:22:55.000000000 -0700
-+++ mpeg4ip/lib/mp4v2/mp4file.cpp      2008-06-17 16:21:54.000000000 -0700
-@@ -2000,6 +2000,33 @@
-       return trackId;
- }
-+MP4TrackId MP4File::AddColr(MP4TrackId trackId,
-+                            u_int16_t primariesIndex,
-+                            u_int16_t transferFunctionIndex,
-+                            u_int16_t matrixIndex)
-+{
-+      // validate reference track id
-+  (void)FindTrackIndex(trackId);
-+    const char *format = GetTrackMediaDataName (trackId);
-+    
-+    if (!strcasecmp(format, "avc1"))
-+    {
-+        AddChildAtom(MakeTrackName(trackId, "mdia.minf.stbl.stsd.avc1"), "colr");
-+        SetTrackIntegerProperty(trackId, "mdia.minf.stbl.stsd.avc1.colr.primariesIndex", primariesIndex);
-+        SetTrackIntegerProperty(trackId, "mdia.minf.stbl.stsd.avc1.colr.transferFunctionIndex", transferFunctionIndex);
-+        SetTrackIntegerProperty(trackId, "mdia.minf.stbl.stsd.avc1.colr.matrixIndex", matrixIndex);
-+    }
-+    else if (!strcasecmp(format, "mp4v"))
-+    {
-+        AddChildAtom(MakeTrackName(trackId, "mdia.minf.stbl.stsd.mp4v"), "colr");
-+        SetTrackIntegerProperty(trackId, "mdia.minf.stbl.stsd.mp4v.colr.primariesIndex", primariesIndex);
-+        SetTrackIntegerProperty(trackId, "mdia.minf.stbl.stsd.mp4v.colr.transferFunctionIndex", transferFunctionIndex);
-+        SetTrackIntegerProperty(trackId, "mdia.minf.stbl.stsd.mp4v.colr.matrixIndex", matrixIndex);
-+    }
-+
-+      return trackId;
-+}
-+
- void MP4File::DeleteTrack(MP4TrackId trackId)
- {
-       ProtectWriteOperation("MP4DeleteTrack");
-diff -Nur -x Makefile -x config.log -x config.status -x libtool -x '*.Plo' -x '*.lo' ../handbrake/contrib/mpeg4ip/lib/mp4v2/mp4file.h mpeg4ip/lib/mp4v2/mp4file.h
---- ../handbrake/contrib/mpeg4ip/lib/mp4v2/mp4file.h   2008-06-13 11:22:55.000000000 -0700
-+++ mpeg4ip/lib/mp4v2/mp4file.h        2008-06-17 16:21:54.000000000 -0700
-@@ -305,6 +305,7 @@
-       MP4TrackId AddChapterTextTrack(MP4TrackId refTrackId);
-       MP4TrackId AddPixelAspectRatio(MP4TrackId trackId, u_int32_t hSpacing, u_int32_t vSpacing);
-+      MP4TrackId AddColr(MP4TrackId trackId, u_int16_t pri, u_int16_t tran, u_int16_t mat);
-       MP4SampleId GetTrackNumberOfSamples(MP4TrackId trackId);
diff --git a/contrib/patch-mpeg4ip-nasm-2.00-configure.patch b/contrib/patch-mpeg4ip-nasm-2.00-configure.patch
deleted file mode 100644 (file)
index 9baa8b5..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ruN mpeg4ip-orig/configure mpeg4ip/configure
---- mpeg4ip-orig/configure     2005-05-18 16:03:25.000000000 -0600
-+++ mpeg4ip/configure  2008-01-30 20:17:15.000000000 -0700
-@@ -27789,7 +27789,7 @@
-    if test x$USENASM = xtrue; then
-       echo "$as_me:$LINENO: checking nasm version..." >&5
- echo $ECHO_N "checking nasm version...... $ECHO_C" >&6
--      BILLSNASM_arg=`nasm -r | tr '.' ' '`
-+      BILLSNASM_arg=`(nasm -r || nasm -v) | tr '.' ' '`
-         BILLSNASM_ret=`util/testnasm.sh $BILLSNASM_arg`
-       if test x$BILLSNASM_ret = x"yes"; then
-          USENASM=true
diff --git a/contrib/patch-mpeg4ip-pascal-str.patch b/contrib/patch-mpeg4ip-pascal-str.patch
deleted file mode 100644 (file)
index 4add6de..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
---- lib/mp4v2/atom_avc1.cpp.orig   2007-07-24 02:19:41.000000000 -0400
-+++ lib/mp4v2/atom_avc1.cpp   2007-07-24 02:19:44.000000000 -0400
-@@ -41,6 +41,7 @@
-       MP4StringProperty* pProp =
-               new MP4StringProperty("compressorName");
-       pProp->SetFixedLength(32);
-+      pProp->SetCountedFormat(true);
-       pProp->SetValue("AVC Coding");
-       AddProperty(pProp); /* 6 */
-
---- lib/mp4v2/mp4property.cpp.orig   2007-07-24 02:20:32.000000000 -0400
-+++ lib/mp4v2/mp4property.cpp   2007-07-24 02:21:52.000000000 -0400
-@@ -391,6 +391,10 @@
-       if (m_useCountedFormat) {
-               pFile->WriteCountedString(m_values[index],
-                       (m_useUnicode ? 2 : 1), m_useExpandedCount);
-+      if (m_fixedLength) {
-+              pFile->WriteBytes((u_int8_t*)m_values[index],
-+                      m_fixedLength - strlen(m_values[index]) - 1);
-+              }
-       } else if (m_fixedLength) {
-               pFile->WriteBytes((u_int8_t*)m_values[index], m_fixedLength);
-       } else {
-    
diff --git a/contrib/patch-mpeg4ip.patch b/contrib/patch-mpeg4ip.patch
deleted file mode 100644 (file)
index 75f8bbf..0000000
+++ /dev/null
@@ -1,855 +0,0 @@
-diff -Naur mpeg4ip/bootstrap mpeg4ip-patched/bootstrap
---- mpeg4ip/bootstrap  2005-10-13 16:09:41.000000000 -0400
-+++ mpeg4ip-patched/bootstrap  2008-01-17 12:05:42.000000000 -0500
-@@ -47,9 +47,9 @@
- #
- if test $target_system = "Linux"; then
-     have_faac=no
--    if which faac >/dev/null 2>/dev/null; then
--      have_faac=yes
--    fi
-+#    if which faac >/dev/null 2>/dev/null; then
-+#     have_faac=yes
-+#    fi
-     if test $have_faac = "yes"; then
-       # we have lame and faac - see if faac is built with mp4 support
-diff -Naur mpeg4ip/lib/mp4v2/Makefile.am mpeg4ip-patched/lib/mp4v2/Makefile.am
---- mpeg4ip/lib/mp4v2/Makefile.am      2005-03-10 13:31:34.000000000 -0500
-+++ mpeg4ip-patched/lib/mp4v2/Makefile.am      2008-01-17 12:09:56.000000000 -0500
-@@ -21,6 +21,7 @@
-       atom_encv.cpp \
-       atom_free.cpp \
-       atom_ftyp.cpp \
-+      atom_gmin.cpp \
-       atom_hdlr.cpp \
-       atom_hinf.cpp \
-       atom_hnti.cpp \
-@@ -32,6 +33,7 @@
-       atom_mp4s.cpp \
-       atom_mp4v.cpp \
-       atom_mvhd.cpp \
-+      atom_pasp.cpp \
-       atom_root.cpp \
-       atom_rtp.cpp \
-       atom_s263.cpp \
-@@ -45,6 +47,7 @@
-       atom_stsc.cpp \
-       atom_stsd.cpp \
-       atom_stsz.cpp \
-+      atom_text.cpp \
-       atom_tfhd.cpp \
-       atom_tkhd.cpp \
-       atom_treftype.cpp \
-diff -Naur mpeg4ip/lib/mp4v2/Makefile.in mpeg4ip-patched/lib/mp4v2/Makefile.in
---- mpeg4ip/lib/mp4v2/Makefile.in      2005-05-18 18:03:05.000000000 -0400
-+++ mpeg4ip-patched/lib/mp4v2/Makefile.in      2008-01-17 12:04:09.000000000 -0500
-@@ -55,6 +55,7 @@
- am_libmp4v2_la_OBJECTS = 3gp.lo atom_amr.lo atom_avc1.lo atom_avcC.lo \
-       atom_d263.lo atom_damr.lo atom_dref.lo atom_elst.lo \
-       atom_enca.lo atom_encv.lo atom_free.lo atom_ftyp.lo \
-+      atom_gmin.lo atom_text.lo \
-       atom_hdlr.lo atom_hinf.lo atom_hnti.lo atom_href.lo \
-       atom_mdat.lo atom_mdhd.lo atom_meta.lo atom_mp4a.lo \
-       atom_mp4s.lo atom_mp4v.lo atom_mvhd.lo atom_root.lo \
-@@ -82,6 +83,7 @@
- @AMDEP_TRUE@  ./$(DEPDIR)/atom_encv.Plo \
- @AMDEP_TRUE@  ./$(DEPDIR)/atom_free.Plo \
- @AMDEP_TRUE@  ./$(DEPDIR)/atom_ftyp.Plo \
-+@AMDEP_TRUE@  ./$(DEPDIR)/atom_gmin.Plo \
- @AMDEP_TRUE@  ./$(DEPDIR)/atom_hdlr.Plo \
- @AMDEP_TRUE@  ./$(DEPDIR)/atom_hinf.Plo \
- @AMDEP_TRUE@  ./$(DEPDIR)/atom_hnti.Plo \
-@@ -103,6 +105,7 @@
- @AMDEP_TRUE@  ./$(DEPDIR)/atom_stsc.Plo \
- @AMDEP_TRUE@  ./$(DEPDIR)/atom_stsd.Plo \
- @AMDEP_TRUE@  ./$(DEPDIR)/atom_stsz.Plo \
-+@AMDEP_TRUE@  ./$(DEPDIR)/atom_text.Plo \
- @AMDEP_TRUE@  ./$(DEPDIR)/atom_tfhd.Plo \
- @AMDEP_TRUE@  ./$(DEPDIR)/atom_tkhd.Plo \
- @AMDEP_TRUE@  ./$(DEPDIR)/atom_treftype.Plo \
-@@ -349,6 +352,7 @@
-       atom_encv.cpp \
-       atom_free.cpp \
-       atom_ftyp.cpp \
-+      atom_gmin.cpp \
-       atom_hdlr.cpp \
-       atom_hinf.cpp \
-       atom_hnti.cpp \
-@@ -373,6 +377,7 @@
-       atom_stsc.cpp \
-       atom_stsd.cpp \
-       atom_stsz.cpp \
-+      atom_text.cpp \
-       atom_tfhd.cpp \
-       atom_tkhd.cpp \
-       atom_treftype.cpp \
-@@ -501,6 +506,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atom_encv.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atom_free.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atom_ftyp.Plo@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atom_gmin.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atom_hdlr.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atom_hinf.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atom_hnti.Plo@am__quote@
-@@ -524,6 +530,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atom_stsc.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atom_stsd.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atom_stsz.Plo@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atom_text.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atom_tfhd.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atom_tkhd.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atom_treftype.Plo@am__quote@
-diff -Naur mpeg4ip/lib/mp4v2/atom_avc1.cpp mpeg4ip-patched/lib/mp4v2/atom_avc1.cpp
---- mpeg4ip/lib/mp4v2/atom_avc1.cpp    2004-07-13 17:07:50.000000000 -0400
-+++ mpeg4ip-patched/lib/mp4v2/atom_avc1.cpp    2008-01-17 12:07:00.000000000 -0500
-@@ -41,7 +41,7 @@
-       MP4StringProperty* pProp = 
-               new MP4StringProperty("compressorName");
-       pProp->SetFixedLength(32);
--      pProp->SetValue("AVC Coding");
-+      pProp->SetValue("");
-       AddProperty(pProp); /* 6 */
-       AddReserved("reserved4", 4); /* 7 */
-diff -Naur mpeg4ip/lib/mp4v2/atom_gmin.cpp mpeg4ip-patched/lib/mp4v2/atom_gmin.cpp
---- mpeg4ip/lib/mp4v2/atom_gmin.cpp    1969-12-31 19:00:00.000000000 -0500
-+++ mpeg4ip-patched/lib/mp4v2/atom_gmin.cpp    2008-01-17 12:04:09.000000000 -0500
-@@ -0,0 +1,51 @@
-+/*
-+ * The contents of this file are subject to the Mozilla Public
-+ * License Version 1.1 (the "License"); you may not use this file
-+ * except in compliance with the License. You may obtain a copy of
-+ * the License at http://www.mozilla.org/MPL/
-+ * 
-+ * Software distributed under the License is distributed on an "AS
-+ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
-+ * implied. See the License for the specific language governing
-+ * rights and limitations under the License.
-+ * 
-+ * The Original Code is MPEG4IP.
-+ * 
-+ * The Initial Developer of the Original Code is Cisco Systems Inc.
-+ * Portions created by Cisco Systems Inc. are
-+ * Copyright (C) Cisco Systems Inc. 2001.  All Rights Reserved.
-+ * 
-+ * Contributor(s): 
-+ *            Dave Mackie             dmackie@cisco.com
-+ */
-+
-+#include "mp4common.h"
-+
-+MP4GminAtom::MP4GminAtom() 
-+      : MP4Atom("gmin") 
-+{
-+
-+      AddVersionAndFlags(); /* 0, 1 */
-+
-+      AddProperty(new MP4Integer16Property("graphicsMode")); /* 2 */
-+      AddProperty(new MP4Integer16Property("opColorRed")); /* 3 */
-+      AddProperty(new MP4Integer16Property("opColorGreen")); /* 4 */
-+      AddProperty(new MP4Integer16Property("opColorBlue")); /* 5 */
-+      AddProperty(new MP4Integer16Property("balance")); /* 6 */
-+      AddReserved("reserved", 2); /* 7 */
-+
-+}
-+
-+void MP4GminAtom::Generate()
-+{
-+
-+      MP4Atom::Generate();
-+
-+      ((MP4Integer16Property*)m_pProperties[2])->SetValue(0x0040);
-+      ((MP4Integer16Property*)m_pProperties[3])->SetValue(0x8000);
-+      ((MP4Integer16Property*)m_pProperties[4])->SetValue(0x8000);
-+      ((MP4Integer16Property*)m_pProperties[5])->SetValue(0x8000);
-+      ((MP4Integer16Property*)m_pProperties[6])->SetValue(0x0000);
-+
-+}
-+
-diff -Naur mpeg4ip/lib/mp4v2/atom_mp4a.cpp mpeg4ip-patched/lib/mp4v2/atom_mp4a.cpp
---- mpeg4ip/lib/mp4v2/atom_mp4a.cpp    2001-10-02 17:15:39.000000000 -0400
-+++ mpeg4ip-patched/lib/mp4v2/atom_mp4a.cpp    2008-01-17 12:04:09.000000000 -0500
-@@ -29,7 +29,10 @@
-       AddProperty( /* 1 */
-               new MP4Integer16Property("dataReferenceIndex"));
--      AddReserved("reserved2", 16); /* 2 */
-+      /* patched by saintdev to allow us to set correct audio information */
-+//    AddReserved("reserved2", 16); /* 2 */
-+      AddProperty( /* 2 */
-+              new MP4BytesProperty("reserved2", 16));
-       AddProperty( /* 3 */
-               new MP4Integer16Property("timeScale"));
-@@ -55,5 +58,6 @@
-       m_pProperties[2]->SetReadOnly(false);
-       ((MP4BytesProperty*)m_pProperties[2])->
-               SetValue(reserved2, sizeof(reserved2));
--      m_pProperties[2]->SetReadOnly(true);
-+      /* patched by saintdev to allow us to set correct audio information */
-+//    m_pProperties[2]->SetReadOnly(true);
- }
-diff -Naur mpeg4ip/lib/mp4v2/atom_standard.cpp mpeg4ip-patched/lib/mp4v2/atom_standard.cpp
---- mpeg4ip/lib/mp4v2/atom_standard.cpp        2004-12-14 16:35:35.000000000 -0500
-+++ mpeg4ip-patched/lib/mp4v2/atom_standard.cpp        2008-01-17 12:04:09.000000000 -0500
-@@ -138,6 +138,11 @@
-   /*
-    * g???
-    */
-+  } else if (ATOMID(type) == ATOMID("gmhd")) { 
-+    ExpectChildAtom("gmin", Required, OnlyOne);
-+    ExpectChildAtom("tmcd", Optional, OnlyOne);
-+    ExpectChildAtom("text", Optional, OnlyOne);
-+
-   } else if (ATOMID(type) == ATOMID("gnre")) { // Apple iTunes 
-     ExpectChildAtom("data", Optional, OnlyOne);
-@@ -221,6 +226,7 @@
-     ExpectChildAtom("smhd", Optional, OnlyOne);
-     ExpectChildAtom("hmhd", Optional, OnlyOne);
-     ExpectChildAtom("nmhd", Optional, OnlyOne);
-+    ExpectChildAtom("gmhd", Optional, OnlyOne);
-     ExpectChildAtom("dinf", Required, OnlyOne);
-     ExpectChildAtom("stbl", Required, OnlyOne);
-@@ -366,6 +372,7 @@
-     ExpectChildAtom("ipir", Optional, OnlyOne);
-     ExpectChildAtom("mpod", Optional, OnlyOne);
-     ExpectChildAtom("sync", Optional, OnlyOne);
-+    ExpectChildAtom("chap", Optional, OnlyOne);
-   } else if (ATOMID(type) == ATOMID("trex")) {
-     AddVersionAndFlags();     /* 0, 1 */
-diff -Naur mpeg4ip/lib/mp4v2/atom_stsd.cpp mpeg4ip-patched/lib/mp4v2/atom_stsd.cpp
---- mpeg4ip/lib/mp4v2/atom_stsd.cpp    2004-07-13 17:07:50.000000000 -0400
-+++ mpeg4ip-patched/lib/mp4v2/atom_stsd.cpp    2008-01-17 12:07:00.000000000 -0500
-@@ -49,6 +49,8 @@
-       ExpectChildAtom("sawb", Optional, Many); // For AMR-WB
-       ExpectChildAtom("s263", Optional, Many); // For H.263
-       ExpectChildAtom("avc1", Optional, Many);
-+      ExpectChildAtom("text", Optional, Many);
-+      ExpectChildAtom("pasp", Optional, Many);
- }
- void MP4StsdAtom::Read() 
-diff -Naur mpeg4ip/lib/mp4v2/atom_text.cpp mpeg4ip-patched/lib/mp4v2/atom_text.cpp
---- mpeg4ip/lib/mp4v2/atom_text.cpp    1969-12-31 19:00:00.000000000 -0500
-+++ mpeg4ip-patched/lib/mp4v2/atom_text.cpp    2008-01-17 12:04:09.000000000 -0500
-@@ -0,0 +1,132 @@
-+/*
-+ * The contents of this file are subject to the Mozilla Public
-+ * License Version 1.1 (the "License"); you may not use this file
-+ * except in compliance with the License. You may obtain a copy of
-+ * the License at http://www.mozilla.org/MPL/
-+ * 
-+ * Software distributed under the License is distributed on an "AS
-+ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
-+ * implied. See the License for the specific language governing
-+ * rights and limitations under the License.
-+ * 
-+ * The Original Code is MPEG4IP.
-+ * 
-+ * The Initial Developer of the Original Code is Cisco Systems Inc.
-+ * Portions created by Cisco Systems Inc. are
-+ * Copyright (C) Cisco Systems Inc. 2001.  All Rights Reserved.
-+ * 
-+ * Contributor(s): 
-+ *            Dave Mackie             dmackie@cisco.com
-+ */
-+
-+#include "mp4common.h"
-+
-+MP4TextAtom::MP4TextAtom() 
-+      : MP4Atom("text") 
-+{
-+      // The atom type "text" is used in two complete unrelated ways
-+      // i.e. it's real two atoms with the same name
-+      // To handle that we need to postpone property creation until
-+      // we know who our parent atom is (stsd or gmhd) which gives us
-+      // the context info we need to know who we are
-+}
-+
-+void MP4TextAtom::AddPropertiesStsdType()
-+{
-+
-+      AddReserved("reserved1", 6); /* 0 */
-+
-+      AddProperty(new MP4Integer16Property("dataReferenceIndex"));/* 1 */
-+
-+      AddProperty(new MP4Integer32Property("displayFlags")); /* 2 */
-+      AddProperty(new MP4Integer32Property("textJustification")); /* 3 */
-+
-+      AddProperty(new MP4Integer16Property("bgColorRed")); /* 4 */
-+      AddProperty(new MP4Integer16Property("bgColorGreen")); /* 5 */
-+      AddProperty(new MP4Integer16Property("bgColorBlue")); /* 6 */
-+
-+      AddProperty(new MP4Integer16Property("defTextBoxTop")); /* 7 */
-+      AddProperty(new MP4Integer16Property("defTextBoxLeft")); /* 8 */
-+      AddProperty(new MP4Integer16Property("defTextBoxBottom")); /* 9 */
-+      AddProperty(new MP4Integer16Property("defTextBoxRight")); /* 10 */
-+
-+      AddReserved("reserved2", 8); /* 11 */
-+
-+      AddProperty(new MP4Integer16Property("fontNumber")); /* 12 */
-+      AddProperty(new MP4Integer16Property("fontFace")); /* 13 */
-+
-+      AddReserved("reserved3", 1); /* 14 */
-+      AddReserved("reserved4", 2); /* 15 */
-+
-+      AddProperty(new MP4Integer16Property("foreColorRed")); /* 16 */
-+      AddProperty(new MP4Integer16Property("foreColorGreen")); /* 17 */
-+      AddProperty(new MP4Integer16Property("foreColorBlue")); /* 18 */
-+
-+}
-+
-+void MP4TextAtom::AddPropertiesGmhdType()
-+{
-+
-+      AddProperty(new MP4BytesProperty("textData", 36)); /* 0 */
-+
-+}
-+
-+
-+void MP4TextAtom::Generate()
-+{
-+
-+      if (!strcmp(m_pParentAtom->GetType(), "stsd")) {
-+              AddPropertiesStsdType();
-+              GenerateStsdType();
-+      } else if (!strcmp(m_pParentAtom->GetType(), "gmhd")) {
-+              AddPropertiesGmhdType();
-+              GenerateGmhdType();
-+      } else {
-+              VERBOSE_WARNING(m_pFile->GetVerbosity(),
-+                      printf("Warning: text atom in unexpected context, can not generate"));
-+      }
-+
-+}
-+
-+void MP4TextAtom::GenerateStsdType() 
-+{
-+      // generate children
-+      MP4Atom::Generate();
-+
-+      ((MP4Integer16Property*)m_pProperties[1])->SetValue(1);
-+
-+      ((MP4Integer32Property*)m_pProperties[2])->SetValue(1);
-+      ((MP4Integer32Property*)m_pProperties[3])->SetValue(1);
-+
-+}
-+
-+void MP4TextAtom::GenerateGmhdType() 
-+{
-+      MP4Atom::Generate();
-+
-+      // property 0 has non-zero fixed values
-+      static u_int8_t textData[36] = {
-+              0x00, 0x01, 
-+              0x00, 0x00,
-+              0x00, 0x00,
-+              0x00, 0x00,
-+              0x00, 0x00, 
-+              0x00, 0x00,
-+              0x00, 0x00, 
-+              0x00, 0x00,
-+              0x00, 0x01, 
-+              0x00, 0x00,
-+              0x00, 0x00, 
-+              0x00, 0x00,
-+              0x00, 0x00, 
-+              0x00, 0x00,
-+              0x00, 0x00, 
-+              0x00, 0x00,
-+              0x40, 0x00, 
-+              0x00, 0x00, 
-+      };
-+      ((MP4BytesProperty*)m_pProperties[0])->SetValue(textData, sizeof(textData));
-+      
-+}
-+
-+
-diff -Naur mpeg4ip/lib/mp4v2/atom_tkhd.cpp mpeg4ip-patched/lib/mp4v2/atom_tkhd.cpp
---- mpeg4ip/lib/mp4v2/atom_tkhd.cpp    2003-11-20 00:46:11.000000000 +0100
-+++ mpeg4ip/lib/mp4v2/atom_tkhd.cpp    2008-01-19 12:41:13.000000000 +0100
-@@ -53,23 +53,29 @@
-                       new MP4Integer32Property("duration"));
-       }
--      AddReserved("reserved2", 12); /* 7 */
--
-+      AddReserved("reserved2", 8); /* 7 */
-+      
-+      AddProperty( /* 8 */
-+                      new MP4Integer16Property("layer"));
-+      AddProperty( /* 9 */
-+                      new MP4Integer16Property("alternate_group"));
-+      
-       MP4Float32Property* pProp;
-       pProp = new MP4Float32Property("volume");
-       pProp->SetFixed16Format();
--      AddProperty(pProp); /* 8 */
-+      AddProperty(pProp); /* 10 */
--      AddReserved("reserved3", 38); /* 9 */
-+      /* patched by maurj to enable us to set the matrix for anamorphic display */
-+      AddProperty(new MP4BytesProperty("reserved3", 38)); /* 11 */
-       pProp = new MP4Float32Property("width");
-       pProp->SetFixed32Format();
--      AddProperty(pProp); /* 10 */
-+      AddProperty(pProp); /* 12 */
-       pProp = new MP4Float32Property("height");
-       pProp->SetFixed32Format();
--      AddProperty(pProp); /* 11 */
-+      AddProperty(pProp); /* 13 */
- }
- void MP4TkhdAtom::Generate() 
-@@ -103,10 +109,11 @@
-               0x00, 0x00, 0x00, 0x00, 
-               0x40, 0x00, 0x00, 0x00, 
-       };
--      m_pProperties[9]->SetReadOnly(false);
--      ((MP4BytesProperty*)m_pProperties[9])->
-+      m_pProperties[11]->SetReadOnly(false);
-+      ((MP4BytesProperty*)m_pProperties[11])->
-               SetValue(reserved3, sizeof(reserved3));
--      m_pProperties[9]->SetReadOnly(true);
-+      /* patched by maurj to enable us to set the matrix for anamorphic display */
-+      /* m_pProperties[9]->SetReadOnly(true);*/
- }
- void MP4TkhdAtom::Read()
-diff -Naur mpeg4ip/lib/mp4v2/atoms.h mpeg4ip-patched/lib/mp4v2/atoms.h
---- mpeg4ip/lib/mp4v2/atoms.h  2005-03-10 13:31:34.000000000 -0500
-+++ mpeg4ip-patched/lib/mp4v2/atoms.h  2008-01-17 12:07:00.000000000 -0500
-@@ -206,6 +206,12 @@
-       void Read();
- };
-+class MP4GminAtom : public MP4Atom {
-+public:
-+      MP4GminAtom();
-+      void Generate();
-+};
-+
- class MP4HdlrAtom : public MP4Atom {
- public:
-       MP4HdlrAtom();
-@@ -327,6 +333,19 @@
-       void Write();
- };
-+class MP4TextAtom : public MP4Atom {
-+public:
-+      MP4TextAtom();
-+      void Generate();
-+
-+protected:
-+      void AddPropertiesStsdType();
-+      void AddPropertiesGmhdType();
-+
-+      void GenerateStsdType();
-+      void GenerateGmhdType();
-+};
-+
- class MP4TfhdAtom : public MP4Atom {
- public:
-       MP4TfhdAtom();
-@@ -374,4 +393,10 @@
-   void Generate(void);
- };
-+class MP4PaspAtom : public MP4Atom {
-+ public:
-+    MP4PaspAtom();
-+    void Generate();
-+};
-+
- #endif /* __MP4_ATOMS_INCLUDED__ */
-diff -Naur mpeg4ip/lib/mp4v2/libmp4v260.dsp mpeg4ip-patched/lib/mp4v2/libmp4v260.dsp
---- mpeg4ip/lib/mp4v2/libmp4v260.dsp   2005-03-24 17:14:52.000000000 -0500
-+++ mpeg4ip-patched/lib/mp4v2/libmp4v260.dsp   2008-01-17 12:07:00.000000000 -0500
-@@ -134,6 +134,10 @@
- # End Source File
- # Begin Source File
-+SOURCE=.\atom_gmin.cpp
-+# End Source File
-+# Begin Source File
-+
- SOURCE=.\atom_hdlr.cpp
- # End Source File
- # Begin Source File
-@@ -178,6 +182,10 @@
- # End Source File
- # Begin Source File
-+SOURCE=.\atom_pasp.cpp
-+# End Source File
-+# Begin Source File
-+
- SOURCE=.\atom_root.cpp
- # End Source File
- # Begin Source File
-@@ -242,6 +250,10 @@
- # End Source File
- # Begin Source File
-+SOURCE=.\atom_text.cpp
-+# End Source File
-+# Begin Source File
-+
- SOURCE=.\atom_udta.cpp
- # End Source File
- # Begin Source File
-diff -Naur mpeg4ip/lib/mp4v2/libmp4v2_st60.dsp mpeg4ip-patched/lib/mp4v2/libmp4v2_st60.dsp
---- mpeg4ip/lib/mp4v2/libmp4v2_st60.dsp        2005-03-24 17:14:52.000000000 -0500
-+++ mpeg4ip-patched/lib/mp4v2/libmp4v2_st60.dsp        2008-01-17 12:04:09.000000000 -0500
-@@ -133,6 +133,10 @@
- # End Source File
- # Begin Source File
-+SOURCE=.\atom_gmin.cpp
-+# End Source File
-+# Begin Source File
-+
- SOURCE=.\atom_hdlr.cpp
- # End Source File
- # Begin Source File
-@@ -241,6 +245,10 @@
- # End Source File
- # Begin Source File
-+SOURCE=.\atom_text.cpp
-+# End Source File
-+# Begin Source File
-+
- SOURCE=.\atom_udta.cpp
- # End Source File
- # Begin Source File
-diff -Naur mpeg4ip/lib/mp4v2/mp4.cpp mpeg4ip-patched/lib/mp4v2/mp4.cpp
---- mpeg4ip/lib/mp4v2/mp4.cpp  2005-03-30 13:41:58.000000000 -0500
-+++ mpeg4ip-patched/lib/mp4v2/mp4.cpp  2008-01-17 12:07:00.000000000 -0500
-@@ -939,6 +939,52 @@
-       return MP4_INVALID_TRACK_ID;
- }
-+extern "C" MP4TrackId MP4AddTextTrack(
-+      MP4FileHandle hFile, MP4TrackId refTrackId)
-+{
-+      if (MP4_IS_VALID_FILE_HANDLE(hFile)) {
-+              try {
-+                      return ((MP4File*)hFile)->AddTextTrack(refTrackId);
-+              }
-+              catch (MP4Error* e) {
-+                      PRINT_ERROR(e);
-+                      delete e;
-+              }
-+      }
-+      return MP4_INVALID_TRACK_ID;
-+}
-+
-+extern "C" MP4TrackId MP4AddChapterTextTrack(
-+      MP4FileHandle hFile, MP4TrackId refTrackId)
-+{
-+      if (MP4_IS_VALID_FILE_HANDLE(hFile)) {
-+              try {
-+                      return ((MP4File*)hFile)->AddChapterTextTrack(refTrackId);
-+              }
-+              catch (MP4Error* e) {
-+                      PRINT_ERROR(e);
-+                      delete e;
-+              }
-+      }
-+      return MP4_INVALID_TRACK_ID;
-+}
-+
-+extern "C" MP4TrackId MP4AddPixelAspectRatio(
-+      MP4FileHandle hFile, MP4TrackId refTrackId, u_int32_t hSpacing, u_int32_t vSpacing)
-+{
-+      if (MP4_IS_VALID_FILE_HANDLE(hFile)) {
-+              try {
-+                      return ((MP4File*)hFile)->AddPixelAspectRatio(refTrackId, hSpacing, vSpacing);
-+              }
-+              catch (MP4Error* e) {
-+                      PRINT_ERROR(e);
-+                      delete e;
-+              }
-+      }
-+      return MP4_INVALID_TRACK_ID;
-+}
-+
-+
- extern "C" MP4TrackId MP4CloneTrack(
-       MP4FileHandle srcFile, 
-       MP4TrackId srcTrackId,
-diff -Naur mpeg4ip/lib/mp4v2/mp4.h mpeg4ip-patched/lib/mp4v2/mp4.h
---- mpeg4ip/lib/mp4v2/mp4.h    2005-03-30 13:41:58.000000000 -0500
-+++ mpeg4ip-patched/lib/mp4v2/mp4.h    2008-01-17 12:07:00.000000000 -0500
-@@ -100,6 +100,7 @@
- #define MP4_VIDEO_TRACK_TYPE  "vide"
- #define MP4_HINT_TRACK_TYPE           "hint"
- #define MP4_CNTL_TRACK_TYPE     "cntl"
-+#define MP4_TEXT_TRACK_TYPE           "text"
- /*
-  * This second set of track types should be created 
-  * via MP4AddSystemsTrack(type)
-@@ -538,6 +539,20 @@
-       MP4FileHandle hFile, 
-       MP4TrackId refTrackId);
-+MP4TrackId MP4AddTextTrack(
-+      MP4FileHandle hFile, 
-+      MP4TrackId refTrackId);
-+
-+MP4TrackId MP4AddChapterTextTrack(
-+      MP4FileHandle hFile, 
-+      MP4TrackId refTrackId);
-+
-+MP4TrackId MP4AddPixelAspectRatio(
-+      MP4FileHandle hFile, 
-+      MP4TrackId refTrackId,
-+    u_int32_t hSpacing,
-+    u_int32_t vSpacing);
-+
- MP4TrackId MP4CloneTrack(
-       MP4FileHandle srcFile, 
-       MP4TrackId srcTrackId,
-diff -Naur mpeg4ip/lib/mp4v2/mp4atom.cpp mpeg4ip-patched/lib/mp4v2/mp4atom.cpp
---- mpeg4ip/lib/mp4v2/mp4atom.cpp      2005-03-10 13:31:34.000000000 -0500
-+++ mpeg4ip-patched/lib/mp4v2/mp4atom.cpp      2008-01-17 12:11:40.000000000 -0500
-@@ -84,6 +84,13 @@
-       pAtom = new MP4SoundAtom("alaw");
-       }
-       break;
-+
-+    case 'c':
-+      if (ATOMID(type) == ATOMID("chap")) {
-+      pAtom = new MP4TrefTypeAtom(type);
-+        }
-+        break;
-+
-     case 'd':
-       if (ATOMID(type) == ATOMID("d263")) {
-       pAtom = new MP4D263Atom();
-@@ -113,6 +120,11 @@
-       pAtom = new MP4FtypAtom();
-       }
-       break;
-+    case 'g':
-+      if (ATOMID(type) == ATOMID("gmin")) {
-+      pAtom = new MP4GminAtom();
-+      }
-+      break;
-     case 'h':
-       if (ATOMID(type) == ATOMID("hdlr")) {
-       pAtom = new MP4HdlrAtom();
-@@ -200,7 +212,9 @@
-       }
-       break;
-     case 't':
--      if (ATOMID(type) == ATOMID("tkhd")) {
-+      if (ATOMID(type) == ATOMID("text")) {
-+      pAtom = new MP4TextAtom();
-+      } else if (ATOMID(type) == ATOMID("tkhd")) {
-       pAtom = new MP4TkhdAtom();
-       } else if (ATOMID(type) == ATOMID("tfhd")) {
-       pAtom = new MP4TfhdAtom();
-@@ -238,6 +252,12 @@
-       pAtom = new MP4SmiAtom();
-       }
-       break;
-+     case 'p':
-+         if (ATOMID(type) == ATOMID("pasp")) {
-+      pAtom = new MP4PaspAtom();
-+       }
-+       break;
-+    
-     }
-   }
-diff -Naur mpeg4ip/lib/mp4v2/mp4file.cpp mpeg4ip-patched/lib/mp4v2/mp4file.cpp
---- mpeg4ip/lib/mp4v2/mp4file.cpp      2005-03-30 13:41:58.000000000 -0500
-+++ mpeg4ip-patched/lib/mp4v2/mp4file.cpp      2008-01-17 12:07:00.000000000 -0500
-@@ -1869,6 +1869,81 @@
-       return trackId;
- }
-+MP4TrackId MP4File::AddTextTrack(MP4TrackId refTrackId)
-+{
-+      // validate reference track id
-+      FindTrackIndex(refTrackId);
-+
-+      MP4TrackId trackId = 
-+              AddTrack(MP4_TEXT_TRACK_TYPE, GetTrackTimeScale(refTrackId));
-+
-+      InsertChildAtom(MakeTrackName(trackId, "mdia.minf"), "gmhd", 0);
-+
-+      AddChildAtom(MakeTrackName(trackId, "mdia.minf.stbl.stsd"), "text");
-+
-+      // stsd is a unique beast in that it has a count of the number 
-+      // of child atoms that needs to be incremented after we add the text atom
-+      MP4Integer32Property* pStsdCountProperty;
-+      FindIntegerProperty(
-+              MakeTrackName(trackId, "mdia.minf.stbl.stsd.entryCount"),
-+              (MP4Property**)&pStsdCountProperty);
-+      pStsdCountProperty->IncrementValue();
-+
-+      return trackId;
-+}
-+
-+MP4TrackId MP4File::AddChapterTextTrack(MP4TrackId refTrackId)
-+{
-+      // validate reference track id
-+      FindTrackIndex(refTrackId);
-+
-+      MP4TrackId trackId = 
-+              AddTrack(MP4_TEXT_TRACK_TYPE, GetTrackTimeScale(refTrackId));
-+
-+      InsertChildAtom(MakeTrackName(trackId, "mdia.minf"), "gmhd", 0);
-+
-+      AddChildAtom(MakeTrackName(trackId, "mdia.minf.stbl.stsd"), "text");
-+
-+      // stsd is a unique beast in that it has a count of the number 
-+      // of child atoms that needs to be incremented after we add the text atom
-+      MP4Integer32Property* pStsdCountProperty;
-+      FindIntegerProperty(
-+              MakeTrackName(trackId, "mdia.minf.stbl.stsd.entryCount"),
-+              (MP4Property**)&pStsdCountProperty);
-+      pStsdCountProperty->IncrementValue();
-+
-+      /* add the magic "text" atom to the generic media header */
-+      AddChildAtom(MakeTrackName(trackId, "mdia.minf.gmhd"), "text");
-+
-+      AddDescendantAtoms(MakeTrackName(refTrackId, NULL), "tref.chap");
-+
-+      AddTrackReference(MakeTrackName(refTrackId, "tref.chap"), trackId);
-+
-+      return trackId;
-+}
-+
-+MP4TrackId MP4File::AddPixelAspectRatio(MP4TrackId trackId, u_int32_t hSpacing, u_int32_t vSpacing)
-+{
-+      // validate reference track id
-+  (void)FindTrackIndex(trackId);
-+    const char *format = GetTrackMediaDataName (trackId);
-+    
-+    if (!strcasecmp(format, "avc1"))
-+    {
-+           (void)AddChildAtom(MakeTrackName(trackId, "mdia.minf.stbl.stsd.avc1"), "pasp");
-+            SetTrackIntegerProperty(trackId, "mdia.minf.stbl.stsd.avc1.pasp.hSpacing", hSpacing);
-+            SetTrackIntegerProperty(trackId, "mdia.minf.stbl.stsd.avc1.pasp.vSpacing", vSpacing);
-+    }
-+    else if (!strcasecmp(format, "mp4v"))
-+    {
-+           (void)AddChildAtom(MakeTrackName(trackId, "mdia.minf.stbl.stsd.mp4v"), "pasp");
-+            SetTrackIntegerProperty(trackId, "mdia.minf.stbl.stsd.mp4v.pasp.hSpacing", hSpacing);
-+            SetTrackIntegerProperty(trackId, "mdia.minf.stbl.stsd.mp4v.pasp.vSpacing", vSpacing);
-+    }
-+
-+      return trackId;
-+}
-+
- void MP4File::DeleteTrack(MP4TrackId trackId)
- {
-       ProtectWriteOperation("MP4DeleteTrack");
-diff -Naur mpeg4ip/lib/mp4v2/mp4file.h mpeg4ip-patched/lib/mp4v2/mp4file.h
---- mpeg4ip/lib/mp4v2/mp4file.h        2005-03-30 13:41:58.000000000 -0500
-+++ mpeg4ip-patched/lib/mp4v2/mp4file.h        2008-01-17 12:07:00.000000000 -0500
-@@ -296,6 +296,10 @@
-                                       const uint8_t *pPicture,
-                                       uint16_t pictureLen);
-       MP4TrackId AddHintTrack(MP4TrackId refTrackId);
-+      MP4TrackId AddTextTrack(MP4TrackId refTrackId);
-+      MP4TrackId AddChapterTextTrack(MP4TrackId refTrackId);
-+
-+      MP4TrackId AddPixelAspectRatio(MP4TrackId trackId, u_int32_t hSpacing, u_int32_t vSpacing);
-       MP4SampleId GetTrackNumberOfSamples(MP4TrackId trackId);
-diff -Naur mpeg4ip/lib/mp4v2/atom_pasp.cpp mpeg4ip-patched/lib/mp4v2/atom_pasp.cpp
---- mpeg4ip/lib/mp4v2/atom_pasp.cpp    1969-12-31 19:00:00.000000000 -0500
-+++ mpeg4ip-patched/lib/mp4v2/atom_pasp.cpp    2008-01-17 12:07:00.000000000 -0500
-@@ -0,0 +1,42 @@
-+/*
-+ * The contents of this file are subject to the Mozilla Public
-+ * License Version 1.1 (the "License"); you may not use this file
-+ * except in compliance with the License. You may obtain a copy of
-+ * the License at http://www.mozilla.org/MPL/
-+ * 
-+ * Software distributed under the License is distributed on an "AS
-+ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
-+ * implied. See the License for the specific language governing
-+ * rights and limitations under the License.
-+ * 
-+ * The Original Code is MPEG4IP.
-+ * 
-+ * Contributer has declined to give copyright information, and gives
-+ * it freely to the world.
-+ * 
-+ * Contributor(s): 
-+ */
-+
-+#include "mp4common.h"
-+
-+MP4PaspAtom::MP4PaspAtom() 
-+      : MP4Atom("pasp") 
-+{
-+
-+      AddProperty( /* 0 */
-+        new MP4Integer32Property("hSpacing"));
-+
-+      AddProperty( /* 1 */
-+        new MP4Integer32Property("vSpacing")); 
-+
-+}
-+
-+void MP4PaspAtom::Generate()
-+{
-+
-+      MP4Atom::Generate();
-+
-+      ((MP4Integer32Property*)m_pProperties[0])->SetValue(1);
-+      ((MP4Integer32Property*)m_pProperties[1])->SetValue(1);
-+
-+}
-diff -Naur mpeg4ip-patched/lib/mp4v2/Makefile.in mpeg4ip/lib/mp4v2/Makefile.in
---- mpeg4ip-patched/lib/mp4v2/Makefile.in      2008-01-17 12:04:09.000000000 -0500
-+++ mpeg4ip/lib/mp4v2/Makefile.in      2008-01-17 13:20:50.000000000 -0500
-@@ -58,7 +58,7 @@
-       atom_gmin.lo atom_text.lo \
-       atom_hdlr.lo atom_hinf.lo atom_hnti.lo atom_href.lo \
-       atom_mdat.lo atom_mdhd.lo atom_meta.lo atom_mp4a.lo \
--      atom_mp4s.lo atom_mp4v.lo atom_mvhd.lo atom_root.lo \
-+      atom_mp4s.lo atom_mp4v.lo atom_mvhd.lo atom_pasp.lo atom_root.lo \
-       atom_rtp.lo atom_s263.lo atom_sdp.lo atom_smi.lo atom_sound.lo \
-       atom_standard.lo atom_stbl.lo atom_stdp.lo atom_stsc.lo \
-       atom_stsd.lo atom_stsz.lo atom_tfhd.lo atom_tkhd.lo \
-@@ -96,6 +96,7 @@
- @AMDEP_TRUE@  ./$(DEPDIR)/atom_mp4v.Plo \
- @AMDEP_TRUE@  ./$(DEPDIR)/atom_mvhd.Plo \
- @AMDEP_TRUE@  ./$(DEPDIR)/atom_root.Plo ./$(DEPDIR)/atom_rtp.Plo \
-+@AMDEP_TRUE@  ./$(DEPDIR)/atom_pasp.Plo \
- @AMDEP_TRUE@  ./$(DEPDIR)/atom_s263.Plo ./$(DEPDIR)/atom_sdp.Plo \
- @AMDEP_TRUE@  ./$(DEPDIR)/atom_smi.Plo \
- @AMDEP_TRUE@  ./$(DEPDIR)/atom_sound.Plo \
-@@ -364,6 +365,7 @@
-       atom_mp4s.cpp \
-       atom_mp4v.cpp \
-       atom_mvhd.cpp \
-+      atom_pasp.cpp \
-       atom_root.cpp \
-       atom_rtp.cpp \
-       atom_s263.cpp \
-@@ -518,6 +520,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atom_mp4s.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atom_mp4v.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atom_mvhd.Plo@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atom_pasp.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atom_root.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atom_rtp.Plo@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atom_s263.Plo@am__quote@