Commit Graph

145 Commits

Author SHA1 Message Date
Michael Niedermayer
a4c7a5ea27 Call ff_fetch_timestamp() for mpeg1/2 when a picture start code is found instead
of calling it at the end of a frame with a large negative offset.
This significantly reduces the maximal distance in container packets between
the point where the first byte of the "access unit" was stored and where
we call ff_fetch_timestamp() thus reducing the constraints on our parser.
Also change the parser from next_frame_offset to cur, this is needed
because now the reference is from container packet start instead of
frame start. (i previously misinterpreted this as bug)

Originally committed as revision 17731 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-02 14:53:18 +00:00
Ivan Schreter
27ca0a79c9 Add timestamp computation if values are exported by decoder.
Patch by Ivan Schreter, schreter gmx net

Originally committed as revision 17574 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-24 22:19:09 +00:00
Ivan Schreter
b1fa494205 Add convergence_duration to AVCodecParserContext.
Patch by Ivan Schreter, schreter gmx net

Originally committed as revision 17468 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-19 23:35:59 +00:00
Ivan Schreter
6363af44da Add key_frame to AVCodecParserContext, used in libavformat.
Initialized to -1 in parser.c for backward compatibility.

Patch by Ivan Schreter, schreter gmx net

Originally committed as revision 17442 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-18 23:46:05 +00:00
Diego Biurrun
406792e7b0 cosmetics: Remove pointless period after copyright statement non-sentences.
Originally committed as revision 16684 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-19 15:46:40 +00:00
Baptiste Coudurier
98a8ce4964 add state64 field to ParseContext storing last 8 bytes, to be able to check for longer startcodes
Originally committed as revision 15671 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-23 17:12:41 +00:00
Michael Niedermayer
c8714ea1b3 Use av_freep() in ff_parse_close().
Originally committed as revision 15654 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-20 09:02:55 +00:00
Diego Pettenò
e6df765ed3 Mark list heads static. Patch by Diego Pettenò
Originally committed as revision 15548 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-04 09:29:31 +00:00
Michael Niedermayer
44b79c6022 indent
Originally committed as revision 13628 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-02 14:54:19 +00:00
Michael Niedermayer
e4e3230ea5 Only store timestamps when there are timestamps.
Originally committed as revision 13627 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-02 14:53:54 +00:00
Michael Niedermayer
05d1d160bc Our MPEG-TS demuxer does not send complete PES packets but sends them
piecewise, thus the end values cannot be used for associating timestamps.

Originally committed as revision 13626 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-02 14:40:27 +00:00
Michael Niedermayer
ebdd73778c cosmetic
Originally committed as revision 13624 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-02 13:14:01 +00:00
Michael Niedermayer
ec0c5d482e Allow matching timestamps to be removed by fetch_timestamp().
Originally committed as revision 13623 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-02 13:12:54 +00:00
Michael Niedermayer
21e305891c Add off argument so that fetch_timestamp can search for timestamps
not associated with the first byte of access units.

Originally committed as revision 13622 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-02 13:09:56 +00:00
Michael Niedermayer
cd6144948a Factorize fetch_timestamp() into its own function
Originally committed as revision 13621 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-02 13:05:38 +00:00
Michael Niedermayer
4791778579 unused variable
Originally committed as revision 13620 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-02 13:01:23 +00:00
Michael Niedermayer
591569b596 indent
Originally committed as revision 13616 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-02 03:10:40 +00:00
Michael Niedermayer
26f237254d Rename last_frame_offset to next_frame_offset.
(it was and is the next not the last)

Originally committed as revision 13615 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-02 03:10:00 +00:00
Michael Niedermayer
cb63a4b37c Simplify parser core.
Originally committed as revision 13613 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-02 02:55:30 +00:00
Michael Niedermayer
87b6ea8458 indent
Originally committed as revision 13411 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-26 02:00:18 +00:00
Michael Niedermayer
99c1c3887d allow av_parser_close(NULL)
fixes issue300

Originally committed as revision 13410 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-26 01:58:47 +00:00
Andy Gocke
1f96bafb27 Return an error when realloc fails.
Patch by Andy Gocke (agocke gmail com)

Originally committed as revision 12581 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-25 14:48:18 +00:00
Aurelien Jacobs
9701840bb5 add FF_ prefix to all (frame)_TYPE usage
Originally committed as revision 12399 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-09 23:31:02 +00:00
Michael Niedermayer
55b9e69a31 av_*_next() API for libavcodec
Originally committed as revision 11204 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-12-12 18:40:11 +00:00
Aurelien Jacobs
1fddeecd1d remove no more useful includes
Originally committed as revision 8943 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-08 23:30:42 +00:00
Aurelien Jacobs
99ff31dc75 move aac and ac3 parsers in their own files
Originally committed as revision 8941 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-08 23:25:31 +00:00
Aurelien Jacobs
c53d2d9042 make some parser parameters const to avoid casting const to non-const
Originally committed as revision 8921 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-07 00:47:03 +00:00
Aurelien Jacobs
0cb4172803 move mpegaudio_parser in it's own file
Originally committed as revision 8899 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-05 18:08:16 +00:00
Aurelien Jacobs
d2e911fac8 move mpeg4video_parser in it's own file
Originally committed as revision 8898 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-05-05 17:59:37 +00:00
Diego Biurrun
98d0205145 Move AC3 header parsing code together with the rest of the AC3 parsing code.
Originally committed as revision 8739 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-15 12:32:36 +00:00
Joakim Plate
a74008a4c3 timestamps generation improvement when parsing avi
patch by Joakim \ elupus chez ecce dot se /
original thread:
date: 03/19/2007 01:47 AM
subject: [Ffmpeg-devel] [RFC] Improvement for the odd timestamp generation when parser is in use.

Originally committed as revision 8725 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-13 07:50:04 +00:00
Diego Biurrun
e42dba481f typos/grammar
Originally committed as revision 8641 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-07 14:09:20 +00:00
Michael Niedermayer
adcb72b521 set pict_type to I type during init so parsers which dont set it get all i frames, fixes mp3 seeking
Originally committed as revision 8528 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-26 17:33:45 +00:00
Justin Ruggles
495529f7df hardcode ff_ac3_frame_sizes table
Originally committed as revision 8435 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-18 04:53:21 +00:00
Michel Bardiaux
318c5e0524 Give context to dprintf
Originally committed as revision 8338 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-12 12:36:41 +00:00
Justin Ruggles
2476139973 move AC-3 header parsing to ac3.c
Originally committed as revision 8323 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-11 16:44:14 +00:00
Justin Ruggles
050aa8b9bc remove redundancy in AC-3 parser by using common tables from ac3tab.h
Originally committed as revision 8318 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-11 02:13:05 +00:00
Justin Ruggles
f7a49547de fix parsing of RealAudio AC-3/DolbyNet
Originally committed as revision 7888 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-02-09 02:02:09 +00:00
Ian Caulfield
08c8831685 fix indentation, patch by Ian Caulfield % ian P caulfield A gmail P com %
Originally committed as revision 7688 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-01-24 15:32:49 +00:00
Ian Caulfield
44a39bd770 Allows the AC3 parser to read the frame size and codec parameters from E-AC3 streams,
allowing them to be correctly demuxed.
Currently it only identifies the primary substream, and will skip over any additional
dependent or independent substreams.
Patch by Ian Caulfield % ian P caulfield A gmail P com %
Original thread:
date: Jan 19, 2007 9:55 AM
subject: Re: [Ffmpeg-devel] [PATCH] Correctly parse headers of E-AC3 streams

Originally committed as revision 7687 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-01-24 15:31:48 +00:00
Michael Niedermayer
832a7b631f minor doc fix
Originally committed as revision 7331 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-12-18 19:27:28 +00:00
Stefan Gehrer
53aa68b329 move all cavs-parsing to cavs.c
This should help building parser without decoder

Originally committed as revision 6993 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-12 20:18:07 +00:00
Stefan Gehrer
d136d2fcea make mpeg4video_split public as ff_mpeg4video_split
Originally committed as revision 6991 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-12 20:01:50 +00:00
Baptiste Coudurier
4067d81be2 move AVCodecParser prototypes and definitions to parser.h, and move mpegvideo parser to mpeg12.c
Originally committed as revision 6914 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-06 10:43:49 +00:00
Baptiste Coudurier
8cd13128b8 use AVRational and ff_frame_rate_tab for frame_rate
Originally committed as revision 6905 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-05 19:24:23 +00:00
Steve L'Homme
949b1a13bf Replace most of the %lld and %llx by their (cleaner) PRI*64 counterparts.
patch by Steve Lhomme, slhomme divxcorp com

Originally committed as revision 6868 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-01 22:39:58 +00:00
Michael Niedermayer
498c544ad2 dont set the sampling rate just because 1 mp3 packet header says so (fixes playback speed on some old mencoder generated avis which where then dumped to mp3)
Originally committed as revision 6837 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-30 02:19:55 +00:00
Michael Niedermayer
6ab312daa2 doxy
Originally committed as revision 6647 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-11 10:29:00 +00:00
Diego Biurrun
b78e7197a8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
and fix GPL/LGPL version mismatches.

Originally committed as revision 6577 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-07 15:30:46 +00:00
Måns Rullgård
191e8ca752 fix some signedness warnings
Originally committed as revision 6355 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-09-27 19:47:39 +00:00
Michael Niedermayer
4e2d6a456d dont copy frame if the whole mp1/2/3 frame is available in one piece in the input
Originally committed as revision 6103 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-08-26 18:56:24 +00:00
Måns Rullgård
608bd84365 make some tables const
Originally committed as revision 5692 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-09 13:01:06 +00:00
Måns Rullgård
af9e7d1810 --enable/disable parsers. Warning: some combinations are broken.
Originally committed as revision 5691 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-09 12:02:15 +00:00
Emiliano Parasassi
29c5cdcaec Fix compilation with --disable-decoders.
patch by Emiliano Parasassi, millallo --at-- gmail --dot-- com

Originally committed as revision 5660 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-07 11:08:58 +00:00
Michael Niedermayer
748c2fca7e AVBitStreamFilter (some thingy which can modify the bitstream like add or remove global headers or change the headers or ...)
Originally committed as revision 5643 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-06 15:04:46 +00:00
Michael Niedermayer
b482e2d12f CAVS decoder by (Stefan Gehrer stefan.gehrer gmx.de)
Originally committed as revision 5590 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-03 00:16:45 +00:00
Måns Rullgård
4f8ff17e75 The AAC frame header uses 13 bits for the frame size, so the buffer should
have room for such a frame.  A frame that large seems unlikely in a valid
file, but leaving room for it spares us the need to check it elsewhere.
Moving the buffer to the end of the struct made debugging this easier.

Originally committed as revision 5487 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-06-16 20:41:33 +00:00
Måns Rullgård
100a74222b use get_bits1/skip_bits[1] in ac3 and aac parsers
Originally committed as revision 4969 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-10 01:19:54 +00:00
Måns Rullgård
da46276ff8 adts aac parser
Originally committed as revision 4954 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-08 00:50:22 +00:00
Michael Niedermayer
82fcbc145d faster find_startcode()
Originally committed as revision 4939 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-04 20:32:02 +00:00
Michael Niedermayer
d8a91afd36 output last ac3 frame and simplify
Originally committed as revision 4926 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-02-02 18:38:47 +00:00
Diego Biurrun
4f59b684a6 Remove all stray tabs and trailing whitespace, this time for good.
Originally committed as revision 4891 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-24 10:33:14 +00:00
Måns Rullgård
62327e2852 native ac3 parser
Originally committed as revision 4878 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-21 18:19:47 +00:00
Diego Biurrun
5509bffa88 Update licensing information: The FSF changed postal address.
Originally committed as revision 4842 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-12 22:43:26 +00:00
Diego Biurrun
bb270c0896 COSMETICS: tabs --> spaces, some prettyprinting
Originally committed as revision 4764 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-22 01:10:11 +00:00
Diego Biurrun
115329f160 COSMETICS: Remove all trailing whitespace.
Originally committed as revision 4749 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-17 18:14:38 +00:00
Måns Rullgård
79396ac685 Kill some compiler warnings. Compiled code verified identical after changes.
Originally committed as revision 4567 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-09-06 21:25:35 +00:00
Michael Niedermayer
95ae72b7e0 Compilation fixes part 1 patch by (Arvind R. and Burkhard Plaum, plaum, ipf uni-stuttgart de)
Originally committed as revision 4540 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-08-26 19:05:44 +00:00
Michael Niedermayer
7cbaa7bafa parse pict_type for streams in avi
fix mpeg4 parser so it outputs te pict_type
support header only parseing without repacking

Originally committed as revision 4527 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-08-15 15:58:21 +00:00
Michael Niedermayer
73480a1552 off by 1 error bugfix
avoid adding duplicate global headers to the bitstream

Originally committed as revision 4410 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-06-29 08:41:01 +00:00
Michael Niedermayer
90ad92b39d support changing in bitstream global headers into extradata style and back
Originally committed as revision 4395 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-06-27 00:04:03 +00:00
Michael Niedermayer
c0df9d75bd switch to native time bases
Originally committed as revision 4168 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-04-30 21:43:59 +00:00
Michael Niedermayer
8ca5d3bbf4 10l typo
Originally committed as revision 4053 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-03-17 21:35:50 +00:00
Michael Niedermayer
8c787559a2 mpeg-es bitrate parsing
Originally committed as revision 4005 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-03-05 03:36:32 +00:00
Måns Rullgård
88730be651 kill warnings patch by (Måns Rullgård <mru inprovide com>)
Originally committed as revision 3977 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-02-24 19:08:50 +00:00
Michael Niedermayer
8845e427a7 10l (array gets padded with 0 which is CODEC_ID_NONE -> parsers claim to support CODEC_ID_NONE)
Originally committed as revision 3918 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-02-01 13:03:44 +00:00
Michael Niedermayer
e993bc03ac 10000l vbr mp3 fix
Originally committed as revision 3911 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-01-31 21:26:20 +00:00
Michael Niedermayer
4b9ac0b5f0 require a few valid and equal mp3 headers for resync
Originally committed as revision 3900 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-01-29 23:59:32 +00:00
Michael Niedermayer
7984bbe2ce fix timestamp prediction for low_delay mpeg streams
Originally committed as revision 3751 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-12-14 12:04:45 +00:00
Michael Niedermayer
f48c0551ca flush remaining data from parser at EOF
Originally committed as revision 3748 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-12-12 14:19:54 +00:00
Michael Niedermayer
99f0623629 pnm parser
Originally committed as revision 3675 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-11-12 22:55:29 +00:00
Michael Niedermayer
21adafec2a lowres width/height cleanup 3rd try
Originally committed as revision 3522 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-09-27 11:50:56 +00:00
Michael Niedermayer
0b2346d38c lowres fixes for the parser
Originally committed as revision 3521 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-09-27 10:06:10 +00:00
Michael Niedermayer
5bb994e255 1000000l
Originally committed as revision 3301 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-07-09 22:29:08 +00:00
Michael Niedermayer
8dab64b6c1 field pic timestamp fix
Originally committed as revision 3300 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-07-09 21:55:10 +00:00
Michael Niedermayer
c77a9a0e26 timestamp duplication bugfix
Originally committed as revision 3269 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-06-30 12:05:35 +00:00
Michael Niedermayer
a62aecce2c mpeg audio timestamp fix
Originally committed as revision 3150 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-05-23 01:10:15 +00:00
Michael Niedermayer
e96682e6f4 some of the warning fixes by (Michael Roitzsch <mroi at users dot sourceforge dot net>)
Originally committed as revision 3140 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-05-18 17:09:46 +00:00
Michael Niedermayer
e4cb187db8 remove duplicated find_frame_end() code
move codec specific code from parser.c -> <codecname>.c as far as its easily possible

Originally committed as revision 3087 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-04-29 14:21:33 +00:00
Michael Niedermayer
20da31792b >2 channels decoding fix
Originally committed as revision 3086 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-04-29 03:33:34 +00:00
Fabrice Bellard
b84f2a3533 pts and dts support in parser API
Originally committed as revision 2619 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-12-16 11:17:06 +00:00
Fabrice Bellard
6e45e92856 added End Of File handling to return last picture for MPEG1/2/4
Originally committed as revision 2614 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-12-15 14:40:37 +00:00
Fabrice Bellard
3e9d718ecb fill codec info
Originally committed as revision 2599 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-12-12 16:55:12 +00:00
Fabrice Bellard
c6f353ff61 also parse extradata for MPEG4
Originally committed as revision 2493 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-11-10 18:33:58 +00:00
Fabrice Bellard
8424cf505c new audio/video parser API
Originally committed as revision 2492 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-11-10 15:29:20 +00:00