libavutil/rational.c File Reference

rational numbers More...

#include "avassert.h"
#include <limits.h>
#include "common.h"
#include "mathematics.h"
#include "rational.h"

Go to the source code of this file.

Defines

#define LOG2   0.69314718055994530941723212145817656807550013436025

Functions

int av_reduce (int *dst_num, int *dst_den, int64_t num, int64_t den, int64_t max)
 Reduce a fraction.
AVRational av_mul_q (AVRational b, AVRational c)
 Multiply two rationals.
AVRational av_div_q (AVRational b, AVRational c)
 Divide one rational by another.
AVRational av_add_q (AVRational b, AVRational c)
 Add two rationals.
AVRational av_sub_q (AVRational b, AVRational c)
 Subtract one rational from another.
AVRational av_d2q (double d, int max)
 Convert a double precision floating point number to a rational.
int av_nearer_q (AVRational q, AVRational q1, AVRational q2)
int av_find_nearest_q_idx (AVRational q, const AVRational *q_list)
 Find the nearest value in q_list to q.


Detailed Description

rational numbers

Author:
Michael Niedermayer <michaelni@gmx.at>

Definition in file rational.c.


Define Documentation

#define LOG2   0.69314718055994530941723212145817656807550013436025

Referenced by av_d2q().


Function Documentation

AVRational av_add_q ( AVRational  b,
AVRational  c 
) const

Add two rationals.

Parameters:
b first rational
c second rational
Returns:
b+c

Definition at line 87 of file rational.c.

Referenced by av_sub_q().

AVRational av_d2q ( double  d,
int  max 
) const

Convert a double precision floating point number to a rational.

inf is expressed as {1,0} or {-1,0} depending on the sign.

Parameters:
d double to convert
max the maximum allowed numerator and denominator
Returns:
(AVRational) d

Definition at line 96 of file rational.c.

Referenced by av_get_q(), av_opt_set_defaults2(), av_parse_video_rate(), av_set_number2(), config_output_props(), config_props(), init(), matroska_read_header(), microdvd_read_header(), mov_read_tkhd(), mov_read_trak(), mpeg_decode_postinit(), new_video_stream(), nuv_header(), and thp_read_header().

AVRational av_div_q ( AVRational  b,
AVRational  c 
) const

Divide one rational by another.

Parameters:
b first rational
c second rational
Returns:
b/c

Definition at line 83 of file rational.c.

Referenced by avi_read_header(), config_props_output(), and mpeg_decode_postinit().

int av_find_nearest_q_idx ( AVRational  q,
const AVRational q_list 
)

Find the nearest value in q_list to q.

Parameters:
q_list an array of rationals terminated by {0, 0}
Returns:
the index of the nearest value found in the array

Definition at line 127 of file rational.c.

Referenced by transcode().

AVRational av_mul_q ( AVRational  b,
AVRational  c 
) const

Multiply two rationals.

Parameters:
b first rational
c second rational
Returns:
b*c

Definition at line 78 of file rational.c.

Referenced by av_div_q(), avi_write_header(), config_props(), and mpeg_decode_postinit().

int av_nearer_q ( AVRational  q,
AVRational  q1,
AVRational  q2 
)

Returns:
1 if q1 is nearer to q than q2, -1 if q2 is nearer than q1, 0 if they have the same distance.

Definition at line 112 of file rational.c.

Referenced by av_find_nearest_q_idx().

int av_reduce ( int *  dst_num,
int *  dst_den,
int64_t  num,
int64_t  den,
int64_t  max 
)

Reduce a fraction.

This is useful for framerate calculations.

Parameters:
dst_num destination numerator
dst_den destination denominator
num source numerator
den source denominator
max the maximum allowed for dst_num & dst_den
Returns:
1 if exact, 0 otherwise

Definition at line 36 of file rational.c.

Referenced by asf_read_header(), av_add_q(), av_d2q(), av_mul_q(), av_resample_init(), av_set_pts_info(), avcodec_string(), avformat_find_stream_info(), avi_write_header(), config_output(), decode_frame(), decode_slice_header(), dump_stream_format(), dxa_read_header(), matroska_read_header(), mov_read_trak(), mov_write_pasp_tag(), mpeg_decode_postinit(), MPV_encode_init(), mxf_parse_mpeg2_frame(), parse_source_parameters(), read_fps(), show_stream(), skeleton_header(), smacker_read_header(), start_frame(), tmv_read_header(), transcode(), vmd_read_header(), and yuv4_read_header().

AVRational av_sub_q ( AVRational  b,
AVRational  c 
) const

Subtract one rational from another.

Parameters:
b first rational
c second rational
Returns:
b-c

Definition at line 92 of file rational.c.


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