annotate mathematics.h @ 631:f7f8673fbfb0 libavutil

Remove misleading comment about how to build SHA1 test program. Generating the test program is integrated into the build system already.
author diego
date Mon, 26 Jan 2009 11:15:47 +0000
parents 819752f80c64
children 8c48a1b999a3
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
108
11be8e0d1344 Add official LGPL license headers to the files that were missing them.
diego
parents: 0
diff changeset
1 /*
11be8e0d1344 Add official LGPL license headers to the files that were missing them.
diego
parents: 0
diff changeset
2 * copyright (c) 2005 Michael Niedermayer <michaelni@gmx.at>
11be8e0d1344 Add official LGPL license headers to the files that were missing them.
diego
parents: 0
diff changeset
3 *
116
d76a36742464 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 108
diff changeset
4 * This file is part of FFmpeg.
d76a36742464 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 108
diff changeset
5 *
d76a36742464 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 108
diff changeset
6 * FFmpeg is free software; you can redistribute it and/or
108
11be8e0d1344 Add official LGPL license headers to the files that were missing them.
diego
parents: 0
diff changeset
7 * modify it under the terms of the GNU Lesser General Public
11be8e0d1344 Add official LGPL license headers to the files that were missing them.
diego
parents: 0
diff changeset
8 * License as published by the Free Software Foundation; either
116
d76a36742464 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 108
diff changeset
9 * version 2.1 of the License, or (at your option) any later version.
108
11be8e0d1344 Add official LGPL license headers to the files that were missing them.
diego
parents: 0
diff changeset
10 *
116
d76a36742464 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 108
diff changeset
11 * FFmpeg is distributed in the hope that it will be useful,
108
11be8e0d1344 Add official LGPL license headers to the files that were missing them.
diego
parents: 0
diff changeset
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11be8e0d1344 Add official LGPL license headers to the files that were missing them.
diego
parents: 0
diff changeset
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11be8e0d1344 Add official LGPL license headers to the files that were missing them.
diego
parents: 0
diff changeset
14 * Lesser General Public License for more details.
11be8e0d1344 Add official LGPL license headers to the files that were missing them.
diego
parents: 0
diff changeset
15 *
11be8e0d1344 Add official LGPL license headers to the files that were missing them.
diego
parents: 0
diff changeset
16 * You should have received a copy of the GNU Lesser General Public
116
d76a36742464 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 108
diff changeset
17 * License along with FFmpeg; if not, write to the Free Software
108
11be8e0d1344 Add official LGPL license headers to the files that were missing them.
diego
parents: 0
diff changeset
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
11be8e0d1344 Add official LGPL license headers to the files that were missing them.
diego
parents: 0
diff changeset
19 */
11be8e0d1344 Add official LGPL license headers to the files that were missing them.
diego
parents: 0
diff changeset
20
567
bd4052d9050c Globally rename the header inclusion guard names.
stefano
parents: 548
diff changeset
21 #ifndef AVUTIL_MATHEMATICS_H
bd4052d9050c Globally rename the header inclusion guard names.
stefano
parents: 548
diff changeset
22 #define AVUTIL_MATHEMATICS_H
0
ee8f44bb7c4d libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff changeset
23
468
b76b4c3a5dde Add missing stdint.h #include to headers that use it.
diego
parents: 392
diff changeset
24 #include <stdint.h>
547
3f9f807b86a4 define some math constants so as not to depend on _XOPEN_SOURCE
aurel
parents: 481
diff changeset
25 #include <math.h>
0
ee8f44bb7c4d libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff changeset
26 #include "rational.h"
ee8f44bb7c4d libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff changeset
27
547
3f9f807b86a4 define some math constants so as not to depend on _XOPEN_SOURCE
aurel
parents: 481
diff changeset
28 #ifndef M_E
3f9f807b86a4 define some math constants so as not to depend on _XOPEN_SOURCE
aurel
parents: 481
diff changeset
29 #define M_E 2.7182818284590452354 /* e */
3f9f807b86a4 define some math constants so as not to depend on _XOPEN_SOURCE
aurel
parents: 481
diff changeset
30 #endif
3f9f807b86a4 define some math constants so as not to depend on _XOPEN_SOURCE
aurel
parents: 481
diff changeset
31 #ifndef M_LN2
3f9f807b86a4 define some math constants so as not to depend on _XOPEN_SOURCE
aurel
parents: 481
diff changeset
32 #define M_LN2 0.69314718055994530942 /* log_e 2 */
3f9f807b86a4 define some math constants so as not to depend on _XOPEN_SOURCE
aurel
parents: 481
diff changeset
33 #endif
3f9f807b86a4 define some math constants so as not to depend on _XOPEN_SOURCE
aurel
parents: 481
diff changeset
34 #ifndef M_LN10
3f9f807b86a4 define some math constants so as not to depend on _XOPEN_SOURCE
aurel
parents: 481
diff changeset
35 #define M_LN10 2.30258509299404568402 /* log_e 10 */
3f9f807b86a4 define some math constants so as not to depend on _XOPEN_SOURCE
aurel
parents: 481
diff changeset
36 #endif
548
8d46104adf83 move M_PI definition along with other math definitions
aurel
parents: 547
diff changeset
37 #ifndef M_PI
8d46104adf83 move M_PI definition along with other math definitions
aurel
parents: 547
diff changeset
38 #define M_PI 3.14159265358979323846 /* pi */
8d46104adf83 move M_PI definition along with other math definitions
aurel
parents: 547
diff changeset
39 #endif
547
3f9f807b86a4 define some math constants so as not to depend on _XOPEN_SOURCE
aurel
parents: 481
diff changeset
40 #ifndef M_SQRT1_2
3f9f807b86a4 define some math constants so as not to depend on _XOPEN_SOURCE
aurel
parents: 481
diff changeset
41 #define M_SQRT1_2 0.70710678118654752440 /* 1/sqrt(2) */
3f9f807b86a4 define some math constants so as not to depend on _XOPEN_SOURCE
aurel
parents: 481
diff changeset
42 #endif
3f9f807b86a4 define some math constants so as not to depend on _XOPEN_SOURCE
aurel
parents: 481
diff changeset
43
0
ee8f44bb7c4d libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff changeset
44 enum AVRounding {
ee8f44bb7c4d libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff changeset
45 AV_ROUND_ZERO = 0, ///< round toward zero
ee8f44bb7c4d libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff changeset
46 AV_ROUND_INF = 1, ///< round away from zero
ee8f44bb7c4d libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff changeset
47 AV_ROUND_DOWN = 2, ///< round toward -infinity
ee8f44bb7c4d libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff changeset
48 AV_ROUND_UP = 3, ///< round toward +infinity
ee8f44bb7c4d libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff changeset
49 AV_ROUND_NEAR_INF = 5, ///< round to nearest and halfway cases away from zero
ee8f44bb7c4d libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff changeset
50 };
ee8f44bb7c4d libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff changeset
51
607
819752f80c64 export gcd function as av_gcd()
aurel
parents: 567
diff changeset
52 int64_t av_const av_gcd(int64_t a, int64_t b);
819752f80c64 export gcd function as av_gcd()
aurel
parents: 567
diff changeset
53
0
ee8f44bb7c4d libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff changeset
54 /**
ee8f44bb7c4d libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff changeset
55 * rescale a 64bit integer with rounding to nearest.
ee8f44bb7c4d libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff changeset
56 * a simple a*b/c isn't possible as it can overflow
ee8f44bb7c4d libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff changeset
57 */
481
f4187c1c15a6 Reapply r12489: Add pure, const and malloc attributes to proper functions
zuxy
parents: 478
diff changeset
58 int64_t av_rescale(int64_t a, int64_t b, int64_t c) av_const;
0
ee8f44bb7c4d libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff changeset
59
ee8f44bb7c4d libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff changeset
60 /**
ee8f44bb7c4d libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff changeset
61 * rescale a 64bit integer with specified rounding.
ee8f44bb7c4d libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff changeset
62 * a simple a*b/c isn't possible as it can overflow
ee8f44bb7c4d libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff changeset
63 */
481
f4187c1c15a6 Reapply r12489: Add pure, const and malloc attributes to proper functions
zuxy
parents: 478
diff changeset
64 int64_t av_rescale_rnd(int64_t a, int64_t b, int64_t c, enum AVRounding) av_const;
0
ee8f44bb7c4d libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff changeset
65
ee8f44bb7c4d libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff changeset
66 /**
ee8f44bb7c4d libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff changeset
67 * rescale a 64bit integer by 2 rational numbers.
ee8f44bb7c4d libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff changeset
68 */
481
f4187c1c15a6 Reapply r12489: Add pure, const and malloc attributes to proper functions
zuxy
parents: 478
diff changeset
69 int64_t av_rescale_q(int64_t a, AVRational bq, AVRational cq) av_const;
0
ee8f44bb7c4d libavutil: Utility code from libavcodec moved to a separate library.
al
parents:
diff changeset
70
567
bd4052d9050c Globally rename the header inclusion guard names.
stefano
parents: 548
diff changeset
71 #endif /* AVUTIL_MATHEMATICS_H */