Mercurial > libavcodec.hg
comparison utils.c @ 1996:f481d3309ad0 libavcodec
simplify
| author | michael |
|---|---|
| date | Fri, 30 Apr 2004 18:11:34 +0000 |
| parents | 8d3540dddd1b |
| children | b737b5e96ee0 |
comparison
equal
deleted
inserted
replaced
| 1995:38e77ac19836 | 1996:f481d3309ad0 |
|---|---|
| 774 int exact=1, sign=0; | 774 int exact=1, sign=0; |
| 775 int64_t gcd; | 775 int64_t gcd; |
| 776 | 776 |
| 777 assert(den != 0); | 777 assert(den != 0); |
| 778 | 778 |
| 779 if(den < 0){ | 779 if(den < 0) |
| 780 den= -den; | 780 return av_reduce(dst_nom, dst_den, -nom, -den, max); |
| 781 nom= -nom; | 781 |
| 782 } | 782 sign= nom < 0; |
| 783 | 783 nom= ABS(nom); |
| 784 if(nom < 0){ | |
| 785 nom= -nom; | |
| 786 sign= 1; | |
| 787 } | |
| 788 | 784 |
| 789 gcd = ff_gcd(nom, den); | 785 gcd = ff_gcd(nom, den); |
| 790 nom /= gcd; | 786 nom /= gcd; |
| 791 den /= gcd; | 787 den /= gcd; |
| 792 | 788 |
| 812 den= a1.den; | 808 den= a1.den; |
| 813 } | 809 } |
| 814 | 810 |
| 815 assert(ff_gcd(nom, den) == 1); | 811 assert(ff_gcd(nom, den) == 1); |
| 816 | 812 |
| 817 if(sign) nom= -nom; | 813 *dst_nom = sign ? -nom : nom; |
| 818 | |
| 819 *dst_nom = nom; | |
| 820 *dst_den = den; | 814 *dst_den = den; |
| 821 | 815 |
| 822 return exact; | 816 return exact; |
| 823 } | 817 } |
| 824 | 818 |
