X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavutil%2Fparseutils.h;h=a545652d9e47a84bb0ebcb58fac50c94d4dd1369;hb=ac6798dbc118a8d63a6e57f8a0120666a2449efa;hp=2a74a060f2d4a0e35f625391aa62d5a9bb1a44f4;hpb=7d8f1158436c261d2d1657c33e731f9bec650c51;p=ffmpeg diff --git a/libavutil/parseutils.h b/libavutil/parseutils.h index 2a74a060f2d..a545652d9e4 100644 --- a/libavutil/parseutils.h +++ b/libavutil/parseutils.h @@ -28,6 +28,30 @@ * misc parsing utilities */ +/** + * 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. *