summaryrefslogtreecommitdiff
path: root/libavformat/avformat.h
Commit message (Collapse)AuthorAge
...
| * cosmetics: Fix spelling mistakesVittorio Giovara2016-05-04
| | | | | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* | avformat: Document where the AVOption names can be found for the fields of ↵Michael Niedermayer2016-06-01
| | | | | | | | | | | | | | | | | | | | AVFormatContext Missing docs found by: nevcairiel RFC: should we add support so that the C field names always work as av option names/keys ? Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | Merge commit '75b90ef722b7cdfc70118ab987e298d087aae693'Derek Buitenhuis2016-05-12
|\| | | | | | | | | | | | | * commit '75b90ef722b7cdfc70118ab987e298d087aae693': libavformat: Update the comment about AVOutputFormat flags Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * libavformat: Update the comment about AVOutputFormat flagsMartin Storsjö2016-04-21
| | | | | | | | | | | | Add a flag which applies here, which had been missed. Signed-off-by: Martin Storsjö <martin@martin.st>
| * lavc: introduce a new decoding/encoding API with decoupled input/outputwm42016-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Until now, the decoding API was restricted to outputting 0 or 1 frames per input packet. It also enforces a somewhat rigid dataflow in general. This new API seeks to relax these restrictions by decoupling input and output. Instead of doing a single call on each decode step, which may consume the packet and may produce output, the new API requires the user to send input first, and then ask for output. For now, there are no codecs supporting this API. The API can work with codecs using the old API, and most code added here is to make them interoperate. The reverse is not possible, although for audio it might. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* | lavc: introduce a new decoding/encoding API with decoupled input/outputwm42016-04-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Until now, the decoding API was restricted to outputting 0 or 1 frames per input packet. It also enforces a somewhat rigid dataflow in general. This new API seeks to relax these restrictions by decoupling input and output. Instead of doing a single call on each decode step, which may consume the packet and may produce output, the new API requires the user to send input first, and then ask for output. For now, there are no codecs supporting this API. The API can work with codecs using the old API, and most code added here is to make them interoperate. The reverse is not possible, although for audio it might. From Libav commit 05f66706d182eb0c36af54d72614bf4c33e957a9. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* | Merge commit '9200514ad8717c63f82101dc394f4378854325bf'Derek Buitenhuis2016-04-10
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '9200514ad8717c63f82101dc394f4378854325bf': lavf: replace AVStream.codec with AVStream.codecpar This has been a HUGE effort from: - Derek Buitenhuis <derek.buitenhuis@gmail.com> - Hendrik Leppkes <h.leppkes@gmail.com> - wm4 <nfxjfg@googlemail.com> - Clément Bœsch <clement@stupeflix.com> - James Almer <jamrial@gmail.com> - Michael Niedermayer <michael@niedermayer.cc> - Rostislav Pehlivanov <atomnuker@gmail.com> Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * 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.
| * lavf: add a protocol whitelist/blacklist for file opened internallyAnton Khirnov2016-02-22
| | | | | | | | | | | | | | | | Should make the default behaviour safer for careless callers that open random untrusted files. Bug-Id: CVE-2016-1897 Bug-Id: CVE-2016-1898
* | fix some a/an typosLou Logan2016-03-28
| | | | | | | | Signed-off-by: Lou Logan <lou@lrcd.com>
* | lavf: allow BSFs to drop packets.Ronald S. Bultje2016-03-11
| | | | | | | | | | If pkt->size == 0 && pkt->side_data_elems == 0 after bsf->filter() returns, the packet is considered dropped.
* | avformat: Fix member name 10LDerek Buitenhuis2016-03-04
| | | | | | | | | | | | | | | | The wrong member was remove/moved after review of the blacklist API. 10L cola. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* | avformat: Add a protocol blacklisting APIDerek Buitenhuis2016-03-04
| | | | | | | | Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* | Merge commit '7fbb3b5b9857276b4cd17b2a530c7e0880d2bc0a'Derek Buitenhuis2016-02-29
|\| | | | | | | | | | | | | * commit '7fbb3b5b9857276b4cd17b2a530c7e0880d2bc0a': lavf: use the io_open callbacks for files opened from open_input() as well Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * lavf: use the io_open callbacks for files opened from open_input() as wellAnton Khirnov2016-02-22
| | | | | | | | There is no real reason to treat them differently.
* | Merge commit '29c2d06d67724e994980045afa055c6c34611b30'Derek Buitenhuis2016-02-24
|\| | | | | | | | | | | | | * commit '29c2d06d67724e994980045afa055c6c34611b30': cosmetics: Drop empty comment lines Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * cosmetics: Drop empty comment linesDiego Biurrun2016-02-18
| |
* | Merge commit '9f61abc8111c7c43f49ca012e957a108b9cc7610'Derek Buitenhuis2016-02-10
|\| | | | | | | | | | | | | | | | | This also deprecates our old duplicated callbacks. * commit '9f61abc8111c7c43f49ca012e957a108b9cc7610': lavf: allow custom IO for all files Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * lavf: allow custom IO for all filesAnton Khirnov2016-01-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Some (de)muxers open additional files beyond the main IO context. Currently, they call avio_open() directly, which prevents the caller from using custom IO for such streams. This commit adds callbacks to AVFormatContext that default to avio_open2()/avio_close(), but can be overridden by the caller. All muxers and demuxers using AVIO are switched to using those callbacks instead of calling avio_open()/avio_close() directly. (de)muxers that use the URLProtocol layer directly instead of AVIO remain unconverted for now. This should be fixed in later commits.
* | avformat: add protocol_whitelistMichael Niedermayer2016-02-02
| | | | | | | | | | | | | | | | | | | | | | | | | | Note to maintainers: update tools Note to maintainers: set a default whitelist for your protocol If that makes no sense then consider to set "none" and thus require the user to specify a white-list for sub-protocols to be opened Note, testing and checking for missing changes is needed Reviewed-by: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avformat: Document urls a bitMichael Niedermayer2016-01-24
| | | | | | | | | | Spell-checked-by: Moritz Barsnick <barsnick@gmx.net> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avformat/avformat: Replace some references to filenames by urlsMichael Niedermayer2016-01-21
| | | | | | | | | | Reviewed-by: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avformat: Add integer fps from 31 to 60 to get_std_framerate()Michael Niedermayer2016-01-09
| | | | | | | | | | | | Fixes Ticket 5106 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | lavf: add automatic bitstream filtering; bump versionRodger Combs2015-12-28
| | | | | | | | | | | | | | | | | | This solves the problem discussed in https://ffmpeg.org/pipermail/ffmpeg-devel/2015-September/179238.html by allowing AVCodec::write_header to be delayed until after packets have been run through required bitstream filters in order to generate global extradata. It also provides a mechanism by which a muxer can add a bitstream filter to a stream automatically, rather than prompting the user to do so.
* | lavf: add API to apply a list of bsfs to a packetRodger Combs2015-12-28
| |
* | lavf/avformat: add av_warn_unused_result to avformat_write_headerGanesh Ajjanagadde2015-12-21
| | | | | | | | | | | | May be useful as a defense, see e.g c62d1780fff8a1997dd1707bbc557efc8fe41e3c. Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
* | avformat: Add av_program_add_stream_index()Michael Niedermayer2015-12-11
| | | | | | | | | | | | This will be used by the subsequent commit(s) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | Merge commit '7f4ec4364bc4a73036660c1c6a3c4801db524e9e'Derek Buitenhuis2015-11-22
|\| | | | | | | | | | | | | | | | | | | * commit '7f4ec4364bc4a73036660c1c6a3c4801db524e9e': avformat: expose av_stream_new_side_data helper Conflicts: libavformat/internal.h Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * avformat: expose av_stream_new_side_data helperJohn Stebbins2015-11-18
| | | | | | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* | Merge commit '21ab6fd01b9107d7171fc1a77c2bfacff845a97a'Derek Buitenhuis2015-11-22
|\| | | | | | | | | | | | | * commit '21ab6fd01b9107d7171fc1a77c2bfacff845a97a': lavf: document that passing valid timestamps to muxers is now mandatory Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * lavf: document that passing valid timestamps to muxers is now mandatoryAnton Khirnov2015-11-18
| | | | | | | | Also, extend the documentation about setting timestamps.
* | Merge commit '8de1ee9f725aa3c550f425bd3120bcd95d5b2ea8'Hendrik Leppkes2015-11-11
|\| | | | | | | | | | | | | * commit '8de1ee9f725aa3c550f425bd3120bcd95d5b2ea8': lavf: deprecate compute_pkt_fields2 Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * lavf: deprecate compute_pkt_fields2Anton Khirnov2015-11-09
| | | | | | | | | | | | | | | | | | All encoders set pts and dts properly now (and have been doing that for a while), so there is no good reason to do any timestamp guessing in the muxer. The newly added AVStreamInternal will be later used for storing all the private fields currently living in AVStream.
* | Merge commit 'ce70f28a1732c74a9cd7fec2d56178750bd6e457'Hendrik Leppkes2015-10-27
|\| | | | | | | | | | | | | * commit 'ce70f28a1732c74a9cd7fec2d56178750bd6e457': avpacket: Replace av_free_packet with av_packet_unref Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * 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`.
* | Merge commit '34ed5c2e4d9b7fe5c9b3aae2da5599fabb95c02e'Hendrik Leppkes2015-10-14
|\| | | | | | | | | | | | | | | | | | | * commit '34ed5c2e4d9b7fe5c9b3aae2da5599fabb95c02e': avformat: Do not use AVFMT_RAWPICTURE Removal from ffmpeg.c not merged because some parts of avdevice still use it Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * avformat: Do not use AVFMT_RAWPICTURELuca Barbato2015-10-13
| | | | | | | | | | There are no formats supporting it anymore and it is deprecated. Update the documentation accordingly.
* | lavc/lavf: remove incompatible abi checks for the new 64bit fieldsJames Almer2015-09-17
| | | | | | | | | | Reviewed-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: James Almer <jamrial@gmail.com>
* | lavf: Switch probesize and max_analyze_duration to 64bit.Carl Eugen Hoyos2015-09-15
| | | | | | | | Both are only accessible through AVOptions.
* | lavf: Switch bitrate to 64bit unless compatibility with avconv was requested.Carl Eugen Hoyos2015-09-15
| | | | | | | | | | | | Based on a patch by Steve Swanson, swanysteve at gmail. Fixes ticket #2089.
* | avformat/avformat: remove dead codeJames Almer2015-09-09
| | | | | | | | Signed-off-by: James Almer <jamrial@gmail.com>
* | lavf: Remove probesize32 and max_analyze_duration32 on version bump.Carl Eugen Hoyos2015-09-01
| | | | | | | | | | Add FF_API_PROBESIZE_32 to allow removing 32bit probesize and 32bit max_analyze_duration after the next libavformat version bump.
* | avformat: Remove use of AVFrac and AVStream->ptsMichael Niedermayer2015-08-23
| | | | | | | | | | | | | | Move field to internal part of AVStream and struct to internal.h Reviewed-by: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avformat: Move MAX_PROBE_PACKETS to internal.hMichael Niedermayer2015-08-12
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | doc: avoid incorrect phrase 'allows to'Andreas Cadhalpun2015-06-16
| | | | | | | | | | | | | | | | Also fix typo found by Lou Logan: Sacrifying -> Sacrificing Reviewed-by: Lou Logan <lou@lrcd.com> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
* | avformat/avformat: slightly more verbose documentation for open_cb()Michael Niedermayer2015-05-11
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat: add callback for opening further filesMichael Niedermayer2015-05-11
| | | | | | | | | | Previous version reviewed-by: wm4 <nfxjfg@googlemail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat: add AVFMT_FLAG_FASTSEEK, use it for mp3wm42015-04-22
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat: add common mechanism for skipping samples at the start of filewm42015-04-22
| | | | | | | | | | | | | | This makes using the generic indexing code with mp3 easier at a later point. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavf: add documentation on directory listing APIMariusz Szczepańczyk2015-04-18
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>