Commit 367c9d33 authored by Michael Niedermayer's avatar Michael Niedermayer

avformat: replace some odd 30-60 rates by higher less odd ones in get_std_framerate()

Fixes Ticket4012
Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent f0ae0354
......@@ -916,7 +916,7 @@ typedef struct AVStream {
/**
* Stream information used internally by av_find_stream_info()
*/
#define MAX_STD_TIMEBASES (60*12+6)
#define MAX_STD_TIMEBASES (30*12+7+6)
struct {
int64_t last_dts;
int64_t duration_gcd;
......
......@@ -2787,10 +2787,16 @@ static void compute_chapters_end(AVFormatContext *s)
static int get_std_framerate(int i)
{
if (i < 60 * 12)
if (i < 30*12)
return (i + 1) * 1001;
else
return ((const int[]) { 24, 30, 60, 12, 15, 48 })[i - 60 * 12] * 1000 * 12;
i -= 30*12;
if (i < 7)
return ((const int[]) { 40, 48, 50, 60, 80, 120, 240})[i] * 1001 * 12;
i -= 7;
return ((const int[]) { 24, 30, 60, 12, 15, 48 })[i] * 1000 * 12;
}
/* Is the time base unreliable?
......
......@@ -31,7 +31,7 @@
#define LIBAVFORMAT_VERSION_MAJOR 56
#define LIBAVFORMAT_VERSION_MINOR 14
#define LIBAVFORMAT_VERSION_MICRO 100
#define LIBAVFORMAT_VERSION_MICRO 101
#define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
LIBAVFORMAT_VERSION_MINOR, \
......
#tb 0: 12/601
#tb 0: 1/50
0, 0, 0, 1, 63180, 0xcda82c16
0, 1, 1, 1, 63180, 0xa6097bf9
0, 2, 2, 1, 63180, 0x4c2fb091
......
#tb 0: 3/158
#tb 0: 12/281
0, 0, 0, 1, 67584, 0xce0cade5
#tb 0: 12/601
#tb 0: 1/50
0, 0, 0, 1, 67584, 0x5eae629b
0, 1, 1, 1, 67584, 0x32591227
0, 2, 2, 1, 67584, 0x4e4424c7
......
#tb 0: 16701/250000
#tb 0: 1001/15000
0, 0, 0, 1, 38016, 0x50e93e0d
0, 1, 1, 1, 38016, 0x6ac8627d
0, 2, 2, 1, 38016, 0x6f38661e
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment