]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/tableprint.h
ac3enc: Add codec-specific options for writing AC-3 metadata.
[ffmpeg] / libavcodec / tableprint.h
index 849bccf78ed2e1cb24ea2926eae8ad30298404e7..af69fe85803cc879ddd3b1e89c9e6e54a16ca01d 100644 (file)
@@ -3,20 +3,20 @@
  *
  * Copyright (c) 2009 Reimar Döffinger <Reimar.Doeffinger@gmx.de>
  *
- * This file is part of FFmpeg.
+ * This file is part of Libav.
  *
- * FFmpeg is free software; you can redistribute it and/or
+ * Libav is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
  * License as published by the Free Software Foundation; either
  * version 2.1 of the License, or (at your option) any later version.
  *
- * FFmpeg is distributed in the hope that it will be useful,
+ * Libav 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
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
- * License along with FFmpeg; if not, write to the Free Software
+ * License along with Libav; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
@@ -25,6 +25,7 @@
 
 #include <stdint.h>
 #include <stdio.h>
+#include "libavutil/common.h"
 
 #define WRITE_1D_FUNC_ARGV(type, linebrk, fmtstr, ...)\
 void write_##type##_array(const type *data, int len)\
@@ -72,4 +73,23 @@ void write_float_2d_array   (const void *, int, int);
 /** Write a standard file header */
 void write_fileheader(void);
 
+#define WRITE_ARRAY(prefix, type, name)                 \
+    do {                                                \
+        const size_t array_size = FF_ARRAY_ELEMS(name); \
+        printf(prefix" "#type" "#name"[%zu] = {\n",     \
+               array_size);                             \
+        write_##type##_array(name, array_size);         \
+        printf("};\n");                                 \
+    } while(0)
+
+#define WRITE_2D_ARRAY(prefix, type, name)                              \
+    do {                                                                \
+        const size_t array_size1 = FF_ARRAY_ELEMS(name);                \
+        const size_t array_size2 = FF_ARRAY_ELEMS(name[0]);             \
+        printf(prefix" "#type" "#name"[%zu][%zu] = {\n",                \
+               array_size1, array_size2 );                              \
+        write_##type##_2d_array(name, array_size1, array_size2);        \
+        printf("};\n");                                                 \
+    } while(0)
+
 #endif /* AVCODEC_TABLEPRINT_H */