Data Structures | |
| struct | AVRational | 
| rational number numerator/denominator  More... | |
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) | 
| 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.   | |
| 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.   | |
| 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.   | |
| static int | av_cmp_q (AVRational a, AVRational b) | 
| Compare two rationals.   | |
| static double | av_q2d (AVRational a) | 
| Convert rational to double.   | |
| 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) av_const | 
| Multiply two rationals.   | |
| AVRational | av_div_q (AVRational b, AVRational c) av_const | 
| Divide one rational by another.   | |
| AVRational | av_add_q (AVRational b, AVRational c) av_const | 
| Add two rationals.   | |
| AVRational | av_sub_q (AVRational b, AVRational c) av_const | 
| Subtract one rational from another.   | |
| static av_always_inline AVRational | av_inv_q (AVRational q) | 
| Invert a rational.   | |
| AVRational | av_d2q (double d, int max) av_const | 
| 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.   | |
| enum AVRounding | 
Definition at line 67 of file mathematics.h.
| AVRational av_add_q | ( | AVRational | b, | |
| AVRational | c | |||
| ) | const | 
Add two rationals.
| b | first rational | |
| c | second rational | 
Definition at line 93 of file rational.c.
Referenced by av_sub_q().
| static int av_cmp_q | ( | AVRational | a, | |
| AVRational | b | |||
| ) |  [inline, static] | 
        
Compare two rationals.
| a | first rational | |
| b | second rational | 
Definition at line 55 of file rational.h.
Referenced by av_nearer_q(), avformat_write_header(), decode_slice_header(), dump_stream_format(), ff_h263_aspect_to_info(), ff_mxf_get_samples_per_frame(), filter_samples(), mpeg_decode_postinit(), sdl_write_header(), start_frame(), and video_thread().
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 157 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.
Definition at line 147 of file mathematics.c.
Referenced by check_recording_time(), ff_gen_syncpoint_search(), ff_interleave_compare_dts(), hls_read_packet(), ism_write_packet(), nut_write_packet(), search_hi_lo_keyframes(), and seg_write_packet().
| 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 106 of file rational.c.
Referenced by av_get_q(), av_opt_get_q(), av_opt_set_defaults2(), av_parse_ratio(), config_output_props(), decode_frame(), microdvd_read_header(), mov_read_tkhd(), mov_read_trak(), mpeg_decode_postinit(), nuv_header(), read_header(), thp_read_header(), transcode_init(), and write_number().
| AVRational av_div_q | ( | AVRational | b, | |
| AVRational | c | |||
| ) | const | 
Divide one rational by another.
| b | first rational | |
| c | second rational | 
Definition at line 88 of file rational.c.
Referenced by avi_read_header(), config_output(), config_output_props(), 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.
| q_list | an array of rationals terminated by {0, 0} | 
Definition at line 138 of file rational.c.
Referenced by transcode_init().
| 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_parse_ratio(), av_reduce(), avcodec_string(), avformat_find_stream_info(), config_output(), decode_main_header(), dump_stream_format(), eval_expr(), ff_h263_decode_picture_header(), ff_MPV_encode_init(), ff_parse_specific_params(), rtp_send_samples(), and xvid_correct_framerate().
| static av_always_inline AVRational av_inv_q | ( | AVRational | q | ) |  [static] | 
        
Invert a rational.
| q | value | 
Definition at line 122 of file rational.h.
Referenced by avformat_find_stream_info(), config_props(), configure_input_video_filter(), ea_read_header(), fbdev_read_header(), ff_raw_video_read_header(), init(), mxf_write_header(), r3d_read_rdvo(), r3d_seek(), transcode_init(), vfw_read_header(), and x11grab_read_header().
| AVRational av_mul_q | ( | AVRational | b, | |
| AVRational | c | |||
| ) | const | 
Multiply two rationals.
| b | first rational | |
| c | second rational | 
Definition at line 80 of file rational.c.
Referenced by av_div_q(), avi_write_header(), config_input(), config_props(), mpeg_decode_postinit(), rv20_decode_picture_header(), and sdl_write_header().
| int av_nearer_q | ( | AVRational | q, | |
| AVRational | q1, | |||
| AVRational | q2 | |||
| ) | 
Definition at line 123 of file rational.c.
Referenced by av_find_nearest_q_idx().
| static double av_q2d | ( | AVRational | a | ) |  [inline, static] | 
        
Convert rational to double.
| a | rational to convert | 
Definition at line 69 of file rational.h.
Referenced by audio_decode_frame(), av_dump_format(), av_ts_make_time_string(), avformat_find_stream_info(), avformat_write_header(), avi_write_header(), calculate_display_rect(), config_input(), config_output(), config_output_props(), config_props(), decode_frame(), decode_syncpoint(), do_video_out(), do_video_stats(), draw_text(), dump_stream_format(), dv_write_pack(), end_frame(), fbdev_read_header(), fbdev_read_packet(), ff_MPV_encode_init(), ff_MPV_encode_picture(), ff_mxf_get_samples_per_frame(), ff_start_frame(), filter_samples(), flv_write_header(), get_fps(), get_video_frame(), grab_read_header(), init(), init_stream(), mkv_write_tracks(), mov_write_tkhd_tag(), mov_write_trak_tag(), mpeg1_encode_sequence_header(), new_video_stream(), output_packet(), pkt_dump_internal(), queue_picture(), read_header(), read_seek(), read_thread(), seg_write_packet(), select_frame(), send_out(), start_frame(), subtitle_thread(), thp_read_header(), transcode_init(), v4l2_read_header(), vf_next_put_image(), video_thread(), write_trailer(), writer_print_time(), x11grab_read_header(), and x11grab_read_packet().
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 36 of file rational.c.
Referenced by asf_read_header(), av_add_q(), av_d2q(), av_guess_sample_aspect_ratio(), av_mul_q(), av_resample_init(), avcodec_string(), avformat_find_stream_info(), avi_write_header(), avpriv_set_pts_info(), config_input(), config_output(), decode_frame(), decode_sequence_header_adv(), decode_slice_header(), dump_stream_format(), dxa_read_header(), ff_audio_resample_init(), ff_MPV_encode_init(), ff_rm_read_mdpr_codecdata(), matroska_read_header(), mov_read_trak(), mov_write_pasp_tag(), mpeg4_encode_vol_header(), mpeg_decode_postinit(), mxf_parse_mpeg2_frame(), parse_source_parameters(), read_fps(), show_stream(), skeleton_header(), smacker_read_header(), start_frame(), swri_resample_init(), tmv_read_header(), transcode_init(), vmd_read_header(), X264_init(), and yuv4_read_header().
| 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 130 of file mathematics.c.
Referenced by asf_build_simple_index(), audio_read_packet(), av_dump_format(), avi_read_header(), compute_pkt_fields(), compute_pkt_fields2(), config_props(), dc1394_read_common(), estimate_timings_from_bit_rate(), ff_gen_search(), ff_pcm_read_seek(), ff_update_cur_dts(), filter_samples(), finalize_packet(), generate_intervals(), get_pcr(), mov_build_index(), mov_find_next_sample(), mov_read_mvhd(), 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(), rate_emu_sleep(), read_header(), read_xing_toc(), rm_read_header(), sbg_read_header(), sdl_write_header(), seek_frame_internal(), swr_get_delay(), transcode_subtitles(), 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 142 of file mathematics.c.
Referenced by av_mpeg4_decode_header(), avcodec_decode_audio4(), avcodec_decode_subtitle2(), avformat_find_stream_info(), avi_read_packet(), avi_read_seek(), buffer_offset(), caca_write_header(), choose_output(), compute_chapters_end(), copy_chapters(), decode_audio(), decode_frame(), decode_video(), display_picref(), do_audio_out(), do_streamcopy(), do_subtitle_out(), do_video_out(), dv_extract_video_info(), dv_read_header(), end_frame(), end_frame_over(), ff_af_queue_add(), ff_buffersink_read_samples_compat(), ff_dv_offset_reset(), ff_filter_samples(), ff_interleave_add_packet(), ff_interleave_compare_dts(), ff_interleave_new_audio_packet(), ff_interleave_packet_per_dts(), ff_read_packet(), ff_samples_to_time_base(), ff_update_link_current_pts(), ff_write_chained(), fill_all_stream_timings(), filter_samples(), flush_encoders(), get_subtitle_pkt(), guess_ni_flag(), http_prepare_data(), init(), init_convert_timestamp(), lavfi_read_packet(), main(), microdvd_decode_frame(), mkv_write_chapters(), mov_create_chapter_track(), mov_read_seek(), mov_text_decode_frame(), mov_write_chpl_tag(), mov_write_single_packet(), mp3_parse_vbr_tags(), ogg_compare_granule(), output_packet(), parse_forced_key_frames(), plot_spectrum_column(), print_report(), process_frame(), process_input(), push_frame(), push_samples(), r3d_read_rdvo(), r3d_seek(), read_from_fifo(), read_header(), read_seek2(), reap_filters(), request_frame(), rl2_read_seek(), rtcp_send_sr(), rtp_write_header(), rtsp_read_play(), rtsp_read_seek(), sami_decode_frame(), sbg_read_seek2(), seek_subtitle(), send_silence(), source_request_frame(), srt_decode_frame(), start_frame(), start_frame_main(), sub2video_heartbeat(), sub2video_update(), transcode_init(), ts_str(), update_stream_timings(), video_thread(), webvtt_decode_frame(), 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 134 of file mathematics.c.
Referenced by av_rescale_q(), ff_interleave_packet_per_dts(), parse_packet(), and rtp_write_header().
| 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 78 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_samples(), 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(), vp8_init(), and vqf_read_seek().
| AVRational av_sub_q | ( | AVRational | b, | |
| AVRational | c | |||
| ) | const | 
Subtract one rational from another.
| b | first rational | |
| c | second rational | 
Definition at line 101 of file rational.c.
 1.5.8