123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242 |
- #ifndef AVUTIL_MATHEMATICS_H
- #define AVUTIL_MATHEMATICS_H
- #include <stdint.h>
- #include <math.h>
- #include "attributes.h"
- #include "rational.h"
- #include "intfloat.h"
- #ifndef M_E
- #define M_E 2.7182818284590452354
- #endif
- #ifndef M_LN2
- #define M_LN2 0.69314718055994530942
- #endif
- #ifndef M_LN10
- #define M_LN10 2.30258509299404568402
- #endif
- #ifndef M_LOG2_10
- #define M_LOG2_10 3.32192809488736234787
- #endif
- #ifndef M_PHI
- #define M_PHI 1.61803398874989484820
- #endif
- #ifndef M_PI
- #define M_PI 3.14159265358979323846
- #endif
- #ifndef M_PI_2
- #define M_PI_2 1.57079632679489661923
- #endif
- #ifndef M_SQRT1_2
- #define M_SQRT1_2 0.70710678118654752440
- #endif
- #ifndef M_SQRT2
- #define M_SQRT2 1.41421356237309504880
- #endif
- #ifndef NAN
- #define NAN av_int2float(0x7fc00000)
- #endif
- #ifndef INFINITY
- #define INFINITY av_int2float(0x7f800000)
- #endif
- enum AVRounding {
- AV_ROUND_ZERO = 0,
- AV_ROUND_INF = 1,
- AV_ROUND_DOWN = 2,
- AV_ROUND_UP = 3,
- AV_ROUND_NEAR_INF = 5,
-
- AV_ROUND_PASS_MINMAX = 8192,
- };
- int64_t av_const av_gcd(int64_t a, int64_t b);
- int64_t av_rescale(int64_t a, int64_t b, int64_t c) av_const;
- int64_t av_rescale_rnd(int64_t a, int64_t b, int64_t c, enum AVRounding rnd) av_const;
- int64_t av_rescale_q(int64_t a, AVRational bq, AVRational cq) av_const;
- int64_t av_rescale_q_rnd(int64_t a, AVRational bq, AVRational cq,
- enum AVRounding rnd) av_const;
- int av_compare_ts(int64_t ts_a, AVRational tb_a, int64_t ts_b, AVRational tb_b);
- int64_t av_compare_mod(uint64_t a, uint64_t b, uint64_t mod);
- int64_t av_rescale_delta(AVRational in_tb, int64_t in_ts, AVRational fs_tb, int duration, int64_t *last, AVRational out_tb);
- int64_t av_add_stable(AVRational ts_tb, int64_t ts, AVRational inc_tb, int64_t inc);
- #endif
|