summaryrefslogtreecommitdiffstats
path: root/libavformat/internal.h
Commit message (Collapse)AuthorAgeFilesLines
...
* | Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb'Clément Bœsch2016-06-211-1/+1
|\| | | | | | | | | | | | | * commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb': cosmetics: Fix spelling mistakes Merged-by: Clément Bœsch <[email protected]>
| * cosmetics: Fix spelling mistakesVittorio Giovara2016-05-041-1/+1
| | | | | | | | Signed-off-by: Diego Biurrun <[email protected]>
* | avformat/mux: do not call write_header multiple times if it fails the first timeMarton Balint2016-06-201-0/+1
| | | | | | | | Signed-off-by: Marton Balint <[email protected]>
* | avformat: add AVFormatContext to ff_get_extradata()Paul B Mahol2016-04-141-1/+1
| | | | | | | | | | | | Needed for av_log() inside that function. Signed-off-by: Paul B Mahol <[email protected]>
* | avformat/framehash: enable new outputJames Almer2016-04-131-1/+1
| | | | | | | | | | | | | | Also, make every addition except for sidedata part of version 1 instead of the new version 2. Reviewed-by: Michael Niedermayer <[email protected]>
* | avformat/framehash: Add more information to the outputMichael Niedermayer2016-04-121-1/+1
| | | | | | | | | | Signed-off-by: Michael Niedermayer <[email protected]> Signed-off-by: James Almer <[email protected]>
* | Merge commit '9200514ad8717c63f82101dc394f4378854325bf'Derek Buitenhuis2016-04-101-3/+19
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '9200514ad8717c63f82101dc394f4378854325bf': lavf: replace AVStream.codec with AVStream.codecpar This has been a HUGE effort from: - Derek Buitenhuis <[email protected]> - Hendrik Leppkes <[email protected]> - wm4 <[email protected]> - Clément Bœsch <[email protected]> - James Almer <[email protected]> - Michael Niedermayer <[email protected]> - Rostislav Pehlivanov <[email protected]> Merged-by: Derek Buitenhuis <[email protected]>
| * lavf: replace AVStream.codec with AVStream.codecparAnton Khirnov2016-02-231-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | lavc/utils: Introduce ff_bprint_to_codecpar_extradata for avformatHendrik Leppkes2016-04-031-0/+7
| | | | | | | | | | | | | | | | It will be used by text subtitle demuxers to construct format instructions straight into extradata. They all currently a similar function that accepts an AVCodecContext instead. Signed-off-by: Derek Buitenhuis <[email protected]>
* | avformat: Add a protocol blacklisting APIDerek Buitenhuis2016-03-041-1/+1
| | | | | | | | Signed-off-by: Derek Buitenhuis <[email protected]>
* | lavf/utils: Normalize AVPacket.data to native endian in ff_get_packet_palette()Mats Peterson2016-03-041-2/+5
| | | | | | | | Signed-off-by: Michael Niedermayer <[email protected]>
* | avformat/utils: add a function to standardize creation timeMarton Balint2016-03-031-0/+8
| | | | | | | | | | | | | | | | | | | | This can be used for formats which write all format metadata as string to files, therefore non-standard creation times such as 'now' will be parsed. The standardized creation time is UTC ISO 8601 with microsecond precision. Reviewed-by: wm4 <[email protected]> Signed-off-by: Marton Balint <[email protected]>
* | lavf/utils: Add ff_get_packet_palette()Mats Peterson2016-03-021-0/+12
| | | | | | | | Signed-off-by: Michael Niedermayer <[email protected]>
* | avformat/avienc: Store pal8 paletteMichael Niedermayer2016-02-191-1/+6
| | | | | | | | | | | | | | This can be made more efficient, but first and the main goal of this change is to store it at all Signed-off-by: Michael Niedermayer <[email protected]>
* | avformat: add ff_reshuffle_raw_rgb()Michael Niedermayer2016-02-181-0/+8
| | | | | | | | Signed-off-by: Michael Niedermayer <[email protected]>
* | avformat/utils: remove ff_iso8601_to_unix_timeMarton Balint2016-02-141-5/+0
| | | | | | | | Signed-off-by: Marton Balint <[email protected]>
* | avformat/utils: add ff_parse_creation_time_metadataMarton Balint2016-02-141-0/+11
| | | | | | | | Signed-off-by: Marton Balint <[email protected]>
* | Merge commit '9f61abc8111c7c43f49ca012e957a108b9cc7610'Derek Buitenhuis2016-02-101-0/+6
|\| | | | | | | | | | | | | | | | | This also deprecates our old duplicated callbacks. * commit '9f61abc8111c7c43f49ca012e957a108b9cc7610': lavf: allow custom IO for all files Merged-by: Derek Buitenhuis <[email protected]>
| * lavf: allow custom IO for all filesAnton Khirnov2016-01-241-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | lavf: add internal API to append a bsf to a stream's listRodger Combs2015-12-281-0/+11
| |
* | lavf: add automatic bitstream filtering; bump versionRodger Combs2015-12-281-0/+17
| | | | | | | | | | | | | | | | | | 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.
* | avformat: Add av_program_add_stream_index()Michael Niedermayer2015-12-111-2/+0
| | | | | | | | | | | | This will be used by the subsequent commit(s) Signed-off-by: Michael Niedermayer <[email protected]>
* | lavf: add FFERROR_REDO to let demuxers return no packet.Nicolas George2015-12-031-0/+6
| |
* | Merge commit '7f4ec4364bc4a73036660c1c6a3c4801db524e9e'Derek Buitenhuis2015-11-221-7/+0
|\| | | | | | | | | | | | | | | | | | | * commit '7f4ec4364bc4a73036660c1c6a3c4801db524e9e': avformat: expose av_stream_new_side_data helper Conflicts: libavformat/internal.h Merged-by: Derek Buitenhuis <[email protected]>
| * avformat: expose av_stream_new_side_data helperJohn Stebbins2015-11-181-7/+0
| | | | | | | | Signed-off-by: Anton Khirnov <[email protected]>
* | Merge commit '8de1ee9f725aa3c550f425bd3120bcd95d5b2ea8'Hendrik Leppkes2015-11-111-0/+12
|\| | | | | | | | | | | | | * commit '8de1ee9f725aa3c550f425bd3120bcd95d5b2ea8': lavf: deprecate compute_pkt_fields2 Merged-by: Hendrik Leppkes <[email protected]>
| * lavf: deprecate compute_pkt_fields2Anton Khirnov2015-11-091-0/+12
| | | | | | | | | | | | | | | | | | 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-271-1/+1
|\| | | | | | | | | | | | | * commit 'ce70f28a1732c74a9cd7fec2d56178750bd6e457': avpacket: Replace av_free_packet with av_packet_unref Merged-by: Hendrik Leppkes <[email protected]>
| * avpacket: Replace av_free_packet with av_packet_unrefLuca Barbato2015-10-261-1/+1
| | | | | | | | | | | | | | `av_packet_unref` matches the AVFrame ref-counted API and can be used as a drop in replacement. Deprecate `av_free_packet`.
* | avformat: Remove use of AVFrac and AVStream->ptsMichael Niedermayer2015-08-231-0/+12
| | | | | | | | | | | | | | Move field to internal part of AVStream and struct to internal.h Reviewed-by: Andreas Cadhalpun <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]>
* | avformat: Move MAX_PROBE_PACKETS to internal.hMichael Niedermayer2015-08-121-0/+2
| | | | | | | | Signed-off-by: Michael Niedermayer <[email protected]>
* | Merge commit '059a934806d61f7af9ab3fd9f74994b838ea5eba'Michael Niedermayer2015-07-271-2/+2
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '059a934806d61f7af9ab3fd9f74994b838ea5eba': lavc: Consistently prefix input buffer defines Conflicts: doc/examples/decoding_encoding.c libavcodec/4xm.c libavcodec/aac_adtstoasc_bsf.c libavcodec/aacdec.c libavcodec/aacenc.c libavcodec/ac3dec.h libavcodec/asvenc.c libavcodec/avcodec.h libavcodec/avpacket.c libavcodec/dvdec.c libavcodec/ffv1enc.c libavcodec/g2meet.c libavcodec/gif.c libavcodec/h264.c libavcodec/h264_mp4toannexb_bsf.c libavcodec/huffyuvdec.c libavcodec/huffyuvenc.c libavcodec/jpeglsenc.c libavcodec/libxvid.c libavcodec/mdec.c libavcodec/motionpixels.c libavcodec/mpeg4videodec.c libavcodec/mpegvideo.c libavcodec/noise_bsf.c libavcodec/nuv.c libavcodec/nvenc.c libavcodec/options.c libavcodec/parser.c libavcodec/pngenc.c libavcodec/proresenc_kostya.c libavcodec/qsvdec.c libavcodec/svq1enc.c libavcodec/tiffenc.c libavcodec/truemotion2.c libavcodec/utils.c libavcodec/utvideoenc.c libavcodec/vc1dec.c libavcodec/wmalosslessdec.c libavformat/adxdec.c libavformat/aiffdec.c libavformat/apc.c libavformat/apetag.c libavformat/avidec.c libavformat/bink.c libavformat/cafdec.c libavformat/flvdec.c libavformat/id3v2.c libavformat/isom.c libavformat/matroskadec.c libavformat/mov.c libavformat/mpc.c libavformat/mpc8.c libavformat/mpegts.c libavformat/mvi.c libavformat/mxfdec.c libavformat/mxg.c libavformat/nutdec.c libavformat/oggdec.c libavformat/oggparsecelt.c libavformat/oggparseflac.c libavformat/oggparseopus.c libavformat/oggparsespeex.c libavformat/omadec.c libavformat/rawdec.c libavformat/riffdec.c libavformat/rl2.c libavformat/rmdec.c libavformat/rtpdec_latm.c libavformat/rtpdec_mpeg4.c libavformat/rtpdec_qdm2.c libavformat/rtpdec_svq3.c libavformat/sierravmd.c libavformat/smacker.c libavformat/smush.c libavformat/spdifenc.c libavformat/takdec.c libavformat/tta.c libavformat/utils.c libavformat/vqf.c libavformat/westwood_vqa.c libavformat/xmv.c libavformat/xwma.c libavformat/yop.c Merged-by: Michael Niedermayer <[email protected]>
* | avformat: Add ff_configure_buffers_for_index()Michael Niedermayer2015-07-131-0/+2
| | | | | | | | | | | | This allows configuring the io buffer in such way that few seeks are needed for playback Signed-off-by: Michael Niedermayer <[email protected]>
* | libavformat/mux: Add ff_choose_chroma_location()Michael Niedermayer2015-05-221-0/+5
| | | | | | | | Signed-off-by: Michael Niedermayer <[email protected]>
* | avformat/internal: Fix warning about struct declarationMichael Niedermayer2015-05-121-0/+3
| | | | | | | | | | | | Moving ffio_open2_wrapper() to internal as it uses AVFormatContext Signed-off-by: Michael Niedermayer <[email protected]>
* | avformat/internal: always check arguments of hex_dump_debug()Michael Niedermayer2015-05-071-1/+1
| | | | | | | | Signed-off-by: Michael Niedermayer <[email protected]>
* | avformat/mux: Add avoid_negative_ts_use_ptsMichael Niedermayer2015-05-051-0/+2
| | | | | | | | | | | | This allows using pts instead of dts for negative TS avoidance Signed-off-by: Michael Niedermayer <[email protected]>
* | Merge commit '9deaec782810d098bca11c9332fab2d2f4c5fb78'Michael Niedermayer2015-02-111-0/+42
|\| | | | | | | | | | | | | | | | | | | | | | | | | * commit '9deaec782810d098bca11c9332fab2d2f4c5fb78': lavf: move internal fields from public to internal context Conflicts: libavformat/avformat.h libavformat/internal.h libavformat/mux.c libavformat/utils.c Merged-by: Michael Niedermayer <[email protected]>
| * lavf: move internal fields from public to internal contextwm42015-02-101-0/+41
| | | | | | | | | | | | | | This is not an API change; the fields were explicitly declared private before. Signed-off-by: Anton Khirnov <[email protected]>
* | avformat/internal: fix av_interleaved_write_frame typo referenceClément Bœsch2015-02-081-1/+1
| |
* | Merge commit '4227e4fe7443733fb906f6fb6c265105e8269c74'Michael Niedermayer2015-01-271-0/+7
|\| | | | | | | | | | | | | | | | | | | | | * commit '4227e4fe7443733fb906f6fb6c265105e8269c74': lavf: add a convenience function for adding side data to a stream Conflicts: libavformat/internal.h libavformat/replaygain.c Merged-by: Michael Niedermayer <[email protected]>
| * lavf: add a convenience function for adding side data to a streamAnton Khirnov2015-01-271-0/+7
| |
* | Merge commit '675ac56b7ee0f204963fde55295197c5df80aa91'Michael Niedermayer2014-11-271-6/+0
|\| | | | | | | | | | | | | | | | | | | | | | | | | * commit '675ac56b7ee0f204963fde55295197c5df80aa91': Revert "lavf: Don't try to update files atomically with renames on windows" Conflicts: libavformat/dashenc.c libavformat/hdsenc.c libavformat/internal.h libavformat/smoothstreamingenc.c Merged-by: Michael Niedermayer <[email protected]>
| * Revert "lavf: Don't try to update files atomically with renames on windows"Martin Storsjö2014-11-271-6/+0
| | | | | | | | | | | | | | | | | | This reverts commit b9d08c77a44390b0848c06f20bc0e9e951ba6a3c. After taking MoveFileEx into use, we can replace files with renames on windows as well. Signed-off-by: Martin Storsjö <[email protected]>
* | Merge commit '960aff379da46dcaff61504a57714d4d4e758e41'Michael Niedermayer2014-11-251-0/+1
|\| | | | | | | | | | | | | | | | | | | * commit '960aff379da46dcaff61504a57714d4d4e758e41': lavf: Use wchar functions for filenames on windows for mkdir/rmdir/rename/unlink Conflicts: libavformat/os_support.h Merged-by: Michael Niedermayer <[email protected]>
| * lavf: Use wchar functions for filenames on windows for mkdir/rmdir/rename/unlinkMartin Storsjö2014-11-241-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes sure that the internal utf8 path names are handled properly - the normal file handling functions assume path names are in the native codepage, which isn't utf8. This assumes that the tools outside of lavf don't use the mkdir definition. (The tools don't do the same reading of command line parameters as wchar either - they probably won't handle all possible unicode file parameters properly, but at least work more predictably if no utf8/wchar conversion is involved.) This is moved further down in os_support.h, since windows.h shouldn't be included before winsock2.h, while io.h needs to be included before the manual defines for lseek functions. Signed-off-by: Martin Storsjö <[email protected]>
* | Merge commit 'b9d08c77a44390b0848c06f20bc0e9e951ba6a3c'Michael Niedermayer2014-11-251-0/+6
|\| | | | | | | | | | | | | | | | | | | | | | | | | * commit 'b9d08c77a44390b0848c06f20bc0e9e951ba6a3c': lavf: Don't try to update files atomically with renames on windows Conflicts: libavformat/dashenc.c libavformat/hdsenc.c libavformat/internal.h libavformat/smoothstreamingenc.c Merged-by: Michael Niedermayer <[email protected]>
| * lavf: Don't try to update files atomically with renames on windowsMartin Storsjö2014-11-241-0/+6
| | | | | | | | | | | | | | | | | | On windows, rename(2) will fail if the target file exists. On unix this trick is used to make sure that people reading the file either will get the full previous file, or the full new version of the file, but no intermediate version. Signed-off-by: Martin Storsjö <[email protected]>
* | avformat: Print error message on failure of ff_rename()Michael Niedermayer2014-10-251-4/+8
| | | | | | | | Signed-off-by: Michael Niedermayer <[email protected]>
* | Merge commit '7785ce1c769369abf85b276148548a5510aabb5f'Michael Niedermayer2014-10-251-0/+14
|\| | | | | | | | | | | | | | | | | | | | | | | * commit '7785ce1c769369abf85b276148548a5510aabb5f': lavf: replace rename() with ff_rename() Conflicts: libavformat/hdsenc.c libavformat/internal.h See: 95d2fc6a76f3e0a98329f1ca70f98e7c085f0abf Merged-by: Michael Niedermayer <[email protected]>