[Ffmpeg-cvslog] CVS: ffmpeg/libavformat utils.c, 1.163, 1.164 avformat.h, 1.130, 1.131 avidec.c, 1.74, 1.75
Michael Niedermayer CVS
michael
Mon Aug 15 17:58:23 CEST 2005
Update of /cvsroot/ffmpeg/ffmpeg/libavformat
In directory mail:/var2/tmp/cvs-serv27285/libavformat
Modified Files:
utils.c avformat.h avidec.c
Log Message:
parse pict_type for streams in avi
fix mpeg4 parser so it outputs te pict_type
support header only parseing without repacking
Index: utils.c
===================================================================
RCS file: /cvsroot/ffmpeg/ffmpeg/libavformat/utils.c,v
retrieving revision 1.163
retrieving revision 1.164
diff -u -d -r1.163 -r1.164
--- utils.c 15 Aug 2005 14:22:43 -0000 1.163
+++ utils.c 15 Aug 2005 15:58:21 -0000 1.164
@@ -927,6 +927,8 @@
if (!st->parser) {
/* no parser available : just output the raw packets */
st->need_parsing = 0;
+ }else if(st->need_parsing == 2){
+ st->parser->flags |= PARSER_FLAG_COMPLETE_FRAMES;
}
}
}
@@ -1846,6 +1848,9 @@
//only for the split stuff
if (!st->parser) {
st->parser = av_parser_init(st->codec->codec_id);
+ if(st->need_parsing == 2 && st->parser){
+ st->parser->flags |= PARSER_FLAG_COMPLETE_FRAMES;
+ }
}
}
Index: avformat.h
===================================================================
RCS file: /cvsroot/ffmpeg/ffmpeg/libavformat/avformat.h,v
retrieving revision 1.130
retrieving revision 1.131
diff -u -d -r1.130 -r1.131
--- avformat.h 15 Aug 2005 14:22:43 -0000 1.130
+++ avformat.h 15 Aug 2005 15:58:21 -0000 1.131
@@ -248,7 +248,7 @@
char language[4]; /* ISO 639 3-letter language code (empty string if undefined) */
/* av_read_frame() support */
- int need_parsing;
+ int need_parsing; ///< 1->full parsing needed, 2->only parse headers dont repack
struct AVCodecParserContext *parser;
int64_t cur_dts;
Index: avidec.c
===================================================================
RCS file: /cvsroot/ffmpeg/ffmpeg/libavformat/avidec.c,v
retrieving revision 1.74
retrieving revision 1.75
diff -u -d -r1.74 -r1.75
--- avidec.c 14 Aug 2005 15:42:40 -0000 1.74
+++ avidec.c 15 Aug 2005 15:58:21 -0000 1.75
@@ -302,6 +302,7 @@
st->codec->codec_id = codec_get_id(codec_bmp_tags, tag1);
if (st->codec->codec_id == CODEC_ID_XAN_WC4)
xan_video = 1;
+ st->need_parsing = 2; //only parse headers dont do slower repacketization, this is needed to get the pict type which is needed for generating correct pts
// url_fskip(pb, size - 5 * 4);
break;
case CODEC_TYPE_AUDIO:
More information about the ffmpeg-cvslog
mailing list