aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2016-01-09 10:49:23 +0100
committerMichael Niedermayer <michael@niedermayer.cc>2016-01-15 17:23:54 +0100
commitc0315b74e2563f8c3b97e8ff99cd9bd12654c143 (patch)
treea9b4cfc63051018274d207e592cae6d2975d0092 /libavformat
parent81bac54ab3cdf1cac32bc0ee84956077c5562589 (diff)
downloadffmpeg-c0315b74e2563f8c3b97e8ff99cd9bd12654c143.tar.gz
avformat: Add integer fps from 31 to 60 to get_std_framerate()
Fixes Ticket 5106 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> (cherry picked from commit 2039b3e7511ef183dae206575114e15b6d99c134) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavformat')
-rw-r--r--libavformat/avformat.h2
-rw-r--r--libavformat/utils.c10
2 files changed, 8 insertions, 4 deletions
diff --git a/libavformat/avformat.h b/libavformat/avformat.h
index 4211a95fca..6498bb6b8b 100644
--- a/libavformat/avformat.h
+++ b/libavformat/avformat.h
@@ -921,7 +921,7 @@ typedef struct AVStream {
/**
* Stream information used internally by av_find_stream_info()
*/
-#define MAX_STD_TIMEBASES (30*12+7+6)
+#define MAX_STD_TIMEBASES (30*12+30+3+6)
struct {
int64_t last_dts;
int64_t duration_gcd;
diff --git a/libavformat/utils.c b/libavformat/utils.c
index bdcbd72201..0e23c1d4fe 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -2824,10 +2824,14 @@ static int get_std_framerate(int i)
return (i + 1) * 1001;
i -= 30*12;
- if (i < 7)
- return ((const int[]) { 40, 48, 50, 60, 80, 120, 240})[i] * 1001 * 12;
+ if (i < 30)
+ return (i + 31) * 1001 * 12;
+ i -= 30;
- i -= 7;
+ if (i < 3)
+ return ((const int[]) { 80, 120, 240})[i] * 1001 * 12;
+
+ i -= 3;
return ((const int[]) { 24, 30, 60, 12, 15, 48 })[i] * 1000 * 12;
}