Libav
|
Data Structures | |
struct | AVRational |
rational number numerator/denominator More... | |
Macros | |
#define | ff_ctz ff_ctz_c |
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 | |
static av_always_inline av_const int | ff_ctz_c (int v) |
int | av_ctz (int v) |
Trailing zero bit count. More... | |
int64_t av_const | av_gcd (int64_t a, int64_t b) |
Return the greatest common divisor of a and b. More... | |
int64_t | av_rescale (int64_t a, int64_t b, int64_t c) av_const |
Rescale a 64-bit integer with rounding to nearest. More... | |
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. More... | |
int64_t | av_rescale_q (int64_t a, AVRational bq, AVRational cq) av_const |
Rescale a 64-bit integer by 2 rational numbers. More... | |
int64_t | av_rescale_q_rnd (int64_t a, AVRational bq, AVRational cq, enum AVRounding) av_const |
Rescale a 64-bit integer by 2 rational numbers with specified rounding. More... | |
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. More... | |
int64_t | av_compare_mod (uint64_t a, uint64_t b, uint64_t mod) |
Compare 2 integers modulo mod. More... | |
static int | av_cmp_q (AVRational a, AVRational b) |
Compare two rationals. More... | |
static double | av_q2d (AVRational a) |
Convert rational to double. More... | |
int | av_reduce (int *dst_num, int *dst_den, int64_t num, int64_t den, int64_t max) |
Reduce a fraction. More... | |
AVRational | av_mul_q (AVRational b, AVRational c) av_const |
Multiply two rationals. More... | |
AVRational | av_div_q (AVRational b, AVRational c) av_const |
Divide one rational by another. More... | |
AVRational | av_add_q (AVRational b, AVRational c) av_const |
Add two rationals. More... | |
AVRational | av_sub_q (AVRational b, AVRational c) av_const |
Subtract one rational from another. More... | |
static av_always_inline AVRational | av_inv_q (AVRational q) |
Invert a rational. More... | |
AVRational | av_d2q (double d, int max) av_const |
Convert a double precision floating point number to a rational. More... | |
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. More... | |
enum AVRounding |
Definition at line 49 of file mathematics.h.
|
static |
int av_ctz | ( | int | v) |
Trailing zero bit count.
v | input value. If v is 0, the result is undefined. |
Definition at line 36 of file intmath.c.
Referenced by remove_wasted_bits().
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 53 of file mathematics.c.
Referenced by av_gcd(), av_reduce(), avcodec_string(), decode_main_header(), dump_stream_format(), ff_h263_decode_picture_header(), ff_MPV_encode_init(), ff_parse_specific_params(), ff_put_wav_header(), rtp_send_samples(), and xvid_correct_framerate().
int64_t av_rescale | ( | int64_t | a, |
int64_t | b, | ||
int64_t | c | ||
) | const |
Rescale a 64-bit integer with rounding to nearest.
A simple a*b/c isn't possible as it can overflow.
Definition at line 110 of file mathematics.c.
Referenced by asf_build_simple_index(), av_dump_format(), avi_read_header(), check_stream_max_drift(), compute_pkt_fields(), compute_pkt_fields2(), config_props(), dc1394_read_common(), estimate_timings_from_bit_rate(), ff_gen_search(), ff_pcm_read_seek(), ff_rtp_check_and_send_back_rr(), ff_update_cur_dts(), filter_frame(), finalize_packet(), get_input_packet(), get_pcr(), hls_write_packet(), mov_build_index(), mov_find_next_sample(), mov_write_tapt_tag(), mp3_parse_vbr_tags(), mpeg_mux_write_packet(), mpegts_write_header(), mpegts_write_packet_internal(), mpegts_write_pes(), mxf_read_seek(), nsv_parse_NSVs_header(), output_packet(), r3d_read_reda(), read_xing_toc(), seek_frame_internal(), vqf_read_seek(), and wav_write_trailer().
int64_t av_rescale_rnd | ( | int64_t | a, |
int64_t | b, | ||
int64_t | c, | ||
enum | AVRounding | ||
) | const |
Rescale a 64-bit integer with specified rounding.
A simple a*b/c isn't possible as it can overflow.
Definition at line 58 of file mathematics.c.
Referenced by av_compare_ts(), av_nearer_q(), av_rescale(), av_rescale_q_rnd(), av_rescale_rnd(), compute_pkt_fields(), dv_write_pack(), ff_nut_reset_ts(), ff_pcm_read_seek(), filter_frame(), gxf_compare_field_nb(), gxf_write_media_preamble(), handle_file(), hls_read_packet(), hls_read_seek(), mov_write_edts_tag(), mov_write_mvhd_tag(), mov_write_tkhd_tag(), nut_write_packet(), read_seek2(), request_frame(), rtmp_read_seek(), vpx_init(), and vqf_read_seek().
int64_t av_rescale_q | ( | int64_t | a, |
AVRational | bq, | ||
AVRational | cq | ||
) | const |
Rescale a 64-bit integer by 2 rational numbers.
Definition at line 122 of file mathematics.c.
Referenced by asf_write_markers(), av_buffersink_get_samples(), avformat_find_stream_info(), avi_read_packet(), avi_read_seek(), avisynth_read_packet_audio(), avisynth_read_seek(), buffer_offset(), check_stream_max_drift(), compand_delay(), compand_drain(), compute_chapters_end(), copy_chapters(), decode_audio(), decode_frame(), do_audio_out(), do_streamcopy(), do_subtitle_out(), do_video_out(), dv_extract_video_info(), dv_read_header(), ff_af_queue_add(), ff_dv_offset_reset(), ff_interleave_packet_per_dts(), ff_samples_to_time_base(), ff_write_chained(), fill_all_stream_timings(), filter_frame(), flush_encoders(), get_subtitle_pkt(), hls_read_packet(), http_prepare_data(), init_common(), interleave_new_audio_packet(), main(), matroska_read_header(), mkv_write_chapters(), mov_create_chapter_track(), mov_read_seek(), mov_write_chpl_tag(), mov_write_packet(), mp3_parse_vbr_tags(), ogg_buffer_data(), ogg_compare_granule(), ogg_write_packet(), output_packet(), parse_forced_key_frames(), poll_filter(), poll_filters(), process_input(), r3d_read_rdvo(), r3d_seek(), read_from_fifo(), read_header(), read_seek2(), request_frame(), rl2_read_seek(), rtcp_send_sr(), rtp_parse_one_packet(), rtp_write_header(), rtsp_read_play(), rtsp_read_seek(), seek_chapter(), seek_subtitle(), source_request_frame(), update_stream_timings(), v4l2_set_parameters(), video_thread(), write_packet(), and write_video_frame().
int64_t av_rescale_q_rnd | ( | int64_t | a, |
AVRational | bq, | ||
AVRational | cq, | ||
enum | AVRounding | ||
) | const |
Rescale a 64-bit integer by 2 rational numbers with specified rounding.
Definition at line 114 of file mathematics.c.
Referenced by av_rescale_q(), parse_packet(), and rtp_write_header().
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.
Definition at line 127 of file mathematics.c.
Referenced by check_recording_time(), ff_gen_syncpoint_search(), hds_write_packet(), hls_read_packet(), hls_write_packet(), interleave_compare_dts(), ism_write_packet(), request_frame(), search_hi_lo_keyframes(), seek_chapter(), and seg_write_packet().
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 |
Definition at line 135 of file mathematics.c.
Referenced by av_read_frame().
|
inlinestatic |
Compare two rationals.
a | first rational |
b | second rational |
Definition at line 55 of file rational.h.
Referenced by av_nearer_q(), config_output(), dump_stream_format(), ff_h263_aspect_to_info(), filter_frame(), init_muxer(), mpeg_decode_postinit(), and video_thread().
|
inlinestatic |
Convert rational to double.
a | rational to convert |
Definition at line 69 of file rational.h.
Referenced by audio_decode_frame(), av_dump_format(), avformat_find_stream_info(), avi_write_header(), config_input(), config_output_props(), config_props(), decode_syncpoint(), decode_thread(), do_video_stats(), dump_stream_format(), dv_write_pack(), fbdev_read_header(), fbdev_read_packet(), ff_MPV_encode_init(), ff_MPV_encode_picture(), ff_rate_control_init(), ff_rate_estimate_qscale(), ff_vbv_update(), filter_frame(), flv_write_header(), init_common(), init_input_stream(), init_pass2(), init_video(), mkv_write_tracks(), modify_qscale(), mov_write_tkhd_tag(), mov_write_trak_tag(), movie_get_frame(), mpeg1_encode_sequence_header(), mxf_write_header(), output_picture2(), pkt_dump_internal(), print_report(), read_header(), read_seek(), select_frame(), subtitle_thread(), thp_read_header(), time_value_string(), ts_str(), v4l2_read_header(), video_image_display(), video_thread(), write_manifest(), write_trailer(), x11grab_read_header(), and x11grab_read_packet().
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.
dst_num | destination numerator |
dst_den | destination denominator |
num | source numerator |
den | source denominator |
max | the maximum allowed for dst_num & dst_den |
Definition at line 35 of file rational.c.
Referenced by asf_read_header(), av_add_q(), av_d2q(), av_mul_q(), avcodec_string(), avformat_find_stream_info(), avi_write_header(), avpriv_set_pts_info(), decode_frame(), decode_sequence_header_adv(), dump_stream_format(), dxa_read_header(), ff_audio_resample_init(), ff_rm_read_mdpr_codecdata(), filter_frame(), h264_slice_header_init(), matroska_read_header(), mov_write_pasp_tag(), mpeg_decode_postinit(), mxf_parse_mpeg2_frame(), parse_source_parameters(), read_fps(), set_sps(), show_stream(), skeleton_header(), smacker_read_header(), tmv_read_header(), transcode_init(), vmd_read_header(), and yuv4_read_header().
AVRational av_mul_q | ( | AVRational | b, |
AVRational | c | ||
) | const |
Multiply two rationals.
b | first rational |
c | second rational |
Definition at line 79 of file rational.c.
Referenced by av_div_q(), avi_write_header(), config_props(), and mpeg_decode_postinit().
AVRational av_div_q | ( | AVRational | b, |
AVRational | c | ||
) | const |
Divide one rational by another.
b | first rational |
c | second rational |
Definition at line 87 of file rational.c.
Referenced by avi_read_header(), config_props_output(), and mpeg_decode_postinit().
AVRational av_add_q | ( | AVRational | b, |
AVRational | c | ||
) | const |
Add two rationals.
b | first rational |
c | second rational |
Definition at line 92 of file rational.c.
Referenced by av_sub_q().
AVRational av_sub_q | ( | AVRational | b, |
AVRational | c | ||
) | const |
Subtract one rational from another.
b | first rational |
c | second rational |
Definition at line 100 of file rational.c.
|
static |
Invert a rational.
q | value |
Definition at line 122 of file rational.h.
Referenced by configure_input_video_filter(), output_packet(), read_header(), and yuv4_read_header().
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.
d | double to convert |
max | the maximum allowed numerator and denominator |
Definition at line 105 of file rational.c.
Referenced by av_opt_get_q(), av_opt_set_defaults(), av_parse_video_rate(), config_output_props(), config_props(), get_aspect_ratio(), init(), mov_read_tkhd(), mov_read_trak(), mpeg_decode_postinit(), nuv_header(), thp_read_header(), transcode_init(), and write_number().
int av_nearer_q | ( | AVRational | q, |
AVRational | q1, | ||
AVRational | q2 | ||
) |
Definition at line 122 of file rational.c.
Referenced by av_find_nearest_q_idx().
int av_find_nearest_q_idx | ( | AVRational | q, |
const AVRational * | q_list | ||
) |
Find the nearest value in q_list to q.
q_list | an array of rationals terminated by {0, 0} |
Definition at line 137 of file rational.c.
Referenced by transcode_init().