Skip to content
Snippets Groups Projects
Commit 0b006599 authored by Dujardin Bernard's avatar Dujardin Bernard Committed by Guillaume Poirier
Browse files

move doxy comments from rational.c to rational.h and add some new comments

patch by Dujardin Bernard %dujardin P iut A numericable P fr%

Originally committed as revision 8132 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 1c95ef8b
No related branches found
No related tags found
No related merge requests found
...@@ -75,40 +75,24 @@ int av_reduce(int *dst_nom, int *dst_den, int64_t nom, int64_t den, int64_t max) ...@@ -75,40 +75,24 @@ int av_reduce(int *dst_nom, int *dst_den, int64_t nom, int64_t den, int64_t max)
return den==0; return den==0;
} }
/**
* returns b*c.
*/
AVRational av_mul_q(AVRational b, AVRational c){ AVRational av_mul_q(AVRational b, AVRational c){
av_reduce(&b.num, &b.den, b.num * (int64_t)c.num, b.den * (int64_t)c.den, INT_MAX); av_reduce(&b.num, &b.den, b.num * (int64_t)c.num, b.den * (int64_t)c.den, INT_MAX);
return b; return b;
} }
/**
* returns b/c.
*/
AVRational av_div_q(AVRational b, AVRational c){ AVRational av_div_q(AVRational b, AVRational c){
return av_mul_q(b, (AVRational){c.den, c.num}); return av_mul_q(b, (AVRational){c.den, c.num});
} }
/**
* returns b+c.
*/
AVRational av_add_q(AVRational b, AVRational c){ AVRational av_add_q(AVRational b, AVRational c){
av_reduce(&b.num, &b.den, b.num * (int64_t)c.den + c.num * (int64_t)b.den, b.den * (int64_t)c.den, INT_MAX); av_reduce(&b.num, &b.den, b.num * (int64_t)c.den + c.num * (int64_t)b.den, b.den * (int64_t)c.den, INT_MAX);
return b; return b;
} }
/**
* returns b-c.
*/
AVRational av_sub_q(AVRational b, AVRational c){ AVRational av_sub_q(AVRational b, AVRational c){
return av_add_q(b, (AVRational){-c.num, c.den}); return av_add_q(b, (AVRational){-c.num, c.den});
} }
/**
* Converts a double precission floating point number to a AVRational.
* @param max the maximum allowed numerator and denominator
*/
AVRational av_d2q(double d, int max){ AVRational av_d2q(double d, int max){
AVRational a; AVRational a;
#define LOG2 0.69314718055994530941723212145817656807550013436025 #define LOG2 0.69314718055994530941723212145817656807550013436025
......
...@@ -51,7 +51,7 @@ static inline int av_cmp_q(AVRational a, AVRational b){ ...@@ -51,7 +51,7 @@ static inline int av_cmp_q(AVRational a, AVRational b){
} }
/** /**
* Rational to double conversion * Rational to double conversion.
* @param a rational to convert * @param a rational to convert
* @return (double) a * @return (double) a
*/ */
...@@ -71,10 +71,44 @@ static inline double av_q2d(AVRational a){ ...@@ -71,10 +71,44 @@ static inline double av_q2d(AVRational a){
*/ */
int av_reduce(int *dst_nom, int *dst_den, int64_t nom, int64_t den, int64_t max); int av_reduce(int *dst_nom, int *dst_den, int64_t nom, int64_t den, int64_t max);
/**
* Multiplies two rationals.
* @param b first rational.
* @param c second rational.
* @return b*c.
*/
AVRational av_mul_q(AVRational b, AVRational c); AVRational av_mul_q(AVRational b, AVRational c);
/**
* Divides two rationals.
* @param b first rational.
* @param c second rational.
* @return b/c.
*/
AVRational av_div_q(AVRational b, AVRational c); AVRational av_div_q(AVRational b, AVRational c);
/**
* Adds two rationals.
* @param b first rational.
* @param c second rational.
* @return b+c.
*/
AVRational av_add_q(AVRational b, AVRational c); AVRational av_add_q(AVRational b, AVRational c);
/**
* Substracts two rationals.
* @param b first rational.
* @param c second rational.
* returns b-c.
*/
AVRational av_sub_q(AVRational b, AVRational c); AVRational av_sub_q(AVRational b, AVRational c);
/**
* Converts a double precision floating point number to a rational.
* @param d double to convert
* @param max the maximum allowed numerator and denominator
* @return (AVRational) d.
*/
AVRational av_d2q(double d, int max); AVRational av_d2q(double d, int max);
#endif // RATIONAL_H #endif // RATIONAL_H
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment