diff common.h @ 1059:890b9fb44e84 libavcodec

* still unfinished code for Options * demo code - awating more comments
author kabi
date Mon, 10 Feb 2003 09:40:23 +0000
parents f1ac4649598f
children b32afefe7d33
line wrap: on
line diff
--- a/common.h	Mon Feb 10 09:38:38 2003 +0000
+++ b/common.h	Mon Feb 10 09:40:23 2003 +0000
@@ -37,6 +37,24 @@
 #define M_PI    3.14159265358979323846
 #endif
 
+#include <stddef.h>
+#ifndef offsetof
+# define offsetof(T,F) ((unsigned int)((char *)&((T *)0)->F))
+#endif
+
+#define AVOPTION_CODEC_BOOL(name, help, field) \
+    { name, help, offsetof(AVCodecContext, field), FF_OPT_TYPE_BOOL }
+#define AVOPTION_CODEC_FLAG(name, help, field, flag, defval) \
+    { name, help, offsetof(AVCodecContext, field), FF_OPT_TYPE_FLAG, flag, 0, defval }
+#define AVOPTION_CODEC_INT(name, help, field, minv, maxv, defval) \
+    { name, help, offsetof(AVCodecContext, field), FF_OPT_TYPE_INT, minv, maxv, defval }
+#define AVOPTION_CODEC_STRING(name, help, field, str, val) \
+    { name, help, offsetof(AVCodecContext, field), FF_OPT_TYPE_STRING, .defval = val, .defstr = str }
+#define AVOPTION_CODEC_RCOVERRIDE(name, help, field) \
+    { name, help, offsetof(AVCodecContext, field), FF_OPT_TYPE_RCOVERRIDE, .defval = 0, .defstr = NULL }
+#define AVOPTION_SUB(ptr) { .name = NULL, .sub = ptr }
+#define AVOPTION_END() AVOPTION_SUB(NULL)
+
 #endif /* HAVE_AV_CONFIG_H */
 
 /* Suppress restrict if it was not defined in config.h.  */