diff mbox series

[FFmpeg-devel,4/6,v2] avcodec/aac_ac3_parser: don't try to sync when the parser is configured to handle complete frames

Message ID 20221024222657.18625-1-jamrial@gmail.com
State Accepted
Commit 57117c0ef69edcd34e7ecb7fd75f363cad691c99
Headers show
Series None | expand

Commit Message

James Almer Oct. 24, 2022, 10:26 p.m. UTC
Should speed up parsing when the frames come from non raw containers.

Signed-off-by: James Almer <jamrial@gmail.com>
---
The got_frame variable can probably be removed. ff_combine_frame() should return
success only if the end of a frame was found. Will look at that later.

 libavcodec/aac_ac3_parser.c | 5 +++++
 1 file changed, 5 insertions(+)
diff mbox series

Patch

diff --git a/libavcodec/aac_ac3_parser.c b/libavcodec/aac_ac3_parser.c
index 6df064e28d..b2cb79801e 100644
--- a/libavcodec/aac_ac3_parser.c
+++ b/libavcodec/aac_ac3_parser.c
@@ -40,6 +40,10 @@  int ff_aac_ac3_parse(AVCodecParserContext *s1,
     int new_frame_start;
     int got_frame = 0;
 
+    if (s1->flags & PARSER_FLAG_COMPLETE_FRAMES) {
+        i = buf_size;
+        got_frame = 1;
+    } else {
 get_next:
     i=END_NOT_FOUND;
     if(s->remaining_size <= buf_size){
@@ -77,6 +81,7 @@  get_next:
         *poutbuf_size = 0;
         return buf_size;
     }
+    }
 
     *poutbuf = buf;
     *poutbuf_size = buf_size;