You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	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:
		| @@ -13,6 +13,9 @@ libavutil:   2011-04-18 | ||||
|  | ||||
| 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 | ||||
|   Move AVMetadata from lavf to lavu and rename it to | ||||
|   AVDictionary -- new installed header dict.h. | ||||
|   | ||||
| @@ -40,7 +40,7 @@ | ||||
| #define AV_VERSION(a, b, c) AV_VERSION_DOT(a, b, c) | ||||
|  | ||||
| #define LIBAVUTIL_VERSION_MAJOR 51 | ||||
| #define LIBAVUTIL_VERSION_MINOR  5 | ||||
| #define LIBAVUTIL_VERSION_MINOR  6 | ||||
| #define LIBAVUTIL_VERSION_MICRO  0 | ||||
|  | ||||
| #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; | ||||
| } | ||||
|  | ||||
| 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, | ||||
|                      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); | ||||
|  | ||||
| /** | ||||
|  * 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 */ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user