summaryrefslogtreecommitdiff
path: root/libavformat/ivfenc.c
Commit message (Collapse)AuthorAge
* avformat: Constify all muxer/demuxersAndreas Rheinhardt2021-04-27
| | | | | | | This is possible now that the next-API is gone. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Signed-off-by: James Almer <jamrial@gmail.com>
* ivfenc: write duration for frame_cnt=1.Ronald S. Bultje2021-03-03
|
* avformat/ivfenc: move bsf insertion to the init functionJames Almer2020-05-11
| | | | | Reviewed-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/ivfenc: add an AVOutputFormat.init() functionJames Almer2020-05-11
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/ivfenc: Don't use size_t for size of fileAndreas Rheinhardt2020-02-28
| | | | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/ivfenc: Change the length fields to 32 bitsRaphaël Zumer2019-10-08
| | | | | | | | | | There is no change in the encoded bitstream, but this ensures that the written field length is consistent with the reference implementation. Unused bytes are zeroed out for backwards compatibility. Signed-off-by: Raphaël Zumer <rzumer@tebako.net>
* avformat/ivfenc: Comment the length field encoding processRaphaël Zumer2019-10-08
| | | | Signed-off-by: Raphaël Zumer <rzumer@tebako.net>
* avformat/ivfenc: use the av1_metadata bsf to insert Temporal Delimiter OBUs ↵James Almer2018-11-01
| | | | | | | if needed Reviewed-by: Mark Thompson <sw@jkqxz.net> Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/ivfenc: fix writing codec tagJames Almer2018-09-24
| | | | | | | | | The value in AVCodecParameters->codec_tag may not be correct for IVF, as it's the case when remuxing AV1 streams from mp4, so ignore it and write the correct value based on codec ID instead. Reviewed-by: Jan Ekström <jeebjp@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* Merge commit '44a1731011e87fbf4180d026aefb8bfe85d8c7dc'James Almer2018-03-28
|\ | | | | | | | | | | | | | | | | * commit '44a1731011e87fbf4180d026aefb8bfe85d8c7dc': ivf: Support VP9 and AV1 as well See e8f0a463b0d27a4d74c0d9f1857e72a8033d1069 Merged-by: James Almer <jamrial@gmail.com>
| * ivf: Support VP9 and AV1 as wellLuca Barbato2018-03-12
| |
* | ivfenc: add AV1 supportTristan Matthews2017-12-13
| | | | | | | | libaom tools work with ivf files.
* | Merge commit '83548fe894cdb455cc127f754d09905b6d23c173'James Almer2017-03-21
|\| | | | | | | | | | | | | * commit '83548fe894cdb455cc127f754d09905b6d23c173': lavf: fix usage of AVIOContext.seekable Merged-by: James Almer <jamrial@gmail.com>
* | ivfenc: Add VPX codec tags.Alex Converse2016-09-10
| | | | | | | | This fixes remuxing VPX from MP4 without manually overwriting the tag.
* | 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: Don't explicitly flush after each written packet in muxersClément Bœsch2013-09-16
| | | | | | | | | | | | | | | | Since 596e5d4783, this is not necessary anymore. It also allows to actually disable the flushing, improving write performance (but possibly giving worse latency in real-time streaming). Signed-off-by: Martin Storsjö <martin@martin.st>
* | vp9: add superframe merging bitstream filter.Ronald S. Bultje2016-03-11
| | | | | | | | Fixes ticket 4313.
* | avformat/ivfenc: fix division by zeroMichael Niedermayer2016-01-08
| | | | | | | | | | | | Fixes Ticket 5115 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | ivfenc: write duration at end-of-stream.Ronald S. Bultje2015-07-12
| | | | | | | | | | | | At the beginning, the value is not initialized. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | ivfenc: incorrect fourcc for VP9 videoVictor Anjin2015-04-16
| | | | | | | | | | | | | | | | | | | | | | VP80 fourcc are writed for all contexts (without ctx->codec_tag) how to reproduce the issue: 1) Get any vp9 video (for example http://base-n.de/webm/out9.webm) 2) ffmpeg -i out9.webm -vcodec copy out9.ivf 3) out9.ivf have VP80 fourcc at ivf header The proposed fix solves this issue Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | ivfenc: support VP9James Zern2014-07-03
| | | | | | | | | | | | libvpx tools accept vp9 ivf files Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavf: remove some flushing in write_packet muxers callbacks.Clément Bœsch2013-04-14
| | | | | | | | | | Since 4f112a8e3, this is not necessary anymore. Also, it allows to actually disable the flushing.
* | Merge commit '36ef5369ee9b336febc2c270f8718cec4476cb85'Michael Niedermayer2012-08-07
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '36ef5369ee9b336febc2c270f8718cec4476cb85': Replace all CODEC_ID_* with AV_CODEC_ID_* lavc: add AV prefix to codec ids. Conflicts: doc/APIchanges doc/examples/decoding_encoding.c doc/examples/muxing.c ffmpeg.c ffprobe.c ffserver.c libavcodec/8svx.c libavcodec/avcodec.h libavcodec/dnxhd_parser.c libavcodec/dvdsubdec.c libavcodec/error_resilience.c libavcodec/h263dec.c libavcodec/libvorbisenc.c libavcodec/mjpeg_parser.c libavcodec/mjpegenc.c libavcodec/mpeg12.c libavcodec/mpeg4videodec.c libavcodec/mpegvideo.c libavcodec/mpegvideo_enc.c libavcodec/pcm.c libavcodec/r210dec.c libavcodec/utils.c libavcodec/v210dec.c libavcodec/version.h libavdevice/alsa-audio-dec.c libavdevice/bktr.c libavdevice/v4l2.c libavformat/asfdec.c libavformat/asfenc.c libavformat/avformat.h libavformat/avidec.c libavformat/caf.c libavformat/electronicarts.c libavformat/flacdec.c libavformat/flvdec.c libavformat/flvenc.c libavformat/framecrcenc.c libavformat/img2.c libavformat/img2dec.c libavformat/img2enc.c libavformat/ipmovie.c libavformat/isom.c libavformat/matroska.c libavformat/matroskadec.c libavformat/matroskaenc.c libavformat/mov.c libavformat/movenc.c libavformat/mp3dec.c libavformat/mpeg.c libavformat/mpegts.c libavformat/mxf.c libavformat/mxfdec.c libavformat/mxfenc.c libavformat/nsvdec.c libavformat/nut.c libavformat/oggenc.c libavformat/pmpdec.c libavformat/rawdec.c libavformat/rawenc.c libavformat/riff.c libavformat/sdp.c libavformat/utils.c libavformat/vocenc.c libavformat/wtv.c libavformat/xmv.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Replace all CODEC_ID_* with AV_CODEC_ID_*Anton Khirnov2012-08-07
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-04-06
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: cosmetics: Align muxer/demuxer declarations mpeg12: Do not change frame_pred_frame_dct flag and demote error into a warning avcodec: remove avcodec_guess_channel_layout() avutil: Add av_get_default_channel_layout() Conflicts: doc/APIchanges libavcodec/mpeg12.c libavformat/cdg.c libavformat/matroskaenc.c libavformat/mpegts.c libavformat/nuv.c libavformat/wav.c libavutil/audioconvert.c libavutil/audioconvert.h libavutil/avutil.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * cosmetics: Align muxer/demuxer declarationsMartin Storsjö2012-04-06
| | | | | | | | | | | | | | Also add missing trailing commas, break long codec_tag lines and add spaces in codec_tag declarations. Signed-off-by: Martin Storsjö <martin@martin.st>
| * Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-19
|/ | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* avio: rename put_flush_packet -> avio_flushAnton Khirnov2011-03-16
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* avio: avio: avio_ prefixes for put_* functionsAnton Khirnov2011-02-21
| | | | | | | | | | | | In the name of consistency: put_byte -> avio_w8 put_<type> -> avio_w<type> put_buffer -> avio_write put_nbyte will be made private put_tag will be merged with avio_put_str Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* avio: rename ByteIOContext to AVIOContext.Anton Khirnov2011-02-20
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* Replace remaining occurrences of CODEC_TYPE_* with AVMEDIA_TYPE*Anton Khirnov2011-02-03
| | | | | | Tested to compile with lavc major bump. Signed-off-by: Mans Rullgard <mans@mansr.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.
* Add muxer for IVF format.Reimar Döffinger2011-01-17