summaryrefslogtreecommitdiff
path: root/Changelog
Commit message (Collapse)AuthorAge
* fftools/ffmpeg: add special syntax for loading filter options from filesAnton Khirnov2023-02-12
| | | | | | | | | | | | | | | | | Many filters accept user-provided data that is cumbersome to provide as text strings - e.g. binary files or very long text. For that reason such filters typically provide a option whose value is the path from which the filter loads the actual data. However, filters doing their own IO internally is a layering violation that the callers may not expect, and is thus best avoided. With the recently introduced graph segment parsing API, loading option values from files can now be handled by the caller. This commit makes use of the new API in ffmpeg CLI. Any option name in the filtergraph syntax can now be prefixed with a slash '/'. This will cause ffmpeg to interpret the value as the path to load the actual value from.
* avformat: add RKA demuxerPaul B Mahol2023-02-11
|
* avcodec: add RKA decoderPaul B Mahol2023-02-11
|
* avformat: add SDNS demuxerPaul B Mahol2023-02-11
|
* fftools/ffmpeg: rename -enc_stats* to -stats_enc*Anton Khirnov2023-02-10
| | | | | | | This is consistent with -stats_mux* As the options were added very recently, this should not break any users.
* fftools/ffmpeg: add an option for writing pre-muxing statsAnton Khirnov2023-02-09
| | | | | | Analogous to -enc_stats*, but happens right before muxing. Useful because bitstream filters and the sync queue can modify packets after encoding and before muxing. Also has access to the muxing timebase.
* lavc: deprecate CrystalHD decodersAnton Khirnov2023-02-04
| | | | | The hardware is old and not relevant today. The decoders also have many special quirks and are effectively unmaintained.
* avformat: add WavArc demuxerPaul B Mahol2023-02-04
|
* avcodec: add WavArc decoderPaul B Mahol2023-02-04
|
* ffmpeg: add video heartbeat capability to fix_sub_durationJan Ekström2023-02-03
| | | | | | | | | | | | | | | | | | | Splits the currently handled subtitle at random access point packets that can be configured to follow a specific output stream. Currently only subtitle streams which are directly mapped into the same output in which the heartbeat stream resides are affected. This way the subtitle - which is known to be shown at this time can be split and passed to muxer before its full duration is yet known. This is also a drawback, as this essentially outputs multiple subtitles from a single input subtitle that continues over multiple random access points. Thus this feature should not be utilized in cases where subtitle output latency does not matter. Co-authored-by: Andrzej Nadachowski <andrzej.nadachowski@24i.com> Co-authored-by: Bernard Boulay <bernard.boulay@24i.com> Signed-off-by: Jan Ekström <jan.ekstrom@24i.com>
* avcodec: add media100_to_mjpegb bitstream filter and use itPaul B Mahol2023-01-31
|
* avformat: add XMD demuxerPaul B Mahol2023-01-30
|
* avcodec: add ADPCM XMD decoderPaul B Mahol2023-01-30
|
* avfilter: add VA-API variants of the stack filtersHaihao Xiang2023-01-30
| | | | | | | | | | | | | | | | | | | Include hstack_vaapi, vstack_vaapi and xstack_vaapi. They may accept input streams with different sizes. libva2 (VA-API 1.0+) is required. Example: $ ffmpeg -hwaccel vaapi -hwaccel_output_format vaapi -i input.h265 -filter_complex "[0:v][0:v]hstack_vaapi" -c:v h264_vaapi out.h264 $ ffmpeg \ -hwaccel vaapi -hwaccel_output_format vaapi -i input.h264 \ -hwaccel vaapi -hwaccel_output_format vaapi -i input.h264 \ -hwaccel vaapi -hwaccel_output_format vaapi -i input.h264 \ -hwaccel vaapi -hwaccel_output_format vaapi -i input.h264 \ -filter_complex "[0:v][1:v][2:v][3:v]xstack_vaapi=inputs=4:fill=0x000000:layout=0_0_1920x1080|w0_0_1920x1080|0_h0_1920x1080|w0_h0_1920x1080" \ -c:v hevc_vaapi out.h265 Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
* fftools/ffmpeg: add options for writing encoding statsAnton Khirnov2023-01-29
| | | | | | | Similar to -vstats, but more flexible: - works for audio as well as video - frame and/or packet information - user-specifiable format
* lavfi: Add vf_ssim360 filterShannon Chen2023-01-28
| | | | | | | | | | | | | Customized SSIM for various projections (and stereo formats) of 360 images and videos. Further contributions by: Ashok Mathew Kuruvilla Matthieu Patou Yu-Hui Wu Anton Khirnov Suggested-By: ffmpeg@fb.com Signed-off-by: Anton Khirnov <anton@khirnov.net>
* avcodec: add CBD2 DPCM decoderPaul B Mahol2023-01-27
|
* avformat: add WADY demuxerPaul B Mahol2023-01-24
|
* avcodec: add WADY DPCM decoderPaul B Mahol2023-01-24
|
* avfilter: add fractional delay IR source filterPaul B Mahol2023-01-16
|
* avformat: Rename IPFS to IPFS gatewayDerek Buitenhuis2023-01-09
| | | | | | | It is a URL rewriter for IPFS gateways, not an actual implementation of IPFS, and naming it as such was both incorrect and misleading. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* avfilter: add adrc filterPaul B Mahol2022-12-19
|
* avfilter: add corr video filterPaul B Mahol2022-12-08
|
* avfilter: add showcwt multimedia filterPaul B Mahol2022-11-28
|
* Changelog: Add missing lines for QSVHaihao Xiang2022-11-22
| | | | Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
* avcodec: add MediaCodec encoderZhao Zhili2022-11-21
| | | | Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
* avcodec/mediacodecdec: enable NDK mediacodecZhao Zhili2022-11-21
| | | | Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
* Changelog: add forgotten nvenc av1 entryTimo Rothenpieler2022-11-07
|
* avfilter: add backgroundkey video filterPaul B Mahol2022-11-05
|
* avcodec: ViewQuest VQC decoderPeter Ross2022-10-18
| | | | | | Reviewed-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Reviewed-by: Tomas Härdin <git@haerdin.se> Signed-off-by: Peter Ross <pross@xvid.org>
* avcodec: add a bsf to reorder DTS into PTSJames Almer2022-10-04
| | | | | | | | | | | | | | | Starting with an h264 implementation. Can be extended to support other codecs. A few caveats: - OpenGOP streams are currently not supported. The firt packet must be an IDR frame. - In some streams, a few frames at the end may not get a reordered PTS when they reference frames past EOS. The code added to derive timestamps from previous frames needs to extended. Addresses ticket #502. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec: add Media 100i decoderPaul B Mahol2022-09-30
|
* avformat: add APAC demuxerPaul B Mahol2022-09-23
|
* avcodec: add APAC decoderPaul B Mahol2022-09-23
|
* avformat: add LAF demuxerPaul B Mahol2022-09-16
|
* avcodec: add MI-SC4 audio decoderPaul B Mahol2022-09-16
|
* avformat: add bonk demuxerPaul B Mahol2022-09-12
|
* avcodec: add bonk audio decoderPaul B Mahol2022-09-12
|
* lavc/vaapi: Add support for remaining 10/12bit profilesPhilip Langdale2022-09-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | With the necessary pixel formats defined, we can now expose support for the remaining 10/12bit combinations that VAAPI can handle. Specifically, we are adding support for: * HEVC ** 12bit 420 ** 10bit 422 ** 12bit 422 ** 10bit 444 ** 12bit 444 * VP9 ** 10bit 444 ** 12bit 444 These obviously require actual hardware support to be usable, but where that exists, it is now enabled. Note that unlike YUVA/YUVX, the Intel driver does not formally expose support for the alphaless formats XV30 and XV360, and so we are implicitly discarding the alpha from the decoder and passing undefined values for the alpha to the encoder. If a future encoder iteration was to actually do something with the alpha bits, we would need to use a formal alpha capable format or the encoder would need to explicitly accept the alphaless format.
* avfilter: add bilateral_cuda filterMohamed Khaled Mohamed2022-09-03
| | | | | | | GSoC 2022 Signed-off-by: Mohamed Khaled <mohamed.elbassiony00@eng-st.cu.edu.eg> Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avfilter: add 3D scope multimedia filterPaul B Mahol2022-09-03
|
* lavc/vaapi_encode: enable 8bit 4:4:4 encoding for HEVC and VP9Philip Langdale2022-08-09
| | | | | | | | | | Sufficiently recent Intel hardware is able to do encoding of 8bit 4:4:4 content in HEVC and VP9. The main requirement here is that the frames must be provided in the AYUV format. Enabling support is done by adding the appropriate encoding profiles and noting that AYUV is officially a four channel format with alpha so we must state that we expect all four channels.
* avcodec: WBMP (Wireless Application Protocol Bitmap) image formatPeter Ross2022-08-07
| | | | | Reviewed-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Signed-off-by: Peter Ross <pross@xvid.org>
* lavc/vaapi: Declare support for decoding 8bit 4:4:4 contentPhilip Langdale2022-08-03
| | | | | | | | | | | Now that we have a combination of capable hardware (new enough Intel) and a mutually understood format ("AYUV"), we can declare support for decoding 8bit 4:4:4 content via VAAPI. This requires listing AYUV as a supported format, and then adding VAAPI as a supported hwaccel for the relevant codecs (HEVC and VP9). I also had to add VP9Profile1 to the set of supported profiles for VAAPI as it was never relevant before.
* Changelog: Update after last commitThilo Borgmann2022-07-30
|
* fftools/ffmpeg: move each muxer to a separate threadAnton Khirnov2022-07-23
|
* fftools/ffmpeg: depend on threadsAnton Khirnov2022-07-23
| | | | | ffmpeg will be switched to a fully threaded architecture, starting with muxers.
* fftools/ffmpeg: rework -shortest implementationAnton Khirnov2022-07-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The -shortest option (which finishes the output file at the time the shortest stream ends) is currently implemented by faking the -t option when an output stream ends. This approach is fragile, since it depends on the frames/packets being processed in a specific order. E.g. there are currently some situations in which the output file length will depend unpredictably on unrelated factors like encoder delay. More importantly, the present work aiming at splitting various ffmpeg components into different threads will make this approach completely unworkable, since the frames/packets will arrive in effectively random order. This commit introduces a "sync queue", which is essentially a collection of FIFOs, one per stream. Frames/packets are submitted to these FIFOs and are then released for further processing (encoding or muxing) when it is ensured that the frame in question will not cause its stream to get ahead of the other streams (the logic is similar to libavformat's interleaving queue). These sync queues are then used for encoding and/or muxing when the -shortest option is specified. A new option – -shortest_buf_duration – controls the maximum number of queued packets, to avoid runaway memory usage. This commit changes the results of the following tests: - copy-shortest[12]: the last audio frame is now gone. This is correct, since it actually outlasts the last video frame. - shortest-sub: the video packets following the last subtitle packet are now gone. This is also correct.
* Changelog: move ddagrab addition to correct versionTimo Rothenpieler2022-07-18
|
* avfilter: add vsrc_ddagrabTimo Rothenpieler2022-07-18
|