1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-28 20:53:54 +02:00
Commit Graph

23 Commits

Author SHA1 Message Date
Diego Biurrun
0f40c90984 Drop pointless assert.h #includes 2016-05-03 15:45:10 +02:00
Anton Khirnov
9200514ad8 lavf: replace AVStream.codec with AVStream.codecpar
Currently, AVStream contains an embedded AVCodecContext instance, which
is used by demuxers to export stream parameters to the caller and by
muxers to receive stream parameters from the caller. It is also used
internally as the codec context that is passed to parsers.

In addition, it is also widely used by the callers as the decoding (when
demuxer) or encoding (when muxing) context, though this has been
officially discouraged since Libav 11.

There are multiple important problems with this approach:
    - the fields in AVCodecContext are in general one of
        * stream parameters
        * codec options
        * codec state
      However, it's not clear which ones are which. It is consequently
      unclear which fields are a demuxer allowed to set or a muxer allowed to
      read. This leads to erratic behaviour depending on whether decoding or
      encoding is being performed or not (and whether it uses the AVStream
      embedded codec context).
    - various synchronization issues arising from the fact that the same
      context is used by several different APIs (muxers/demuxers,
      parsers, bitstream filters and encoders/decoders) simultaneously, with
      there being no clear rules for who can modify what and the different
      processes being typically delayed with respect to each other.
    - avformat_find_stream_info() making it necessary to support opening
      and closing a single codec context multiple times, thus
      complicating the semantics of freeing various allocated objects in the
      codec context.

Those problems are resolved by replacing the AVStream embedded codec
context with a newly added AVCodecParameters instance, which stores only
the stream parameters exported by the demuxers or read by the muxers.
2016-02-23 17:01:58 +01:00
Clément Bœsch
7570c9e04f swfdec: support compressed swf
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-01-11 15:32:56 -05:00
Anton Khirnov
194be1f43e lavf: switch to AVStream.time_base as the hint for the muxer timebase
Previously, AVStream.codec.time_base was used for that purpose, which
was quite confusing for the callers. This change also opens the path for
removing AVStream.codec.

The change in the lavf-mkv test is due to the native timebase (1/1000)
being used instead of the default one (1/90000), so the packets are now
sent to the crc muxer in the same order in which they are demuxed
(previously some of them got reordered because of inexact timestamp
conversion).
2014-06-18 15:12:34 +02:00
Justin Ruggles
bfe5454cd2 lavf: move ff_codec_get_tag() and ff_codec_get_id() definitions to internal.h 2012-11-28 11:18:49 -05:00
Diego Biurrun
e4cbf7529b Give all anonymously typedeffed structs in headers a name
Anonymous structs cannot be forward declared and have no benefit.
2012-10-06 09:27:11 +02:00
Diego Biurrun
90f7e61769 swf: Move shared table out of the header file 2012-08-09 20:05:54 +02:00
Diego Biurrun
2804ba6a3b swf: Move swf_audio_codec_tags table to the only place it is used 2012-08-09 20:05:53 +02:00
Anton Khirnov
36ef5369ee Replace all CODEC_ID_* with AV_CODEC_ID_* 2012-08-07 16:00:24 +02:00
Mans Rullgard
2912e87a6c Replace FFmpeg with Libav in licence headers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
Carl Eugen Hoyos
bc2d2a07d5 Make AVCodecTag.id enum CodecID and use CODEC_ID_NONE instead of 0.
Originally committed as revision 20250 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-16 14:46:06 +00:00
Baptiste Coudurier
40a1d41fd2 remove unused fields in swf context
Originally committed as revision 17968 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-14 22:49:01 +00:00
Michael Niedermayer
41dd680dd8 Allocate AVFifoBuffer through the fifo API to reduce future API/ABI issues.
Yes this breaks ABI/API but ive already broken it and will bump avutil major
soon.

Originally committed as revision 17869 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-08 14:16:55 +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
Diego Biurrun
bc5c918ea8 Remove offset_t typedef and use int64_t directly instead.
The name offset_t is easily confused with the standard off_t type and
*_t is POSIX reserved namespace if any POSIX header is included.

Originally committed as revision 15533 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-03 10:16:29 +00:00
Stefano Sabatini
987903826b Globally rename the header inclusion guard names.
Consistently apply this rule: the guard name is obtained from the
filename by stripping the leading "lib", converting '/' and '.'  to
'_' and uppercasing the resulting name. Guard names in the root
directory have to be prefixed by "FFMPEG_".

Originally committed as revision 15120 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-31 07:39:47 +00:00
Michael Niedermayer
758af9868e Recommit r14497
Log:
	Add missing header #includes.
Limited to ffm.h & swf.h which are maintained by baptiste who requested that
version to be kept.

Originally committed as revision 14501 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-01 23:12:10 +00:00
Michael Niedermayer
c5e56a813b Revert r14497
Log:
	Add missing header #includes.
Policy violation (change not approved by maintainer)
and while discussions where ongoing and no consensus has been reached.

Originally committed as revision 14500 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-01 22:29:29 +00:00
Diego Biurrun
2e11268ea9 Add missing header #includes.
Originally committed as revision 14497 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-01 16:29:26 +00:00
Baptiste Coudurier
9b92ed7666 update swf video frame number when muxing done, fix #439
Originally committed as revision 14293 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-19 03:25:50 +00:00
Baptiste Coudurier
003ae66086 simplify, use pointer to codec context in struct instead of only id
Originally committed as revision 13477 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-27 22:31:26 +00:00
Baptiste Coudurier
ed03be6c49 use AVFifoBuffer
Originally committed as revision 13462 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-27 04:33:48 +00:00
Baptiste Coudurier
3b35f4ab51 split swf de/muxer
Originally committed as revision 13203 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-20 23:31:10 +00:00