1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-07 11:13:41 +02:00
Commit Graph

72 Commits

Author SHA1 Message Date
Vittorio Giovara
41ed7ab45f cosmetics: Fix spelling mistakes
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2016-05-04 18:16:21 +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
Luca Barbato
ce70f28a17 avpacket: Replace av_free_packet with av_packet_unref
`av_packet_unref` matches the AVFrame ref-counted API and can be used as
a drop in replacement.

Deprecate `av_free_packet`.
2015-10-26 18:00:55 +01:00
Vittorio Giovara
059a934806 lavc: Consistently prefix input buffer defines
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-07-27 15:24:59 +01:00
Diego Biurrun
daf8cf358a avformat: Don't anonymously typedef structs 2015-02-14 10:13:47 -08:00
Martin Storsjö
0ef1660a63 sierravmd: Do sanity checking of frame sizes
Limit the size to INT_MAX/2 (for simplicity) to be sure that
size + BYTES_PER_FRAME_RECORD won't overflow.

Also factorize other existing error return paths.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-09-16 11:04:52 +03:00
Diego Biurrun
e0f8be6413 avformat: Add AVPROBE_SCORE_EXTENSION define and use where appropriate 2013-05-04 21:43:06 +02:00
Justin Ruggles
a634896cf8 sierravmd: set channel layout 2012-11-12 10:33:21 -05:00
Anton Khirnov
36ef5369ee Replace all CODEC_ID_* with AV_CODEC_ID_* 2012-08-07 16:00:24 +02:00
Diego Biurrun
6774247a9d avformat: Drop pointless "format" from container long names 2012-07-30 13:59:06 +02:00
Anton Khirnov
6e9651d106 lavf: remove AVFormatParameters from AVFormatContext.read_header signature 2012-01-27 10:51:57 +01:00
Justin Ruggles
e9626eb32e sierravmd: fix audio pts
The duration of the first packet was being calculated incorrectly, leading to
an incorrect timestamp offset.
2012-01-10 14:24:08 -05:00
Anton Khirnov
c3f9ebf743 lavf: make av_set_pts_info private.
It's supposed to be called only from (de)muxers.
2011-11-30 20:34:45 +01:00
Anton Khirnov
3b3bbdd3e6 lavf,lavd: replace av_new_stream->avformat_new_stream part I.
Trivial replacements with sed are done in this commit:
sed 's/av_new_stream(\([^)]*\), 0)/avformat_new_stream(\1, NULL)/'
2011-10-19 17:02:11 +02:00
Anton Khirnov
dfc2c4d900 lavf: use designated initialisers for all (de)muxers.
It's more readable and less prone to breakage.
2011-07-17 06:58:37 +02:00
Matthew Hoops
0e635f3e86 sierravmd: fix Indeo3 videos
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-04-01 19:29:08 +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
Anton Khirnov
a2704c9712 avio: add avio_tell macro as a replacement for url_ftell
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-04 11:26:57 -05:00
Anton Khirnov
6b4aa5dac8 avio: avio_ prefix for url_fseek
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-01 12:12:33 -05:00
Anton Khirnov
b7effd4e83 avio: avio_ prefixes for get_* functions
In the name of consistency:
get_byte           -> avio_r8
get_<type>         -> avio_r<type>
get_buffer         -> avio_read

get_partial_buffer will be made private later

get_strz is left out becase I want to change it later to return
something useful.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-21 11:23:22 -05:00
Anton Khirnov
ae628ec1fd avio: rename ByteIOContext to AVIOContext.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-20 08:37:15 -05:00
Diego Elio Pettenò
c6610a216e Prefix all _demuxer, _muxer, _protocol from libavformat and libavdevice.
This also lists the objects from those two libraries as internal (by adding
the ff_ prefix) so that they can then be hidden via linker scripts.
2011-01-26 22:10:09 +00:00
Diego Biurrun
ba87f0801d Remove explicit filename from Doxygen @file commands.
Passing an explicit filename to this command is only necessary if the
documentation in the @file block refers to a file different from the
one the block resides in.

Originally committed as revision 22921 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-20 14:45:34 +00:00
Stefano Sabatini
72415b2adb Define AVMediaType enum, and use it instead of enum CodecType, which
is deprecated and will be dropped at the next major bump.

Originally committed as revision 22735 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 23:30:55 +00:00
Reimar Döffinger
0d6da4b831 Fix overflow check insufficiently improved in r19840.
It assumes that sizeof(vmd_frame) < 64k, otherwise an additional
check to ensure sound_buffers <= UINT_MAX / sizeof(vmd_frame) would be necessary.

Originally committed as revision 19882 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-16 15:12:23 +00:00
Reimar Döffinger
97e078087b Improve sierravmd probe. It is still quite weak, but further improvements
are non-obvious and probably need a large (about 1kB at least) probe buffer.

Originally committed as revision 19850 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-15 09:16:29 +00:00
Reimar Döffinger
21ab5c5827 Extend check for integer overflow for malloc argument to take into account
also the addition of "sound_buffers" not only the multiplication.

Originally committed as revision 19840 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-14 17:15:18 +00:00
Benoit Fouet
b9450753ea Add a context to av_log() call.
Originally committed as revision 17373 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-16 14:45:05 +00:00
Diego Biurrun
bad5537e2c Use full internal pathname in doxygen @file directives.
Otherwise doxygen complains about ambiguous filenames when files exist
under the same name in different subdirectories.

Originally committed as revision 16912 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-01 02:00:19 +00:00
Kostya Shishkov
d6da3df729 yet another attempt on fixing synchronization in VMD
Originally committed as revision 16711 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-21 13:27:39 +00:00
Kostya Shishkov
8d6fc274fa Empty audio chunks in VMD are silent, not skipped
Originally committed as revision 16710 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-21 13:26:01 +00:00
Kostya Shishkov
7d2b199b8d cosmetics: reindent after last commit
Originally committed as revision 16709 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-21 13:25:14 +00:00
Kostya Shishkov
716ba2d01c VMD first chunk of audio is not coded as many separate chunks of block_align
size. Thus, make demuxer and decoder handle it as a whole.

Originally committed as revision 16708 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-21 13:24:35 +00:00
Diego Biurrun
6a5d31ac25 Fix build: Add intreadwrite.h and bswap.h #includes where necessary.
Originally committed as revision 16556 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-11 22:19:48 +00:00
Kostya Shishkov
5b3658f73b Fix a typo that made VMD demuxer always assume Indeo 3 as video codec.
Spotted by Robert Swain

Originally committed as revision 16371 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-28 16:22:42 +00:00
Kostya Shishkov
10f35ebddd Latest Coktel Vision VMDs contained Indeo 3, add demuxer support for it
Originally committed as revision 16363 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-27 17:34:00 +00:00
Mike Melanson
02fb2546e8 The POSIX namespace shall be held sacrosanct. To that end,
continue eliminating _t from structure names in FFmpeg.

Originally committed as revision 16118 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-14 03:29:33 +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
Luca Abeni
dd1c8f3e6e Bump Major version, this commit is almost just renaming bits_per_sample to
bits_per_coded_sample but that cannot be done seperately.
Patch by Luca Abeni
Also reset the minor version and fix the forgotton change to libfaad.
Note: The API/ABI should not be considered stable yet, there still may
be a change done here or there if some developer has some cleanup ideas and
patches!

Originally committed as revision 15262 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-08 14:24:59 +00:00
Stefano Sabatini
bde15e74de Make long_names in lavf/lavdev optional depending on CONFIG_SMALL.
patch by Stefano Sabatini, stefano.sabatini-lala poste.it
along with some spelling/consistency fixes for the long names by me

Originally committed as revision 13649 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-03 16:20:54 +00:00
Michael Niedermayer
5a96cd64de memleak / CID124 RUN2
Originally committed as revision 13512 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-28 22:26:35 +00:00
Reimar Döffinger
cd41a73f89 Fix a possible use of an uninitialized pointer.
Originally committed as revision 11857 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-04 12:13:09 +00:00
Björn Axelsson
899681cd1d Use dynamically allocated ByteIOContext in AVFormatContext
patch by: Björn Axelsson, bjorn d axelsson a intinor d se
thread: [PATCH] Remove static ByteIOContexts, 06 nov 2007

Originally committed as revision 11071 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-21 07:41:00 +00:00
Michael Niedermayer
2529024b3c this is debug not info
Originally committed as revision 10065 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-08-10 22:40:11 +00:00
Panagiotis Issaris
6f3e0b2174 Replace all occurrences of AVERROR_IO with AVERROR(EIO).
Originally committed as revision 9760 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-19 15:23:32 +00:00
Panagiotis Issaris
769e10f068 Replace all occurrences of AVERROR_NOMEM with AVERROR(ENOMEM).
Originally committed as revision 9759 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-07-19 15:21:30 +00:00
Nicholas Tung
e4141433ea Get rid of unnecessary pointer casts.
patch by Nicholas Tung, ntung ntung com

Originally committed as revision 8687 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-08 20:24:16 +00:00
Michael Niedermayer
87e8788680 allocate 32 extra bytes at the end of the probe buffer and remove most probe buf_size checks
Originally committed as revision 8677 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-04-08 11:34:15 +00:00
Alex Beregszaszi
fead30d444 rename BE/LE_8/16/32 to AV_RL/B_8/16/32
Originally committed as revision 7587 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-01-19 22:12:59 +00:00
Kostya Shishkov
322af4bed5 Identation
Originally committed as revision 7122 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-11-19 05:32:22 +00:00