libavutil/mathematics.h File Reference

#include <stdint.h>
#include <math.h>
#include "attributes.h"
#include "rational.h"

Go to the source code of this file.


#define M_E   2.7182818284590452354
#define M_LN2   0.69314718055994530942
#define M_LN10   2.30258509299404568402
#define M_LOG2_10   3.32192809488736234787
#define M_PHI   1.61803398874989484820
#define M_PI   3.14159265358979323846
#define M_SQRT1_2   0.70710678118654752440
#define M_SQRT2   1.41421356237309504880
#define NAN   (0.0/0.0)
#define INFINITY   (1.0/0.0)


enum  AVRounding {


int64_t av_const av_gcd (int64_t a, int64_t b)
 Return the greatest common divisor of a and b.
int64_t av_rescale (int64_t a, int64_t b, int64_t c) av_const
 Rescale a 64-bit integer with rounding to nearest.
int64_t av_rescale_rnd (int64_t a, int64_t b, int64_t c, enum AVRounding) av_const
 Rescale a 64-bit integer with specified rounding.
int64_t av_rescale_q (int64_t a, AVRational bq, AVRational cq) av_const
 Rescale a 64-bit integer by 2 rational numbers.
int av_compare_ts (int64_t ts_a, AVRational tb_a, int64_t ts_b, AVRational tb_b)
 Compare 2 timestamps each in its own timebases.
int64_t av_compare_mod (uint64_t a, uint64_t b, uint64_t mod)
 Compare 2 integers modulo mod.

Define Documentation

#define INFINITY   (1.0/0.0)

#define M_E   2.7182818284590452354

#define M_LN10   2.30258509299404568402

#define M_LN2   0.69314718055994530942

Definition at line 33 of file mathematics.h.

Referenced by decode_frame(), encode_block(), encode_init(), and ff_sipr_decode_frame_16k().

#define M_LOG2_10   3.32192809488736234787

Definition at line 39 of file mathematics.h.

Referenced by ff_amr_set_fixed_gain().

#define M_PHI   1.61803398874989484820

#define M_PI   3.14159265358979323846

Definition at line 45 of file mathematics.h.

#define M_SQRT1_2   0.70710678118654752440

#define M_SQRT2   1.41421356237309504880

Definition at line 51 of file mathematics.h.

Referenced by ps_tableinit().

#define NAN   (0.0/0.0)

Enumeration Type Documentation

enum AVRounding

AV_ROUND_ZERO  Round toward zero.
AV_ROUND_INF  Round away from zero.
AV_ROUND_DOWN  Round toward -infinity.
AV_ROUND_UP  Round toward +infinity.
AV_ROUND_NEAR_INF  Round to nearest and halfway cases away from zero.

Definition at line 60 of file mathematics.h.

Function Documentation

int64_t av_compare_mod ( uint64_t  a,
uint64_t  b,
uint64_t  mod 

Compare 2 integers modulo mod.

That is we compare integers a and b for which only the least significant log2(mod) bits are known.

mod must be a power of 2
a negative value if a is smaller than b a positive value if a is greater than b 0 if a equals b

Definition at line 150 of file mathematics.c.

Referenced by av_read_frame().

int av_compare_ts ( int64_t  ts_a,
AVRational  tb_a,
int64_t  ts_b,
AVRational  tb_b 

Compare 2 timestamps each in its own timebases.

The result of the function is undefined if one of the timestamps is outside the int64_t range when represented in the others timebase.

-1 if ts_a is before ts_b, 1 if ts_a is after ts_b or 0 if they represent the same position

Definition at line 140 of file mathematics.c.

Referenced by ff_gen_syncpoint_search(), ff_interleave_compare_dts(), search_hi_lo_keyframes(), and transcode().

int64_t av_const av_gcd ( int64_t  a,
int64_t  b 

Return the greatest common divisor of a and b.

If both a and b are 0 or either or both are <0 then behavior is undefined.

Definition at line 73 of file mathematics.c.

Referenced by av_gcd(), av_reduce(), avcodec_string(), avformat_find_stream_info(), config_output(), decode_main_header(), dump_stream_format(), ff_parse_specific_params(), h263_decode_picture_header(), init(), and MPV_encode_init().

int64_t av_rescale ( int64_t  a,
int64_t  b,
int64_t  c 
) const

int64_t av_rescale_q ( int64_t  a,
AVRational  bq,
AVRational  cq 
) const

int64_t av_rescale_rnd ( int64_t  a,
int64_t  b,
int64_t  c,
enum  AVRounding 
) const

Generated on Fri Oct 26 02:38:21 2012 for FFmpeg by  doxygen 1.5.8