diff --git a/libavutil/rational.h b/libavutil/rational.h index 2dd0c2c594..7c6605cce7 100644 --- a/libavutil/rational.h +++ b/libavutil/rational.h @@ -48,7 +48,7 @@ typedef struct AVRational{ static inline int av_cmp_q(AVRational a, AVRational b){ const int64_t tmp= a.num * (int64_t)b.den - b.num * (int64_t)a.den; - if(tmp) return (tmp>>63)|1; + if(tmp) return ((tmp ^ a.den ^ b.den)>>63)|1; else return 0; }