[SCM] exiv2 packaging branch, master, updated. debian/0.25-3.1-3734-gdcbc29a

Maximiliano Curia maxy at moszumanska.debian.org
Thu Jul 13 17:43:21 UTC 2017


Gitweb-URL: http://git.debian.org/?p=pkg-kde/kde-extras/exiv2.git;a=commitdiff;h=9b131f3

The following commit has been merged in the master branch:
commit 9b131f3c612ece1b1bca79fd2045006b7be8ef8b
Author: Andreas Huggel <ahuggel at gmx.net>
Date:   Mon Aug 20 15:33:32 2012 +0000

    Merge branch 'gsoc2012'
---
 src/CMakeLists.txt                          |   15 +-
 src/Makefile                                |    6 +-
 src/asfvideo.cpp                            |  746 ++++++++++++++
 src/asfvideo.hpp                            |  185 ++++
 src/canonmn.cpp                             |   14 +-
 src/image.cpp                               |    8 +
 src/matroskavideo.cpp                       |  731 ++++++++++++++
 src/{xmpsidecar.hpp => matroskavideo.hpp}   |   95 +-
 src/properties.cpp                          |  391 +++++++-
 src/quicktimevideo.cpp                      | 1451 +++++++++++++++++++++++++++
 src/quicktimevideo.hpp                      |  229 +++++
 src/riffvideo.cpp                           | 1196 ++++++++++++++++++++++
 src/riffvideo.hpp                           |  215 ++++
 src/tags_int.hpp                            |    2 +-
 test/Makefile                               |    3 +-
 test/data/video/video-asf-unicode.asf       |  Bin 0 -> 599146 bytes
 test/data/video/video-asf-with-chapters.wmv |  Bin 0 -> 16382993 bytes
 test/data/video/video-asf.wmv               |  Bin 0 -> 11251586 bytes
 test/data/video/video-avi.avi               |  Bin 0 -> 990292 bytes
 test/data/video/video-matroska.mkv          |  Bin 0 -> 11888787 bytes
 test/data/video/video-quicktime.mp4         |  Bin 0 -> 5030060 bytes
 test/data/video/video-test.out              |  Bin 0 -> 18043 bytes
 test/video-test.sh                          |   62 ++
 xmpsdk/CMakeLists.txt                       |    6 +
 24 files changed, 5313 insertions(+), 42 deletions(-)

diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 6b1bf02..51908a4 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -32,7 +32,8 @@ SET( LIBEXIV2_PRIVATE_HDR canonmn_int.hpp
    )
 
 # Add standalone C++ header files to this list
-SET( LIBEXIV2_HDR         basicio.hpp
+SET( LIBEXIV2_HDR         asfvideo.hpp
+                          basicio.hpp
                           bmpimage.hpp
                           convert.hpp
                           cr2image.hpp
@@ -49,6 +50,7 @@ SET( LIBEXIV2_HDR         basicio.hpp
                           iptc.hpp
                           jp2image.hpp
                           jpgimage.hpp
+                          matroskavideo.hpp
                           metadatum.hpp
                           mrwimage.hpp
                           orfimage.hpp
@@ -56,7 +58,9 @@ SET( LIBEXIV2_HDR         basicio.hpp
                           preview.hpp
                           properties.hpp
                           psdimage.hpp
+                          quicktimevideo.hpp
                           rafimage.hpp
+                          riffvideo.hpp
                           rw2image.hpp
                           tags.hpp
                           tgaimage.hpp
@@ -69,7 +73,8 @@ SET( LIBEXIV2_HDR         basicio.hpp
    )
 
 # Add library C++ source files to this list
-SET( LIBEXIV2_SRC         basicio.cpp
+SET( LIBEXIV2_SRC         asfvideo.cpp
+                          basicio.cpp
                           bmpimage.cpp
                           canonmn.cpp
                           convert.cpp
@@ -89,6 +94,7 @@ SET( LIBEXIV2_SRC         basicio.cpp
                           jp2image.cpp
                           jpgimage.cpp
                           makernote.cpp
+                          matroskavideo.cpp
                           metadatum.cpp
                           minoltamn.cpp
                           mrwimage.cpp
@@ -101,7 +107,9 @@ SET( LIBEXIV2_SRC         basicio.cpp
                           preview.cpp
                           properties.cpp
                           psdimage.cpp
+                          quicktimevideo.cpp
                           rafimage.cpp
+                          riffvideo.cpp
                           rw2image.cpp
                           samsungmn.cpp
                           sigmamn.cpp
@@ -182,13 +190,16 @@ msvc_runtime_configure(${EXIV2_ENABLE_SHARED})
 
 # ******************************************************************************
 # exiv2lib library
+
 ADD_LIBRARY( exiv2lib ${STATIC_FLAG} ${LIBEXIV2_SRC} ${LIBEXIV2_HDR} )
+
 SET_TARGET_PROPERTIES( exiv2lib PROPERTIES
 	VERSION       ${GENERIC_LIB_VERSION}
 	SOVERSION     ${GENERIC_LIB_SOVERSION}
 	DEFINE_SYMBOL EXV_BUILDING_LIB
 	OUTPUT_NAME   exiv2
 )
+
 if ( MSVC ) 
 	source_group("Header Files" FILES ${LIBEXIV2_HDR} )
 endif()
diff --git a/src/Makefile b/src/Makefile
index 78b736d..277770b 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -65,7 +65,8 @@ CCHDR =  exiv2.hpp             \
          version.hpp
 
 # Add library C++ source files to this list
-CCSRC =  basicio.cpp           \
+CCSRC =  asfvideo.cpp          \
+	 basicio.cpp           \
 	 bmpimage.cpp          \
 	 canonmn.cpp           \
 	 convert.cpp           \
@@ -84,6 +85,7 @@ CCSRC =  basicio.cpp           \
 	 jp2image.cpp          \
 	 jpgimage.cpp          \
 	 makernote.cpp         \
+	 matroskavideo.cpp     \
 	 metadatum.cpp         \
 	 minoltamn.cpp         \
 	 mrwimage.cpp          \
@@ -99,7 +101,9 @@ endif
 CCSRC += preview.cpp           \
 	 properties.cpp        \
 	 psdimage.cpp          \
+	 quicktimevideo.cpp    \
 	 rafimage.cpp          \
+         riffvideo.cpp         \
 	 rw2image.cpp          \
 	 samsungmn.cpp         \
 	 sigmamn.cpp           \
diff --git a/src/asfvideo.cpp b/src/asfvideo.cpp
new file mode 100644
index 0000000..7e160c6
--- /dev/null
+++ b/src/asfvideo.cpp
@@ -0,0 +1,746 @@
+// ***************************************************************** -*- C++ -*-
+/*
+ * Copyright (C) 2004-2012 Andreas Huggel <ahuggel at gmx.net>
+ *
+ * This program is part of the Exiv2 distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA.
+ */
+/*
+  File:      asfvideo.cpp
+  Version:   $Rev$
+  Author(s): Abhinav Badola for GSoC 2012 (AB) <mail.abu.to at gmail.com>
+  History:   08-Aug-12, AB: created
+  Credits:   See header file
+ */
+// *****************************************************************************
+#include "rcsid_int.hpp"
+EXIV2_RCSID("@(#) $Id$")
+
+// *****************************************************************************
+// included header files
+#include "asfvideo.hpp"
+#include "futils.hpp"
+#include "basicio.hpp"
+#include "tags.hpp"
+#include "tags_int.hpp"
+#include "types.hpp"
+#include "riffvideo.hpp"
+#include "convert.hpp"
+
+// + standard includes
+#include <cmath>
+#include <cstring>
+#include <ctype.h>
+
+// *****************************************************************************
+// class member definitions
+namespace Exiv2 {
+    namespace Internal {
+
+    /*!
+      Tag Look-up list for ASF Type Video Files
+      Associates the GUID of a Tag with its Tag Name(i.e. Human Readable Form)
+      Tags have been diferentiated into Various Categories.
+      The categories have been listed above the Tag Groups
+
+     */
+    extern const TagVocabulary GUIDReferenceTags[] =  {
+        /// Top-level ASF object GUIDS
+        {   "75B22630-668E-11CF-A6D9-00AA0062CE6C", "Header" },
+        {   "75B22636-668E-11CF-A6D9-00AA0062CE6C", "Data" },
+        {   "33000890-E5B1-11CF-89F4-00A0C90349CB", "Simple_Index" },
+        {   "D6E229D3-35DA-11D1-9034-00A0C90349BE", "Index" },
+        {   "FEB103F8-12AD-4C64-840F-2A1D2F7AD48C", "Media_Index" },
+        {   "3CB73FD0-0C4A-4803-953D-EDF7B6228F0C", "Timecode_Index" },
+
+        /// Header Object GUIDs
+        {   "8CABDCA1-A947-11CF-8EE4-00C00C205365", "File_Properties" },
+        {   "B7DC0791-A9B7-11CF-8EE6-00C00C205365", "Stream_Properties" },
+        {   "5FBF03B5-A92E-11CF-8EE3-00C00C205365", "Header_Extension" },
+        {   "86D15240-311D-11D0-A3A4-00A0C90348F6", "Codec_List" },
+        {   "1EFB1A30-0B62-11D0-A39B-00A0C90348F6", "Script_Command" },
+        {   "F487CD01-A951-11CF-8EE6-00C00C205365", "Marker" },
+        {   "D6E229DC-35DA-11D1-9034-00A0C90349BE", "Bitrate_Mutual_Exclusion" },
+        {   "75B22635-668E-11CF-A6D9-00AA0062CE6C", "Error_Correction" },
+        {   "75B22633-668E-11CF-A6D9-00AA0062CE6C", "Content_Description" },
+        {   "D2D0A440-E307-11D2-97F0-00A0C95EA850", "Extended_Content_Description" },
+        {   "2211B3FA-BD23-11D2-B4B7-00A0C955FC6E", "Content_Branding" },
+        {   "7BF875CE-468D-11D1-8D82-006097C9A2B2", "Stream_Bitrate_Properties" },
+        {   "2211B3FB-BD23-11D2-B4B7-00A0C955FC6E", "Content_Encryption" },
+        {   "298AE614-2622-4C17-B935-DAE07EE9289C", "Extended_Content_Encryption" },
+        {   "2211B3FC-BD23-11D2-B4B7-00A0C955FC6E", "Digital_Signature" },
+        {   "1806D474-CADF-4509-A4BA-9AABCB96AAE8", "Padding" },
+
+        /// Header Extension Object GUIDs
+        {   "14E6A5CB-C672-4332-8399-A96952065B5A", "Extended_Stream_Properties" },
+        {   "A08649CF-4775-4670-8A16-6E35357566CD", "Advanced_Mutual_Exclusion" },
+        {   "D1465A40-5A79-4338-B71B-E36B8FD6C249", "Group_Mutual_Exclusion" },
+        {   "D4FED15B-88D3-454F-81F0-ED5C45999E24", "Stream_Prioritization" },
+        {   "A69609E6-517B-11D2-B6AF-00C04FD908E9", "Bandwidth_Sharing" },
+        {   "7C4346A9-EFE0-4BFC-B229-393EDE415C85", "Language_List" },
+        {   "C5F8CBEA-5BAF-4877-8467-AA8C44FA4CCA", "Metadata" },
+        {   "44231C94-9498-49D1-A141-1D134E457054", "Metadata_Library" },
+        {   "D6E229DF-35DA-11D1-9034-00A0C90349BE", "Index_Parameters" },
+        {   "6B203BAD-3F11-48E4-ACA8-D7613DE2CFA7", "Media_Index_Parameters" },
+        {   "F55E496D-9797-4B5D-8C8B-604DFE9BFB24", "Timecode_Index_Parameters" },
+        {   "26F18B5D-4584-47EC-9F5F-0E651F0452C9", "Compatibility" },
+        {   "43058533-6981-49E6-9B74-AD12CB86D58C", "Advanced_Content_Encryption" },
+
+        /// Stream Properties Object Stream Type GUIDs
+        {   "F8699E40-5B4D-11CF-A8FD-00805F5C442B", "Audio_Media" },
+        {   "BC19EFC0-5B4D-11CF-A8FD-00805F5C442B", "Video_Media" },
+        {   "59DACFC0-59E6-11D0-A3AC-00A0C90348F6", "Command_Media" },
+        {   "B61BE100-5B4E-11CF-A8FD-00805F5C442B", "JFIF_Media" },
+        {   "35907DE0-E415-11CF-A917-00805F5C442B", "Degradable_JPEG_Media" },
+        {   "91BD222C-F21C-497A-8B6D-5AA86BFC0185", "File_Transfer_Media" },
+        {   "3AFB65E2-47EF-40F2-AC2C-70A90D71D343", "Binary_Media" },
+
+        /// Web stream Type-Specific Data GUIDs
+        {   "776257D4-C627-41CB-8F81-7AC7FF1C40CC", "Web_Stream_Media_Subtype" },
+        {   "DA1E6B13-8359-4050-B398-388E965BF00C", "Web_Stream_Format" },
+
+        /// Stream Properties Object Error Correction Type GUIDs
+        {   "20FB5700-5B55-11CF-A8FD-00805F5C442B", "No_Error_Correction" },
+        {   "BFC3CD50-618F-11CF-8BB2-00AA00B4E220", "Audio_Spread" },
+
+        /// Header Extension Object GUIDs
+        {   "ABD3D211-A9BA-11cf-8EE6-00C00C205365", "Reserved_1" },
+
+        /// Advanced Content Encryption Object System ID GUIDs
+        {   "7A079BB6-DAA4-4e12-A5CA-91D38DC11A8D", "Content_Encryption_System_Windows_Media_DRM_Network_Devices" },
+
+        /// Codec List Object GUIDs
+        {   "86D15241-311D-11D0-A3A4-00A0C90348F6", "Reserved_2" },
+
+        /// Script Command Object GUIDs
+        {   "4B1ACBE3-100B-11D0-A39B-00A0C90348F6", "Reserved_3" },
+
+        /// Marker Object GUIDs
+        {   "4CFEDB20-75F6-11CF-9C0F-00A0C90349CB", "Reserved_4" },
+
+        /// Mutual Exclusion Object Exclusion Type GUIDs
+        {   "D6E22A00-35DA-11D1-9034-00A0C90349BE", "Mutex_Language" },
+        {   "D6E22A01-35DA-11D1-9034-00A0C90349BE", "Mutex_Bitrate" },
+        {   "D6E22A02-35DA-11D1-9034-00A0C90349BE", "Mutex_Unknown" },
+
+        /// Bandwidth Sharing Object GUIDs
+        {   "AF6060AA-5197-11D2-B6AF-00C04FD908E9", "Bandwidth_Sharing_Exclusive" },
+        {   "AF6060AB-5197-11D2-B6AF-00C04FD908E9", "Bandwidth_Sharing_Partial" },
+
+        /// Standard Payload Extension System GUIDs
+        {   "399595EC-8667-4E2D-8FDB-98814CE76C1E", "Payload_Extension_System_Timecode" },
+        {   "E165EC0E-19ED-45D7-B4A7-25CBD1E28E9B", "Payload_Extension_System_File_Name" },
+        {   "D590DC20-07BC-436C-9CF7-F3BBFBF1A4DC", "Payload_Extension_System_Content_Type" },
+        {   "1B1EE554-F9EA-4BC8-821A-376B74E4C4B8", "Payload_Extension_System_Pixel_Aspect_Ratio" },
+        {   "C6BD9450-867F-4907-83A3-C77921B733AD", "Payload_Extension_System_Sample_Duration" },
+        {   "6698B84E-0AFA-4330-AEB2-1C0A98D7A44D", "Payload_Extension_System_Encryption_Sample_ID" },
+        {   "00E1AF06-7BEC-11D1-A582-00C04FC29CFB", "Payload_Extension_System_Degradable_JPEG" }
+    };
+
+    //! Audio codec type-specific data in ASF
+    extern const TagDetails audioCodec[] =  {
+        {    0x161, "Windows Media Audio (7, 8, and 9 Series)" },
+        {    0x162, "Windows Media Audio 9 Professional" },
+        {    0x163, "Windows Media Audio 9 Lossless" },
+        {   0x7A21, "GSM-AMR (CBR, no SID)" },
+        {   0x7A22, "GSM-AMR (VBR including SID)" }
+    };
+
+    extern const TagDetails filePropertiesTags[] =  {
+        {    7, "Xmp.video.FileLength" },
+        {    6, "Xmp.video.CreationDate" },
+        {    5, "Xmp.video.DataPackets" },
+        {    4, "Xmp.video.Duration" },
+        {    3, "Xmp.video.SendDuration" },
+        {    2, "Xmp.video.Preroll" },
+        {    1, "Xmp.video.MaxBitRate" }
+    };
+
+    extern const TagDetails contentDescriptionTags[] =  {
+        {    1, "Xmp.video.Title" },
+        {    2, "Xmp.video.Author" },
+        {    3, "Xmp.video.Copyright" },
+        {    4, "Xmp.video.Description" },
+        {    5, "Xmp.video.Rating" }
+    };
+
+    /*!
+      @brief Function used to read data from data buffer, reads 16-bit character
+          array and stores it in std::string object.
+      @param buf Exiv2 data buffer, which stores the information
+      @return Returns std::string object .
+     */
+    std::string toString16(Exiv2::DataBuf& buf)
+    {
+        std::ostringstream os; char t;
+
+        for(int i = 0; i <= buf.size_; i += 2 ) {
+            t = buf.pData_[i] + 16 * buf.pData_[i + 1];
+            if(t == 0) {
+                if(i)
+                    os << '

-- 
exiv2 packaging



More information about the pkg-kde-commits mailing list