51     if (!last && 
class && 
class->option && 
class->option[0].name)
 
   53     if (last && last[1].
name)
 
   62         *intnum = *(
unsigned int*)dst;
 
   72         *intnum = *(
int *)dst;
 
   77         *intnum = *(int64_t *)dst;
 
   83         *num = *(
double *)dst;
 
   99         (o->
max * den < num * intnum || o->
min * den > num * intnum)) {
 
  100         num = den ? num * intnum / den : (num * intnum ? 
INFINITY : 
NAN);
 
  106         double d = num*intnum/den;
 
  107         if (d < -1.5 || d > 0xFFFFFFFF+0.5 || (
llrint(d*256) & 255)) {
 
  109                    "Value %f for parameter '%s' is not a valid set of 32bit integer flags\n",
 
  110                    num*intnum/den, o->
name);
 
  125         *(
int *)dst = 
llrint(num / den) * intnum;
 
  130         *(int64_t *)dst = 
llrint(num / den) * intnum;
 
  133         *(
float *)dst = num * intnum / den;
 
  136         *(
double    *)dst = num * intnum / den;
 
  140         if ((
int) num == num)
 
  152     if (c >= 
'0' && c <= 
'9')
 
  154     if (c >= 
'a' && c <= 
'f')
 
  156     if (c >= 
'A' && c <= 
'F')
 
  163     int *lendst = (
int *)(dst + 1);
 
  170     if (!val || !(len = strlen(val)))
 
  183         if (a < 0 || b < 0) {
 
  187         *ptr++ = (a << 4) | b;
 
  199     return *dst ? 0 : 
AVERROR(ENOMEM);
 
  202 #define DEFAULT_NUMVAL(opt) ((opt->type == AV_OPT_TYPE_INT64 || \ 
  203                               opt->type == AV_OPT_TYPE_CONST || \ 
  204                               opt->type == AV_OPT_TYPE_FLAGS || \ 
  205                               opt->type == AV_OPT_TYPE_INT)     \ 
  206                              ? opt->default_val.i64             \ 
  207                              : opt->default_val.dbl) 
  215     if (sscanf(val, 
"%d%*1[:/]%d%c", &num, &den, &c) == 2) {
 
  216         if ((ret = 
write_number(obj, o, dst, 1, den, num)) >= 0)
 
  229             if (*val == 
'+' || *val == 
'-')
 
  231             for (; i < 
sizeof(
buf) - 1 && val[i] && val[i] != 
'+' && val[i] != 
'-'; i++)
 
  254                             const_names [ci  ] = o_named->
name;
 
  259                 const_names [ci  ] = 
"default";
 
  261                 const_names [ci  ] = 
"max";
 
  262                 const_values[ci++] = o->
max;
 
  263                 const_names [ci  ] = 
"min";
 
  264                 const_values[ci++] = o->
min;
 
  265                 const_names [ci  ] = 
"none";
 
  266                 const_values[ci++] = 0;
 
  267                 const_names [ci  ] = 
"all";
 
  268                 const_values[ci++] = ~0;
 
  269                 const_names [ci] = 
NULL;
 
  270                 const_values[ci] = 0;
 
  283                 d = intnum | (int64_t)d;
 
  285                 d = intnum &~(int64_t)d;
 
  302     if (!val || !strcmp(val, 
"none")) {
 
  309         av_log(obj, 
AV_LOG_ERROR, 
"Unable to parse option value \"%s\" as image size\n", val);
 
  322         av_log(obj, 
AV_LOG_ERROR, 
"Unable to parse option value \"%s\" as video rate\n", val);
 
  345     return val ? 
"true" : 
"false";
 
  355     if (!strcmp(val, 
"auto")) {
 
  357     } 
else if (
av_match_name(val, 
"true,y,yes,enable,enabled,on")) {
 
  359     } 
else if (
av_match_name(val, 
"false,n,no,disable,disabled,off")) {
 
  363         n = strtol(val, &end, 10);
 
  364         if (val + strlen(val) != end)
 
  368     if (n < o->
min || n > o->
max)
 
  380                           int fmt_nb, 
int ((*get_fmt)(
const char *)), 
const char *
desc)
 
  384     if (!val || !strcmp(val, 
"none")) {
 
  390             fmt = strtol(val, &tail, 0);
 
  391             if (*tail || (
unsigned)fmt >= fmt_nb) {
 
  393                        "Unable to parse option value \"%s\" as %s\n", val, desc);
 
  403     if(min == 0 && max == 0) {
 
  408     if (fmt < min || fmt > max) {
 
  410                "Value %d for parameter '%s' out of %s format range [%d - %d]\n",
 
  411                fmt, o->
name, desc, min, max);
 
  434     void *dst, *target_obj;
 
  436     if (!o || !target_obj)
 
  489         if (!val || !strcmp(val, 
"none")) {
 
  494                 av_log(obj, 
AV_LOG_ERROR, 
"Unable to parse option value \"%s\" as channel layout\n", val);
 
  497             *(int64_t *)dst = cl;
 
  507 #define OPT_EVAL_NUMBER(name, opttype, vartype)                         \ 
  508 int av_opt_eval_ ## name(void *obj, const AVOption *o,                  \ 
  509                          const char *val, vartype *name ## _out)        \ 
  511     if (!o || o->type != opttype || o->flags & AV_OPT_FLAG_READONLY)    \ 
  512         return AVERROR(EINVAL);                                         \ 
  513     return set_string_number(obj, obj, o, val, name ## _out);           \ 
  523 static 
int set_number(
void *obj, const 
char *
name, 
double num, 
int den, int64_t intnum,
 
  526     void *dst, *target_obj;
 
  529     if (!o || !target_obj)
 
  541     return set_number(obj, name, 1, 1, val, search_flags);
 
  546     return set_number(obj, name, val, 1, 1, search_flags);
 
  562     if (!o || !target_obj)
 
  573     lendst = (
int *)(dst + 1);
 
  579         memcpy(ptr, val, len);
 
  589     if (!o || !target_obj)
 
  593                "The value set by option '%s' is not an image size.\n", o->
name);
 
  598                "Invalid negative size value %dx%d for size '%s'\n", w, h, o->
name);
 
  602     *(
int *)(((
uint8_t *)target_obj+
sizeof(int)) + o->
offset) = h;
 
  611     if (!o || !target_obj)
 
  615                "The value set by option '%s' is not a video rate.\n", o->
name);
 
  618     if (val.
num <= 0 || val.
den <= 0)
 
  628                                      search_flags, &target_obj);
 
  631     if (!o || !target_obj)
 
  633     if (o->
type != type) {
 
  635                "The value set by option '%s' is not a %s format", name, desc);
 
  642     if (fmt < min || fmt > max) {
 
  644                "Value %d for parameter '%s' out of %s format range [%d - %d]\n",
 
  645                fmt, name, desc, min, max);
 
  667     if (!o || !target_obj)
 
  671                "The value set by option '%s' is not a channel layout.\n", o->
name);
 
  685     if (!o || !target_obj)
 
  702     if (d < 0 && d != INT64_MIN) {
 
  709     else if (d == INT64_MIN)
 
  711     else if (d > (int64_t)3600*1000000)
 
  712         snprintf(buf, size, 
"%"PRId64
":%02d:%02d.%06d", d / 3600000000,
 
  713                  (
int)((d / 60000000) % 60),
 
  714                  (
int)((d / 1000000) % 60),
 
  716     else if (d > 60*1000000)
 
  719                  (
int)((d / 1000000) % 60),
 
  725     e = buf + strlen(buf);
 
  726     while (e > buf && e[-1] == 
'0')
 
  728     if (e > buf && e[-1] == 
'.')
 
  734     void *dst, *target_obj;
 
  751         ret = 
snprintf(buf, 
sizeof(buf), 
"0x%08X", *(
int *)dst);
 
  754         ret = 
snprintf(buf, 
sizeof(buf), 
"%d", *(
int *)dst);
 
  757         ret = 
snprintf(buf, 
sizeof(buf), 
"%"PRId64, *(int64_t *)dst);
 
  760         ret = 
snprintf(buf, 
sizeof(buf), 
"%f", *(
float *)dst);
 
  763         ret = 
snprintf(buf, 
sizeof(buf), 
"%f", *(
double *)dst);
 
  781         return *out_val ? 0 : 
AVERROR(ENOMEM);
 
  783         if (!*(
uint8_t **)dst && (search_flags & AV_OPT_ALLOW_NULL)) {
 
  788         if ((uint64_t)len * 2 + 1 > INT_MAX)
 
  790         if (!(*out_val = 
av_malloc(len * 2 + 1)))
 
  797         for (i = 0; i < 
len; i++)
 
  798             snprintf(*out_val + i * 2, 3, 
"%02X", bin[i]);
 
  801         ret = 
snprintf(buf, 
sizeof(buf), 
"%dx%d", ((
int *)dst)[0], ((
int *)dst)[1]);
 
  810         i64 = *(int64_t *)dst;
 
  815         ret = 
snprintf(buf, 
sizeof(buf), 
"0x%02x%02x%02x%02x",
 
  820         i64 = *(int64_t *)dst;
 
  821         ret = 
snprintf(buf, 
sizeof(buf), 
"0x%"PRIx64, i64);
 
  827     if (ret >= 
sizeof(buf))
 
  830     return *out_val ? 0 : 
AVERROR(ENOMEM);
 
  836     void *dst, *target_obj;
 
  838     if (!o || !target_obj)
 
  843     if (o_out) *o_out= o;
 
  859     if ((ret = 
get_number(obj, name, 
NULL, &num, &den, &intnum, search_flags)) < 0)
 
  861     *out_val = num * intnum / den;
 
  871     if ((ret = 
get_number(obj, name, 
NULL, &num, &den, &intnum, search_flags)) < 0)
 
  873     *out_val = num * intnum / den;
 
  883     if ((ret = 
get_number(obj, name, 
NULL, &num, &den, &intnum, search_flags)) < 0)
 
  886     if (num == 1.0 && (
int)intnum == intnum)
 
  889         *out_val = 
av_d2q(num*intnum/den, 1<<24);
 
  895     void *dst, *target_obj;
 
  897     if (!o || !target_obj)
 
  901                "The value for option '%s' is not an image size.\n", name);
 
  906     if (w_out) *w_out = *(
int *)dst;
 
  907     if (h_out) *h_out = *((
int *)dst+1);
 
  917     if ((ret = 
get_number(obj, name, 
NULL, &num, &den, &intnum, search_flags)) < 0)
 
  920     if (num == 1.0 && (
int)intnum == intnum)
 
  923         *out_val = 
av_d2q(num * intnum / den, 1 << 24);
 
  927 static int get_format(
void *obj, 
const char *
name, 
int search_flags, 
int *out_fmt,
 
  930     void *dst, *target_obj;
 
  932     if (!o || !target_obj)
 
  934     if (o->
type != type) {
 
  936                "The value for option '%s' is not a %s format.\n", desc, name);
 
  941     *out_fmt = *(
int *)dst;
 
  957     void *dst, *target_obj;
 
  959     if (!o || !target_obj)
 
  963                "The value for option '%s' is not a channel layout.\n", name);
 
  968     *cl = *(int64_t *)dst;
 
  978     if (!o || !target_obj)
 
 1005         av_log(av_log_obj, level, 
"INT_MAX");
 
 1006     } 
else if (d == INT_MIN) {
 
 1007         av_log(av_log_obj, level, 
"INT_MIN");
 
 1008     } 
else if (d == UINT32_MAX) {
 
 1009         av_log(av_log_obj, level, 
"UINT32_MAX");
 
 1010     } 
else if (d == (
double)INT64_MAX) {
 
 1011         av_log(av_log_obj, level, 
"I64_MAX");
 
 1012     } 
else if (d == INT64_MIN) {
 
 1013         av_log(av_log_obj, level, 
"I64_MIN");
 
 1014     } 
else if (d == FLT_MAX) {
 
 1015         av_log(av_log_obj, level, 
"FLT_MAX");
 
 1016     } 
else if (d == FLT_MIN) {
 
 1017         av_log(av_log_obj, level, 
"FLT_MIN");
 
 1018     } 
else if (d == -FLT_MAX) {
 
 1019         av_log(av_log_obj, level, 
"-FLT_MAX");
 
 1020     } 
else if (d == -FLT_MIN) {
 
 1021         av_log(av_log_obj, level, 
"-FLT_MIN");
 
 1022     } 
else if (d == DBL_MAX) {
 
 1023         av_log(av_log_obj, level, 
"DBL_MAX");
 
 1024     } 
else if (d == DBL_MIN) {
 
 1025         av_log(av_log_obj, level, 
"DBL_MIN");
 
 1026     } 
else if (d == -DBL_MAX) {
 
 1027         av_log(av_log_obj, level, 
"-DBL_MAX");
 
 1028     } 
else if (d == -DBL_MIN) {
 
 1029         av_log(av_log_obj, level, 
"-DBL_MIN");
 
 1031         av_log(av_log_obj, level, 
"%g", d);
 
 1069 static void opt_list(
void *obj, 
void *av_log_obj, 
const char *unit,
 
 1070                      int req_flags, 
int rej_flags)
 
 1077         if (!(opt->
flags & req_flags) || (opt->
flags & rej_flags))
 
 1097         switch (opt->
type) {
 
 1164             switch (opt->
type) {
 
 1190             switch (opt->
type) {
 
 1248             opt_list(obj, av_log_obj, opt->
unit, req_flags, rej_flags);
 
 1252 int av_opt_show2(
void *obj, 
void *av_log_obj, 
int req_flags, 
int rej_flags)
 
 1281         switch (opt->
type) {
 
 1351                                 const char *key_val_sep, 
const char *pairs_sep)
 
 1360     if (*key && strspn(*buf, key_val_sep)) {
 
 1368         av_log(ctx, 
AV_LOG_ERROR, 
"Missing key or no key/value separator found after key '%s'\n", key);
 
 1385                           const char *key_val_sep, 
const char *pairs_sep)
 
 1404 #define WHITESPACES " \n\t\r" 
 1408     return (
unsigned)((c | 32) - 
'a') < 26 ||
 
 1409            (unsigned)(c - 
'0') < 10 ||
 
 1410            c == 
'-' || c == 
'_' || c == 
'/' || c == 
'.';
 
 1421 static int get_key(
const char **ropts, 
const char *delim, 
char **rkey)
 
 1423     const char *
opts = *ropts;
 
 1424     const char *key_start, *key_end;
 
 1431     if (!*opts || !strchr(delim, *opts))
 
 1434     if (!(*rkey = 
av_malloc(key_end - key_start + 1)))
 
 1436     memcpy(*rkey, key_start, key_end - key_start);
 
 1437     (*rkey)[key_end - key_start] = 0;
 
 1443                          const char *key_val_sep, 
const char *pairs_sep,
 
 1445                          char **rkey, 
char **rval)
 
 1449     const char *
opts = *ropts;
 
 1451     if ((ret = 
get_key(&opts, key_val_sep, &key)) < 0 &&
 
 1465                            const char *
const *shorthand,
 
 1466                            const char *key_val_sep, 
const char *pairs_sep)
 
 1469     const char *dummy_shorthand = 
NULL;
 
 1476         shorthand = &dummy_shorthand;
 
 1481                                    &parsed_key, &
value);
 
 1497             key = *(shorthand++);
 
 1567                             int opt_flags, 
int search_flags)
 
 1573                              int opt_flags, 
int search_flags, 
void **target_obj)
 
 1595                 if (o = 
av_opt_find2(child, name, unit, opt_flags, search_flags, target_obj))
 
 1601         if (!strcmp(o->
name, name) && (o->
flags & opt_flags) == opt_flags &&
 
 1649         return sizeof(int64_t);
 
 1651         return sizeof(double);
 
 1653         return sizeof(float);
 
 1660         return sizeof(
uint8_t*) + 
sizeof(
int);
 
 1662         return sizeof(
int[2]);
 
 1683     if (!c || c != *(
AVClass **)dst)
 
 1693             if (*field_dst8 != *field_src8)
 
 1696             if (*field_src8 && !*field_dst8)
 
 1699             int len = *(
int *)(field_src8 + 1);
 
 1700             if (*field_dst8 != *field_src8)
 
 1702             *field_dst8 = 
av_memdup(*field_src8, len);
 
 1703             if (len && !*field_dst8) {
 
 1707             *(
int *)(field_dst8 + 1) = 
len;
 
 1713             if (*sdict != *ddict)
 
 1724                 memcpy(field_dst, field_src, size);
 
 1736     if (c->
version > (52 << 16 | 11 << 8))
 
 1742     ret = 
callback(ranges_arg, obj, key, flags);
 
 1746         (*ranges_arg)->nb_components = ret;
 
 1761     if (!ranges || !range || !range_array || !field) {
 
 1766     ranges->
range = range_array;
 
 1767     ranges->
range[0] = range;
 
 1774     switch (field->
type) {
 
 1813     *ranges_arg = ranges;
 
 1870         str = *(
char **)dst;
 
 1892         int opt_size = *(
int *)((
void **)dst + 1);
 
 1893         void *opt_ptr = *(
void **)dst;
 
 1902             ret = !memcmp(opt_ptr, 
tmp.data, 
tmp.size);
 
 1908         return !!(*(
void **)dst);
 
 1914         return (w == *(
int *)dst) && (h == *((
int *)dst+1));
 
 1928         return !memcmp(color, dst, 
sizeof(color));
 
 1950                      const char key_val_sep, 
const char pairs_sep)
 
 1956     const char special_chars[] = {pairs_sep, key_val_sep, 
'\0'};
 
 1958     if (pairs_sep == 
'\0' || key_val_sep == 
'\0' || pairs_sep == key_val_sep ||
 
 1959         pairs_sep == 
'\\' || key_val_sep == 
'\\') {
 
 1964     if (!obj || !buffer)
 
 1975         else if (((o->
flags & opt_flags) != opt_flags))
 
int av_opt_get_dict_val(void *obj, const char *name, int search_flags, AVDictionary **out_val)
static const char * get_bool_name(int val)
const char const char void * val
A single allowed range of values, or a single allowed value. 
Number of sample formats. DO NOT USE if linking dynamically. 
static char * get_opt_flags_string(void *obj, const char *unit, int64_t value)
int av_parse_video_rate(AVRational *rate, const char *arg)
Parse str and store the detected values in *rate. 
ptrdiff_t const GLvoid * data
int av_opt_set_q(void *obj, const char *name, AVRational val, int search_flags)
int av_parse_video_size(int *width_ptr, int *height_ptr, const char *str)
Parse str and put in width_ptr and height_ptr the detected values. 
#define AV_OPT_FLAG_EXPORT
The option is intended for exporting values to the caller. 
#define AV_OPT_FLAG_SUBTITLE_PARAM
#define AV_LOG_WARNING
Something somehow does not look correct. 
static int set_string_image_size(void *obj, const AVOption *o, const char *val, int *dst)
void * av_opt_child_next(void *obj, void *prev)
Iterate over AVOptions-enabled children of obj. 
int av_parse_time(int64_t *timeval, const char *timestr, int duration)
Parse timestr and return in *time a corresponding number of microseconds. 
static int get_key(const char **ropts, const char *delim, char **rkey)
Read a key from a string. 
const AVClass * av_opt_child_class_next(const AVClass *parent, const AVClass *prev)
Iterate over potential AVOptions-enabled children of parent. 
void av_opt_set_defaults(void *s)
Set the values of all AVOption fields to their default values. 
static int opt_size(enum AVOptionType type)
#define AV_OPT_FLAG_AUDIO_PARAM
int av_dict_count(const AVDictionary *m)
Get number of entries in dictionary. 
int av_set_options_string(void *ctx, const char *opts, const char *key_val_sep, const char *pairs_sep)
Parse the key/value pairs list in opts. 
static int set_string_sample_fmt(void *obj, const AVOption *o, const char *val, uint8_t *dst)
static int av_cmp_q(AVRational a, AVRational b)
Compare two rationals. 
int av_dict_copy(AVDictionary **dst, const AVDictionary *src, int flags)
Copy entries from one AVDictionary struct into another. 
int av_opt_set_bin(void *obj, const char *name, const uint8_t *val, int len, int search_flags)
int av_opt_get_q(void *obj, const char *name, int search_flags, AVRational *out_val)
int av_opt_serialize(void *obj, int opt_flags, int flags, char **buffer, const char key_val_sep, const char pairs_sep)
Serialize object's options. 
static void opt_list(void *obj, void *av_log_obj, const char *unit, int req_flags, int rej_flags)
int av_opt_set_dict_val(void *obj, const char *name, const AVDictionary *val, int search_flags)
int av_opt_is_set_to_default_by_name(void *obj, const char *name, int search_flags)
Check if given option is set to its default value. 
int av_bprint_finalize(AVBPrint *buf, char **ret_str)
Finalize a print buffer. 
int av_opt_is_set_to_default(void *obj, const AVOption *o)
Check if given option is set to its default value. 
int av_opt_get_video_rate(void *obj, const char *name, int search_flags, AVRational *out_val)
int av_opt_set_from_string(void *ctx, const char *opts, const char *const *shorthand, const char *key_val_sep, const char *pairs_sep)
Parse the key-value pairs list in opts. 
uint64_t av_get_channel_layout(const char *name)
Return a channel layout id that matches name, or 0 if no match is found. 
#define av_assert0(cond)
assert() equivalent, that is always enabled. 
static int get_format(void *obj, const char *name, int search_flags, int *out_fmt, enum AVOptionType type, const char *desc)
AVOptionRange ** range
Array of option ranges. 
const char * help
short English help text 
AVS_FilterInfo AVS_Value child
static int read_number(const AVOption *o, const void *dst, double *num, int *den, int64_t *intnum)
static av_cold int end(AVCodecContext *avctx)
Accept to parse a value without a key; the key will then be returned as NULL. 
static const char * get_opt_const_name(void *obj, const char *unit, int64_t value)
int av_opt_set_double(void *obj, const char *name, double val, int search_flags)
void av_bprint_append_data(AVBPrint *buf, const char *data, unsigned size)
Append data to a print buffer. 
AVDictionaryEntry * av_dict_get(const AVDictionary *m, const char *key, const AVDictionaryEntry *prev, int flags)
Get a dictionary entry with matching key. 
const OptionDef options[]
static int get_number(void *obj, const char *name, const AVOption **o_out, double *num, int *den, int64_t *intnum, int search_flags)
int av_opt_set_video_rate(void *obj, const char *name, AVRational val, int search_flags)
#define AV_OPT_FLAG_ENCODING_PARAM
a generic parameter which can be set by the user for muxing or encoding 
int av_parse_color(uint8_t *rgba_color, const char *color_string, int slen, void *log_ctx)
Put the RGBA values that correspond to color_string in rgba_color. 
static const double const_values[]
static void * av_x_if_null(const void *p, const void *x)
Return x default pointer in case p is NULL. 
static int set_string_pixel_fmt(void *obj, const AVOption *o, const char *val, uint8_t *dst)
static int hexchar2int(char c)
int av_opt_get_pixel_fmt(void *obj, const char *name, int search_flags, enum AVPixelFormat *out_fmt)
int av_expr_parse_and_eval(double *d, const char *s, const char *const *const_names, const double *const_values, const char *const *func1_names, double(*const *funcs1)(void *, double), const char *const *func2_names, double(*const *funcs2)(void *, double, double), void *opaque, int log_offset, void *log_ctx)
Parse and evaluate an expression. 
int av_opt_set_pixel_fmt(void *obj, const char *name, enum AVPixelFormat fmt, int search_flags)
#define AV_LOG_ERROR
Something went wrong and cannot losslessly be recovered. 
#define AV_BPRINT_SIZE_UNLIMITED
union AVOption::@222 default_val
the default value for scalar options 
void * av_opt_ptr(const AVClass *class, void *obj, const char *name)
Gets a pointer to the requested field in a struct. 
static const uint16_t mask[17]
#define AV_OPT_FLAG_FILTERING_PARAM
a generic parameter which can be set by the user for filtering 
double max
maximum valid value for the option 
void av_bprint_init(AVBPrint *buf, unsigned size_init, unsigned size_max)
#define AV_LOG_DEBUG
Stuff which is only useful for libav* developers. 
void av_dict_free(AVDictionary **pm)
Free all the memory allocated for an AVDictionary struct and all keys and values. ...
int av_opt_set_int(void *obj, const char *name, int64_t val, int search_flags)
simple assert() macros that are a bit more flexible than ISO C assert(). 
const AVOption * av_opt_next(const void *obj, const AVOption *last)
Iterate over all AVOptions belonging to obj. 
int av_match_name(const char *name, const char *names)
Match instances of a name in a comma-separated list of names. 
const char * av_get_sample_fmt_name(enum AVSampleFormat sample_fmt)
Return the name of sample_fmt, or NULL if sample_fmt is not recognized. 
char * av_get_token(const char **buf, const char *term)
Unescape the given string until a non escaped terminating char, and return the token corresponding to...
const AVOption * av_opt_find(void *obj, const char *name, const char *unit, int opt_flags, int search_flags)
Look for an option in an object. 
static int set_string(void *obj, const AVOption *o, const char *val, uint8_t **dst)
int av_opt_get_sample_fmt(void *obj, const char *name, int search_flags, enum AVSampleFormat *out_fmt)
static void callback(void *priv_data, int index, uint8_t *buf, int buf_size, int64_t time, enum dshowDeviceType devtype)
audio channel layout utility functions 
AVRational av_d2q(double d, int max)
Convert a double precision floating point number to a rational. 
#define AV_OPT_SEARCH_CHILDREN
Search in possible children of the given object first. 
GLsizei GLboolean const GLfloat * value
#define av_err2str(errnum)
Convenience macro, the return value should be used only directly in function arguments but never stan...
const char * unit
The logical unit to which the option belongs. 
static int parse_key_value_pair(void *ctx, const char **buf, const char *key_val_sep, const char *pairs_sep)
Store the value in the field in ctx that is named like key. 
double component_min
Value's component range. 
int av_opt_set_channel_layout(void *obj, const char *name, int64_t cl, int search_flags)
double min
minimum valid value for the option 
static int set_string_number(void *obj, void *target_obj, const AVOption *o, const char *val, void *dst)
void av_opt_set_defaults2(void *s, int mask, int flags)
Set the values of all AVOption fields to their default values. 
static int set_string_binary(void *obj, const AVOption *o, const char *val, uint8_t **dst)
int av_opt_set_dict2(void *obj, AVDictionary **options, int search_flags)
Set all the options from a given dictionary on an object. 
const struct AVClass *(* child_class_next)(const struct AVClass *prev)
Return an AVClass corresponding to the next potential AVOptions-enabled child. 
#define FF_ARRAY_ELEMS(a)
offset must point to a pointer immediately followed by an int for the length 
int av_opt_query_ranges_default(AVOptionRanges **ranges_arg, void *obj, const char *key, int flags)
Get a default list of allowed ranges for the given option. 
void * av_memdup(const void *p, size_t size)
Duplicate the buffer p. 
#define AVERROR_PATCHWELCOME
Not yet implemented in FFmpeg, patches welcome. 
int av_opt_get_int(void *obj, const char *name, int search_flags, int64_t *out_val)
static void log_value(void *av_log_obj, int level, double d)
#define AV_LOG_INFO
Standard information. 
static int set_format(void *obj, const char *name, int fmt, int search_flags, enum AVOptionType type, const char *desc, int nb_fmts)
void av_opt_freep_ranges(AVOptionRanges **rangesp)
Free an AVOptionRanges struct and set it to NULL. 
int offset
The offset relative to the context structure where the option value is stored. 
AVSampleFormat
Audio sample formats. 
int av_opt_set_dict(void *obj, AVDictionary **options)
Set all the options from a given dictionary on an object. 
char * av_strdup(const char *s)
Duplicate the string s. 
static int set_number(void *obj, const char *name, double num, int den, int64_t intnum, int search_flags)
int av_opt_show2(void *obj, void *av_log_obj, int req_flags, int rej_flags)
Show the obj options. 
#define AV_OPT_FLAG_VIDEO_PARAM
static void format_duration(char *buf, size_t size, int64_t d)
static int set_string_bool(void *obj, const AVOption *o, const char *val, int *dst)
#define OPT_EVAL_NUMBER(name, opttype, vartype)
int av_opt_get_channel_layout(void *obj, const char *name, int search_flags, int64_t *cl)
int av_dict_set(AVDictionary **pm, const char *key, const char *value, int flags)
Set the given entry in *pm, overwriting an existing entry. 
Describe the class of an AVClass context structure. 
rational number numerator/denominator 
#define AV_OPT_FLAG_DECODING_PARAM
a generic parameter which can be set by the user for demuxing or decoding 
#define AV_OPT_ALLOW_NULL
In av_opt_get, return NULL if the option has a pointer type and is set to NULL, rather than returning...
enum AVSampleFormat av_get_sample_fmt(const char *name)
Return a sample format corresponding to name, or AV_SAMPLE_FMT_NONE on error. 
offset must point to AVRational 
size_t av_strlcatf(char *dst, size_t size, const char *fmt,...)
offset must point to two consecutive integers 
int version
LIBAVUTIL_VERSION with which this structure was created. 
static int set_string_video_rate(void *obj, const AVOption *o, const char *val, AVRational *dst)
void av_bprint_escape(AVBPrint *dstbuf, const char *src, const char *special_chars, enum AVEscapeMode mode, int flags)
Escape the content in src and append it to dstbuf. 
void av_opt_free(void *obj)
Free all allocated objects in obj. 
int av_opt_query_ranges(AVOptionRanges **ranges_arg, void *obj, const char *key, int flags)
Get a list of allowed ranges for the given option. 
double value_min
Value range. 
common internal and external API header 
#define DEFAULT_NUMVAL(opt)
int(* query_ranges)(struct AVOptionRanges **, void *obj, const char *key, int flags)
Callback to return the supported/allowed ranges. 
int av_opt_get_double(void *obj, const char *name, int search_flags, double *out_val)
static int set_string_fmt(void *obj, const AVOption *o, const char *val, uint8_t *dst, int fmt_nb, int((*get_fmt)(const char *)), const char *desc)
int av_opt_copy(void *dst, const void *src)
Copy options from src object into dest object. 
void *(* child_next)(void *obj, void *prev)
Return next AVOptions-enabled child or NULL. 
#define AV_OPT_SEARCH_FAKE_OBJ
The obj passed to av_opt_find() is fake – only a double pointer to AVClass instead of a required poin...
static int write_number(void *obj, const AVOption *o, void *dst, double num, int den, int64_t intnum)
int nb_ranges
Number of ranges per component. 
List of AVOptionRange structs. 
int av_opt_get(void *obj, const char *name, int search_flags, uint8_t **out_val)
#define AV_OPT_SERIALIZE_SKIP_DEFAULTS
Serialize options that are not set to default values only. 
#define AVERROR_OPTION_NOT_FOUND
Option not found. 
int av_opt_get_key_value(const char **ropts, const char *key_val_sep, const char *pairs_sep, unsigned flags, char **rkey, char **rval)
Extract a key-value pair from the beginning of a string. 
#define AV_OPT_FLAG_READONLY
The option may not be set through the AVOptions API, only read. 
int av_opt_flag_is_set(void *obj, const char *field_name, const char *flag_name)
Check whether a particular flag is set in a flags field. 
number of pixel formats, DO NOT USE THIS if you want to link with shared libav* because the number of...
static int set_string_color(void *obj, const AVOption *o, const char *val, uint8_t *dst)
#define AV_DICT_IGNORE_SUFFIX
Return first entry in a dictionary whose first part corresponds to the search key, ignoring the suffix of the found key string. 
#define AV_OPT_SERIALIZE_OPT_FLAGS_EXACT
Serialize options that exactly match opt_flags only. 
const AVOption * av_opt_find2(void *obj, const char *name, const char *unit, int opt_flags, int search_flags, void **target_obj)
Look for an option in an object. 
static const char *const const_names[]
enum AVPixelFormat av_get_pix_fmt(const char *name)
Return the pixel format corresponding to name. 
const char * av_get_pix_fmt_name(enum AVPixelFormat pix_fmt)
Return the short name for a pixel format, NULL in case pix_fmt is unknown. 
int av_opt_set_sample_fmt(void *obj, const char *name, enum AVSampleFormat fmt, int search_flags)
#define AV_OPT_MULTI_COMPONENT_RANGE
Allows av_opt_query_ranges and av_opt_query_ranges_default to return more than one component for cert...
AVPixelFormat
Pixel format. 
int av_opt_set_image_size(void *obj, const char *name, int w, int h, int search_flags)
int av_opt_set(void *obj, const char *name, const char *val, int search_flags)
void * av_mallocz(size_t size)
Allocate a block of size bytes with alignment suitable for all memory accesses (including vectors if ...
static int is_key_char(char c)
simple arithmetic expression evaluator 
int nb_components
Number of componentes. 
int av_opt_get_image_size(void *obj, const char *name, int search_flags, int *w_out, int *h_out)