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 |