summaryrefslogtreecommitdiffstats
path: root/libavformat/nutenc.c
Commit message (Collapse)AuthorAgeFilesLines
* avformat/nutenc: Do not pass NULL to memcmp() in get_needed_flags()Michael Niedermayer2019-11-051-5/+6
| | | | | | | | | | | | | | This compared to the other suggestions is cleaner and easier to understand keeping the condition in the if() simple. This affects alot of fate tests. See: [FFmpeg-devel] [PATCH 05/11] avformat/nutenc: Don't pass NULL to memcmp See: [FFmpeg-devel] [PATCH]lavf/nutenc: Do not call memcmp() with NULL argument Fixes: Ticket 7980 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/nutenc: free all missing dynamic AVIOContext on header writing failureJames Almer2019-10-191-4/+7
| | | | | | Fixes part of ticket #8316 Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/nutenc: don't allocate a dynamic AVIOContext if no index is going ↵James Almer2019-10-181-1/+4
| | | | | | | | to be written Fixes ticket #8295 Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/nutenc: Document trailer index assert betterMichael Niedermayer2018-12-161-1/+1
| | | | | Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Merge commit '07eea5a5ded1141632aefecfa59dcdc26de2d7ea'Clément Bœsch2017-03-241-19/+0
|\ | | | | | | | | | | | | * commit '07eea5a5ded1141632aefecfa59dcdc26de2d7ea': nut: Drop pointless TRACE level debug code Merged-by: Clément Bœsch <u@pkh.me>
| * nut: Drop pointless TRACE level debug codeDiego Biurrun2016-10-271-20/+0
| | | | | | | | The code has little usefulness and uses the __PRETTY_FUNCTION__ GNU extension.
* | Merge commit '9200514ad8717c63f82101dc394f4378854325bf'Derek Buitenhuis2016-04-101-42/+44
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-231-36/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | avformat: use ff_standardize_creation_time for formats writing all format ↵Marton Balint2016-03-031-0/+1
| | | | | | | | | | | | | | string metadata Reviewed-by: wm4 <nfxjfg@googlemail.com> Signed-off-by: Marton Balint <cus@passwd.hu>
* | Merge commit 'dc6527ed908e4d330738f139074455ffbe56a2de'Derek Buitenhuis2016-02-291-2/+9
|\ \ | |/ | | | | | | | | | | | | | | | | FATE tests have been updated to patch. They do not differ in any meaningful way. * commit 'dc6527ed908e4d330738f139074455ffbe56a2de': nutenc: do not use AVCodecContext.frame_size Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * nutenc: do not use AVCodecContext.frame_sizeAnton Khirnov2016-02-221-2/+9
| | | | | | | | | | It will in general not be available. Use block_align if known or fall back to av_get_audio_frame_duration().
| * nut: Use the correct codec_tag when multiple are availableLuca Barbato2015-11-021-1/+2
| | | | | | | | | | | | | | | | | | | | Some codecs use the codec_tag to signal specific information and picking the first one would lead to a broken file. Bug-Id: 883 CC: libav-stable@libav.org Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | avformat/nutenc: implement deinit()Michael Niedermayer2016-01-211-5/+13
| | | | | | | | | | | | Should prevent some leaks if header writing fails Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avformat: use AV_OPT_TYPE_BOOL in a bunch of placesClément Bœsch2015-12-041-1/+1
| |
* | avutil/tree: add additional const qualifier to the comparatorGanesh Ajjanagadde2015-10-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | libc's qsort comparator has a const qualifier on both arguments. This adds a missing const qualifier to exactly match the comparator API. Existing usages of av_tree_find, av_tree_insert are appropriately modified: type signature changes of the comparators, and removal of unnecessary void * casts of function pointers. Reviewed-by: Henrik Gramner <henrik@gramner.com> Reviewed-by: wm4 <nfxjfg@googlemail.com> Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
* | avformat/nutenc: Omit AV_PKT_DATA_QUALITY_STATS when storing side data.Michael Niedermayer2015-07-251-0/+1
| | | | | | | | | | | | | | This side data does not serve or improve decoding the data, it thus would semantically be metadata and not side data. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avformat/nutenc: Fix writing strings larger than 2gbMichael Niedermayer2015-05-101-1/+1
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '8e32b1f0963d01d4f5d4803eb721f162e0d58d9a'Michael Niedermayer2015-02-251-8/+3
|\ \ | |/ | | | | | | | | | | * commit '8e32b1f0963d01d4f5d4803eb721f162e0d58d9a': libavformat: Use ffio_free_dyn_buf where applicable Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * libavformat: Use ffio_free_dyn_buf where applicableMartin Storsjö2015-02-241-8/+3
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | nutdec: Remove unused variablesTimothy Gu2015-02-061-2/+0
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '80a11de7dca315505bf203ce9c8c016e71724fd2'Michael Niedermayer2015-01-271-0/+2
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | * commit '80a11de7dca315505bf203ce9c8c016e71724fd2': nutenc: do not use has_b_frames Conflicts: libavformat/nutenc.c tests/ref/lavf/nut tests/ref/seek/lavf-nut Mostly not merged, this is simply not correct Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * nutenc: do not use has_b_framesAnton Khirnov2015-01-271-2/+4
| | | | | | | | | | It is unreliable, especially when the stream codec context is not the encoding context. Use the codec descriptor properties instead.
* | avformat/nutenc: store the actual r_frame_rate in the corresponding field if ↵Michael Niedermayer2014-12-141-1/+4
| | | | | | | | | | | | | | | | available Fixes Ticket 3629 part3 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit 'b69183f65d0f6f4cd7a4e6c0deb57d59b0185aba'Michael Niedermayer2014-10-221-0/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | * commit 'b69183f65d0f6f4cd7a4e6c0deb57d59b0185aba': nutenc: check for negative index rather than assert Conflicts: libavformat/nutenc.c Not merged, the assert is correct Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * nutenc: check for negative index rather than assertVittorio Giovara2014-10-211-1/+4
| | | | | | | | | | CC: libav-stable@libav.org Bug-Id: CID 703721
* | Merge commit 'd754ed41727b1fcbab335b510248a9758a73320c'Michael Niedermayer2014-06-181-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | * commit 'd754ed41727b1fcbab335b510248a9758a73320c': riffenc: take an AVStream instead of an AVCodecContext Conflicts: libavformat/nutenc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * riffenc: take an AVStream instead of an AVCodecContextAnton Khirnov2014-06-181-1/+1
| | | | | | | | | | | | It will be useful in the following commits. Also, rename the AVCodecContext pointer name from 'stream' to 'codec'.
* | avformat/nutenc: cleaner version checkMichael Niedermayer2014-06-101-1/+1
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/nutenc: Fix error handling in nut_write_packet()Michael Niedermayer2014-06-101-10/+17
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/nutenc: Fix error handling in write_sm_data()Michael Niedermayer2014-06-101-5/+10
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/nutenc: Suggest genpts if AV_NOPTS_VALUEMichael Niedermayer2014-05-301-0/+2
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/nutenc: replace conditional by assertMichael Niedermayer2014-05-291-1/+2
| | | | | | | | | | | | Its implied by sp_count==0 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/nutenc: limit index table size if no index is going to be writtenMichael Niedermayer2014-05-291-1/+8
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/nutenc: add mode that omits the indexMichael Niedermayer2014-05-291-1/+4
| | | | | | | | | | | | | | When the index is not written, several data tables become unneeded, reducing memory and cpu requirements. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | nutenc: avoid av_tree_find() operation per syncpointMichael Niedermayer2014-05-291-7/+3
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/nutenc: bump minor version due to broadcast/pipeMichael Niedermayer2014-05-291-1/+1
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/nutenc: change check to match commentMichael Niedermayer2014-05-291-1/+1
| | | | | | | | | | | | The code appears to assume STABLE will never change Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/nutenc: fix used version valueMichael Niedermayer2014-05-291-1/+1
| | | | | | | | | | | | | | The broadcast/pipe flags arent stable + 1 they would be 4 or whenever but wouldnt change based on which is stable Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit 'c94e2e85cb6af8a570d8542a830556243bd32873'Michael Niedermayer2014-05-291-3/+42
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | * commit 'c94e2e85cb6af8a570d8542a830556243bd32873': nut: Support experimental NUT 4 features Conflicts: doc/nut.texi libavformat/nut.h libavformat/nutdec.c libavformat/nutenc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * nut: Support experimental NUT 4 featuresLuca Barbato2014-05-281-3/+42
| | | | | | | | | | | | | | Add the low overhead pipe mode and the extended broadcast mode. Export the options as 'syncponts' since it impacts only that. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | avformat/nutenc: switch to AVFMT_FLAG_BITEXACTMichael Niedermayer2014-05-181-2/+1
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/nutenc: fix missing break in switchMichael Niedermayer2014-01-241-0/+1
| | | | | | | | | | Fixes CID1163848 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/nut: add support for per frame side & meta data with version 4Michael Niedermayer2014-01-041-5/+143
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/nut: add minor_version field with version>=4Michael Niedermayer2013-12-251-0/+2
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/nut: store version in the contextMichael Niedermayer2013-12-251-1/+1
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | nutenc/write_index: warn if 2 consecutive keyframes have the same PTS and ↵Michael Niedermayer2013-12-221-1/+8
| | | | | | | | | | | | | | | | | | | | | | discard the 2nd This fixes an assertion failure and regression and restores previous behaviour Fixes Ticket3197 An alternative would be to fail hard in this case and refuse to mux such data. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2013-11-241-0/+2
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: Add missing #includes for *INT64_MAX and *INT64_C Conflicts: ffmpeg.c ffmpeg_filter.c ffplay.c libavformat/assdec.c libavformat/avidec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Add missing #includes for *INT64_MAX and *INT64_CDiego Biurrun2013-11-231-0/+2
| |
| * nut: Fix unchecked allocationsDerek Buitenhuis2013-10-221-1/+2
| | | | | | | | | | CC: libav-stable@libav.org Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* | nut: Fix unchecked allocationsDerek Buitenhuis2013-10-221-1/+2
| | | | | | | | Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
OpenPOWER on IntegriCloud