World of Might and Magic  0.2.0
Open reimplementation of Might and Magic 6 7 8 game engine
+ Граф связей класса AVOptions:

Группы

 Evaluating option strings
 This group of functions can be used to evaluate option strings and get numbers out of them. They do the same thing as av_opt_set(), except the result is written into the caller-supplied pointer.
 
 Option setting functions
 Those functions set the field of obj with the given name to value.
 
 Option getting functions
 Those functions get a value of the option with the given name from an object.
 

Классы

struct  AVOption
 
struct  AVOptionRange
 
struct  AVOptionRanges
 

Определения типов

typedef struct AVOption AVOption
 
typedef struct AVOptionRange AVOptionRange
 
typedef struct AVOptionRanges AVOptionRanges
 

Перечисления

enum  AVOptionType {
  AV_OPT_TYPE_FLAGS, AV_OPT_TYPE_INT, AV_OPT_TYPE_INT64, AV_OPT_TYPE_DOUBLE,
  AV_OPT_TYPE_FLOAT, AV_OPT_TYPE_STRING, AV_OPT_TYPE_RATIONAL, AV_OPT_TYPE_BINARY,
  AV_OPT_TYPE_DICT, AV_OPT_TYPE_UINT64, AV_OPT_TYPE_CONST, AV_OPT_TYPE_IMAGE_SIZE,
  AV_OPT_TYPE_PIXEL_FMT, AV_OPT_TYPE_SAMPLE_FMT, AV_OPT_TYPE_VIDEO_RATE, AV_OPT_TYPE_DURATION,
  AV_OPT_TYPE_COLOR, AV_OPT_TYPE_CHANNEL_LAYOUT, AV_OPT_TYPE_BOOL
}
 
enum  { AV_OPT_FLAG_IMPLICIT_KEY = 1 }
 

Функции

int av_opt_show2 (void *obj, void *av_log_obj, int req_flags, int rej_flags)
 
void av_opt_set_defaults (void *s)
 
void av_opt_set_defaults2 (void *s, int mask, int flags)
 
int av_set_options_string (void *ctx, const char *opts, const char *key_val_sep, const char *pairs_sep)
 
int av_opt_set_from_string (void *ctx, const char *opts, const char *const *shorthand, const char *key_val_sep, const char *pairs_sep)
 
void av_opt_free (void *obj)
 
int av_opt_flag_is_set (void *obj, const char *field_name, const char *flag_name)
 
int av_opt_set_dict (void *obj, struct AVDictionary **options)
 
int av_opt_set_dict2 (void *obj, struct AVDictionary **options, int search_flags)
 
int av_opt_get_key_value (const char **ropts, const char *key_val_sep, const char *pairs_sep, unsigned flags, char **rkey, char **rval)
 
const AVOptionav_opt_find (void *obj, const char *name, const char *unit, int opt_flags, int search_flags)
 
const AVOptionav_opt_find2 (void *obj, const char *name, const char *unit, int opt_flags, int search_flags, void **target_obj)
 
const AVOptionav_opt_next (const void *obj, const AVOption *prev)
 
voidav_opt_child_next (void *obj, void *prev)
 
const AVClassav_opt_child_class_next (const AVClass *parent, const AVClass *prev)
 
voidav_opt_ptr (const AVClass *avclass, void *obj, const char *name)
 
void av_opt_freep_ranges (AVOptionRanges **ranges)
 
int av_opt_query_ranges (AVOptionRanges **, void *obj, const char *key, int flags)
 
int av_opt_copy (void *dest, const void *src)
 
int av_opt_query_ranges_default (AVOptionRanges **, void *obj, const char *key, int flags)
 
int av_opt_is_set_to_default (void *obj, const AVOption *o)
 
int av_opt_is_set_to_default_by_name (void *obj, const char *name, int search_flags)
 
int av_opt_serialize (void *obj, int opt_flags, int flags, char **buffer, const char key_val_sep, const char pairs_sep)
 

Подробное описание

AVOptions provide a generic system to declare options on arbitrary structs ("objects"). An option can have a help text, a type and a range of possible values. Options may then be enumerated, read and written to.

Implementing AVOptions

This section describes how to add AVOptions capabilities to a struct.

All AVOptions-related information is stored in an AVClass. Therefore the first member of the struct should be a pointer to an AVClass describing it. The option field of the AVClass must be set to a NULL-terminated static array of AVOptions. Each AVOption must have a non-empty name, a type, a default value and for number-type AVOptions also a range of allowed values. It must also declare an offset in bytes from the start of the struct, where the field associated with this AVOption is located. Other fields in the AVOption struct should also be set when applicable, but are not required.

The following example illustrates an AVOptions-enabled struct:

typedef struct test_struct {
const AVClass *class;
int int_opt;
char *str_opt;
uint8_t *bin_opt;
int bin_len;
} test_struct;
static const AVOption test_options[] = {
{ "test_int", "This is a test option of int type.", offsetof(test_struct, int_opt),
AV_OPT_TYPE_INT, { .i64 = -1 }, INT_MIN, INT_MAX },
{ "test_str", "This is a test option of string type.", offsetof(test_struct, str_opt),
{ "test_bin", "This is a test option of binary type.", offsetof(test_struct, bin_opt),
{ NULL },
};
static const AVClass test_class = {
.class_name = "test class",
.item_name = av_default_item_name,
.option = test_options,
.version = LIBAVUTIL_VERSION_INT,
};

Next, when allocating your struct, you must ensure that the AVClass pointer is set to the correct value. Then, av_opt_set_defaults() can be called to initialize defaults. After that the struct is ready to be used with the AVOptions API.

When cleaning up, you may use the av_opt_free() function to automatically free all the allocated string and binary options.

Continuing with the above example:

test_struct *alloc_test_struct(void)
{
test_struct *ret = av_mallocz(sizeof(*ret));
ret->class = &test_class;
return ret;
}
void free_test_struct(test_struct **foo)
{
av_opt_free(*foo);
av_freep(foo);
}

Nesting

It may happen that an AVOptions-enabled struct contains another AVOptions-enabled struct as a member (e.g. AVCodecContext in libavcodec exports generic options, while its priv_data field exports codec-specific options). In such a case, it is possible to set up the parent struct to export a child's options. To do that, simply implement AVClass.child_next() and AVClass.child_class_next() in the parent struct's AVClass. Assuming that the test_struct from above now also contains a child_struct field:

typedef struct child_struct {
AVClass *class;
int flags_opt;
} child_struct;
static const AVOption child_opts[] = {
{ "test_flags", "This is a test option of flags type.",
offsetof(child_struct, flags_opt), AV_OPT_TYPE_FLAGS, { .i64 = 0 }, INT_MIN, INT_MAX },
{ NULL },
};
static const AVClass child_class = {
.class_name = "child class",
.item_name = av_default_item_name,
.option = child_opts,
.version = LIBAVUTIL_VERSION_INT,
};
void *child_next(void *obj, void *prev)
{
test_struct *t = obj;
if (!prev && t->child_struct)
return t->child_struct;
return NULL
}
const AVClass child_class_next(const AVClass *prev)
{
return prev ? NULL : &child_class;
}

Putting child_next() and child_class_next() as defined above into test_class will now make child_struct's options accessible through test_struct (again, proper setup as described above needs to be done on child_struct right after it is created).

From the above example it might not be clear why both child_next() and child_class_next() are needed. The distinction is that child_next() iterates over actually existing objects, while child_class_next() iterates over all possible child classes. E.g. if an AVCodecContext was initialized to use a codec which has private options, then its child_next() will return AVCodecContext.priv_data and finish iterating. OTOH child_class_next() on AVCodecContext.av_class will iterate over all available codecs with private options.

Named constants

It is possible to create named constants for options. Simply set the unit field of the option the constants should apply to a string and create the constants themselves as options of type AV_OPT_TYPE_CONST with their unit field set to the same string. Their default_val field should contain the value of the named constant. For example, to add some named constants for the test_flags option above, put the following into the child_opts array:

{ "test_flags", "This is a test option of flags type.",
offsetof(child_struct, flags_opt), AV_OPT_TYPE_FLAGS, { .i64 = 0 }, INT_MIN, INT_MAX, "test_unit" },
{ "flag1", "This is a flag with value 16", 0, AV_OPT_TYPE_CONST, { .i64 = 16 }, 0, 0, "test_unit" },

Using AVOptions

This section deals with accessing options in an AVOptions-enabled struct. Such structs in FFmpeg are e.g. AVCodecContext in libavcodec or AVFormatContext in libavformat.

Examining AVOptions

The basic functions for examining options are av_opt_next(), which iterates over all options defined for one object, and av_opt_find(), which searches for an option with the given name.

The situation is more complicated with nesting. An AVOptions-enabled struct may have AVOptions-enabled children. Passing the AV_OPT_SEARCH_CHILDREN flag to av_opt_find() will make the function search children recursively.

For enumerating there are basically two cases. The first is when you want to get all options that may potentially exist on the struct and its children (e.g. when constructing documentation). In that case you should call av_opt_child_class_next() recursively on the parent struct's AVClass. The second case is when you have an already initialized struct with all its children and you want to get all options that can be actually written or read from it. In that case you should call av_opt_child_next() recursively (and av_opt_next() on each result).

Reading and writing AVOptions

When setting options, you often have a string read directly from the user. In such a case, simply passing it to av_opt_set() is enough. For non-string type options, av_opt_set() will parse the string according to the option type.

Similarly av_opt_get() will read any option type and convert it to a string which will be returned. Do not forget that the string is allocated, so you have to free it with av_free().

In some cases it may be more convenient to put all options into an AVDictionary and call av_opt_set_dict() on it. A specific case of this are the format/codec open functions in lavf/lavc which take a dictionary filled with option as a parameter. This makes it possible to set some options that cannot be set otherwise, since e.g. the input file format is not known before the file is actually opened.

Типы

◆ AVOption

◆ AVOptionRange

typedef struct AVOptionRange AVOptionRange

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/opt.h>

A single allowed range of values, or a single allowed value.

◆ AVOptionRanges

Перечисления

◆ AVOptionType

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/opt.h>

Элементы перечислений
AV_OPT_TYPE_FLAGS 
AV_OPT_TYPE_INT 
AV_OPT_TYPE_INT64 
AV_OPT_TYPE_DOUBLE 
AV_OPT_TYPE_FLOAT 
AV_OPT_TYPE_STRING 
AV_OPT_TYPE_RATIONAL 
AV_OPT_TYPE_BINARY 

offset must point to a pointer immediately followed by an int for the length

AV_OPT_TYPE_DICT 
AV_OPT_TYPE_UINT64 
AV_OPT_TYPE_CONST 
AV_OPT_TYPE_IMAGE_SIZE 

offset must point to two consecutive integers

AV_OPT_TYPE_PIXEL_FMT 
AV_OPT_TYPE_SAMPLE_FMT 
AV_OPT_TYPE_VIDEO_RATE 

offset must point to AVRational

AV_OPT_TYPE_DURATION 
AV_OPT_TYPE_COLOR 
AV_OPT_TYPE_CHANNEL_LAYOUT 
AV_OPT_TYPE_BOOL 

См. определение в файле opt.h строка 221

◆ anonymous enum

anonymous enum

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/opt.h>

Элементы перечислений
AV_OPT_FLAG_IMPLICIT_KEY 

Accept to parse a value without a key; the key will then be returned as NULL.

См. определение в файле opt.h строка 523

523  {
524 
530 };

Функции

◆ av_opt_show2()

int av_opt_show2 ( void obj,
void av_log_obj,
int  req_flags,
int  rej_flags 
)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/opt.h>

Show the obj options.

Аргументы
req_flagsrequested flags for the options to show. Show only the options for which it is opt->flags & req_flags.
rej_flagsrejected flags for the options to show. Show only the options for which it is !(opt->flags & req_flags).
av_log_objlog context to use for showing the options

◆ av_opt_set_defaults()

void av_opt_set_defaults ( void s)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/opt.h>

Set the values of all AVOption fields to their default values.

Аргументы
san AVOption-enabled struct (its first member must be a pointer to AVClass)

◆ av_opt_set_defaults2()

void av_opt_set_defaults2 ( void s,
int  mask,
int  flags 
)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/opt.h>

Set the values of all AVOption fields to their default values. Only these AVOption fields for which (opt->flags & mask) == flags will have their default applied to s.

Аргументы
san AVOption-enabled struct (its first member must be a pointer to AVClass)
maskcombination of AV_OPT_FLAG_*
flagscombination of AV_OPT_FLAG_*

◆ av_set_options_string()

int av_set_options_string ( void ctx,
const char *  opts,
const char *  key_val_sep,
const char *  pairs_sep 
)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/opt.h>

Parse the key/value pairs list in opts. For each key/value pair found, stores the value in the field in ctx that is named like the key. ctx must be an AVClass context, storing is done using AVOptions.

Аргументы
optsoptions string to parse, may be NULL
key_val_sepa 0-terminated list of characters used to separate key from value
pairs_sepa 0-terminated list of characters used to separate two pairs from each other
Возвращает
the number of successfully set key/value pairs, or a negative value corresponding to an AVERROR code in case of error: AVERROR(EINVAL) if opts cannot be parsed, the error code issued by av_opt_set() if a key/value pair cannot be set

◆ av_opt_set_from_string()

int av_opt_set_from_string ( void ctx,
const char *  opts,
const char *const *  shorthand,
const char *  key_val_sep,
const char *  pairs_sep 
)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/opt.h>

Parse the key-value pairs list in opts. For each key=value pair found, set the value of the corresponding option in ctx.

Аргументы
ctxthe AVClass object to set options on
optsthe options string, key-value pairs separated by a delimiter
shorthanda NULL-terminated array of options names for shorthand notation: if the first field in opts has no key part, the key is taken from the first element of shorthand; then again for the second, etc., until either opts is finished, shorthand is finished or a named option is found; after that, all options must be named
key_val_sepa 0-terminated list of characters used to separate key from value, for example '='
pairs_sepa 0-terminated list of characters used to separate two pairs from each other, for example ':' or ','
Возвращает
the number of successfully set key=value pairs, or a negative value corresponding to an AVERROR code in case of error: AVERROR(EINVAL) if opts cannot be parsed, the error code issued by av_set_string3() if a key/value pair cannot be set

Options names must use only the following characters: a-z A-Z 0-9 - . / _ Separators must use characters distinct from option names and from each other.

◆ av_opt_free()

void av_opt_free ( void obj)

◆ av_opt_flag_is_set()

int av_opt_flag_is_set ( void obj,
const char *  field_name,
const char *  flag_name 
)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/opt.h>

Check whether a particular flag is set in a flags field.

Аргументы
field_namethe name of the flag field option
flag_namethe name of the flag to check
Возвращает
non-zero if the flag is set, zero if the flag isn't set, isn't of the right type, or the flags field doesn't exist.

◆ av_opt_set_dict()

int av_opt_set_dict ( void obj,
struct AVDictionary **  options 
)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/opt.h>

Set all the options from a given dictionary on an object.

Аргументы
obja struct whose first element is a pointer to AVClass
optionsoptions to process. This dictionary will be freed and replaced by a new one containing all options not found in obj. Of course this new dictionary needs to be freed by caller with av_dict_free().
Возвращает
0 on success, a negative AVERROR if some option was found in obj, but could not be set.
См. также
av_dict_copy()

◆ av_opt_set_dict2()

int av_opt_set_dict2 ( void obj,
struct AVDictionary **  options,
int  search_flags 
)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/opt.h>

Set all the options from a given dictionary on an object.

Аргументы
obja struct whose first element is a pointer to AVClass
optionsoptions to process. This dictionary will be freed and replaced by a new one containing all options not found in obj. Of course this new dictionary needs to be freed by caller with av_dict_free().
search_flagsA combination of AV_OPT_SEARCH_*.
Возвращает
0 on success, a negative AVERROR if some option was found in obj, but could not be set.
См. также
av_dict_copy()

◆ av_opt_get_key_value()

int av_opt_get_key_value ( const char **  ropts,
const char *  key_val_sep,
const char *  pairs_sep,
unsigned  flags,
char **  rkey,
char **  rval 
)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/opt.h>

Extract a key-value pair from the beginning of a string.

Аргументы
roptspointer to the options string, will be updated to point to the rest of the string (one of the pairs_sep or the final NUL)
key_val_sepa 0-terminated list of characters used to separate key from value, for example '='
pairs_sepa 0-terminated list of characters used to separate two pairs from each other, for example ':' or ','
flagsflags; see the AV_OPT_FLAG_* values below
rkeyparsed key; must be freed using av_free()
rvalparsed value; must be freed using av_free()
Возвращает
>=0 for success, or a negative value corresponding to an AVERROR code in case of error; in particular: AVERROR(EINVAL) if no key is present

◆ av_opt_find()

const AVOption* av_opt_find ( void obj,
const char *  name,
const char *  unit,
int  opt_flags,
int  search_flags 
)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/opt.h>

Look for an option in an object. Consider only options which have all the specified flags set.

Аргументы
[in]objA pointer to a struct whose first element is a pointer to an AVClass. Alternatively a double pointer to an AVClass, if AV_OPT_SEARCH_FAKE_OBJ search flag is set.
[in]nameThe name of the option to look for.
[in]unitWhen searching for named constants, name of the unit it belongs to.
opt_flagsFind only options with all the specified flags set (AV_OPT_FLAG).
search_flagsA combination of AV_OPT_SEARCH_*.
Возвращает
A pointer to the option found, or NULL if no option was found.
Заметки
Options found with AV_OPT_SEARCH_CHILDREN flag may not be settable directly with av_opt_set(). Use special calls which take an options AVDictionary (e.g. avformat_open_input()) to set options found with this flag.

◆ av_opt_find2()

const AVOption* av_opt_find2 ( void obj,
const char *  name,
const char *  unit,
int  opt_flags,
int  search_flags,
void **  target_obj 
)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/opt.h>

Look for an option in an object. Consider only options which have all the specified flags set.

Аргументы
[in]objA pointer to a struct whose first element is a pointer to an AVClass. Alternatively a double pointer to an AVClass, if AV_OPT_SEARCH_FAKE_OBJ search flag is set.
[in]nameThe name of the option to look for.
[in]unitWhen searching for named constants, name of the unit it belongs to.
opt_flagsFind only options with all the specified flags set (AV_OPT_FLAG).
search_flagsA combination of AV_OPT_SEARCH_*.
[out]target_objif non-NULL, an object to which the option belongs will be written here. It may be different from obj if AV_OPT_SEARCH_CHILDREN is present in search_flags. This parameter is ignored if search_flags contain AV_OPT_SEARCH_FAKE_OBJ.
Возвращает
A pointer to the option found, or NULL if no option was found.

◆ av_opt_next()

const AVOption* av_opt_next ( const void obj,
const AVOption prev 
)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/opt.h>

Iterate over all AVOptions belonging to obj.

Аргументы
objan AVOptions-enabled struct or a double pointer to an AVClass describing it.
prevresult of the previous call to av_opt_next() on this object or NULL
Возвращает
next AVOption or NULL

◆ av_opt_child_next()

void* av_opt_child_next ( void obj,
void prev 
)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/opt.h>

Iterate over AVOptions-enabled children of obj.

Аргументы
prevresult of a previous call to this function or NULL
Возвращает
next AVOptions-enabled child or NULL

◆ av_opt_child_class_next()

const AVClass* av_opt_child_class_next ( const AVClass parent,
const AVClass prev 
)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/opt.h>

Iterate over potential AVOptions-enabled children of parent.

Аргументы
prevresult of a previous call to this function or NULL
Возвращает
AVClass corresponding to next potential child or NULL

◆ av_opt_ptr()

void* av_opt_ptr ( const AVClass avclass,
void obj,
const char *  name 
)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/opt.h>

Gets a pointer to the requested field in a struct. This function allows accessing a struct even when its fields are moved or renamed since the application making the access has been compiled,

Возвращает
a pointer to the field, it can be cast to the correct type and read or written to.

◆ av_opt_freep_ranges()

void av_opt_freep_ranges ( AVOptionRanges **  ranges)

◆ av_opt_query_ranges()

int av_opt_query_ranges ( AVOptionRanges **  ,
void obj,
const char *  key,
int  flags 
)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/opt.h>

Get a list of allowed ranges for the given option.

The returned list may depend on other fields in obj like for example profile.

Аргументы
flagsis a bitmask of flags, undefined flags should not be set and should be ignored AV_OPT_SEARCH_FAKE_OBJ indicates that the obj is a double pointer to a AVClass instead of a full instance AV_OPT_MULTI_COMPONENT_RANGE indicates that function may return more than one component,
См. также
AVOptionRanges

The result must be freed with av_opt_freep_ranges.

Возвращает
number of compontents returned on success, a negative errro code otherwise

◆ av_opt_copy()

int av_opt_copy ( void dest,
const void src 
)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/opt.h>

Copy options from src object into dest object.

Options that require memory allocation (e.g. string or binary) are malloc'ed in dest object. Original memory allocated for such options is freed unless both src and dest options points to the same memory.

Аргументы
destObject to copy from
srcObject to copy into
Возвращает
0 on success, negative on error

◆ av_opt_query_ranges_default()

int av_opt_query_ranges_default ( AVOptionRanges **  ,
void obj,
const char *  key,
int  flags 
)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/opt.h>

Get a default list of allowed ranges for the given option.

This list is constructed without using the AVClass.query_ranges() callback and can be used as fallback from within the callback.

Аргументы
flagsis a bitmask of flags, undefined flags should not be set and should be ignored AV_OPT_SEARCH_FAKE_OBJ indicates that the obj is a double pointer to a AVClass instead of a full instance AV_OPT_MULTI_COMPONENT_RANGE indicates that function may return more than one component,
См. также
AVOptionRanges

The result must be freed with av_opt_free_ranges.

Возвращает
number of compontents returned on success, a negative errro code otherwise

◆ av_opt_is_set_to_default()

int av_opt_is_set_to_default ( void obj,
const AVOption o 
)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/opt.h>

Check if given option is set to its default value.

Options o must belong to the obj. This function must not be called to check child's options state.

См. также
av_opt_is_set_to_default_by_name().
Аргументы
objAVClass object to check option on
ooption to be checked
Возвращает
>0 when option is set to its default, 0 when option is not set its default, <0 on error

◆ av_opt_is_set_to_default_by_name()

int av_opt_is_set_to_default_by_name ( void obj,
const char *  name,
int  search_flags 
)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/opt.h>

Check if given option is set to its default value.

Аргументы
objAVClass object to check option on
nameoption name
search_flagscombination of AV_OPT_SEARCH_*
Возвращает
>0 when option is set to its default, 0 when option is not set its default, <0 on error

◆ av_opt_serialize()

int av_opt_serialize ( void obj,
int  opt_flags,
int  flags,
char **  buffer,
const char  key_val_sep,
const char  pairs_sep 
)

#include <C:/git/world-of-might-and-magic/lib/win32/x86/ffmpeg-4.2.2/include/libavutil/opt.h>

Serialize object's options.

Create a string containing object's serialized options. Such string may be passed back to av_opt_set_from_string() in order to restore option values. A key/value or pairs separator occurring in the serialized value or name string are escaped through the av_escape() function.

Аргументы
[in]objAVClass object to serialize
[in]opt_flagsserialize options with all the specified flags set (AV_OPT_FLAG)
[in]flagscombination of AV_OPT_SERIALIZE_* flags
[out]bufferPointer to buffer that will be allocated with string containg serialized options. Buffer must be freed by the caller when is no longer needed.
[in]key_val_sepcharacter used to separate key from value
[in]pairs_sepcharacter used to separate two pairs from each other
Возвращает
>= 0 on success, negative on error
Предупреждения
Separators cannot be neither '\' nor '\0'. They also cannot be the same.
AV_OPT_TYPE_SAMPLE_FMT
@ AV_OPT_TYPE_SAMPLE_FMT
Definition: opt.h:235
av_opt_set_defaults
void av_opt_set_defaults(void *s)
AV_OPT_TYPE_VIDEO_RATE
@ AV_OPT_TYPE_VIDEO_RATE
offset must point to AVRational
Definition: opt.h:236
AV_OPT_TYPE_DURATION
@ AV_OPT_TYPE_DURATION
Definition: opt.h:237
AV_OPT_TYPE_RATIONAL
@ AV_OPT_TYPE_RATIONAL
Definition: opt.h:228
AV_OPT_FLAG_IMPLICIT_KEY
@ AV_OPT_FLAG_IMPLICIT_KEY
Definition: opt.h:529
AV_OPT_TYPE_BINARY
@ AV_OPT_TYPE_BINARY
offset must point to a pointer immediately followed by an int for the length
Definition: opt.h:229
AV_OPT_TYPE_DOUBLE
@ AV_OPT_TYPE_DOUBLE
Definition: opt.h:225
av_freep
void av_freep(void *ptr)
AV_OPT_TYPE_INT64
@ AV_OPT_TYPE_INT64
Definition: opt.h:224
AVOption
Definition: opt.h:246
AVClass::class_name
const char * class_name
Definition: log.h:72
AV_OPT_TYPE_COLOR
@ AV_OPT_TYPE_COLOR
Definition: opt.h:238
AV_OPT_TYPE_IMAGE_SIZE
@ AV_OPT_TYPE_IMAGE_SIZE
offset must point to two consecutive integers
Definition: opt.h:233
AV_OPT_TYPE_DICT
@ AV_OPT_TYPE_DICT
Definition: opt.h:230
av_default_item_name
const char * av_default_item_name(void *ctx)
av_opt_free
void av_opt_free(void *obj)
av_mallocz
void * av_mallocz(size_t size) av_malloc_attrib av_alloc_size(1)
AV_OPT_TYPE_CHANNEL_LAYOUT
@ AV_OPT_TYPE_CHANNEL_LAYOUT
Definition: opt.h:239
AVClass
Definition: log.h:67
t
GLdouble GLdouble t
Definition: SDL_opengl.h:2071
AV_OPT_TYPE_FLOAT
@ AV_OPT_TYPE_FLOAT
Definition: opt.h:226
uint8_t
unsigned __int8 uint8_t
Definition: SDL_config.h:35
AV_OPT_TYPE_INT
@ AV_OPT_TYPE_INT
Definition: opt.h:223
AV_OPT_TYPE_PIXEL_FMT
@ AV_OPT_TYPE_PIXEL_FMT
Definition: opt.h:234
obj
GLhandleARB obj
Definition: SDL_opengl_glext.h:3622
AV_OPT_TYPE_BOOL
@ AV_OPT_TYPE_BOOL
Definition: opt.h:240
AV_OPT_TYPE_FLAGS
@ AV_OPT_TYPE_FLAGS
Definition: opt.h:222
AV_OPT_TYPE_STRING
@ AV_OPT_TYPE_STRING
Definition: opt.h:227
AV_OPT_TYPE_CONST
@ AV_OPT_TYPE_CONST
Definition: opt.h:232
AV_OPT_TYPE_UINT64
@ AV_OPT_TYPE_UINT64
Definition: opt.h:231