Strangely the previous commit caused a slowdown in overall performance and
this fixes it. I used gcc 7.3.1. Does anybody else see this?

time ffprobe -show_packets 
samples/ffmpeg-bugs/trac/ticket6132/Samsung_HDR_-_Chasing_the_Light.ts > 
/dev/null

Before:
real    0m2,010s
user    0m1,413s
sys     0m0,596s

After:
real    0m1,948s
user    0m1,355s
sys     0m0,592s

Signed-off-by: Marton Balint <c...@passwd.hu>
---
 libavformat/mpegts.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
index b04fd7b4f4..3003739b38 100644
--- a/libavformat/mpegts.c
+++ b/libavformat/mpegts.c
@@ -2477,7 +2477,7 @@ static int handle_packet(MpegTSContext *ts, const uint8_t 
*packet)
     pid = AV_RB16(packet + 1) & 0x1fff;
     is_start = packet[1] & 0x40;
     tss = ts->pids[pid];
-    if (ts->auto_guess && !tss && is_start) {
+    if (av_unlikely(ts->auto_guess && !tss && is_start)) {
         add_pes_stream(ts, pid, -1);
         tss = ts->pids[pid];
     }
-- 
2.16.4

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to