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.

Defines

#define M_E   2.7182818284590452354
#define M_LN2   0.69314718055994530942
#define M_LN10   2.30258509299404568402
#define M_LOG2_10   3.32192809488736234787
#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)

Enumerations

enum  AVRounding {
  AV_ROUND_ZERO = 0, AV_ROUND_INF = 1, AV_ROUND_DOWN = 2, AV_ROUND_UP = 3,
  AV_ROUND_NEAR_INF = 5
}

Functions

int64_t av_const av_gcd (int64_t a, int64_t b)
 Returns the greatest common divisor of a and b.
int64_t av_rescale (int64_t a, int64_t b, int64_t c) av_const
 Rescales 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
 Rescales a 64-bit integer with specified rounding.
int64_t av_rescale_q (int64_t a, AVRational bq, AVRational cq) av_const
 Rescales 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)
 Compares 2 timestamps each in its own timebases.


Define Documentation

#define INFINITY   (1.0/0.0)

#define M_E   2.7182818284590452354

Definition at line 30 of file mathematics.h.

Referenced by get_qscale().

#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_PI   3.14159265358979323846

Definition at line 42 of file mathematics.h.

#define M_SQRT1_2   0.70710678118654752440

Definition at line 45 of file mathematics.h.

Referenced by dca_subsubframe(), nelly_decode_block(), and ps_tableinit().

#define M_SQRT2   1.41421356237309504880

Definition at line 48 of file mathematics.h.

Referenced by ps_tableinit().

#define NAN   (0.0/0.0)

Definition at line 51 of file mathematics.h.

Referenced by eval_expr(), and ff_parse_and_eval_expr().


Enumeration Type Documentation

enum AVRounding

Enumerator:
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 57 of file mathematics.h.


Function Documentation

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

Compares 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.

Returns:
-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 139 of file mathematics.c.

Referenced by av_transcode(), ff_gen_syncpoint_search(), and search_hi_lo_keyframes().

int64_t av_const av_gcd ( int64_t  a,
int64_t  b 
)

Returns 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 72 of file mathematics.c.

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

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:36:55 2012 for FFmpeg by  doxygen 1.5.8