[FFmpeg-cvslog] avcodec/aac_ac3_parser: don't try to sync when the parser is configured to handle complete frames

James Almer git at videolan.org
Wed Oct 26 16:33:59 EEST 2022


ffmpeg | branch: master | James Almer <jamrial at gmail.com> | Sat Oct 22 16:37:01 2022 -0300| [57117c0ef69edcd34e7ecb7fd75f363cad691c99] | committer: James Almer

avcodec/aac_ac3_parser: don't try to sync when the parser is configured to handle complete frames

Should speed up parsing when the frames come from non raw containers.

Signed-off-by: James Almer <jamrial at gmail.com>

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

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

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;



More information about the ffmpeg-cvslog mailing list