mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
lavu: remove disabled avoptions cruft
This commit is contained in:
parent
8207c67a24
commit
c692957c4e
147
libavutil/opt.c
147
libavutil/opt.c
@ -34,28 +34,6 @@
|
|||||||
#include "log.h"
|
#include "log.h"
|
||||||
#include "mathematics.h"
|
#include "mathematics.h"
|
||||||
|
|
||||||
#if FF_API_FIND_OPT
|
|
||||||
//FIXME order them and do a bin search
|
|
||||||
const AVOption *av_find_opt(void *v, const char *name, const char *unit, int mask, int flags)
|
|
||||||
{
|
|
||||||
AVClass *c= *(AVClass**)v; //FIXME silly way of storing AVClass
|
|
||||||
const AVOption *o= c->option;
|
|
||||||
|
|
||||||
for (; o && o->name; o++) {
|
|
||||||
if (!strcmp(o->name, name) && (!unit || (o->unit && !strcmp(o->unit, unit))) && (o->flags & mask) == flags)
|
|
||||||
return o;
|
|
||||||
}
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if FF_API_OLD_AVOPTIONS
|
|
||||||
const AVOption *av_next_option(void *obj, const AVOption *last)
|
|
||||||
{
|
|
||||||
return av_opt_next(obj, last);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
const AVOption *av_opt_next(void *obj, const AVOption *last)
|
const AVOption *av_opt_next(void *obj, const AVOption *last)
|
||||||
{
|
{
|
||||||
AVClass *class = *(AVClass**)obj;
|
AVClass *class = *(AVClass**)obj;
|
||||||
@ -221,16 +199,6 @@ static int set_string_number(void *obj, const AVOption *o, const char *val, void
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if FF_API_OLD_AVOPTIONS
|
|
||||||
int av_set_string3(void *obj, const char *name, const char *val, int alloc, const AVOption **o_out)
|
|
||||||
{
|
|
||||||
const AVOption *o = av_opt_find(obj, name, NULL, 0, 0);
|
|
||||||
if (o_out)
|
|
||||||
*o_out = o;
|
|
||||||
return av_opt_set(obj, name, val, 0);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
int av_opt_set(void *obj, const char *name, const char *val, int search_flags)
|
int av_opt_set(void *obj, const char *name, const char *val, int search_flags)
|
||||||
{
|
{
|
||||||
void *dst, *target_obj;
|
void *dst, *target_obj;
|
||||||
@ -284,32 +252,6 @@ static int set_number(void *obj, const char *name, double num, int den, int64_t
|
|||||||
return write_number(obj, o, dst, num, den, intnum);
|
return write_number(obj, o, dst, num, den, intnum);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if FF_API_OLD_AVOPTIONS
|
|
||||||
const AVOption *av_set_double(void *obj, const char *name, double n)
|
|
||||||
{
|
|
||||||
const AVOption *o = av_opt_find(obj, name, NULL, 0, 0);
|
|
||||||
if (set_number(obj, name, n, 1, 1, 0) < 0)
|
|
||||||
return NULL;
|
|
||||||
return o;
|
|
||||||
}
|
|
||||||
|
|
||||||
const AVOption *av_set_q(void *obj, const char *name, AVRational n)
|
|
||||||
{
|
|
||||||
const AVOption *o = av_opt_find(obj, name, NULL, 0, 0);
|
|
||||||
if (set_number(obj, name, n.num, n.den, 1, 0) < 0)
|
|
||||||
return NULL;
|
|
||||||
return o;
|
|
||||||
}
|
|
||||||
|
|
||||||
const AVOption *av_set_int(void *obj, const char *name, int64_t n)
|
|
||||||
{
|
|
||||||
const AVOption *o = av_opt_find(obj, name, NULL, 0, 0);
|
|
||||||
if (set_number(obj, name, 1, 1, n, 0) < 0)
|
|
||||||
return NULL;
|
|
||||||
return o;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
int av_opt_set_int(void *obj, const char *name, int64_t val, int search_flags)
|
int av_opt_set_int(void *obj, const char *name, int64_t val, int search_flags)
|
||||||
{
|
{
|
||||||
return set_number(obj, name, 1, 1, val, search_flags);
|
return set_number(obj, name, 1, 1, val, search_flags);
|
||||||
@ -354,46 +296,6 @@ int av_opt_set_bin(void *obj, const char *name, const uint8_t *val, int len, int
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if FF_API_OLD_AVOPTIONS
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @param buf a buffer which is used for returning non string values as strings, can be NULL
|
|
||||||
* @param buf_len allocated length in bytes of buf
|
|
||||||
*/
|
|
||||||
const char *av_get_string(void *obj, const char *name, const AVOption **o_out, char *buf, int buf_len)
|
|
||||||
{
|
|
||||||
const AVOption *o = av_opt_find(obj, name, NULL, 0, 0);
|
|
||||||
void *dst;
|
|
||||||
uint8_t *bin;
|
|
||||||
int len, i;
|
|
||||||
if (!o)
|
|
||||||
return NULL;
|
|
||||||
if (o->type != AV_OPT_TYPE_STRING && (!buf || !buf_len))
|
|
||||||
return NULL;
|
|
||||||
|
|
||||||
dst= ((uint8_t*)obj) + o->offset;
|
|
||||||
if (o_out) *o_out= o;
|
|
||||||
|
|
||||||
switch (o->type) {
|
|
||||||
case AV_OPT_TYPE_FLAGS: snprintf(buf, buf_len, "0x%08X",*(int *)dst);break;
|
|
||||||
case AV_OPT_TYPE_INT: snprintf(buf, buf_len, "%d" , *(int *)dst);break;
|
|
||||||
case AV_OPT_TYPE_INT64: snprintf(buf, buf_len, "%"PRId64, *(int64_t*)dst);break;
|
|
||||||
case AV_OPT_TYPE_FLOAT: snprintf(buf, buf_len, "%f" , *(float *)dst);break;
|
|
||||||
case AV_OPT_TYPE_DOUBLE: snprintf(buf, buf_len, "%f" , *(double *)dst);break;
|
|
||||||
case AV_OPT_TYPE_RATIONAL: snprintf(buf, buf_len, "%d/%d", ((AVRational*)dst)->num, ((AVRational*)dst)->den);break;
|
|
||||||
case AV_OPT_TYPE_STRING: return *(void**)dst;
|
|
||||||
case AV_OPT_TYPE_BINARY:
|
|
||||||
len = *(int*)(((uint8_t *)dst) + sizeof(uint8_t *));
|
|
||||||
if (len >= (buf_len + 1)/2) return NULL;
|
|
||||||
bin = *(uint8_t**)dst;
|
|
||||||
for (i = 0; i < len; i++) snprintf(buf + i*2, 3, "%02X", bin[i]);
|
|
||||||
break;
|
|
||||||
default: return NULL;
|
|
||||||
}
|
|
||||||
return buf;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
int av_opt_get(void *obj, const char *name, int search_flags, uint8_t **out_val)
|
int av_opt_get(void *obj, const char *name, int search_flags, uint8_t **out_val)
|
||||||
{
|
{
|
||||||
void *dst, *target_obj;
|
void *dst, *target_obj;
|
||||||
@ -459,44 +361,6 @@ error:
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if FF_API_OLD_AVOPTIONS
|
|
||||||
double av_get_double(void *obj, const char *name, const AVOption **o_out)
|
|
||||||
{
|
|
||||||
int64_t intnum=1;
|
|
||||||
double num=1;
|
|
||||||
int den=1;
|
|
||||||
|
|
||||||
if (get_number(obj, name, o_out, &num, &den, &intnum, 0) < 0)
|
|
||||||
return NAN;
|
|
||||||
return num*intnum/den;
|
|
||||||
}
|
|
||||||
|
|
||||||
AVRational av_get_q(void *obj, const char *name, const AVOption **o_out)
|
|
||||||
{
|
|
||||||
int64_t intnum=1;
|
|
||||||
double num=1;
|
|
||||||
int den=1;
|
|
||||||
|
|
||||||
if (get_number(obj, name, o_out, &num, &den, &intnum, 0) < 0)
|
|
||||||
return (AVRational){0, 0};
|
|
||||||
if (num == 1.0 && (int)intnum == intnum)
|
|
||||||
return (AVRational){intnum, den};
|
|
||||||
else
|
|
||||||
return av_d2q(num*intnum/den, 1<<24);
|
|
||||||
}
|
|
||||||
|
|
||||||
int64_t av_get_int(void *obj, const char *name, const AVOption **o_out)
|
|
||||||
{
|
|
||||||
int64_t intnum=1;
|
|
||||||
double num=1;
|
|
||||||
int den=1;
|
|
||||||
|
|
||||||
if (get_number(obj, name, o_out, &num, &den, &intnum, 0) < 0)
|
|
||||||
return -1;
|
|
||||||
return num*intnum/den;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
int av_opt_get_int(void *obj, const char *name, int search_flags, int64_t *out_val)
|
int av_opt_get_int(void *obj, const char *name, int search_flags, int64_t *out_val)
|
||||||
{
|
{
|
||||||
int64_t intnum = 1;
|
int64_t intnum = 1;
|
||||||
@ -633,19 +497,8 @@ 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_defaults(void *s)
|
||||||
{
|
{
|
||||||
#if FF_API_OLD_AVOPTIONS
|
|
||||||
av_opt_set_defaults2(s, 0, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
void av_opt_set_defaults2(void *s, int mask, int flags)
|
|
||||||
{
|
|
||||||
#endif
|
|
||||||
const AVOption *opt = NULL;
|
const AVOption *opt = NULL;
|
||||||
while ((opt = av_opt_next(s, opt)) != NULL) {
|
while ((opt = av_opt_next(s, opt)) != NULL) {
|
||||||
#if FF_API_OLD_AVOPTIONS
|
|
||||||
if ((opt->flags & mask) != flags)
|
|
||||||
continue;
|
|
||||||
#endif
|
|
||||||
switch (opt->type) {
|
switch (opt->type) {
|
||||||
case AV_OPT_TYPE_CONST:
|
case AV_OPT_TYPE_CONST:
|
||||||
/* Nothing to be done here */
|
/* Nothing to be done here */
|
||||||
|
@ -225,17 +225,6 @@ enum AVOptionType{
|
|||||||
AV_OPT_TYPE_RATIONAL,
|
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_BINARY, ///< offset must point to a pointer immediately followed by an int for the length
|
||||||
AV_OPT_TYPE_CONST = 128,
|
AV_OPT_TYPE_CONST = 128,
|
||||||
#if FF_API_OLD_AVOPTIONS
|
|
||||||
FF_OPT_TYPE_FLAGS = 0,
|
|
||||||
FF_OPT_TYPE_INT,
|
|
||||||
FF_OPT_TYPE_INT64,
|
|
||||||
FF_OPT_TYPE_DOUBLE,
|
|
||||||
FF_OPT_TYPE_FLOAT,
|
|
||||||
FF_OPT_TYPE_STRING,
|
|
||||||
FF_OPT_TYPE_RATIONAL,
|
|
||||||
FF_OPT_TYPE_BINARY, ///< offset must point to a pointer immediately followed by an int for the length
|
|
||||||
FF_OPT_TYPE_CONST=128,
|
|
||||||
#endif
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -287,66 +276,6 @@ typedef struct AVOption {
|
|||||||
const char *unit;
|
const char *unit;
|
||||||
} AVOption;
|
} AVOption;
|
||||||
|
|
||||||
#if FF_API_FIND_OPT
|
|
||||||
/**
|
|
||||||
* 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).
|
|
||||||
*
|
|
||||||
* @param[in] obj a pointer to a struct whose first element is a
|
|
||||||
* pointer to an AVClass
|
|
||||||
* @param[in] name the name of the option to look for
|
|
||||||
* @param[in] unit the unit of the option to look for, or any if NULL
|
|
||||||
* @return a pointer to the option found, or NULL if no option
|
|
||||||
* has been found
|
|
||||||
*
|
|
||||||
* @deprecated use av_opt_find.
|
|
||||||
*/
|
|
||||||
attribute_deprecated
|
|
||||||
const AVOption *av_find_opt(void *obj, const char *name, const char *unit, int mask, int flags);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if FF_API_OLD_AVOPTIONS
|
|
||||||
/**
|
|
||||||
* Set the field of obj with the given name to value.
|
|
||||||
*
|
|
||||||
* @param[in] obj A struct whose first element is a pointer to an
|
|
||||||
* AVClass.
|
|
||||||
* @param[in] name the name of the field to set
|
|
||||||
* @param[in] val The 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.
|
|
||||||
* @param[out] o_out if non-NULL put here a pointer to the AVOption
|
|
||||||
* found
|
|
||||||
* @param alloc this parameter is currently ignored
|
|
||||||
* @return 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
|
|
||||||
* @deprecated use av_opt_set()
|
|
||||||
*/
|
|
||||||
attribute_deprecated
|
|
||||||
int av_set_string3(void *obj, const char *name, const char *val, int alloc, const AVOption **o_out);
|
|
||||||
|
|
||||||
attribute_deprecated const AVOption *av_set_double(void *obj, const char *name, double n);
|
|
||||||
attribute_deprecated const AVOption *av_set_q(void *obj, const char *name, AVRational n);
|
|
||||||
attribute_deprecated const AVOption *av_set_int(void *obj, const char *name, int64_t n);
|
|
||||||
|
|
||||||
attribute_deprecated double av_get_double(void *obj, const char *name, const AVOption **o_out);
|
|
||||||
attribute_deprecated AVRational av_get_q(void *obj, const char *name, const AVOption **o_out);
|
|
||||||
attribute_deprecated int64_t av_get_int(void *obj, const char *name, const AVOption **o_out);
|
|
||||||
attribute_deprecated const char *av_get_string(void *obj, const char *name, const AVOption **o_out, char *buf, int buf_len);
|
|
||||||
attribute_deprecated const AVOption *av_next_option(void *obj, const AVOption *last);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Show the obj options.
|
* Show the obj options.
|
||||||
*
|
*
|
||||||
@ -365,11 +294,6 @@ 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_defaults(void *s);
|
||||||
|
|
||||||
#if FF_API_OLD_AVOPTIONS
|
|
||||||
attribute_deprecated
|
|
||||||
void av_opt_set_defaults2(void *s, int mask, int flags);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Parse the key/value pairs list in opts. For each key/value pair
|
* 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
|
* found, stores the value in the field in ctx that is named like the
|
||||||
|
@ -61,15 +61,9 @@
|
|||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef FF_API_FIND_OPT
|
|
||||||
#define FF_API_FIND_OPT (LIBAVUTIL_VERSION_MAJOR < 52)
|
|
||||||
#endif
|
|
||||||
#ifndef FF_API_AV_FIFO_PEEK
|
#ifndef FF_API_AV_FIFO_PEEK
|
||||||
#define FF_API_AV_FIFO_PEEK (LIBAVUTIL_VERSION_MAJOR < 52)
|
#define FF_API_AV_FIFO_PEEK (LIBAVUTIL_VERSION_MAJOR < 52)
|
||||||
#endif
|
#endif
|
||||||
#ifndef FF_API_OLD_AVOPTIONS
|
|
||||||
#define FF_API_OLD_AVOPTIONS (LIBAVUTIL_VERSION_MAJOR < 52)
|
|
||||||
#endif
|
|
||||||
#ifndef FF_API_PIX_FMT
|
#ifndef FF_API_PIX_FMT
|
||||||
#define FF_API_PIX_FMT (LIBAVUTIL_VERSION_MAJOR < 53)
|
#define FF_API_PIX_FMT (LIBAVUTIL_VERSION_MAJOR < 53)
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user