Libav 0.7.1
Functions | Variables
libavutil/opt.c File Reference

AVOptions. More...

#include "avutil.h"
#include "avstring.h"
#include "opt.h"
#include "eval.h"
#include "dict.h"

Go to the source code of this file.

Functions

const AVOptionav_find_opt (void *v, const char *name, const char *unit, int mask, int flags)
 Look for an option in obj.
const AVOptionav_next_option (void *obj, const AVOption *last)
static int av_set_number2 (void *obj, const char *name, double num, int den, int64_t intnum, const AVOption **o_out)
static const AVOptionav_set_number (void *obj, const char *name, double num, int den, int64_t intnum)
static int hexchar2int (char c)
int av_set_string3 (void *obj, const char *name, const char *val, int alloc, const AVOption **o_out)
 Set the field of obj with the given name to value.
const AVOptionav_set_double (void *obj, const char *name, double n)
const AVOptionav_set_q (void *obj, const char *name, AVRational n)
const AVOptionav_set_int (void *obj, const char *name, int64_t n)
const char * av_get_string (void *obj, const char *name, const AVOption **o_out, char *buf, int buf_len)
static int av_get_number (void *obj, const char *name, const AVOption **o_out, double *num, int *den, int64_t *intnum)
double av_get_double (void *obj, const char *name, const AVOption **o_out)
AVRational av_get_q (void *obj, const char *name, const AVOption **o_out)
int64_t av_get_int (void *obj, const char *name, const AVOption **o_out)
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.
static void opt_list (void *obj, void *av_log_obj, const char *unit, int req_flags, int rej_flags)
int av_opt_show2 (void *obj, void *av_log_obj, int req_flags, int rej_flags)
 Show the obj options.
void av_opt_set_defaults2 (void *s, int mask, int flags)
 Set the values of the AVCodecContext or AVFormatContext structure.
void av_opt_set_defaults (void *s)
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.
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.
void av_opt_free (void *obj)
 Free all string and binary options in obj.
int av_opt_set_dict (void *obj, AVDictionary **options)
const AVOptionav_opt_find (void *obj, const char *name, const char *unit, int opt_flags, int search_flags)
 Look for an option in an object.

Variables

static const double const_values []
static const char *const const_names []

Detailed Description

AVOptions.

Author:
Michael Niedermayer <michaelni@gmx.at>

Definition in file opt.c.


Function Documentation

const AVOption* av_find_opt ( void *  obj,
const char *  name,
const char *  unit,
int  mask,
int  flags 
)

Look for an option in obj.

Look only for the options which have the flags set as specified in mask and flags (that is, for which it is the case that opt->flags & mask == flags).

Parameters:
[in]obja pointer to a struct whose first element is a pointer to an AVClass
[in]namethe name of the option to look for
[in]unitthe unit of the option to look for, or any if NULL
Returns:
a pointer to the option found, or NULL if no option has been found
Deprecated:
use av_opt_find.

Definition at line 36 of file opt.c.

Referenced by av_opt_flag_is_set(), and ff_rtp_chain_mux_open().

double av_get_double ( void *  obj,
const char *  name,
const AVOption **  o_out 
)

Definition at line 290 of file opt.c.

Referenced by av_set_string3().

int64_t av_get_int ( void *  obj,
const char *  name,
const AVOption **  o_out 
)
static int av_get_number ( void *  obj,
const char *  name,
const AVOption **  o_out,
double *  num,
int *  den,
int64_t *  intnum 
) [static]

Definition at line 264 of file opt.c.

Referenced by av_get_double(), av_get_int(), and av_get_q().

AVRational av_get_q ( void *  obj,
const char *  name,
const AVOption **  o_out 
)

Definition at line 301 of file opt.c.

const char* av_get_string ( void *  obj,
const char *  name,
const AVOption **  o_out,
char *  buf,
int  buf_len 
)
Parameters:
bufa buffer which is used for returning non string values as strings, can be NULL
buf_lenallocated length in bytes of buf

Definition at line 231 of file opt.c.

Referenced by set_context_opts().

const AVOption* av_next_option ( void *  obj,
const AVOption last 
)

Definition at line 49 of file opt.c.

Referenced by av_opt_find(), av_opt_free(), av_opt_set_defaults2(), and opt_list().

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.

Consider only options which have all the specified flags set.

Parameters:
[in]objA pointer to a struct whose first element is a pointer to an AVClass.
[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_*.
Returns:
A pointer to the option found, or NULL if no option was found.
Note:
Options found with AV_OPT_SEARCH_CHILDREN flag may not be settable directly with av_set_string3(). Use special calls which take an options AVDictionary (e.g. avformat_open_input()) to set options found with this flag.

Definition at line 565 of file opt.c.

Referenced by av_get_number(), av_get_string(), av_set_number2(), av_set_string3(), ffserver_opt_default(), opt_default(), opt_default2(), and opt_find().

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.

Parameters:
field_namethe name of the flag field option
flag_namethe name of the flag to check
Returns:
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.

Definition at line 326 of file opt.c.

void av_opt_free ( void *  obj)

Free all string and binary options in obj.

Definition at line 536 of file opt.c.

Referenced by av_write_trailer(), avcodec_close(), and avformat_free_context().

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

Set the values of the AVCodecContext or AVFormatContext structure.

They are set to the defaults specified in the according AVOption options array default_val field.

Parameters:
sAVCodecContext or AVFormatContext for which the defaults will be set

Definition at line 423 of file opt.c.

Referenced by av_opt_set_defaults(), avcodec_get_context_defaults2(), and init().

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

Definition at line 544 of file opt.c.

Referenced by avcodec_open2(), avformat_open_input(), and avformat_write_header().

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

Show the obj options.

Parameters:
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

Definition at line 405 of file opt.c.

Referenced by show_help().

const AVOption* av_set_double ( void *  obj,
const char *  name,
double  n 
)

Definition at line 211 of file opt.c.

Referenced by av_opt_set_defaults2().

const AVOption* av_set_int ( void *  obj,
const char *  name,
int64_t  n 
)

Definition at line 221 of file opt.c.

Referenced by av_opt_set_defaults2(), and ff_rtp_chain_mux_open().

static const AVOption* av_set_number ( void *  obj,
const char *  name,
double  num,
int  den,
int64_t  intnum 
) [static]

Definition at line 88 of file opt.c.

Referenced by av_set_double(), av_set_int(), and av_set_q().

static int av_set_number2 ( void *  obj,
const char *  name,
double  num,
int  den,
int64_t  intnum,
const AVOption **  o_out 
) [static]

Definition at line 56 of file opt.c.

Referenced by av_set_number(), and av_set_string3().

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.

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.

Parameters:
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
Returns:
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

Definition at line 519 of file opt.c.

Referenced by init().

const AVOption* av_set_q ( void *  obj,
const char *  name,
AVRational  n 
)

Definition at line 216 of file opt.c.

Referenced by av_opt_set_defaults2().

int av_set_string3 ( void *  obj,
const char *  name,
const char *  val,
int  alloc,
const AVOption **  o_out 
)

Set the field of obj with the given name to value.

Parameters:
[in]objA struct whose first element is a pointer to an AVClass.
[in]namethe name of the field to set
[in]valThe value to set. If the field is not of a string type, then the given string is parsed. SI postfixes and some named scalars are supported. If the field is of a numeric type, it has to be a numeric or named scalar. Behavior with more than one scalar and +- infix operators is undefined. If the field is of a flags type, it has to be a sequence of numeric scalars or named flags separated by '+' or '-'. Prefixing a flag with '+' causes it to be set without affecting the other flags; similarly, '-' unsets a flag.
[out]o_outif non-NULL put here a pointer to the AVOption found
allocwhen 1 then the old value will be av_freed() and the new av_strduped() when 0 then no av_free() nor av_strdup() will be used
Returns:
0 if the value has been set, or an AVERROR code in case of error: AVERROR_OPTION_NOT_FOUND if no matching option exists AVERROR(ERANGE) if the value is out of range AVERROR(EINVAL) if the value is not valid

Definition at line 118 of file opt.c.

Referenced by av_opt_set_defaults2(), av_opt_set_dict(), ffserver_opt_default(), open_input(), opt_default(), opt_default2(), parse_key_value_pair(), and set_context_opts().

static int hexchar2int ( char  c) [static]

Definition at line 111 of file opt.c.

Referenced by av_set_string3().

static void opt_list ( void *  obj,
void *  av_log_obj,
const char *  unit,
int  req_flags,
int  rej_flags 
) [static]

Definition at line 336 of file opt.c.

Referenced by av_opt_show2().

static int parse_key_value_pair ( void *  ctx,
const char **  buf,
const char *  key_val_sep,
const char *  pairs_sep 
) [static]

Store the value in the field in ctx that is named like key.

ctx must be an AVClass context, storing is done using AVOptions.

Parameters:
bufthe string to parse, buf will be updated to point at the separator just after the parsed key/value pair
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
Returns:
0 if the key/value pair has been successfully parsed and set, or a negative value corresponding to an AVERROR code in case of error: AVERROR(EINVAL) if the key/value pair cannot be parsed, the error code issued by av_set_string3() if the key/value pair cannot be set

Definition at line 492 of file opt.c.

Referenced by av_set_options_string().


Variable Documentation

const char* const const_names[] [static]
Initial value:
 {
    "PI",
    "E",
    "QP2LAMBDA",
    0
}

Definition at line 104 of file opt.c.

Referenced by av_expr_parse(), av_set_string3(), and ff_rate_control_init().

const double const_values[] [static]
Initial value:
 {
    M_PI,
    M_E,
    FF_QP2LAMBDA,
    0
}

Definition at line 97 of file opt.c.

Referenced by av_expr_eval(), av_set_string3(), and get_qscale().