Go to the documentation of this file.
276 #define AV_OPT_FLAG_ENCODING_PARAM 1
277 #define AV_OPT_FLAG_DECODING_PARAM 2
278 #define AV_OPT_FLAG_AUDIO_PARAM 8
279 #define AV_OPT_FLAG_VIDEO_PARAM 16
280 #define AV_OPT_FLAG_SUBTITLE_PARAM 32
284 #define AV_OPT_FLAG_EXPORT 64
289 #define AV_OPT_FLAG_READONLY 128
290 #define AV_OPT_FLAG_BSF_PARAM (1<<8)
291 #define AV_OPT_FLAG_RUNTIME_PARAM (1<<15)
292 #define AV_OPT_FLAG_FILTERING_PARAM (1<<16)
293 #define AV_OPT_FLAG_DEPRECATED (1<<17)
294 #define AV_OPT_FLAG_CHILD_CONSTS (1<<18)
295 //FIXME think about enc-audio, ... style flags
382 int av_opt_show2(
void *obj,
void *av_log_obj,
int req_flags,
int rej_flags);
420 const char *key_val_sep,
const char *pairs_sep);
450 const char *
const *shorthand,
451 const char *key_val_sep,
const char *pairs_sep);
521 const char *key_val_sep,
const char *pairs_sep,
523 char **rkey,
char **rval);
558 #define AV_OPT_SEARCH_CHILDREN (1 << 0)
566 #define AV_OPT_SEARCH_FAKE_OBJ (1 << 1)
572 #define AV_OPT_ALLOW_NULL (1 << 2)
579 #define AV_OPT_MULTI_COMPONENT_RANGE (1 << 12)
604 int opt_flags,
int search_flags);
628 int opt_flags,
int search_flags,
void **target_obj);
712 #define av_opt_set_int_list(obj, name, val, term, flags) \
713 (av_int_list_length(val, term) > INT_MAX / sizeof(*(val)) ? \
715 av_opt_set_bin(obj, name, (const uint8_t *)(val), \
716 av_int_list_length(val, term) * sizeof(*(val)), flags))
844 #define AV_OPT_SERIALIZE_SKIP_DEFAULTS 0x00000001
845 #define AV_OPT_SERIALIZE_OPT_FLAGS_EXACT 0x00000002
866 const char key_val_sep,
const char pairs_sep);
int av_opt_get_dict_val(void *obj, const char *name, int search_flags, AVDictionary **out_val)
int av_opt_set_image_size(void *obj, const char *name, int w, int h, int search_flags)
AVPixelFormat
Pixel format.
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf default minimum maximum flags name is the option name
int nb_components
Number of componentes.
void av_opt_set_defaults(void *s)
Set the values of all AVOption fields to their default values.
void * av_opt_ptr(const AVClass *avclass, void *obj, const char *name)
Gets a pointer to the requested field in a struct.
@ AV_OPT_TYPE_VIDEO_RATE
offset must point to AVRational
double value_min
Value range.
int nb_ranges
Number of ranges per component.
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_opt_set_double(void *obj, const char *name, double val, int search_flags)
int av_opt_is_set_to_default(void *obj, const AVOption *o)
Check if given option is set to its default value.
const char * help
short English help text
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.
@ AV_OPT_TYPE_BINARY
offset must point to a pointer immediately followed by an int for the length
int offset
The offset relative to the context structure where the option value is stored.
static double val(void *priv, double ch)
int av_opt_set(void *obj, const char *name, const char *val, int search_flags)
int av_opt_get_channel_layout(void *obj, const char *name, int search_flags, int64_t *ch_layout)
static const uint16_t mask[17]
int av_opt_set_dict(void *obj, struct AVDictionary **options)
Set all the options from a given dictionary on an object.
int av_opt_set_dict_val(void *obj, const char *name, const AVDictionary *val, int search_flags)
int av_opt_set_pixel_fmt(void *obj, const char *name, enum AVPixelFormat fmt, int search_flags)
int av_opt_eval_int64(void *obj, const AVOption *o, const char *val, int64_t *int64_out)
int av_opt_get_pixel_fmt(void *obj, const char *name, int search_flags, enum AVPixelFormat *out_fmt)
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.
int av_opt_get_video_rate(void *obj, const char *name, int search_flags, AVRational *out_val)
Describe the class of an AVClass context structure.
int av_opt_set_video_rate(void *obj, const char *name, AVRational val, int search_flags)
int av_opt_set_bin(void *obj, const char *name, const uint8_t *val, int size, int search_flags)
int av_opt_get_double(void *obj, const char *name, int search_flags, double *out_val)
Rational number (pair of numerator and denominator).
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.
@ AV_OPT_TYPE_IMAGE_SIZE
offset must point to two consecutive integers
double component_min
Value's component range.
int av_opt_get_sample_fmt(void *obj, const char *name, int search_flags, enum AVSampleFormat *out_fmt)
void av_opt_free(void *obj)
Free all allocated objects in obj.
AVOptionRange ** range
Array of option ranges.
double min
minimum valid value for the option
int av_opt_get_int(void *obj, const char *name, int search_flags, int64_t *out_val)
int av_opt_set_int(void *obj, const char *name, int64_t val, int search_flags)
const OptionDef options[]
int av_opt_set_channel_layout(void *obj, const char *name, int64_t ch_layout, int search_flags)
A single allowed range of values, or a single allowed value.
union AVOption::@305 default_val
the default value for scalar options
void av_opt_set_defaults2(void *s, int mask, int flags)
Set the values of all AVOption fields to their default values.
@ AV_OPT_TYPE_CHANNEL_LAYOUT
int av_opt_eval_q(void *obj, const AVOption *o, const char *val, AVRational *q_out)
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.
int av_opt_set_dict2(void *obj, struct AVDictionary **options, int search_flags)
Set all the options from a given dictionary on an object.
AVSampleFormat
Audio sample formats.
List of AVOptionRange structs.
const AVOption * av_opt_next(const void *obj, const AVOption *prev)
Iterate over all AVOptions belonging to obj.
int av_opt_eval_double(void *obj, const AVOption *o, const char *val, double *double_out)
int av_opt_eval_flags(void *obj, const AVOption *o, const char *val, int *flags_out)
int av_opt_eval_int(void *obj, const AVOption *o, const char *val, int *int_out)
FFmpeg Automated Testing Environment ************************************Introduction Using FATE from your FFmpeg source directory Submitting the results to the FFmpeg result aggregation server Uploading new samples to the fate suite FATE makefile targets and variables Makefile targets Makefile variables Examples Introduction **************FATE is an extended regression suite on the client side and a means for results aggregation and presentation on the server side The first part of this document explains how you can use FATE from your FFmpeg source directory to test your ffmpeg binary The second part describes how you can run FATE to submit the results to FFmpeg’s FATE server In any way you can have a look at the publicly viewable FATE results by visiting this as it can be seen if some test on some platform broke with their recent contribution This usually happens on the platforms the developers could not test on The second part of this document describes how you can run FATE to submit your results to FFmpeg’s FATE server If you want to submit your results be sure to check that your combination of OS and compiler is not already listed on the above mentioned website In the third part you can find a comprehensive listing of FATE makefile targets and variables Using FATE from your FFmpeg source directory **********************************************If you want to run FATE on your machine you need to have the samples in place You can get the samples via the build target fate rsync Use this command from the top level source this will cause FATE to fail NOTE To use a custom wrapper to run the pass ‘ target exec’ to ‘configure’ or set the TARGET_EXEC Make variable Submitting the results to the FFmpeg result aggregation server ****************************************************************To submit your results to the server you should run fate through the shell script ‘tests fate sh’ from the FFmpeg sources This script needs to be invoked with a configuration file as its first argument tests fate sh path to fate_config A configuration file template with comments describing the individual configuration variables can be found at ‘doc fate_config sh template’ Create a configuration that suits your based on the configuration template The ‘slot’ configuration variable can be any string that is not yet but it is suggested that you name it adhering to the following pattern ‘ARCH OS COMPILER COMPILER VERSION’ The configuration file itself will be sourced in a shell therefore all shell features may be used This enables you to setup the environment as you need it for your build For your first test runs the ‘fate_recv’ variable should be empty or commented out This will run everything as normal except that it will omit the submission of the results to the server The following files should be present in $workdir as specified in the configuration it may help to try out the ‘ssh’ command with one or more ‘ v’ options You should get detailed output concerning your SSH configuration and the authentication process The only thing left is to automate the execution of the fate sh script and the synchronisation of the samples directory Uploading new samples to the fate suite *****************************************If you need a sample uploaded send a mail to samples request This is for developers who have an account on the fate suite server If you upload new please make sure they are as small as space on each network bandwidth and so on benefit from smaller test cases Also keep in mind older checkouts use existing sample that means in practice generally do not remove or overwrite files as it likely would break older checkouts or releases Also all needed samples for a commit should be ideally before the push If you need an account for frequently uploading samples or you wish to help others by doing that send a mail to ffmpeg devel rsync vauL Duo ug o o w
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.
const AVClass * av_opt_child_class_next(const AVClass *parent, const AVClass *prev)
Iterate over potential AVOptions-enabled children of parent.
the frame and frame reference mechanism is intended to as much as expensive copies of that data while still allowing the filters to produce correct results The data is stored in buffers represented by AVFrame structures Several references can point to the same frame buffer
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.
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.
int av_opt_query_ranges_default(AVOptionRanges **, void *obj, const char *key, int flags)
Get a default list of allowed ranges for the given option.
int av_opt_query_ranges(AVOptionRanges **, void *obj, const char *key, int flags)
Get a list of allowed ranges for the given option.
int av_opt_eval_float(void *obj, const AVOption *o, const char *val, float *float_out)
const char * unit
The logical unit to which the option belongs.
void av_opt_freep_ranges(AVOptionRanges **ranges)
Free an AVOptionRanges struct and set it to NULL.
int av_opt_copy(void *dest, const void *src)
Copy options from src object into dest object.
#define flags(name, subs,...)
int av_opt_get(void *obj, const char *name, int search_flags, uint8_t **out_val)
int av_opt_get_image_size(void *obj, const char *name, int search_flags, int *w_out, int *h_out)
int av_opt_set_q(void *obj, const char *name, AVRational val, int search_flags)
@ AV_OPT_FLAG_IMPLICIT_KEY
Accept to parse a value without a key; the key will then be returned as NULL.
int av_opt_set_sample_fmt(void *obj, const char *name, enum AVSampleFormat fmt, int search_flags)
int av_opt_show2(void *obj, void *av_log_obj, int req_flags, int rej_flags)
Show the obj options.
double max
maximum valid value for the option
void * av_opt_child_next(void *obj, void *prev)
Iterate over AVOptions-enabled children of obj.
int av_opt_get_q(void *obj, const char *name, int search_flags, AVRational *out_val)