Mercurial > libavutil.hg
comparison integer.h @ 478:8d2c05ebf5f1 libavutil
revert r12489.
| author | benoit |
|---|---|
| date | Tue, 18 Mar 2008 16:29:47 +0000 |
| parents | 8d25a4b50588 |
| children | f4187c1c15a6 |
comparison
equal
deleted
inserted
replaced
| 477:8d25a4b50588 | 478:8d2c05ebf5f1 |
|---|---|
| 34 | 34 |
| 35 typedef struct AVInteger{ | 35 typedef struct AVInteger{ |
| 36 uint16_t v[AV_INTEGER_SIZE]; | 36 uint16_t v[AV_INTEGER_SIZE]; |
| 37 } AVInteger; | 37 } AVInteger; |
| 38 | 38 |
| 39 AVInteger av_add_i(AVInteger a, AVInteger b) av_const; | 39 AVInteger av_add_i(AVInteger a, AVInteger b); |
| 40 AVInteger av_sub_i(AVInteger a, AVInteger b) av_const; | 40 AVInteger av_sub_i(AVInteger a, AVInteger b); |
| 41 | 41 |
| 42 /** | 42 /** |
| 43 * returns the rounded down value of the logarithm of base 2 of the given AVInteger. | 43 * returns the rounded down value of the logarithm of base 2 of the given AVInteger. |
| 44 * this is simply the index of the most significant bit which is 1. Or 0 of all bits are 0 | 44 * this is simply the index of the most significant bit which is 1. Or 0 of all bits are 0 |
| 45 */ | 45 */ |
| 46 int av_log2_i(AVInteger a) av_const; | 46 int av_log2_i(AVInteger a); |
| 47 AVInteger av_mul_i(AVInteger a, AVInteger b) av_const; | 47 AVInteger av_mul_i(AVInteger a, AVInteger b); |
| 48 | 48 |
| 49 /** | 49 /** |
| 50 * returns 0 if a==b, 1 if a>b and -1 if a<b. | 50 * returns 0 if a==b, 1 if a>b and -1 if a<b. |
| 51 */ | 51 */ |
| 52 int av_cmp_i(AVInteger a, AVInteger b) av_const; | 52 int av_cmp_i(AVInteger a, AVInteger b); |
| 53 | 53 |
| 54 /** | 54 /** |
| 55 * bitwise shift. | 55 * bitwise shift. |
| 56 * @param s the number of bits by which the value should be shifted right, may be negative for shifting left | 56 * @param s the number of bits by which the value should be shifted right, may be negative for shifting left |
| 57 */ | 57 */ |
| 58 AVInteger av_shr_i(AVInteger a, int s) av_const; | 58 AVInteger av_shr_i(AVInteger a, int s); |
| 59 | 59 |
| 60 /** | 60 /** |
| 61 * returns a % b. | 61 * returns a % b. |
| 62 * @param quot a/b will be stored here | 62 * @param quot a/b will be stored here |
| 63 */ | 63 */ |
| 64 AVInteger av_mod_i(AVInteger *quot, AVInteger a, AVInteger b); | 64 AVInteger av_mod_i(AVInteger *quot, AVInteger a, AVInteger b); |
| 65 | 65 |
| 66 /** | 66 /** |
| 67 * returns a/b. | 67 * returns a/b. |
| 68 */ | 68 */ |
| 69 AVInteger av_div_i(AVInteger a, AVInteger b) av_const; | 69 AVInteger av_div_i(AVInteger a, AVInteger b); |
| 70 | 70 |
| 71 /** | 71 /** |
| 72 * converts the given int64_t to an AVInteger. | 72 * converts the given int64_t to an AVInteger. |
| 73 */ | 73 */ |
| 74 AVInteger av_int2i(int64_t a) av_const; | 74 AVInteger av_int2i(int64_t a); |
| 75 | 75 |
| 76 /** | 76 /** |
| 77 * converts the given AVInteger to an int64_t. | 77 * converts the given AVInteger to an int64_t. |
| 78 * if the AVInteger is too large to fit into an int64_t, | 78 * if the AVInteger is too large to fit into an int64_t, |
| 79 * then only the least significant 64bit will be used | 79 * then only the least significant 64bit will be used |
| 80 */ | 80 */ |
| 81 int64_t av_i2int(AVInteger a) av_const; | 81 int64_t av_i2int(AVInteger a); |
| 82 | 82 |
| 83 #endif /* FFMPEG_INTEGER_H */ | 83 #endif /* FFMPEG_INTEGER_H */ |
