summaryrefslogtreecommitdiff
path: root/libavformat/avs.c
Commit message (Collapse)AuthorAge
* lavf: replace AVStream.codec with AVStream.codecparAnton Khirnov2016-02-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* avpacket: Replace av_free_packet with av_packet_unrefLuca Barbato2015-10-26
| | | | | | | `av_packet_unref` matches the AVFrame ref-counted API and can be used as a drop in replacement. Deprecate `av_free_packet`.
* cosmetics: Write NULL pointer equality checks more compactlyGabriel Dume2014-08-15
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* avs: Increase magic value score above file extension scoreDiego Biurrun2013-05-04
| | | | | This should fix misdetection of AVS files as AviSynth scripts when AviSynth support is enabled (Bugzilla #357).
* avformat: Add AVPROBE_SCORE_EXTENSION define and use where appropriateDiego Biurrun2013-05-04
|
* lavf: remove disabled FF_API_R_FRAME_RATE cruftAnton Khirnov2013-03-11
|
* Replace all CODEC_ID_* with AV_CODEC_ID_*Anton Khirnov2012-08-07
|
* avformat: Drop pointless "format" from container long namesDiego Biurrun2012-07-30
|
* lavf: deprecate r_frame_rate.Anton Khirnov2012-07-29
| | | | | | | | | | | | | | | | | | | | According to its description, it is supposed to be the LCM of all the frame durations. The usability of such a thing is vanishingly small, especially since we cannot determine it with any amount of reliability. Therefore get rid of it after the next bump. Replace it with the average framerate where it makes sense. FATE results for the wtv and xmv demux tests change. In the wtv case this is caused by the file being corrupted (or possibly badly cut) and containing invalid timestamps. This results in lavf estimating the framerate wrong and making up wrong frame durations. In the xmv case the file contains pts jumps, so again the estimated framerate is far from anything sane and lavf again makes up different frame durations. In some other tests lavf starts making up frame durations from different frame.
* avs: don't set codec timebaseAnton Khirnov2012-03-02
| | | | | Demuxers are not supposed to set it. Set r_frame_rate and avg_frame_rate instead.
* libavformat: Add an ff_ prefix to some lavf internal symbolsMartin Storsjö2012-02-15
| | | | | | | | | | Prefix the functions/tables brktimegm, pcm_read_seek, dv_offset_reset, voc_get_packet, codec_movaudio_tags, codec_movvideo_tags. After this, lavf has no global symbols without the proper prefix. Signed-off-by: Martin Storsjö <martin@martin.st>
* lavf: remove AVFormatParameters from AVFormatContext.read_header signatureAnton Khirnov2012-01-27
|
* lavf: replace av_new_stream->avformat_new_stream part II.Anton Khirnov2011-10-19
| | | | | | | | Manual replacements are done in this commit. In many cases, the id is some constant made up number (e.g. 0 for video and 1 for audio), which is then not used in the demuxer for anything. Those ids are removed.
* avsdemux: check for out of bound writesLaurent Aimar2011-10-10
| | | | Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* avsdemux: check for corrupted dataLaurent Aimar2011-10-10
| | | | Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* lavf: use designated initialisers for all (de)muxers.Anton Khirnov2011-07-17
| | | | It's more readable and less prone to breakage.
* Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-19
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* lavf: replace avio_seek(SEEK_CUR) with avio_skip where it makes senseAnton Khirnov2011-03-16
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* avio: add avio_tell macro as a replacement for url_ftellAnton Khirnov2011-03-04
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* lavf: replace all uses of url_fskip with avio_seekAnton Khirnov2011-03-01
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* avio: avio_ prefixes for get_* functionsAnton Khirnov2011-02-21
| | | | | | | | | | | | | | 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>
* Prefix all _demuxer, _muxer, _protocol from libavformat and libavdevice.Diego Elio Pettenò2011-01-26
| | | | | 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.
* Replace all occurences of PKT_FLAG_KEY with AV_PKT_FLAG_KEY.Jean-Daniel Dupas2010-03-31
| | | | | | Patch by Jean-Daniel Dupas, devlists shadowlab org Originally committed as revision 22744 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Define AVMediaType enum, and use it instead of enum CodecType, whichStefano Sabatini2010-03-30
| | | | | | is deprecated and will be dropped at the next major bump. Originally committed as revision 22735 to svn://svn.ffmpeg.org/ffmpeg/trunk
* avoid POSIX reserved _t suffixAurelien Jacobs2008-12-11
| | | | Originally committed as revision 16067 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Bump Major version, this commit is almost just renaming bits_per_sample toLuca Abeni2008-09-08
| | | | | | | | | | | 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
* Make long_names in lavf/lavdev optional depending on CONFIG_SMALL.Stefano Sabatini2008-06-03
| | | | | | | 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
* Fix icc warning #188: enumerated type mixed with another typeCarl Eugen Hoyos2008-05-13
| | | | Originally committed as revision 13144 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Use dynamically allocated ByteIOContext in AVFormatContextBjörn Axelsson2007-11-21
| | | | | | | 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
* Replace all occurrences of AVERROR_IO with AVERROR(EIO).Panagiotis Issaris2007-07-19
| | | | Originally committed as revision 9760 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Replace all occurrences of AVERROR_NOMEM with AVERROR(ENOMEM).Panagiotis Issaris2007-07-19
| | | | Originally committed as revision 9759 to svn://svn.ffmpeg.org/ffmpeg/trunk
* license header consistency cosmeticsDiego Biurrun2007-07-05
| | | | Originally committed as revision 9484 to svn://svn.ffmpeg.org/ffmpeg/trunk
* allocate 32 extra bytes at the end of the probe buffer and remove most probe ↵Michael Niedermayer2007-04-08
| | | | | | buf_size checks Originally committed as revision 8677 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Change license headers to say 'FFmpeg' instead of 'this program/this library'Diego Biurrun2006-10-07
| | | | | | and fix GPL/LGPL version mismatches. Originally committed as revision 6577 to svn://svn.ffmpeg.org/ffmpeg/trunk
* allow individual selection of muxers and demuxersMåns Rullgård2006-07-10
| | | | Originally committed as revision 5707 to svn://svn.ffmpeg.org/ffmpeg/trunk
* give AVInput/OutputFormat structs consistent namesMåns Rullgård2006-07-09
| | | | Originally committed as revision 5697 to svn://svn.ffmpeg.org/ffmpeg/trunk
* complete AVS playback system (from Creature Shock computer game),Mike Melanson2006-02-17
courtesy of Aurelien Jacobs <aurel at gnuage dot org> Originally committed as revision 5028 to svn://svn.ffmpeg.org/ffmpeg/trunk