diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2005-03-17 01:25:01 +0000 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2005-03-17 01:25:01 +0000 |
commit | f3356e9c9eb8dc62925aaecf2ceec84106e06c6e (patch) | |
tree | bdadaff376c4d694349c32c1b347d5e30d83fb3d /libavformat/avidec.c | |
parent | cc973ecbe77ee6c273e2372ad24bb3aff0be5440 (diff) | |
download | ffmpeg-f3356e9c9eb8dc62925aaecf2ceec84106e06c6e.tar.gz |
more fine grained discarding of packets
Originally committed as revision 4051 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavformat/avidec.c')
-rw-r--r-- | libavformat/avidec.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/libavformat/avidec.c b/libavformat/avidec.c index 335a2ab4d3..bba0237903 100644 --- a/libavformat/avidec.c +++ b/libavformat/avidec.c @@ -532,7 +532,11 @@ resync: st = s->streams[n]; ast = st->priv_data; - if(st->discard){ + if( (st->discard >= AVDISCARD_DEFAULT && size==0) + /*|| (st->discard >= AVDISCARD_NONKEY && !(pkt->flags & PKT_FLAG_KEY))*/ //FIXME needs a little reordering + || st->discard >= AVDISCARD_ALL){ + if(ast->sample_size) ast->frame_offset += pkt->size; + else ast->frame_offset++; url_fskip(pb, size); goto resync; } @@ -554,7 +558,6 @@ resync: ast->packet_size= size + 8; ast->remaining= size; goto resync; - } } /* palette changed chunk */ |