Go to the documentation of this file.
73 #define OFFSET(x) offsetof(TestContext, x)
75 #define TEST_FLAG_COOL 01
76 #define TEST_FLAG_LAME 02
77 #define TEST_FLAG_MU 04
81 .def =
"str0|str\\|1|str\\\\2",
86 .
def =
"k00=v\\\\\\\\00:k01=v\\,01,k10=v\\\\=1\\\\:0",
136 #define OFFSET(x) offsetof(ChildContext, x)
160 return test_ctx->
child;
174 vfprintf(stdout, fmt, vl);
184 printf(
"Testing default values\n");
198 printf(
"width=%d height=%d\n", test_ctx.
w, test_ctx.
h);
205 printf(
"binary=%x %x %x %x\n", ((uint8_t*)test_ctx.
binary)[0], ((uint8_t*)test_ctx.
binary)[1], ((uint8_t*)test_ctx.
binary)[2], ((uint8_t*)test_ctx.
binary)[3]);
227 printf(
"\nTesting av_opt_is_set_to_default()\n");
248 printf(
"\nTesting av_opt_get/av_opt_set()\n");
280 printf(
"name: %-11s get: %-16s set: %-16s get: %-16s %s\n", o->
name,
284 ret1 >= 0 && ret2 >= 0 && ret3 >= 0 && !strcmp(value1, value2) ?
"OK" :
"Mismatch");
291 printf(
"av_opt_set(\"array_dict\", NULL) -> %d\n",
ret);
292 printf(
"array_dict=%sNULL; nb_array_dict=%u\n",
297 printf(
"av_opt_get(\"array_dict\") -> %s\n",
val ?
val :
"NULL");
303 printf(
"\nTest av_opt_serialize()\n");
315 memset(&test_ctx, 0,
sizeof(test_ctx));
324 test_ctx.
child = &child_ctx;
327 &buf,
'=',
',') >= 0) {
338 printf(
"\nTesting av_set_options_string()\n");
341 static const char *
const options[] = {
357 "flags=+mu-lame : num=42: toggle=0",
358 "num=42 : string=blahblah",
359 "rational=0 : rational=1/2 : rational=1/-1",
372 "video_rate=30000/1001",
373 "video_rate=30/1.001",
377 "duration=1\\:23\\:45.67",
417 "dict1='happy=\\:-):sad=\\:-('",
418 "array_int=0,32,2147483647",
419 "array_int=2147483648",
428 int silence_log = !strcmp(
options[
i],
"rational=-1/0");
441 printf(
"\nTesting av_opt_set_from_string()\n");
444 static const char *
const options[] = {
452 " 5 : hello : size = pal ",
453 "a_very_long_option_name_that_will_need_to_be_ellipsized_around_here=42"
455 static const char *
const shorthand[] = {
"num",
"string",
NULL };
472 printf(
"\nTesting av_opt_find2()\n");
481 test_ctx.
child = &child_ctx;
487 if (opt && target == &test_ctx)
497 printf(
"Error 'num64'\n");
504 printf(
"Error 'child_num'\n");
508 if (opt && target == &child_ctx)
511 printf(
"Error 'child_num'\n");
#define AV_OPT_SEARCH_CHILDREN
Search in possible children of the given object first.
AVPixelFormat
Pixel format.
void av_opt_set_defaults(void *s)
Set the values of all AVOption fields to their default values.
char sep
Separator between array elements in string representations of this option, used by av_opt_set() and a...
#define AV_LOG_QUIET
Print no output.
May be set as default_val for AV_OPT_TYPE_FLAG_ARRAY options.
@ AV_OPT_TYPE_VIDEO_RATE
offset must point to AVRational
#define AV_CH_LAYOUT_HEXAGONAL
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.
static const char * test_get_name(void *ctx)
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.
uint64_t mask
This member must be used for AV_CHANNEL_ORDER_NATIVE, and may be used for AV_CHANNEL_ORDER_AMBISONIC ...
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 const AVOptionArrayDef array_str
#define AV_OPT_SERIALIZE_SEARCH_CHILDREN
Serialize options in possible children of the given object.
@ AV_OPT_TYPE_BINARY
offset must point to a pointer immediately followed by an int for the length
void av_opt_free(void *obj)
Free all allocated objects in obj.
static double val(void *priv, double ch)
int av_opt_set(void *obj, const char *name, const char *val, int search_flags)
#define AV_OPT_SERIALIZE_SKIP_DEFAULTS
Serialize options that are not set to default values only.
#define FF_ARRAY_ELEMS(a)
const char * def
Native access only.
static enum AVPixelFormat pix_fmt
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.
#define AV_LOG_DEBUG
Stuff which is only useful for libav* developers.
static const AVOption child_options[]
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.
static const char * child_get_name(void *ctx)
union AVChannelLayout::@379 u
Details about which channels are present in this layout.
#define LIBAVUTIL_VERSION_INT
Describe the class of an AVClass context structure.
Rational number (pair of numerator and denominator).
static const AVClass child_class
@ AV_OPT_TYPE_IMAGE_SIZE
offset must point to two consecutive ints
enum AVPixelFormat pix_fmt
const OptionDef options[]
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.
void av_log_set_callback(void(*callback)(void *, int, const char *, va_list))
Set the logging callback.
An AVChannelLayout holds information about the channel layout of audio data.
@ AV_OPT_TYPE_FLAG_ARRAY
May be combined with another regular option type to declare an array option.
#define av_err2str(errnum)
Convenience macro, the return value should be used only directly in function arguments but never stan...
printf("static const uint8_t my_array[100] = {\n")
int av_opt_show2(void *obj, void *av_log_obj, int req_flags, int rej_flags)
Show the obj options.
static const AVOptionArrayDef array_dict
const AVOption * av_opt_next(const void *obj, const AVOption *last)
Iterate over all AVOptions belonging to obj.
void av_log_set_level(int level)
Set the log level.
AVChannelLayout channel_layout
#define i(width, name, range_min, range_max)
AVSampleFormat
Audio sample formats.
@ AV_SAMPLE_FMT_S16
signed 16 bits
@ AV_PIX_FMT_0BGR
packed BGR 8:8:8, 32bpp, XBGRXBGR... X=unused/undefined
const char * class_name
The name of the class; usually it is the same name as the context structure type to which the AVClass...
#define AV_OPT_FLAG_RUNTIME_PARAM
A generic parameter which can be set by the user at runtime.
static void log_callback_help(void *ptr, int level, const char *fmt, va_list vl)
struct ChildContext * child
AVDictionary ** array_dict
static void * test_child_next(void *obj, void *prev)
#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...
static const AVClass test_class
#define flags(name, subs,...)
#define AVERROR_BUG
Internal bug, also see AVERROR_BUG2.
int av_opt_get(void *obj, const char *name, int search_flags, uint8_t **out_val)
static const AVOption test_options[]
enum AVSampleFormat sample_fmt
const AVDictionaryEntry * av_dict_iterate(const AVDictionary *m, const AVDictionaryEntry *prev)
Iterate over a dictionary.
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.
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.