avoptions: Add an av_opt_flag_is_set function for inspecting flag fields
Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
parent
0558e266a2
commit
cb7c11cc9e
@ -13,6 +13,9 @@ libavutil: 2011-04-18
|
|||||||
|
|
||||||
API changes, most recent first:
|
API changes, most recent first:
|
||||||
|
|
||||||
|
2011-06-xx - xxxxxxx - lavu 51.6.0 - opt.h
|
||||||
|
Add av_opt_flag_is_set().
|
||||||
|
|
||||||
2011-06-xx - xxxxxxx - lavu 51.5.0 - AVMetadata
|
2011-06-xx - xxxxxxx - lavu 51.5.0 - AVMetadata
|
||||||
Move AVMetadata from lavf to lavu and rename it to
|
Move AVMetadata from lavf to lavu and rename it to
|
||||||
AVDictionary -- new installed header dict.h.
|
AVDictionary -- new installed header dict.h.
|
||||||
|
@ -40,7 +40,7 @@
|
|||||||
#define AV_VERSION(a, b, c) AV_VERSION_DOT(a, b, c)
|
#define AV_VERSION(a, b, c) AV_VERSION_DOT(a, b, c)
|
||||||
|
|
||||||
#define LIBAVUTIL_VERSION_MAJOR 51
|
#define LIBAVUTIL_VERSION_MAJOR 51
|
||||||
#define LIBAVUTIL_VERSION_MINOR 5
|
#define LIBAVUTIL_VERSION_MINOR 6
|
||||||
#define LIBAVUTIL_VERSION_MICRO 0
|
#define LIBAVUTIL_VERSION_MICRO 0
|
||||||
|
|
||||||
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
|
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
|
||||||
|
@ -320,6 +320,16 @@ int64_t av_get_int(void *obj, const char *name, const AVOption **o_out)
|
|||||||
return num*intnum/den;
|
return num*intnum/den;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int av_opt_flag_is_set(void *obj, const char *field_name, const char *flag_name)
|
||||||
|
{
|
||||||
|
const AVOption *field = av_find_opt(obj, field_name, NULL, 0, 0);
|
||||||
|
const AVOption *flag = av_find_opt(obj, flag_name, NULL, 0, 0);
|
||||||
|
|
||||||
|
if (!field || !flag || flag->type != FF_OPT_TYPE_CONST)
|
||||||
|
return 0;
|
||||||
|
return av_get_int(obj, field_name, NULL) & (int) flag->default_val.dbl;
|
||||||
|
}
|
||||||
|
|
||||||
static void opt_list(void *obj, void *av_log_obj, const char *unit,
|
static void opt_list(void *obj, void *av_log_obj, const char *unit,
|
||||||
int req_flags, int rej_flags)
|
int req_flags, int rej_flags)
|
||||||
{
|
{
|
||||||
|
@ -181,4 +181,14 @@ int av_set_options_string(void *ctx, const char *opts,
|
|||||||
*/
|
*/
|
||||||
void av_opt_free(void *obj);
|
void av_opt_free(void *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check whether a particular flag is set in a flags field.
|
||||||
|
*
|
||||||
|
* @param field_name the name of the flag field option
|
||||||
|
* @param flag_name the name of the flag to check
|
||||||
|
* @return 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.
|
||||||
|
*/
|
||||||
|
int av_opt_flag_is_set(void *obj, const char *field_name, const char *flag_name);
|
||||||
|
|
||||||
#endif /* AVUTIL_OPT_H */
|
#endif /* AVUTIL_OPT_H */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user