Go to the documentation of this file.
71 #define OFFSET(x) offsetof(TestContext, x)
73 #define TEST_FLAG_COOL 01
74 #define TEST_FLAG_LAME 02
75 #define TEST_FLAG_MU 04
79 .def =
"str0|str\\|1|str\\\\2",
84 .
def =
"k00=v\\\\\\\\00:k01=v\\,01,k10=v\\\\=1\\\\:0",
135 vfprintf(stdout, fmt, vl);
145 printf(
"Testing default values\n");
158 printf(
"width=%d height=%d\n", test_ctx.
w, test_ctx.
h);
165 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]);
187 printf(
"\nTesting av_opt_is_set_to_default()\n");
208 printf(
"\nTesting av_opt_get/av_opt_set()\n");
240 printf(
"name: %-11s get: %-16s set: %-16s get: %-16s %s\n", o->
name,
244 ret1 >= 0 && ret2 >= 0 && ret3 >= 0 && !strcmp(value1, value2) ?
"OK" :
"Mismatch");
251 printf(
"av_opt_set(\"array_dict\", NULL) -> %d\n",
ret);
252 printf(
"array_dict=%sNULL; nb_array_dict=%u\n",
257 printf(
"av_opt_get(\"array_dict\") -> %s\n",
val ?
val :
"NULL");
263 printf(
"\nTest av_opt_serialize()\n");
276 memset(&test_ctx, 0,
sizeof(test_ctx));
290 printf(
"\nTesting av_set_options_string()\n");
293 static const char *
const options[] = {
309 "flags=+mu-lame : num=42: toggle=0",
310 "num=42 : string=blahblah",
311 "rational=0 : rational=1/2 : rational=1/-1",
324 "video_rate=30000/1001",
325 "video_rate=30/1.001",
329 "duration=1\\:23\\:45.67",
355 "dict1='happy=\\:-):sad=\\:-('",
356 "array_int=0,32,2147483647",
357 "array_int=2147483648",
366 int silence_log = !strcmp(
options[
i],
"rational=-1/0");
379 printf(
"\nTesting av_opt_set_from_string()\n");
382 static const char *
const options[] = {
390 " 5 : hello : size = pal ",
391 "a_very_long_option_name_that_will_need_to_be_ellipsized_around_here=42"
393 static const char *
const shorthand[] = {
"num",
"string",
NULL };
AVPixelFormat
Pixel format.
void av_opt_set_defaults(void *s)
Set the values of all AVOption fields to their default values.
union AVChannelLayout::@352 u
Details about which channels are present in this layout.
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)
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
@ 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 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.
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.
#define LIBAVUTIL_VERSION_INT
Describe the class of an AVClass context structure.
Rational number (pair of numerator and denominator).
@ AV_OPT_TYPE_IMAGE_SIZE
offset must point to two consecutive integers
enum AVPixelFormat pix_fmt
const OptionDef options[]
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)
AVDictionary ** array_dict
#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.