videoeditorengine/h263decoder/inc/debug.h
changeset 0 951a5db380a0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/videoeditorengine/h263decoder/inc/debug.h	Fri Jan 29 14:08:33 2010 +0200
@@ -0,0 +1,180 @@
+/*
+* Copyright (c) 2010 Ixonos Plc.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - Initial contribution
+*
+* Contributors:
+* Ixonos Plc
+*
+* Description:  
+* A header for debug output functions.
+*
+*/
+
+
+#ifndef _DEBUG_H_
+#define _DEBUG_H_
+
+#if defined(DEB_FILE) || defined(DEB_STDOUT) || defined(DEB_DEBUGGER)
+   /* Debug output wanted */
+
+   #include <stdio.h>
+   #include "nrctypes.h"
+
+   #ifdef DEBUG_OUTPUT
+   #include "biblin.h"
+   #endif
+
+   #ifdef __cplusplus
+   extern "C" {
+   #endif
+
+   /*
+    * Function prototypes
+    */
+
+   int debFree(void);
+   int debLoad(const char *fileName);
+
+   #ifdef DEB_PERF
+      #define deb(dummy) 0
+      #define debp(dummy) 0
+      #define debPrintf(dummy) 0
+      #define deb0p(format) 0
+      #define deb1p(format, p1) 0
+      #define deb2p(format, p1, p2) 0
+      #define deb3p(format, p1, p2, p3) 0
+      #define deb4p(format, p1, p2, p3, p4) 0
+      #define deb5p(format, p1, p2, p3, p4, p5) 0
+      #define deb0f(stream, format) 0
+      #define deb1f(stream, format, p1) 0
+      #define deb2f(stream, format, p1, p2) 0
+      #define deb3f(stream, format, p1, p2, p3) 0
+      #define deb4f(stream, format, p1, p2, p3, p4) 0
+      #define deb5f(stream, format, p1, p2, p3, p4, p5) 0
+
+      #ifdef DEB_STDOUT
+         #define debPerf printf
+      #else
+         int debPerf(const char *format, ...);
+      #endif
+
+   #else
+      #ifdef DEB_STDOUT
+         #define deb printf
+      #else
+      #ifdef DEBUG_OUTPUT
+         int deb_core(const char *format, ...);
+         #define deb deb_core("%08lu: ", bibNumberOfFlushedBits(buffer_global)), deb_core
+      #else
+         int deb(const char *format, ...);
+      #endif
+      #endif
+
+      #define debp deb
+
+      #ifdef DEB_FILELINE
+         #define debPrintf deb("%s, line %d. ", __FILE__, __LINE__), deb
+      #else
+         #define debPrintf deb
+      #endif
+
+      #define deb0p debPrintf
+      #define deb1p debPrintf
+      #define deb2p debPrintf
+      #define deb3p debPrintf
+      #define deb4p debPrintf
+      #define deb5p debPrintf
+
+      /* Internal defines to enable DEB_FILELINE */
+      #ifdef DEB_STDOUT
+         #define deb0ff(stream, format) fprintf(stream, format)
+         #define deb1ff(stream, format, p1) fprintf(stream, format, p1)
+         #define deb2ff(stream, format, p1, p2) fprintf(stream, format, p1, p2)
+         #define deb3ff(stream, format, p1, p2, p3) fprintf(stream, format, p1, p2, p3)
+         #define deb4ff(stream, format, p1, p2, p3, p4) fprintf(stream, format, p1, p2, p3, p4)
+         #define deb5ff(stream, format, p1, p2, p3, p4, p5) fprintf(stream, format, p1, p2, p3, p4, p5)
+      #else
+         #define deb0ff(stream, format) deb(format)
+         #define deb1ff(stream, format, p1) deb(format, p1)
+         #define deb2ff(stream, format, p1, p2) deb(format, p1, p2)
+         #define deb3ff(stream, format, p1, p2, p3) deb(format, p1, p2, p3)
+         #define deb4ff(stream, format, p1, p2, p3, p4) deb(format, p1, p2, p3, p4)
+         #define deb5ff(stream, format, p1, p2, p3, p4, p5) deb(format, p1, p2, p3, p4, p5)
+      #endif
+
+      #ifdef DEB_FILELINE
+         #define deb0f(stream, format) \
+            deb2ff(stream, "%s, line %d. ", __FILE__, __LINE__), \
+            deb0ff(stream, format)
+
+         #define deb1f(stream, format, p1) \
+            deb2ff(stream, "%s, line %d. ", __FILE__, __LINE__), \
+            deb1ff(stream, format, p1)
+
+         #define deb2f(stream, format, p1, p2) \
+            deb2ff(stream, "%s, line %d. ", __FILE__, __LINE__), \
+            deb2ff(stream, format, p1, p2)
+
+         #define deb3f(stream, format, p1, p2, p3) \
+            deb2ff(stream, "%s, line %d. ", __FILE__, __LINE__), \
+            deb3ff(stream, format, p1, p2, p3)
+
+         #define deb4f(stream, format, p1, p2, p3, p4) \
+            deb2ff(stream, "%s, line %d. ", __FILE__, __LINE__), \
+            deb4ff(stream, format, p1, p2, p3, p4)
+
+         #define deb5f(stream, format, p1, p2, p3, p4, p5) \
+            deb2ff(stream, "%s, line %d. ", __FILE__, __LINE__), \
+            deb4ff(stream, format, p1, p2, p3, p4, p5)
+
+      #else
+         #define deb0f(stream, format) deb0ff(stream, format)
+         #define deb1f(stream, format, p1) deb1ff(stream, format, p1)
+         #define deb2f(stream, format, p1, p2) deb2ff(stream, format, p1, p2)
+         #define deb3f(stream, format, p1, p2, p3) deb3ff(stream, format, p1, p2, p3)
+         #define deb4f(stream, format, p1, p2, p3, p4) deb4ff(stream, format, p1, p2, p3, p4)
+         #define deb5f(stream, format, p1, p2, p3, p4, p5) deb5ff(stream, format, p1, p2, p3, p4, p5)
+      #endif
+
+      #define debPerf deb
+   #endif
+
+   #ifdef __cplusplus
+   };
+   #endif
+
+#else /* no debug output wanted */
+
+   #define deb(dummy) 
+   #define debp(dummy) 
+   #define debPrintf(dummy) 
+   #define deb0p(format) 
+   #define deb1p(format, p1) 
+   #define deb2p(format, p1, p2) 
+   #define deb3p(format, p1, p2, p3) 
+   #define deb4p(format, p1, p2, p3, p4) 
+   #define deb5p(format, p1, p2, p3, p4, p5) 
+   #define deb0f(stream, format) 
+   #define deb1f(stream, format, p1) 
+   #define deb2f(stream, format, p1, p2) 
+   #define deb3f(stream, format, p1, p2, p3) 
+   #define deb4f(stream, format, p1, p2, p3, p4) 
+   #define deb5f(stream, format, p1, p2, p3, p4, p5) 
+   #define debPerf(dummy) 
+   #define debFree() 
+   #define debLoad(dummy) 
+
+#endif
+
+   #define debLogOutput(a,b,c) 
+
+#endif /* !defined(_DEBUG_H_) */
+
+// End of file