[FFmpeg-devel] [PATCH 4/6 v2] avcodec/aac_ac3_parser: don't try to sync when the parser is configured to handle complete frames
James Almer
jamrial at gmail.com
Tue Oct 25 01:26:57 EEST 2022
Should speed up parsing when the frames come from non raw containers.
Signed-off-by: James Almer <jamrial at 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 --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;
--
2.38.1
More information about the ffmpeg-devel
mailing list