Mercurial > libavcodec.hg
comparison acelp_math.h @ 7655:f91a738da9c3 libavcodec
Doxygen syntax consistency.
author | michael |
---|---|
date | Thu, 21 Aug 2008 23:45:20 +0000 |
parents | e1524921d0b1 |
children | c4a4495715dd |
comparison
equal
deleted
inserted
replaced
7654:999b818c33cc | 7655:f91a738da9c3 |
---|---|
24 #define FFMPEG_ACELP_MATH_H | 24 #define FFMPEG_ACELP_MATH_H |
25 | 25 |
26 #include <stdint.h> | 26 #include <stdint.h> |
27 | 27 |
28 /** | 28 /** |
29 * \brief fixed-point implementation of cosine in [0; PI) domain | 29 * fixed-point implementation of cosine in [0; PI) domain. |
30 * \param arg fixed-point cosine argument, 0 <= arg < 0x4000 | 30 * @param arg fixed-point cosine argument, 0 <= arg < 0x4000 |
31 * | 31 * |
32 * \return value of (1<<15) * cos(arg * PI / (1<<14)), -0x8000 <= result <= 0x7fff | 32 * @return value of (1<<15) * cos(arg * PI / (1<<14)), -0x8000 <= result <= 0x7fff |
33 */ | 33 */ |
34 int16_t ff_cos(uint16_t arg); | 34 int16_t ff_cos(uint16_t arg); |
35 | 35 |
36 /** | 36 /** |
37 * \brief fixed-point implementation of exp2(x) in [0; 1] domain | 37 * fixed-point implementation of exp2(x) in [0; 1] domain. |
38 * \param power argument to exp2, 0 <= power <= 0x7fff | 38 * @param power argument to exp2, 0 <= power <= 0x7fff |
39 * | 39 * |
40 * \return value of (1<<20) * exp2(power / (1<<15)) | 40 * @return value of (1<<20) * exp2(power / (1<<15)) |
41 * 0x8000c <= result <= 0xfffea | 41 * 0x8000c <= result <= 0xfffea |
42 */ | 42 */ |
43 int ff_exp2(uint16_t power); | 43 int ff_exp2(uint16_t power); |
44 | 44 |
45 /** | 45 /** |
46 * \brief Calculates log2(x) | 46 * Calculates log2(x). |
47 * \param value function argument, 0 < value <= 7fff ffff | 47 * @param value function argument, 0 < value <= 7fff ffff |
48 * | 48 * |
49 * \return value of (1<<15) * log2(value) | 49 * @return value of (1<<15) * log2(value) |
50 */ | 50 */ |
51 int ff_log2(uint32_t value); | 51 int ff_log2(uint32_t value); |
52 | 52 |
53 /** | 53 /** |
54 * \brief returns the dot product | 54 * returns the dot product. |
55 * \param a input data array | 55 * @param a input data array |
56 * \param b input data array | 56 * @param b input data array |
57 * \param length number of elements | 57 * @param length number of elements |
58 * \param shift right shift by this value will be done after multiplication | 58 * @param shift right shift by this value will be done after multiplication |
59 * | 59 * |
60 * \return dot product = sum of elementwise products | 60 * @return dot product = sum of elementwise products |
61 */ | 61 */ |
62 static int dot_product(const int16_t* a, const int16_t* b, int length, int shift) | 62 static int dot_product(const int16_t* a, const int16_t* b, int length, int shift) |
63 { | 63 { |
64 int sum = 0; | 64 int sum = 0; |
65 int i; | 65 int i; |
69 | 69 |
70 return sum; | 70 return sum; |
71 } | 71 } |
72 | 72 |
73 /** | 73 /** |
74 * \brief Shift value left or right depending on sign of offset parameter. | 74 * Shift value left or right depending on sign of offset parameter. |
75 * \param value value to shift | 75 * @param value value to shift |
76 * \param offset shift offset | 76 * @param offset shift offset |
77 * | 77 * |
78 * \return value << offset, if offset>=0; value >> -offset - otherwise | 78 * @return value << offset, if offset>=0; value >> -offset - otherwise |
79 */ | 79 */ |
80 static inline int bidir_sal(int value, int offset) | 80 static inline int bidir_sal(int value, int offset) |
81 { | 81 { |
82 if(offset < 0) return value >> -offset; | 82 if(offset < 0) return value >> -offset; |
83 else return value << offset; | 83 else return value << offset; |