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 { ...@@ -916,7 +916,7 @@ typedef struct AVStream {
/** /**
* Stream information used internally by av_find_stream_info() * 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 { struct {
int64_t last_dts; int64_t last_dts;
int64_t duration_gcd; int64_t duration_gcd;
......
...@@ -2787,10 +2787,16 @@ static void compute_chapters_end(AVFormatContext *s) ...@@ -2787,10 +2787,16 @@ static void compute_chapters_end(AVFormatContext *s)
static int get_std_framerate(int i) static int get_std_framerate(int i)
{ {
if (i < 60 * 12) if (i < 30*12)
return (i + 1) * 1001; return (i + 1) * 1001;
else i -= 30*12;
return ((const int[]) { 24, 30, 60, 12, 15, 48 })[i - 60 * 12] * 1000 * 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? /* Is the time base unreliable?
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
#define LIBAVFORMAT_VERSION_MAJOR 56 #define LIBAVFORMAT_VERSION_MAJOR 56
#define LIBAVFORMAT_VERSION_MINOR 14 #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, \ #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
LIBAVFORMAT_VERSION_MINOR, \ LIBAVFORMAT_VERSION_MINOR, \
......
#tb 0: 12/601 #tb 0: 1/50
0, 0, 0, 1, 63180, 0xcda82c16 0, 0, 0, 1, 63180, 0xcda82c16
0, 1, 1, 1, 63180, 0xa6097bf9 0, 1, 1, 1, 63180, 0xa6097bf9
0, 2, 2, 1, 63180, 0x4c2fb091 0, 2, 2, 1, 63180, 0x4c2fb091
......
#tb 0: 3/158 #tb 0: 12/281
0, 0, 0, 1, 67584, 0xce0cade5 0, 0, 0, 1, 67584, 0xce0cade5
#tb 0: 12/601 #tb 0: 1/50
0, 0, 0, 1, 67584, 0x5eae629b 0, 0, 0, 1, 67584, 0x5eae629b
0, 1, 1, 1, 67584, 0x32591227 0, 1, 1, 1, 67584, 0x32591227
0, 2, 2, 1, 67584, 0x4e4424c7 0, 2, 2, 1, 67584, 0x4e4424c7
......
#tb 0: 16701/250000 #tb 0: 1001/15000
0, 0, 0, 1, 38016, 0x50e93e0d 0, 0, 0, 1, 38016, 0x50e93e0d
0, 1, 1, 1, 38016, 0x6ac8627d 0, 1, 1, 1, 38016, 0x6ac8627d
0, 2, 2, 1, 38016, 0x6f38661e 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