videoeditorengine/h263decoder/inc/debug.h
branchRCL_3
changeset 3 e0b5df5c0969
parent 0 951a5db380a0
child 7 4c409de21d23
equal deleted inserted replaced
0:951a5db380a0 3:e0b5df5c0969
     1 /*
       
     2 * Copyright (c) 2010 Ixonos Plc.
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of the "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - Initial contribution
       
    11 *
       
    12 * Contributors:
       
    13 * Ixonos Plc
       
    14 *
       
    15 * Description:  
       
    16 * A header for debug output functions.
       
    17 *
       
    18 */
       
    19 
       
    20 
       
    21 #ifndef _DEBUG_H_
       
    22 #define _DEBUG_H_
       
    23 
       
    24 #if defined(DEB_FILE) || defined(DEB_STDOUT) || defined(DEB_DEBUGGER)
       
    25    /* Debug output wanted */
       
    26 
       
    27    #include <stdio.h>
       
    28    #include "nrctypes.h"
       
    29 
       
    30    #ifdef DEBUG_OUTPUT
       
    31    #include "biblin.h"
       
    32    #endif
       
    33 
       
    34    #ifdef __cplusplus
       
    35    extern "C" {
       
    36    #endif
       
    37 
       
    38    /*
       
    39     * Function prototypes
       
    40     */
       
    41 
       
    42    int debFree(void);
       
    43    int debLoad(const char *fileName);
       
    44 
       
    45    #ifdef DEB_PERF
       
    46       #define deb(dummy) 0
       
    47       #define debp(dummy) 0
       
    48       #define debPrintf(dummy) 0
       
    49       #define deb0p(format) 0
       
    50       #define deb1p(format, p1) 0
       
    51       #define deb2p(format, p1, p2) 0
       
    52       #define deb3p(format, p1, p2, p3) 0
       
    53       #define deb4p(format, p1, p2, p3, p4) 0
       
    54       #define deb5p(format, p1, p2, p3, p4, p5) 0
       
    55       #define deb0f(stream, format) 0
       
    56       #define deb1f(stream, format, p1) 0
       
    57       #define deb2f(stream, format, p1, p2) 0
       
    58       #define deb3f(stream, format, p1, p2, p3) 0
       
    59       #define deb4f(stream, format, p1, p2, p3, p4) 0
       
    60       #define deb5f(stream, format, p1, p2, p3, p4, p5) 0
       
    61 
       
    62       #ifdef DEB_STDOUT
       
    63          #define debPerf printf
       
    64       #else
       
    65          int debPerf(const char *format, ...);
       
    66       #endif
       
    67 
       
    68    #else
       
    69       #ifdef DEB_STDOUT
       
    70          #define deb printf
       
    71       #else
       
    72       #ifdef DEBUG_OUTPUT
       
    73          int deb_core(const char *format, ...);
       
    74          #define deb deb_core("%08lu: ", bibNumberOfFlushedBits(buffer_global)), deb_core
       
    75       #else
       
    76          int deb(const char *format, ...);
       
    77       #endif
       
    78       #endif
       
    79 
       
    80       #define debp deb
       
    81 
       
    82       #ifdef DEB_FILELINE
       
    83          #define debPrintf deb("%s, line %d. ", __FILE__, __LINE__), deb
       
    84       #else
       
    85          #define debPrintf deb
       
    86       #endif
       
    87 
       
    88       #define deb0p debPrintf
       
    89       #define deb1p debPrintf
       
    90       #define deb2p debPrintf
       
    91       #define deb3p debPrintf
       
    92       #define deb4p debPrintf
       
    93       #define deb5p debPrintf
       
    94 
       
    95       /* Internal defines to enable DEB_FILELINE */
       
    96       #ifdef DEB_STDOUT
       
    97          #define deb0ff(stream, format) fprintf(stream, format)
       
    98          #define deb1ff(stream, format, p1) fprintf(stream, format, p1)
       
    99          #define deb2ff(stream, format, p1, p2) fprintf(stream, format, p1, p2)
       
   100          #define deb3ff(stream, format, p1, p2, p3) fprintf(stream, format, p1, p2, p3)
       
   101          #define deb4ff(stream, format, p1, p2, p3, p4) fprintf(stream, format, p1, p2, p3, p4)
       
   102          #define deb5ff(stream, format, p1, p2, p3, p4, p5) fprintf(stream, format, p1, p2, p3, p4, p5)
       
   103       #else
       
   104          #define deb0ff(stream, format) deb(format)
       
   105          #define deb1ff(stream, format, p1) deb(format, p1)
       
   106          #define deb2ff(stream, format, p1, p2) deb(format, p1, p2)
       
   107          #define deb3ff(stream, format, p1, p2, p3) deb(format, p1, p2, p3)
       
   108          #define deb4ff(stream, format, p1, p2, p3, p4) deb(format, p1, p2, p3, p4)
       
   109          #define deb5ff(stream, format, p1, p2, p3, p4, p5) deb(format, p1, p2, p3, p4, p5)
       
   110       #endif
       
   111 
       
   112       #ifdef DEB_FILELINE
       
   113          #define deb0f(stream, format) \
       
   114             deb2ff(stream, "%s, line %d. ", __FILE__, __LINE__), \
       
   115             deb0ff(stream, format)
       
   116 
       
   117          #define deb1f(stream, format, p1) \
       
   118             deb2ff(stream, "%s, line %d. ", __FILE__, __LINE__), \
       
   119             deb1ff(stream, format, p1)
       
   120 
       
   121          #define deb2f(stream, format, p1, p2) \
       
   122             deb2ff(stream, "%s, line %d. ", __FILE__, __LINE__), \
       
   123             deb2ff(stream, format, p1, p2)
       
   124 
       
   125          #define deb3f(stream, format, p1, p2, p3) \
       
   126             deb2ff(stream, "%s, line %d. ", __FILE__, __LINE__), \
       
   127             deb3ff(stream, format, p1, p2, p3)
       
   128 
       
   129          #define deb4f(stream, format, p1, p2, p3, p4) \
       
   130             deb2ff(stream, "%s, line %d. ", __FILE__, __LINE__), \
       
   131             deb4ff(stream, format, p1, p2, p3, p4)
       
   132 
       
   133          #define deb5f(stream, format, p1, p2, p3, p4, p5) \
       
   134             deb2ff(stream, "%s, line %d. ", __FILE__, __LINE__), \
       
   135             deb4ff(stream, format, p1, p2, p3, p4, p5)
       
   136 
       
   137       #else
       
   138          #define deb0f(stream, format) deb0ff(stream, format)
       
   139          #define deb1f(stream, format, p1) deb1ff(stream, format, p1)
       
   140          #define deb2f(stream, format, p1, p2) deb2ff(stream, format, p1, p2)
       
   141          #define deb3f(stream, format, p1, p2, p3) deb3ff(stream, format, p1, p2, p3)
       
   142          #define deb4f(stream, format, p1, p2, p3, p4) deb4ff(stream, format, p1, p2, p3, p4)
       
   143          #define deb5f(stream, format, p1, p2, p3, p4, p5) deb5ff(stream, format, p1, p2, p3, p4, p5)
       
   144       #endif
       
   145 
       
   146       #define debPerf deb
       
   147    #endif
       
   148 
       
   149    #ifdef __cplusplus
       
   150    };
       
   151    #endif
       
   152 
       
   153 #else /* no debug output wanted */
       
   154 
       
   155    #define deb(dummy) 
       
   156    #define debp(dummy) 
       
   157    #define debPrintf(dummy) 
       
   158    #define deb0p(format) 
       
   159    #define deb1p(format, p1) 
       
   160    #define deb2p(format, p1, p2) 
       
   161    #define deb3p(format, p1, p2, p3) 
       
   162    #define deb4p(format, p1, p2, p3, p4) 
       
   163    #define deb5p(format, p1, p2, p3, p4, p5) 
       
   164    #define deb0f(stream, format) 
       
   165    #define deb1f(stream, format, p1) 
       
   166    #define deb2f(stream, format, p1, p2) 
       
   167    #define deb3f(stream, format, p1, p2, p3) 
       
   168    #define deb4f(stream, format, p1, p2, p3, p4) 
       
   169    #define deb5f(stream, format, p1, p2, p3, p4, p5) 
       
   170    #define debPerf(dummy) 
       
   171    #define debFree() 
       
   172    #define debLoad(dummy) 
       
   173 
       
   174 #endif
       
   175 
       
   176    #define debLogOutput(a,b,c) 
       
   177 
       
   178 #endif /* !defined(_DEBUG_H_) */
       
   179 
       
   180 // End of file