@@ -15,6 +15,9 @@ libavutil: 2017-10-21 | |||||
API changes, most recent first: | API changes, most recent first: | ||||
2020-05-23 - xxxxxxxxxx - lavu 56.47.100 - rational.h | |||||
Add av_gcd_q(). | |||||
2020-05-22 - xxxxxxxxxx - lavu 56.46.101 - opt.h | 2020-05-22 - xxxxxxxxxx - lavu 56.46.101 - opt.h | ||||
Add AV_OPT_FLAG_CHILD_CONSTS. | Add AV_OPT_FLAG_CHILD_CONSTS. | ||||
@@ -182,3 +182,12 @@ uint32_t av_q2intfloat(AVRational q) { | |||||
return sign<<31 | (150-shift)<<23 | (n - (1<<23)); | return sign<<31 | (150-shift)<<23 | (n - (1<<23)); | ||||
} | } | ||||
AVRational av_gcd_q(AVRational a, AVRational b, int max_den, AVRational def) | |||||
{ | |||||
int64_t gcd, lcm; | |||||
gcd = av_gcd(a.den, b.den); | |||||
lcm = (a.den / gcd) * b.den; | |||||
return lcm < max_den ? av_make_q(av_gcd(a.num, b.num), lcm) : def; | |||||
} |
@@ -207,6 +207,12 @@ int av_find_nearest_q_idx(AVRational q, const AVRational* q_list); | |||||
*/ | */ | ||||
uint32_t av_q2intfloat(AVRational q); | uint32_t av_q2intfloat(AVRational q); | ||||
/** | |||||
* Return the best rational so that a and b are multiple of it. | |||||
* If the resulting denominator is larger than max_den, return def. | |||||
*/ | |||||
AVRational av_gcd_q(AVRational a, AVRational b, int max_den, AVRational def); | |||||
/** | /** | ||||
* @} | * @} | ||||
*/ | */ | ||||
@@ -79,8 +79,8 @@ | |||||
*/ | */ | ||||
#define LIBAVUTIL_VERSION_MAJOR 56 | #define LIBAVUTIL_VERSION_MAJOR 56 | ||||
#define LIBAVUTIL_VERSION_MINOR 46 | |||||
#define LIBAVUTIL_VERSION_MICRO 101 | |||||
#define LIBAVUTIL_VERSION_MINOR 47 | |||||
#define LIBAVUTIL_VERSION_MICRO 100 | |||||
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ | #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \ | ||||
LIBAVUTIL_VERSION_MINOR, \ | LIBAVUTIL_VERSION_MINOR, \ | ||||