1 /*
2    mkvmerge -- utility for splicing together matroska files
3    from component media subtypes
4 
5    Distributed under the GPL v2
6    see the file COPYING for details
7    or visit https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
8 
9    Written by Moritz Bunkus <moritz@bunkus.org>.
10 */
11 
12 #pragma once
13 
14 #include "common/common_pch.h"
15 
16 #include "common/math_fwd.h"
17 
18 namespace mtx::frame_timing {
19 
20 struct common_frame_rate_t {
21   int64_t duration;
22   mtx_mp_rational_t frame_rate;
23 };
24 
25 extern std::vector<common_frame_rate_t> g_common_frame_rates;
26 
27 mtx_mp_rational_t determine_frame_rate(int64_t duration, int64_t max_difference = 20'000);
28 
29 }
30