avformat/mov: Break out of inner loop early in mov_estimate_video_delay()
authorMichael Niedermayer <michael@niedermayer.cc>
Wed, 11 Jul 2018 00:17:58 +0000 (02:17 +0200)
committerMichael Niedermayer <michael@niedermayer.cc>
Fri, 13 Jul 2018 00:19:50 +0000 (02:19 +0200)
0.266 <- 0.299 sec (this is time ffmpeg so containing alot other things)

Sample for benchmark was: ffmpeg -f rawvideo -pix_fmt yuv420p -s 32x32 -i /dev/zero -t 24:00:00.00 out.mp4

Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Reviewed-by: Sasi Inguva <isasi@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavformat/mov.c

index 67b3e11..8a91239 100644 (file)
@@ -3332,6 +3332,8 @@ static void mov_estimate_video_delay(MOVContext *c, AVStream* st) {
                 if (pts_buf[j] < pts_buf[r]) {
                     FFSWAP(int64_t, pts_buf[j], pts_buf[r]);
                     ++num_swaps;
+                } else {
+                    break;
                 }
                 j = r;
             }