[SCM] libav/experimental: Fix av_cmp_q() with negative denominators.

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 17:16:43 UTC 2013


The following commit has been merged in the experimental branch:
commit 8a47d90b2918c74a26bd313e8e70452bdc969a02
Author: Michael Niedermayer <michaelni at gmx.at>
Date:   Fri Oct 1 12:00:29 2010 +0000

    Fix av_cmp_q() with negative denominators.
    
    Originally committed as revision 25283 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavutil/rational.h b/libavutil/rational.h
index 2dd0c2c..7c6605c 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;
 }
 

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list