summaryrefslogtreecommitdiff
path: root/doc
Commit message (Collapse)AuthorAge
* doc/ffmpeg: document that there can be multiple complex filtergraphsAnton Khirnov2024-04-09
|
* fftools/ffmpeg_filter: implement filtergraph chainingAnton Khirnov2024-04-09
| | | | | | | | | | This allows one complex filtergraph's output to be sent as input to another one, which is useful in certain situations (one is described in the docs). Chaining filtergraphs was already effectively possible by using a wrapped_avframe encoder connected to a loopback decoder, but it is ugly, non-obvious and inefficient.
* doc/encoders: add missing libxvid optionJames Almer2024-04-05
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* doc/encoders: remove non-existent flagJames Almer2024-04-05
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/liblc3: add encoding/decoding support of LC3 audio codecAntoine Soulier via ffmpeg-devel2024-04-04
| | | | | | | The LC3 audio codec is the default codec of Bluetooth LE audio. This is a wrapper over the liblc3 library (https://github.com/google/liblc3). Signed-off-by: Antoine Soulier <asoulier@google.com>
* doc/developer: (security) researchers should be creditedMichael Niedermayer2024-04-03
| | | | | Reviewed-by: Tomas Härdin <git@haerdin.se> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avutil/pix{desc,fmt}: add new matrix coefficients from H.273 v3Jan Ekström2024-04-03
| | | | | | | | | | | | * SMPTE ST 2128 IPT-C2 defines the coefficients utilized in DoVi Profile 5. Profile 5 can thus now be represented in VUI as {AVCOL_RANGE_JPEG, AVCOL_PRI_BT2020, AVCOL_TRC_SMPTE2084, AVCOL_SPC_IPT_C2, AVCHROMA_LOC_LEFT} (although other chroma sample locations are allowed). AVCOL_TRC_SMPTE2084 should in this case be interpreted as 'PQ with reshaping'. * YCgCo-Re and YCgCo-Ro define the bitexact YCgCo-R, where the number of bits added to a source RGB bit depth is 2 (i.e., even) and 1 (i.e., odd), respectively.
* avutil/dovi_meta: add dolby vision extension blocksNiklas Haas2024-04-03
| | | | | | | | | As well as accessors plus a function for allocating this struct with extension blocks, Definitions generously taken from quietvoid/dovi_tool, which is assembled as a collection of various patent fragments, as well as output by the official Dolby Vision bitstream verifier tool.
* avutil/dovi_meta: add AVDOVIDataMapping.nlq_pivotsquietvoid2024-04-03
| | | | | | | | | The NLQ pivots are not documented but should be present in the header for profile 7 RPU format. It has been verified using Dolby's verification toolkit. Signed-off-by: quietvoid <tcChlisop0@gmail.com> Signed-off-by: Niklas Haas <git@haasn.dev>
* doc/indevs: update CC extraction example to use RCWT muxerMarth642024-04-02
| | | | Signed-off-by: Marth64 <marth64@proxyid.net>
* doc/muxers: refresh the RCWT muxer's doc to be consistent with the demuxerMarth642024-04-02
| | | | Signed-off-by: Marth64 <marth64@proxyid.net>
* avformat/rcwtdec: add RCWT Closed Captions demuxerMarth642024-04-02
| | | | | | | | | | | | | | | RCWT (Raw Captions With Time) is a format native to ccextractor, a commonly used OSS tool for processing 608/708 Closed Captions (CC). RCWT can be used to archive the original extracted CC bitstream. The muxer was added in January 2024. In this commit, add the demuxer. One can now demux RCWT files for rendering in ccaption_dec or interop with ccextractor (which produces RCWT). Using the muxer/demuxer combo, the CC bits can be kept for processing or rendering with either tool. This can be an effective way to backup an original CC stream, including format extensions like EIA-708 and overall original presentation. Signed-off-by: Marth64 <marth64@proxyid.net>
* avformat/demux: add duration_probesize AVOptionNicolas Gaullier2024-04-02
| | | | | | | | | | | | | | | | | | | | | | | | Yet another probesize used to get the durations when estimate_timings_from_pts is required. It is aimed at users interested in better durations probing for itself, or because using avformat_find_stream_info indirectly and requiring exact values: for concatdec for example, especially if streamcopying above it. The current code is a performance trade-off that can fail to get video stream durations in a scenario with high bitrates and buffering for files ending cleanly (as opposed to live captures): the physical gap between the last video packet and the last audio packet is very high in such a case. Default behaviour is unchanged: 250k up to 250k << 6 (step by step). Setting this new option has two effects: - override the maximum probesize (currently 250k << 6) - reduce the number of steps to 1 instead of 6, this is to avoid detecting the audio "too early" and failing to reach a video packet. Even if a single audio stream duration is found but not the other audio/video stream durations, there will be a retry, so at the end the full user-overriden probesize will be used as expected by the user. Signed-off-by: Nicolas Gaullier <nicolas.gaullier@cji.paris>
* doc/muxers: add ircamStefano Sabatini2024-04-02
| | | | | Most of the content copy&pasted from: http://fileformats.archiveteam.org/wiki/Berkeley/IRCAM/Carl_Sound_Format
* doc/muxers/image2: add mention to image2pipeStefano Sabatini2024-04-02
| | | | Clarify the difference with regards to the image2 muxer.
* doc/muxers/image2: apply misc consistency fixesStefano Sabatini2024-04-02
|
* doc/muxers: add ilbcStefano Sabatini2024-04-02
|
* doc/muxers: add stub for iamfStefano Sabatini2024-04-02
|
* doc/muxers/hls: review, apply consistency fixesStefano Sabatini2024-04-02
| | | | | Apply misc typo fixes, consistency fixes, and reformat the layout to provide more overall internal and global consistency.
* doc/community: update conflict of interest rule according to GA voteAnton Khirnov2024-04-01
|
* avutil/common: Don't auto-include mem.hAndreas Rheinhardt2024-03-31
| | | | | | | | | | | There are lots of files that don't need it: The number of object files that actually need it went down from 2011 to 884 here. Keep it for external users in order to not cause breakages. Also improve the other headers a bit while just at it. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* examples/decode_filter_video: Add loop for draining the filtergraphTobias Rapp2024-03-28
| | | | | | | | | Depending on the filters used, the filtergraph may produce trailing data after feeding it the last input frame. Update the example to include the necessary loop for draining the filtergraph. Reviewed-by: Stefano Sabatini <stefasab@gmail.com> Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
* examples/decode_filter_audio: Add loop for draining the filtergraphTobias Rapp2024-03-28
| | | | | | | | | Depending on the filters used, the filtergraph may produce trailing data after feeding it the last input frame. Update the example to include the necessary loop for draining the filtergraph. Reviewed-by: Stefano Sabatini <stefasab@gmail.com> Signed-off-by: Tobias Rapp <t.rapp@noa-archive.com>
* doc/ffmpeg: mention how to pass options to loopback decodersAnton Khirnov2024-03-28
|
* doc/examples: Always use <> includesAndreas Rheinhardt2024-03-27
| | | | | Reviewed-by: Stefano Sabatini <stefasab@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* lavu/frame: add side data descriptorsAnton Khirnov2024-03-27
| | | | They allow exporting extended information about side data types.
* doc/APIchanges: Add 7.0 cut pointMichael Niedermayer2024-03-27
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* doc/APIchange: Fill in some missing thingssMichael Niedermayer2024-03-26
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* doc: Add libtoch backend option to dnn_processingWenbin Chen2024-03-26
| | | | | Signed-off-by: Wenbin Chen <wenbin.chen@intel.com> Reviewed-by: Guo Yejun <yejun.guo@intel.com>
* avutil/timestamp: introduce av_ts_make_time_string2 for better precisionMarton Balint2024-03-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | av_ts_make_time_string() used "%.6g" format, but this format was losing precision even when the timestamp to be printed was not that large. For example for 3 hours (10800) seconds, only 1 decimal digit was printed, which made this format inaccurate when it was used in e.g. the silencedetect filter. Other detection filters printing timestamps had similar issues. Also time base parameter of the function was *AVRational instead of AVRational. Resolve these problems by introducing a new function, av_ts_make_time_string2(). We change the used format to "%.*f", use a precision of 6, except when printing values near 0, in which case we calculate the precision dynamically to aim for a similar precision in normal form as with %.6g. No longer using scientific representation can make parsing the timestamp easier for the users, we can safely do this because the theoretical maximum of INT64_MAX*INT32_MAX still fits into the string buffer in normal form. We somewhat imitate %g by trimming ending zeroes and the potential decimal point characters. In order not to trim "inf" as well, we assume that the decimal point string does not contain the letter "f". Note that depending on printf %f implementation, we might trim "infinity" to "inf". Thanks for Allan Cady for bringing up this issue. Signed-off-by: Marton Balint <cus@passwd.hu>
* doc/filters: extend af_channelmap documentationMarton Balint2024-03-24
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* avutil/film_grain_params: add av_film_grain_params_select()Niklas Haas2024-03-23
| | | | | | | | Common utility function that can be used by all codecs to select the right (any valid) film grain parameter set. In particular, this is useful for AFGS1, which has support for multiple parameters. However, it also performs parameter validation for H274.
* avutil/film_grain_params: add metadata to common structNiklas Haas2024-03-23
| | | | | | | | | | | | This is needed for AV1 film grain as well, when using AFGS1 streams. Also add extra width/height and subsampling information, which AFGS1 cares about, as part of the same API bump. (And in principle, H274 should also expose this information, since it is needed downstream to correctly adjust the chroma grain frequency to the subsampling ratio) Deprecate the equivalent H274-exclusive fields. To avoid breaking ABI, add the new fields after the union; but with enough of a paper trail to hopefully re-order them on the next bump.
* doc/muxers: add hdsStefano Sabatini2024-03-23
|
* doc/muxers: add gxfStefano Sabatini2024-03-23
|
* avcodec: add av_jni_{get,set}_android_app_ctx() helpersMatthieu Bouron2024-03-23
| | | | | This will allow users to pass the Android ApplicationContext which is mandatory to retrieve the ContentResolver responsible to resolve/open Android content URIS.
* avutil/frame: Rename av_frame_side_data_get and add wrapper for itAndreas Rheinhardt2024-03-22
| | | | | | | | | | | | | | | | | | | av_frame_side_data_get() has a const AVFrameSideData * const *sd parameter; so calling it with an AVFramesSideData **sd like AVCodecContext.decoded_side_data (or with a AVFramesSideData * const *sd) is safe, but the conversion is not performed automatically in C. All users of this function therefore resort to a cast. This commit changes this: av_frame_side_data_get() is renamed to av_frame_side_data_get_c(); furthermore, a static inline wrapper for it name av_frame_side_data_get() is added that accepts an AVFramesSideData * const * and converts this to const AVFramesSideData * const * in a Wcast-qual safe way. This also allows to remove the casts from the current users. Reviewed-by: Jan Ekström <jeebjp@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avutil/frame: Constify av_frame_side_data_get()Andreas Rheinhardt2024-03-22
| | | | | Reviewed-by: Jan Ekström <jeebjp@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec: add frame side data array to AVCodecContextJan Ekström2024-03-20
| | | | This allows configuring an encoder by using AVFrameSideData.
* {avutil/version,APIchanges}: bump, document new AVFrameSideData functionsJan Ekström2024-03-20
|
* doc/muxers/gif: apply consistency fixesStefano Sabatini2024-03-19
|
* doc/muxers/flv: apply misc consistency fixesStefano Sabatini2024-03-19
|
* doc/muxers: add flacStefano Sabatini2024-03-19
|
* doc/fate: advise on --assert-level=2Nicolas Gaullier2024-03-19
| | | | | Signed-off-by: Nicolas Gaullier <nicolas.gaullier@cji.paris> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* doc/muxers: add fitsStefano Sabatini2024-03-18
|
* doc/muxers: add filmstripStefano Sabatini2024-03-18
|
* doc/muxers: add film_cpkStefano Sabatini2024-03-18
|
* doc/muxers: add ffmetadataStefano Sabatini2024-03-18
|
* lavc/vaapi_encode: Enable block level bitrate controlFei Wang2024-03-18
| | | | Signed-off-by: Fei Wang <fei.w.wang@intel.com>
* doc/filters: Change rdiv (vf_convolution) documentation to reflect actual ↵Stone Chen2024-03-16
| | | | | | | | | | | | behavior The documentation correctly states that the rdiv is a multiplier but incorrectly states the default behavior is to multiply by the sum of all matrix elements - it multiplies by 1/sum. This changes the documentation to match the code. Address trac #10889 Signed-off-by: Marton Balint <cus@passwd.hu>