Mercurial > libavcodec.hg
comparison mathops.h @ 11721:969a7d792b79 libavcodec
Use standard C for implementing sign_extend() and zero_extend().
This fixes compilation of probetest
author | michael |
---|---|
date | Thu, 13 May 2010 16:32:21 +0000 |
parents | c975efe95584 |
children | 2952baf6a266 |
comparison
equal
deleted
inserted
replaced
11720:92f4ca7a4002 | 11721:969a7d792b79 |
---|---|
116 #endif | 116 #endif |
117 | 117 |
118 #ifndef sign_extend | 118 #ifndef sign_extend |
119 static inline av_const int sign_extend(int val, unsigned bits) | 119 static inline av_const int sign_extend(int val, unsigned bits) |
120 { | 120 { |
121 return (val << (INT_BIT - bits)) >> (INT_BIT - bits); | 121 return (val << ((8 * sizeof(int)) - bits)) >> ((8 * sizeof(int)) - bits); |
122 } | 122 } |
123 #endif | 123 #endif |
124 | 124 |
125 #ifndef zero_extend | 125 #ifndef zero_extend |
126 static inline av_const unsigned zero_extend(unsigned val, unsigned bits) | 126 static inline av_const unsigned zero_extend(unsigned val, unsigned bits) |
127 { | 127 { |
128 return (val << (INT_BIT - bits)) >> (INT_BIT - bits); | 128 return (val << ((8 * sizeof(int)) - bits)) >> ((8 * sizeof(int)) - bits); |
129 } | 129 } |
130 #endif | 130 #endif |
131 | 131 |
132 #ifndef COPY3_IF_LT | 132 #ifndef COPY3_IF_LT |
133 #define COPY3_IF_LT(x, y, a, b, c, d)\ | 133 #define COPY3_IF_LT(x, y, a, b, c, d)\ |