[FFmpeg-cvslog] avformat: Add integer fps from 31 to 60 to get_std_framerate()

Michael Niedermayer git at videolan.org
Sat Jan 9 15:33:14 CET 2016


ffmpeg | branch: master | Michael Niedermayer <michael at niedermayer.cc> | Sat Jan  9 10:49:23 2016 +0100| [2039b3e7511ef183dae206575114e15b6d99c134] | committer: Michael Niedermayer

avformat: Add integer fps from 31 to 60 to get_std_framerate()

Fixes Ticket 5106

Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=2039b3e7511ef183dae206575114e15b6d99c134
---

 libavformat/avformat.h |    2 +-
 libavformat/utils.c    |   10 +++++++---
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/libavformat/avformat.h b/libavformat/avformat.h
index 95a645b..e6c35ab 100644
--- a/libavformat/avformat.h
+++ b/libavformat/avformat.h
@@ -990,7 +990,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 7606502..b6457b0 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -2927,10 +2927,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;
 }



More information about the ffmpeg-cvslog mailing list