summaryrefslogtreecommitdiff
path: root/doc
Commit message (Collapse)AuthorAge
* avcodec: Add MediaFoundation encoder wrapperwm42020-05-19
| | | | | | | | | | | | | | | This contains encoder wrappers for H264, HEVC, AAC, AC3 and MP3. This is based on top of an original patch by wm4 <nfxjfg@googlemail.com>. The original patch supported both encoding and decoding, but this patch only includes encoding. The patch contains further changes by Paweł Wegner <pawel.wegner95@gmail.com> (primarily for splitting out the encoding parts of the original patch) and further cleanup, build compatibility fixes and tweaks for use with Qualcomm encoders by Martin Storsjö. Signed-off-by: Martin Storsjö <martin@martin.st>
* avfilter: add gradients source video filterPaul B Mahol2020-05-19
|
* doc/muxers: Document title tag for attachmentsAndreas Rheinhardt2020-05-19
| | | | | | | | | The Matroska muxer has always mapped the title tag to the FileDescription element for attachments streams since support for writing attachments was added in commit c7a63a521b5c165405e3577751d649529d09f0c5. This commit merely documents this fact. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avutil: bump version after addition of av_sat_add64 and av_sat_sub64James Almer2020-05-17
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avfilter/vf_minterpolate: change the default threshold to get better scene ↵Limin Wang2020-05-14
| | | | | | | | | | | | | | | | | | | | | | | | change detect result ./ffmpeg -loglevel debug -i ../fate-suite/svq3/Vertical400kbit.sorenson3.mov -vf minterpolate=fps=60:mi_mode=blend -an -f null - [Parsed_minterpolate_0 @ 0x7fe7f3e193c0] scene changed, input pts 1600 [Parsed_minterpolate_0 @ 0x7fe7f3e193c0] scene changed, input pts 4120 [Parsed_minterpolate_0 @ 0x7fe7f3e193c0] scene changed, input pts 5780 [Parsed_minterpolate_0 @ 0x7fe7f3e193c0] scene changed, input pts 6700 [Parsed_minterpolate_0 @ 0x7fe7f3e193c0] scene changed, input pts 8140 [Parsed_minterpolate_0 @ 0x7fe7f3e193c0] scene changed, input pts 9740 [Parsed_minterpolate_0 @ 0x7fe7f3e193c0] scene changed, input pts 14060 [Parsed_minterpolate_0 @ 0x7fe7f3e193c0] scene changed, input pts 15680 [Parsed_minterpolate_0 @ 0x7fe7f3e193c0] scene changed, input pts 18480 [Parsed_minterpolate_0 @ 0x7fe7f3e193c0] scene changed, input pts 20020 [Parsed_minterpolate_0 @ 0x7fe7f3e193c0] scene changed, input pts 21740 The results are consistent with tests/ref/fate/filter-metadata-scenedetect For the master, it'll detect more than 20 scene change for the same source. Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avfilter/vf_scdet: add filter to detect scene changeLimin Wang2020-05-14
| | | | | Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* lavc: add a flag for exporting AVVideoEncParams from decodersAnton Khirnov2020-05-12
|
* libavutil: add API for exporting video frame quantizersJuan De León2020-05-12
| | | | | | | | | | | | | | | This is intended to replace the deprecated the AV_FRAME_DATA_QP_TABLE* API and extend it to a wider range of codecs. In the future, it may also be extended to support other encoding parameters such as motion vectors. Additional changes by Anton Khirnov <anton@khirnov.net> with suggestions by Lynne <dev@lynne.ee>. Signed-off-by: Juan De León <juandl@google.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* doc/examples/muxing: convert to new encoding APIAnton Khirnov2020-05-12
|
* doc/examples/demuxing_decoding: convert to new decoding APIAnton Khirnov2020-05-12
|
* doc/examples/demuxing_decoding: drop -refcountAnton Khirnov2020-05-12
| | | | | Non-refcounted frames are deprecated and there is no good reason to use them.
* hwcontext_vulkan: expose enabled device and instance extensionsLynne2020-05-10
| | | | | | | This solves a huge oversight - it lets users reliably use their own AVVulkanDeviceContext. Otherwise, the extensions supplied and enabled are not discoverable by anything outside of hwcontext_vulkan. Also clarifies that any user-supplied VkInstance must be at least 1.1.
* hwcontext_vulkan: let users enable device and instance extensions using optionsLynne2020-05-10
| | | | | | Also documents all options supported by the hwdevice. This lets users enable all extensions they need without writing their own instance initialization code.
* doc/encoders: remove unsubstantiated ffaacenc > fdk-aac claimLou Logan2020-05-08
| | | | | | | | | | | | | | | | | | | After this claim was made in e34e361 kamedo2 did an in-depth ABX test comparing these encoders: https://hydrogenaud.io/index.php?topic=111085.0 Result: FFmpeg AAC wasn't as good as libfdk_aac on average. I know some things have changed since then such as, "use the fast coder as the default" (fcb681ac) for example, so maybe the situation is different now. However, I am unaware of any recent comparison. So without any substantiation we shouldn't make such a blantant claim. Signed-off-by: Lou Logan <lou@lrcd.com> Signed-off-by: Gyan Doshi <ffmpeg@gyani.pro>
* Revert "doc/mailing-list-faq: Mention current problem with GMX"Michael Niedermayer2020-05-08
| | | | | | mails to GMX seem working again This reverts commit cd11fbcfb03994d3ddbc83f0620530d6f6748f68.
* avcodec/pcm_rechunk_bsf: add bitstream filter to rechunk pcm audioMarton Balint2020-05-07
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* doc/muxers: remove hls_fmp4_init_resend parameterSteven Liu2020-05-04
| | | | the parameter should boolean
* avcodec/prores_metadata_bsf: add arib-std-b67 format supportLimin Wang2020-05-03
| | | | | | | It's based on the following specs: RDD 45:2017 - SMPTE Registered Disclosure Doc - Interoperable Master Format - Application ProRes Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avcodec/prores_metadata_bsf: add smpte2084 format supportLimin Wang2020-05-03
| | | | | | | It's based on the following specs: RDD 36:2015 - SMPTE Registered Disclosure Doc - Apple ProRes Bitstream Syntax and Decoding Process Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* doc/protocols: clarify timeout and latency unit of measurement for SRTLimin Wang2020-05-03
| | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* fftools/ffprobe: show closed caption info in the stream dumpvectronic2020-05-02
| | | | | Signed-off-by: vectronic <hello.vectronic@gmail.com> Signed-off-by: Marton Balint <cus@passwd.hu>
* doc/mailing-list-faq: Mention current problem with GMXMichael Niedermayer2020-05-02
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/hlsenc: add support for microseconds since epoch based sequence numberMarton Balint2020-05-01
| | | | | | | | | Sequence numbers of segments should be unique, if an encoder is using shorter than 1 second segments and it is restarted, then future segments will be using already used sequence numbers if initial sequence number is based on the number of seconds since epoch and not microseconds. Signed-off-by: Marton Balint <cus@passwd.hu>
* doc/utils: add more examples for valid time durationLimin Wang2020-05-01
| | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avfilter/af_crossfeed: make options runtime configurablePaul B Mahol2020-04-30
|
* avfilter/af_crossfeed: make slope configurablePaul B Mahol2020-04-30
|
* avfilter: add asubboost filterPaul B Mahol2020-04-30
|
* avfilter/vf_v360: make FOV adjusted for dual fisheye tooPaul B Mahol2020-04-29
| | | | Remove any usage of padding for this format.
* avfilter/af_amix: make weights option runtime configuredPaul B Mahol2020-04-29
|
* avfilter/vf_v360: adjustment out_pad and in_pad maximum value to 1/10Steven Liu2020-04-29
| | | | | | | | Because not every user know about in_pad and out_pad reasonable value range so maybe try to set 1.0, but setting 1.0 is so hugh to get an fatal error. Suggested-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* avfilter/f_interleave: add duration optionPaul B Mahol2020-04-25
|
* lavu/version: bump minor version for DOVI sidedataJun Zhao2020-04-25
| | | | | | | bump minor version for DOVI sidedata, because added the dovi_meta.h as lavu API part. Also update APIchanges. Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
* avcodec: add support for Cunning Developments' ADPCMZane van Iperen2020-04-24
| | | | | Signed-off-by: Zane van Iperen <zane@zanevaniperen.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* doc/APIChanges: add AV_PKT_DATA_DOVI_CONF entryJun Zhao2020-04-23
| | | | Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
* avformat/mpegtsenc: use standard pids for m2tsMarton Balint2020-04-21
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* avformat/matroskaenc: Redo handling of FlagDefaultAndreas Rheinhardt2020-04-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Up until now, the Matroska muxer would mark a track as default if it had the disposition AV_DISPOSITION_DEFAULT or if there was no track with AV_DISPOSITION_DEFAULT set; in the latter case even more than one track of a kind (audio, video, subtitles) was marked as default which is not sensible. This commit changes the logic used to mark tracks as default. There are now three modes for this: a) In the "infer" mode the first track of every type (audio, video, subtitles) with default disposition set will be marked as default; if there is no such track (for a given type), then the first track of this type (if existing) will be marked as default. This behaviour is inspired by mkvmerge. It ensures that the default flags will be set in a sensible way even if the input comes from containers that lack the concept of default flags. This mode is the default mode. b) The "infer_no_subs" mode is similar to the "infer" mode; the difference is that if no subtitle track with default disposition exists, no subtitle track will be marked as default at all. c) The "passthrough" mode: Here the track will be marked as default if and only the corresponding input stream had disposition default. This fixes ticket #8173 (the passthrough mode is ideal for this) as well as ticket #8416 (the "infer_no_subs" mode leads to the desired output). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avformat/dashenc: add a PlaybackRate elementJames Almer2020-04-20
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* doc/muxers: fix some dashenc option namesJames Almer2020-04-20
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avfilter: add maskedthreshold filterPaul B Mahol2020-04-18
|
* avfilter: add tmedian filterPaul B Mahol2020-04-18
|
* avfilter/af_astats: add noise floor count statPaul B Mahol2020-04-17
|
* avfilter/af_astats: measure noise floorPaul B Mahol2020-04-17
|
* avcodec: Add explicit capability flag for encoder flushingPhilip Langdale2020-04-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, there was no way to flush an encoder such that after draining, the encoder could be used again. We generally suggested that clients teardown and replace the encoder instance in these situations. However, for at least some hardware encoders, the cost of this tear down/replace cycle is very high, which can get in the way of some use-cases - for example: segmented encoding with nvenc. To help address that use case, we added support for calling avcodec_flush_buffers() to nvenc and things worked in practice, although it was not clearly documented as to whether this should work or not. There was only one previous example of an encoder implementing the flush callback (audiotoolboxenc) and it's unclear if that was intentional or not. However, it was clear that calling avocdec_flush_buffers() on any other encoder would leave the encoder in an undefined state, and that's not great. As part of cleaning this up, this change introduces a formal capability flag for encoders that support flushing and ensures a flush call is a no-op for any other encoder. This allows client code to check if it is meaningful to call flush on an encoder before actually doing it. I have not attempted to separate the steps taken inside avcodec_flush_buffers() because it's not doing anything that's wrong for an encoder. But I did add a sanity check to reject attempts to flush a frame threaded encoder because I couldn't wrap my head around whether that code path was actually safe or not. As this combination doesn't exist today, we'll deal with it if it ever comes up.
* avformat/hlsenc: add hls_fmp4_init_resend optionSteven Liu2020-04-15
| | | | | | add option for resend init file after m3u8 refresh everytime. Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* doc/filters: clarify metadata and logging for blackdetectGyan Doshi2020-04-13
|
* avcodec/libaomenc.c: Add a libaom command-line option 'tune'Wang Cao2020-04-11
| | | | | Signed-off-by: Wang Cao <wangcao@google.com> Signed-off-by: James Zern <jzern@google.com>
* pthread_frame: merge the functionality for normal decoder init and ↵Anton Khirnov2020-04-10
| | | | | | | | | | | | | | | | init_thread_copy The current design, where - proper init is called for the first per-thread context - first thread's private data is copied into private data for all the other threads - a "fixup" function is called for all the other threads to e.g. allocate dynamically allocated data is very fragile and hard to follow, so it is abandoned. Instead, the same init function is used to init each per-thread context. Where necessary, AVCodecInternal.is_copy can be used to differentiate between the first thread and the other ones (e.g. for decoding the extradata just once).
* lavc: replace AVCodecInternal.allocate_progress with an internal capAnton Khirnov2020-04-10
| | | | This is a constant codec property, so a capability flag is more appropriate.
* avcodec.h: split AVCodecDescriptor API into its own headerAnton Khirnov2020-04-10
|
* avcodec.h: split codec IDs into their own headerAnton Khirnov2020-04-10
|