diff options
author | Howard Chu <hyc@highlandsun.com> | 2010-05-28 18:50:39 +0000 |
---|---|---|
committer | Howard Chu <hyc@highlandsun.com> | 2010-05-28 18:50:39 +0000 |
commit | 23584bec87f2cab947e28ba54b0499492d6e5891 (patch) | |
tree | 50a6e72c17e20a8bc9e291e7057d70dd4e2c5266 /libavcodec/h264_parser.c | |
parent | 22a255842b0c9c269fa50cc578830795c78579e6 (diff) | |
download | ffmpeg-23584bec87f2cab947e28ba54b0499492d6e5891.tar.gz |
Parse avctx->extradata if available.
Fixes many "non-existing PPS referenced" error messages
Originally committed as revision 23363 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/h264_parser.c')
-rw-r--r-- | libavcodec/h264_parser.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/libavcodec/h264_parser.c b/libavcodec/h264_parser.c index 88529505af..06271cf41c 100644 --- a/libavcodec/h264_parser.c +++ b/libavcodec/h264_parser.c @@ -245,6 +245,14 @@ static int h264_parse(AVCodecParserContext *s, ParseContext *pc = &h->s.parse_context; int next; + if (h->first_picture) { + h->first_picture = 0; + if (avctx->extradata_size) { + h->s.avctx = avctx; + ff_h264_decode_extradata(h); + } + } + if(s->flags & PARSER_FLAG_COMPLETE_FRAMES){ next= buf_size; }else{ @@ -319,6 +327,7 @@ static int init(AVCodecParserContext *s) { H264Context *h = s->priv_data; h->thread_context[0] = h; + h->first_picture = 1; return 0; } |