[Avidemux-svn-commit] r6726 - in branches/avidemux_2.6_branch_mean/avidemux_plugins/ADM_demuxers: . Mxf

mean at mail.berlios.de mean at mail.berlios.de
Sun Nov 7 10:09:39 CET 2010


Author: mean
Date: 2010-11-07 10:09:39 +0100 (Sun, 07 Nov 2010)
New Revision: 6726

Added:
   branches/avidemux_2.6_branch_mean/avidemux_plugins/ADM_demuxers/Mxf/
   branches/avidemux_2.6_branch_mean/avidemux_plugins/ADM_demuxers/Mxf/ADM_mxf.cpp
   branches/avidemux_2.6_branch_mean/avidemux_plugins/ADM_demuxers/Mxf/ADM_mxf.h
   branches/avidemux_2.6_branch_mean/avidemux_plugins/ADM_demuxers/Mxf/ADM_mxfPlugin.cpp
   branches/avidemux_2.6_branch_mean/avidemux_plugins/ADM_demuxers/Mxf/CMakeLists.txt
Modified:
   branches/avidemux_2.6_branch_mean/avidemux_plugins/ADM_demuxers/CMakeLists.txt
Log:
[MXF/Demuxer] Skeleton

Modified: branches/avidemux_2.6_branch_mean/avidemux_plugins/ADM_demuxers/CMakeLists.txt
===================================================================
--- branches/avidemux_2.6_branch_mean/avidemux_plugins/ADM_demuxers/CMakeLists.txt	2010-11-01 08:14:39 UTC (rev 6725)
+++ branches/avidemux_2.6_branch_mean/avidemux_plugins/ADM_demuxers/CMakeLists.txt	2010-11-07 09:09:39 UTC (rev 6726)
@@ -7,4 +7,5 @@
 ADD_SUBDIRECTORY(MpegTS)
 ADD_SUBDIRECTORY(Asf)
 ADD_SUBDIRECTORY(AvsProxy)
+ADD_SUBDIRECTORY(Mxf)
 #

Added: branches/avidemux_2.6_branch_mean/avidemux_plugins/ADM_demuxers/Mxf/ADM_mxf.cpp
===================================================================
--- branches/avidemux_2.6_branch_mean/avidemux_plugins/ADM_demuxers/Mxf/ADM_mxf.cpp	                        (rev 0)
+++ branches/avidemux_2.6_branch_mean/avidemux_plugins/ADM_demuxers/Mxf/ADM_mxf.cpp	2010-11-07 09:09:39 UTC (rev 6726)
@@ -0,0 +1,113 @@
+/***************************************************************************
+     \file                     ADM_mxf.cpp
+     \brief MXF demuxer
+     \author mean, fixounet at free.fr (C) 2010
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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.                                   *
+ *                                                                         *
+ ***************************************************************************/
+
+#include "ADM_default.h"
+
+#include <string.h>
+#include <math.h>
+
+#include "ADM_mxf.h"
+
+
+#define aprintf(...) {}
+/**
+    \fn ctor
+*/
+mxfHeader::mxfHeader(void)
+{
+	
+}
+/**
+    \fn getTime
+*/
+
+uint64_t                   mxfHeader::getTime(uint32_t frameNum)
+{
+    return 0;
+}
+/**
+    \fn getVideoDuration
+*/
+
+uint64_t                   mxfHeader::getVideoDuration(void)
+{
+    return 0;
+}
+/**
+    \fn getFrameSize
+*/
+uint8_t                 mxfHeader::getFrameSize(uint32_t frame,uint32_t *size)
+{
+    return 0;
+}
+/**
+    \fn getFrame
+*/
+uint8_t mxfHeader::getFrame(uint32_t framenum, ADMCompressedImage *img)
+{
+	return 0;
+}
+/**
+    \fn close
+*/
+uint8_t mxfHeader::close(void)
+{
+	return true;
+}
+
+/**
+    \fn open
+*/
+uint8_t mxfHeader::open(const char *inname)
+{
+    
+    return false;
+}
+/**
+    \fn setFlag
+*/
+
+uint8_t mxfHeader::setFlag(uint32_t frame, uint32_t flags)
+{
+    UNUSED_ARG(frame);
+    UNUSED_ARG(flags);
+    return 0;
+}
+/**
+    \fn getFlags
+*/
+
+uint32_t mxfHeader::getFlags(uint32_t frame, uint32_t * flags)
+{
+    UNUSED_ARG(frame);
+    UNUSED_ARG(flags);
+    return 0;
+}
+/**
+    \fn getPtsDts
+*/
+bool       mxfHeader::getPtsDts(uint32_t frame,uint64_t *pts,uint64_t *dts)
+{
+    return false;
+}
+/**
+    \fn setPtsDts
+*/
+
+bool       mxfHeader::setPtsDts(uint32_t frame,uint64_t pts,uint64_t dts)
+{
+    return false;
+}
+// EOF

Added: branches/avidemux_2.6_branch_mean/avidemux_plugins/ADM_demuxers/Mxf/ADM_mxf.h
===================================================================
--- branches/avidemux_2.6_branch_mean/avidemux_plugins/ADM_demuxers/Mxf/ADM_mxf.h	                        (rev 0)
+++ branches/avidemux_2.6_branch_mean/avidemux_plugins/ADM_demuxers/Mxf/ADM_mxf.h	2010-11-07 09:09:39 UTC (rev 6726)
@@ -0,0 +1,80 @@
+/***************************************************************************
+     \file                     ADM_mxf.cpp
+     \brief MXF demuxer
+     \author mean, fixounet at free.fr (C) 2010
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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.                                   *
+ *                                                                         *
+ ***************************************************************************/
+
+
+
+#ifndef ADM_MXF_H
+#define ADM_MXF_H
+
+#include "ADM_Video.h"
+#include "ADM_audioStream.h"
+
+/**
+    \class mxfHeader
+    \brief Demuxers for mxf format
+
+*/
+class mxfHeader         :public vidHeader
+{
+protected:
+
+
+public:
+//  static int checkFourCC(uint8_t *in, uint8_t *fourcc);
+
+virtual   void 				Dump(void) {};
+
+                            mxfHeader( void );
+                            ~mxfHeader(  ) { };
+// AVI io
+virtual 	uint8_t			open(const char *name);
+virtual 	uint8_t			close(void) ;
+  //__________________________
+  //				 Info
+  //__________________________
+
+  //__________________________
+  //				 Audio
+  //__________________________
+
+
+virtual 	WAVHeader              *getAudioInfo(uint32_t i ) {return NULL;} ;
+virtual 	uint8_t                 getAudioStream(uint32_t i,ADM_audioStream  **audio) {*audio=NULL;return 1;}
+virtual     uint8_t                 getNbAudioStreams(void) {return 0;}
+
+    
+// Frames
+  //__________________________
+  //				 video
+  //__________________________
+
+virtual 	uint8_t  setFlag(uint32_t frame,uint32_t flags);
+virtual 	uint32_t getFlags(uint32_t frame,uint32_t *flags);
+virtual 	uint8_t  getFrame(uint32_t framenum,ADMCompressedImage *);
+
+virtual   uint64_t                   getTime(uint32_t frameNum);
+virtual   uint64_t                   getVideoDuration(void);
+virtual 	uint8_t                 getFrameSize(uint32_t frame,uint32_t *size);
+
+virtual   bool       getPtsDts(uint32_t frame,uint64_t *pts,uint64_t *dts);
+virtual   bool       setPtsDts(uint32_t frame,uint64_t pts,uint64_t dts);
+
+
+};
+
+
+#endif
+
+

Added: branches/avidemux_2.6_branch_mean/avidemux_plugins/ADM_demuxers/Mxf/ADM_mxfPlugin.cpp
===================================================================
--- branches/avidemux_2.6_branch_mean/avidemux_plugins/ADM_demuxers/Mxf/ADM_mxfPlugin.cpp	                        (rev 0)
+++ branches/avidemux_2.6_branch_mean/avidemux_plugins/ADM_demuxers/Mxf/ADM_mxfPlugin.cpp	2010-11-07 09:09:39 UTC (rev 6726)
@@ -0,0 +1,44 @@
+/***************************************************************************
+     \file                     ADM_mxf.cpp
+     \brief MXF demuxer
+     \author mean, fixounet at free.fr (C) 2010
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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.                                   *
+ *                                                                         *
+ ***************************************************************************/
+
+#include "ADM_mxf.h"
+#include "ADM_demuxerInternal.h"
+#include "fourcc.h"
+
+ADM_DEMUXER_BEGIN( mxfHeader, 50,
+                    1,0,0,
+                    "MXF",
+                    "MXF demuxer plugin (c) Mean 2010"
+                );
+
+/**
+    \fn Probe
+*/
+
+extern "C"  uint32_t         probe(uint32_t magic, const char *fileName)
+{
+uint32_t result=0;
+
+    if(magic==0x342b0e06) 
+    {
+
+      printf("\n\t MXF file detected...\n");
+      return 100;
+    }
+    
+    printf (" [mxfHeader] Cannot open that (%x)\n",magic);
+    return 0;
+}
+// EOF
\ No newline at end of file

Added: branches/avidemux_2.6_branch_mean/avidemux_plugins/ADM_demuxers/Mxf/CMakeLists.txt
===================================================================
--- branches/avidemux_2.6_branch_mean/avidemux_plugins/ADM_demuxers/Mxf/CMakeLists.txt	                        (rev 0)
+++ branches/avidemux_2.6_branch_mean/avidemux_plugins/ADM_demuxers/Mxf/CMakeLists.txt	2010-11-07 09:09:39 UTC (rev 6726)
@@ -0,0 +1,15 @@
+# Demuxer for mxfture
+# PNG etc...
+
+include(dm_plugin)
+
+SET(ADM_mxf_SRCS 
+	ADM_mxfPlugin.cpp
+	ADM_mxf.cpp
+)
+
+ADD_LIBRARY(ADM_dm_mxf SHARED ${ADM_mxf_SRCS})
+
+INIT_DEMUXER(ADM_dm_mxf)
+INSTALL_DEMUXER(ADM_dm_mxf)
+




More information about the Avidemux-svn-commit mailing list