diff options
author | Stefano Sabatini <stefasab@gmail.com> | 2012-01-17 15:25:14 +0100 |
---|---|---|
committer | Stefano Sabatini <stefasab@gmail.com> | 2012-02-06 11:30:54 +0100 |
commit | 70ffda3217c58bbbfb8a7e7c58824b8ca6c56128 (patch) | |
tree | 794ed6d73cf979f1ff69ad2c85701cf5e98a24ff /libavutil/parseutils.h | |
parent | 1ca0812d909a05e341e4c76861fb9dccc2f47112 (diff) | |
download | ffmpeg-70ffda3217c58bbbfb8a7e7c58824b8ca6c56128.tar.gz |
lavu: introduce av_parse_ratio() and use it in ffmpeg and lavfi/aspect
Factorize code and provide ratio parsing consistency.
Diffstat (limited to 'libavutil/parseutils.h')
-rw-r--r-- | libavutil/parseutils.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/libavutil/parseutils.h b/libavutil/parseutils.h index 2a74a060f2..a545652d9e 100644 --- a/libavutil/parseutils.h +++ b/libavutil/parseutils.h @@ -29,6 +29,30 @@ */ /** + * Parse str and store the parsed ratio in q. + * + * Note that a ratio with infinite (1/0) or negative value is + * considered valid, so you should check on the returned value if you + * want to exclude those values. + * + * The undefined value can be expressed using the "0:0" string. + * + * @param[in,out] q pointer to the AVRational which will contain the ratio + * @param[in] str the string to parse: it has to be a string in the format + * num:den, a float number or an expression + * @param[in] max the maximum allowed numerator and denominator + * @param[in] log_offset log level offset which is applied to the log + * level of log_ctx + * @param[in] log_ctx parent logging context + * @return >= 0 on success, a negative error code otherwise + */ +int av_parse_ratio(AVRational *q, const char *str, int max, + int log_offset, void *log_ctx); + +#define av_parse_ratio_quiet(rate, str, max) \ + av_parse_ratio(rate, str, max, AV_LOG_MAX_OFFSET, NULL) + +/** * Parse str and put in width_ptr and height_ptr the detected values. * * @param[in,out] width_ptr pointer to the variable which will contain the detected |