]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/opt.h
Add doxy comment
[ffmpeg] / libavcodec / opt.h
index 151dbb788eb01fe16fc52031e7f239536abbaaa1..2128a712b2ee3604f9c66657b6870a3fc661f63c 100644 (file)
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
-#ifndef AVOPT_H
-#define AVOPT_H
+#ifndef FFMPEG_OPT_H
+#define FFMPEG_OPT_H
 
 /**
  * @file opt.h
  * AVOptions
  */
 
+#include "libavutil/rational.h"
+
 enum AVOptionType{
     FF_OPT_TYPE_FLAGS,
     FF_OPT_TYPE_INT,
@@ -35,26 +37,35 @@ enum AVOptionType{
     FF_OPT_TYPE_FLOAT,
     FF_OPT_TYPE_STRING,
     FF_OPT_TYPE_RATIONAL,
+    FF_OPT_TYPE_BINARY,  ///< offset must point to a pointer immediately followed by an int for the length
     FF_OPT_TYPE_CONST=128,
 };
 
 /**
- * AVOption.
+ * AVOption
  */
 typedef struct AVOption {
     const char *name;
 
     /**
-     * short English text help.
-     * @fixme what about other languages
+     * short English help text
+     * @todo What about other languages?
      */
     const char *help;
-    int offset;             ///< offset to context structure where the parsed value should be stored
+
+    /**
+     * The offset relative to the context structure where the option
+     * value is stored. It should be 0 for named constants.
+     */
+    int offset;
     enum AVOptionType type;
 
+    /**
+     * the default value for non-constant and value for constant scalars
+     */
     double default_val;
-    double min;
-    double max;
+    double min;                 ///< minimum valid value for the option
+    double max;                 ///< maximum valid value for the option
 
     int flags;
 #define AV_OPT_FLAG_ENCODING_PARAM  1   ///< a generic parameter which can be set by the user for muxing or encoding
@@ -64,6 +75,12 @@ typedef struct AVOption {
 #define AV_OPT_FLAG_VIDEO_PARAM     16
 #define AV_OPT_FLAG_SUBTITLE_PARAM  32
 //FIXME think about enc-audio, ... style flags
+
+    /**
+     * The logical unit to which the option belongs. Non-constant
+     * options and corresponding named constants share the same
+     * unit. May be NULL.
+     */
     const char *unit;
 } AVOption;
 
@@ -82,4 +99,4 @@ int av_opt_show(void *obj, void *av_log_obj);
 void av_opt_set_defaults(void *s);
 void av_opt_set_defaults2(void *s, int mask, int flags);
 
-#endif
+#endif /* FFMPEG_OPT_H */