FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
tableprint.h File Reference
#include <inttypes.h>
#include <stdio.h>
#include "libavutil/common.h"

Go to the source code of this file.

Macros

#define WRITE_1D_FUNC_ARGV(type, linebrk, fmtstr,...)
 
#define WRITE_1D_FUNC(type, fmtstr, linebrk)   WRITE_1D_FUNC_ARGV(type, linebrk, fmtstr, data[i])
 
#define WRITE_2D_FUNC(type)
 
#define FMT   "zu"
 
#define WRITE_ARRAY_ALIGNED(prefix, align, type, name)
 
#define WRITE_ARRAY(prefix, type, name)
 
#define WRITE_2D_ARRAY(prefix, type, name)
 

Functions

static void write_fileheader (void)
 
Predefined functions for printing tables
void write_int8_t_array (const int8_t *, int)
 
void write_uint8_t_array (const uint8_t *, int)
 
void write_uint16_t_array (const uint16_t *, int)
 
void write_uint32_t_array (const uint32_t *, int)
 
void write_float_array (const float *, int)
 
void write_int8_t_2d_array (const void *, int, int)
 
void write_uint8_t_2d_array (const void *, int, int)
 
void write_uint32_t_2d_array (const void *, int, int)
 
void write_float_2d_array (const void *, int, int)
 

Macro Definition Documentation

#define WRITE_1D_FUNC_ARGV (   type,
  linebrk,
  fmtstr,
  ... 
)
Value:
void write_##type##_array(const type *data, int len)\
{\
int i;\
printf(" ");\
for (i = 0; i < len - 1; i++) {\
printf(" "fmtstr",", __VA_ARGS__);\
if ((i & linebrk) == linebrk) printf("\n ");\
}\
printf(" "fmtstr"\n", __VA_ARGS__);\
}

Definition at line 31 of file tableprint.h.

#define WRITE_1D_FUNC (   type,
  fmtstr,
  linebrk 
)    WRITE_1D_FUNC_ARGV(type, linebrk, fmtstr, data[i])

Definition at line 43 of file tableprint.h.

#define WRITE_2D_FUNC (   type)
Value:
void write_##type##_2d_array(const void *arg, int len, int len2)\
{\
const type *data = arg;\
int i;\
printf(" {\n");\
for (i = 0; i < len; i++) {\
write_##type##_array(data + i * len2, len2);\
printf(i == len - 1 ? " }\n" : " }, {\n");\
}\
}

Definition at line 46 of file tableprint.h.

#define FMT   "zu"

Definition at line 81 of file tableprint.h.

#define WRITE_ARRAY_ALIGNED (   prefix,
  align,
  type,
  name 
)
Value:
do { \
const size_t array_size = FF_ARRAY_ELEMS(name); \
printf(prefix" DECLARE_ALIGNED("#align", " \
#type", "#name")[%"FMT"] = {\n", \
array_size); \
write_##type##_array(name, array_size); \
printf("};\n"); \
} while(0)

Definition at line 84 of file tableprint.h.

Referenced by main().

#define WRITE_ARRAY (   prefix,
  type,
  name 
)
Value:
do { \
const size_t array_size = FF_ARRAY_ELEMS(name); \
printf(prefix" "#type" "#name"[%"FMT"] = {\n", \
array_size); \
write_##type##_array(name, array_size); \
printf("};\n"); \
} while(0)

Definition at line 94 of file tableprint.h.

Referenced by main().

#define WRITE_2D_ARRAY (   prefix,
  type,
  name 
)
Value:
do { \
const size_t array_size1 = FF_ARRAY_ELEMS(name); \
const size_t array_size2 = FF_ARRAY_ELEMS(name[0]); \
printf(prefix" "#type" "#name"[%"FMT"][%"FMT"] = {\n", \
array_size1, array_size2 ); \
write_##type##_2d_array(name, array_size1, array_size2); \
printf("};\n"); \
} while(0)

Definition at line 103 of file tableprint.h.

Referenced by main().

Function Documentation

void write_int8_t_array ( const int8_t *  ,
int   
)
void write_uint8_t_array ( const uint8_t ,
int   
)
void write_uint16_t_array ( const uint16_t *  ,
int   
)
void write_uint32_t_array ( const uint32_t *  ,
int   
)
void write_float_array ( const float *  ,
int   
)

Referenced by main().

void write_int8_t_2d_array ( const void ,
int  ,
int   
)

Referenced by main().

void write_uint8_t_2d_array ( const void ,
int  ,
int   
)
void write_uint32_t_2d_array ( const void ,
int  ,
int   
)
void write_float_2d_array ( const void ,
int  ,
int   
)

Referenced by main(), and write_float_3d_array().

static void write_fileheader ( void  )
inlinestatic

Definition at line 125 of file tableprint.h.

Referenced by main(), and WRITE_1D_FUNC_ARGV().