[FFmpeg-cvslog] h264_parser: Fix behaviour when PARSER_FLAG_COMPLETE_FRAMES is set.
Philip Langdale
git at videolan.org
Tue Apr 5 05:33:37 CEST 2011
ffmpeg | branch: master | Philip Langdale <philipl at overt.org> | Mon Mar 28 21:42:02 2011 -0700| [01f5b9c51eba113b3e8b594ef55e8f08071cdeb6] | committer: Philip Langdale
h264_parser: Fix behaviour when PARSER_FLAG_COMPLETE_FRAMES is set.
Currently, the parser is buggy and only processes the stream extradata
when the flag is set. This fixes it to actually inspect the frames.
Whitespce will be fixed in a separate change.
Signed-off-by: Philip Langdale <philipl at overt.org>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=01f5b9c51eba113b3e8b594ef55e8f08071cdeb6
---
libavcodec/h264_parser.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/libavcodec/h264_parser.c b/libavcodec/h264_parser.c
index c5728e2..3b5627d 100644
--- a/libavcodec/h264_parser.c
+++ b/libavcodec/h264_parser.c
@@ -270,6 +270,7 @@ static int h264_parse(AVCodecParserContext *s,
assert(pc->last_index + next >= 0 );
ff_h264_find_frame_end(h, &pc->buffer[pc->last_index + next], -next); //update state
}
+ }
parse_nal_units(s, avctx, buf, buf_size);
@@ -282,10 +283,10 @@ static int h264_parse(AVCodecParserContext *s,
s->dts_ref_dts_delta = INT_MIN;
s->pts_dts_delta = INT_MIN;
}
+
if (s->flags & PARSER_FLAG_ONCE) {
s->flags &= PARSER_FLAG_COMPLETE_FRAMES;
}
- }
*poutbuf = buf;
*poutbuf_size = buf_size;
More information about the ffmpeg-cvslog
mailing list