Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-10-08avformat/mpegtsenc: add omit_rai flagZhao Zhili
Add PCR at keyframe can be undesirable when -pcr_period is specified. Add an flag to disable this behavior. Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
2022-10-04avformat/avio: Schedule AVIODirContext to become an opaque typeAndreas Rheinhardt
Users can't make anything with its content. Making it opaque might allow us to avoid one level of indirection. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-09-23avformat: add APAC demuxerPaul B Mahol
2022-09-23avformat/movenc: Write auxi box for animated AVIF with alphaVignesh Venkatasubramanian
According to the HEIF specification (ISO/IEC 23008-12) Section 7.5.3.1, tracks with handler_type 'auxv' must contain a 'auxi' box in its SampleEntry to notify the nature of the auxiliary track to the decoder. The content is the same as the 'auxC' box. So parameterize and re-use the existing function. Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com> Signed-off-by: James Zern <jzern@google.com>
2022-09-16avformat: add LAF demuxerPaul B Mahol
2022-09-12avformat: add bonk demuxerPaul B Mahol
2022-09-05avformat/matroskaenc: Don't override samplerate for CodecDelayAndreas Rheinhardt
Opus can be decoded to multiple samplerates (namely 48kHz, 24KHz, 16Khz, 12 KHz and 8Khz); libopus as well as our encoder wrapper support these sample rates. The OpusHead contains a field for this original samplerate. Yet the pre-skip (and the granule-position in the Ogg-Opus mapping in general) are always in the 48KHz clock, irrespective of the original sample rate. Before commit c3c22bee6362737cf290929b7f31df9fb88da983, our libopus encoder was buggy: It did not account for the fact that the pre-skip field is always according to a 48kHz clock and wrote a too small value in case one uses the encoder with a sample rate other than 48kHz; this discrepancy between CodecDelay and OpusHead led to Firefox rejecting such streams. In order to account for that, said commit made the muxer always use 48kHz instead of the actual sample rate to convert the initial_padding (in samples in the stream's sample rate) to ns. This meant that both fields are now off by the same factor, so Firefox was happy. Then commit f4bdeddc3cab807e43e0450744dfe9a45661e1d7 fixed the issue in libopusenc; so the OpusHead is correct, but the CodecDelay is still off*. This commit fixes this by effectively reverting c3c22bee6362737cf290929b7f31df9fb88da983. *: Firefox seems to no longer abort when CodecDelay and OpusHead are off. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-08-07avcodec: WBMP (Wireless Application Protocol Bitmap) image formatPeter Ross
Reviewed-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Signed-off-by: Peter Ross <pross@xvid.org>
2022-07-16avcodec: add Radiance HDR image format supportPaul B Mahol
2022-07-13Bump versions after 5.1 branchn5.2-devMichael Niedermayer
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2022-07-13Bump Versions for 5.1 branchMichael Niedermayer
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2022-07-03avcodec: add PHM decoder and encoderPaul B Mahol
2022-06-13lavf/avio: add avio_vprintf()Stefano Sabatini
This new function makes it possible to use avio_printf() functionality from a function taking a variable list of arguments. Signed-off-by: Marton Balint <cus@passwd.hu>
2022-05-13avformat/movenc: Add support for AVIF muxingVignesh Venkatasubramanian
Add an AVIF muxer by re-using the existing the mov/mp4 muxer. AVIF Specification: https://aomediacodec.github.io/av1-avif Sample usage for still image: ffmpeg -i image.png -c:v libaom-av1 -still-picture 1 image.avif Sample usage for animated AVIF image: ffmpeg -i video.mp4 animated.avif We can re-use any of the AV1 encoding options that will make sense for image encoding (like bitrate, tiles, encoding speed, etc). The files generated by this muxer has been verified to be valid AVIF files by the following: 1) Displays on Chrome (both still and animated images). 2) Displays on Firefox (only still images, firefox does not support animated AVIF yet). 3) Verified to be valid by Compliance Warden: https://github.com/gpac/ComplianceWarden Fixes the encoder/muxer part of Trac Ticket #7621 Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
2022-04-23avformat/version: bump minor version for Jpeg XLLeo Izen
The version.h bump got missed with the Jpeg XL patchset. This should bump the minor version in accordance with the contributing guidelines.
2022-04-12avformat: Add IPFS protocol support.Mark Gaiser
This patch adds support for: - ffplay ipfs://<cid> - ffplay ipns://<cid> IPFS data can be played from so called "ipfs gateways". A gateway is essentially a webserver that gives access to the distributed IPFS network. This protocol support (ipfs and ipns) therefore translates ipfs:// and ipns:// to a http:// url. This resulting url is then handled by the http protocol. It could also be https depending on the gateway provided. To use this protocol, a gateway must be provided. If you do nothing it will try to find it in your $HOME/.ipfs/gateway file. The ways to set it manually are: 1. Define a -gateway <url> to the gateway. 2. Define $IPFS_GATEWAY with the full http link to the gateway. 3. Define $IPFS_PATH and point it to the IPFS data path. 4. Have IPFS running in your local user folder (under $HOME/.ipfs). Signed-off-by: Mark Gaiser <markg85@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2022-04-10avcodec/vbnenc: add VBN encoderMarton Balint
Signed-off-by: Marton Balint <cus@passwd.hu>
2022-03-19avformat/pcmdec: add support to set channel layoutPaul B Mahol
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2022-03-16doc: Add an entry to APIchanges about changes to version.h and version_major.hMartin Storsjö
Also bump the minor versions of all libraries, to signify the API change of splitting the version.h headers and adding the new version_major.h header. Signed-off-by: Martin Storsjö <martin@martin.st>
2022-03-16libavformat: Split version.hMartin Storsjö
Signed-off-by: Martin Storsjö <martin@martin.st>
2022-03-15Bump minor versions after the channel layout changesJames Almer
Forgotten in the respective commits adding new API. Signed-off-by: James Almer <jamrial@gmail.com>
2022-03-10avformat: add DFPWM WAV container supportJack Bruienne
This commit adds support for storing DFPWM audio in a WAV container. It uses the WAVEFORMATEXTENSIBLE structure, following these conventions: https://gist.github.com/MCJack123/90c24b64c8e626c7f130b57e9800962c The implementation is very simple: it just adds the GUID to the list of WAV GUIDs, and modifies the WAV muxer to always use WAVEFORMATEXTENSIBLE format with that GUID. This creates a standard container format for DFPWM besides raw data. It will allow users to transfer DFPWM audio in a standard container format, with the sample rate and channel count contained in the file as opposed to being an external parameter as in the raw format. This format is already supported in my AUKit library, which is the CC analog to libav (albeit much smaller). Support in other applications is TBD. Signed-off-by: Jack Bruienne <jackbruienne@gmail.com>
2022-03-10avformat: add DFPWM raw formatJack Bruienne
This patch builds on my previous DFPWM codec patch, adding a raw audio format to be able to read/write the raw files that are most commonly used (as no other container format supports it yet). The muxers are mostly copied from the PCM demuxer and the raw muxers, as DFPWM is typically stored as raw data. Please see the previous patch for more information on DFPWM. Signed-off-by: Jack Bruienne <jackbruienne@gmail.com>
2022-03-06avformat/mpegtsenc: fix muxing pcm-blurayPaul B Mahol
2022-02-15avformat/argo_cvg: Fix checksumMichael Niedermayer
Reviewed-by: Zane van Iperen <zane@zanevaniperen.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2022-01-31http: remove cache_redirect optionerankor
following 625ea2d, redirect caching is performed according to the http response headers, there's no need to have it as an option - always start from the original uri, and apply any redirects according to the redirect_cache dictionary. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2022-01-13avformat/matroskaenc: Add option to shift data to write cues at frontAndreas Rheinhardt
This is similar to the faststart option of the mov muxer, yet in contrast to it it works together with reserve_index_space (the equivalent to reserved_moov_size): If the reserved space does not suffice, the data is shifted; if not, the Cues are written at the front without shifting the data. Several tests that cover (not only) this have been added. Implements #7017. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-01-04lib*/version.h: Bump Versions after release/5.0 branchn5.1-devAndreas Rheinhardt
This is done a second time for 5.0 because master was merged into 5.0 so that it contains the recent DOVI additions. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-01-04lib*/version.h: Bump Versions before release/5.0 branchAndreas Rheinhardt
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-01-04lib*/version.h: Bump Versions after release/5.0 branchMichael Niedermayer
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2022-01-04lib*/version.h: Bump Versions before release/5.0 branchMichael Niedermayer
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2022-01-03lavf: add a flag for experimental (de)muxersAnton Khirnov
2021-12-31http: make caching of redirect url optionalerankor
added "cache_redirect" option to http. when enabled, requests issued after seek will use the latest redirected url. when disabled, each call to seek will revert to the original url that was sent to http_open. currently, the default remains 'enabled', until the next major libavformat bump, where it will change to 'disabled'.
2021-12-31avformat/imf: DemuxerPierre-Anthony Lemieux
Signed-off-by: Pierre-Anthony Lemieux <pal@palemieux.com> Signed-off-by: Zane van Iperen <zane@zanevaniperen.com>
2021-12-31avformat: add bitpacked demuxerLimin Wang
Allows user can playback bitpacked pixel format directly: ffplay -video_size 1280x720 -pixel_format yuv422p10 test.bitpacked ffplay -f bitpacked -video_size 1280x720 -pixel_format uyvy422 test.yuv Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2021-12-13avformat/hlsenc: deprecate hls_ts_options optionSteven Liu
Because the hls_ts_options will be misunderstand by user, and then user can use hls_segment_options instead of hls_ts_options. Signed-off-by: Steven Liu <liuqi05@kuaishou.com>
2021-12-12avformat: introduce AVFormatContext io_close2 which returns an intMarton Balint
Otherwise there is no way to detect an error returned by avio_close() because ff_format_io_close cannot get the return value. Checking the return value of the close function is important in order to check if all data was successfully written and the underlying close() operation was successful. It can also be useful even for read mode because it can return any pending AVIOContext error, so the user don't have to manually check AVIOContext->error. In order to still support if the user overrides io_close, the generic code only uses io_close2 if io_close is either NULL or the default io_close callback. Signed-off-by: Marton Balint <cus@passwd.hu>
2021-11-25avformat/rtpenc: adds partial support for the RFC 4175Limin Wang
Reviewed-by: Lynne <dev@lynne.ee> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2021-11-17avformat/http: Add short_seek_size optionDerek Buitenhuis
In 45bfe8b838275235412777dd430206d9a24eb3ee, short_seek_threshold was removed from the public AVIO struct. Although this option was private and not intended to be used by public API users, it was nonetheless, because it provided functionality that could otherwise not be gained via public API. This was especially important for networked I/O like HTTP, where the internal size for lavf could be way to small depending on the specifics of a user's usecase, such as reading interlavd media files from cloud storage. Add an AVOption to make this functionality accessible to the HTTP client. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2021-11-16lavf: add an AVClass to AVStream on next major bumpAnton Khirnov
Also add a function to retrieve that class, analogously to avformat_get_class(). This will be useful for adding an AVOption for dispositions.
2021-11-15*/version.h: define FF_API macros unconditionallyAnton Khirnov
There is no reason to wrap them in #ifndef guards, they should only be defined here and nowhere else. The define guards just add the possibility to accidentally use the same FF_API name in different libraries.
2021-10-24avformat/avio{,buf}: introduce public AVIOContext::bytes_{read,written}Jan Ekström
Such fields can be seen as generally useful in cases where the API user is not implementing custom AVIO callbacks, but still would like to know if data is being read or written out, such as in case data is being read from input but no AVPacket has been received yet.
2021-10-24avformat/avio{,buf}: deprecate AVIOContext::writtenJan Ekström
Originally added as a private entry in commit 3f75e5116b900f1428aa13041fc7d6301bf1988a, but its grouping with the comment noting its private state was missed during merging of the field from Libav (most likely due to an already existing field in between).
2021-10-08avformat/img2dec: add GEM Raster image demuxerPeter Ross
Signed-off-by: Peter Ross <pross@xvid.org>
2021-10-04avformat/{isom,mov,movenc}: add support for CMAF DASH rolesJan Ekström
This information is coded in a standard MP4 KindBox and utilizes the scheme and values as per the DASH role scheme defined in MPEG-DASH. Other schemes are technically allowed, but where multiple schemes define the same concepts, the DASH scheme should be utilized. Such flagging is additionally utilized by the DASH-IF CMAF ingest specification, enabling an encoder to inform the following component of the roles of the incoming media streams. A test is added for this functionality in a similar manner to the matroska test. Signed-off-by: Jan Ekström <jan.ekstrom@24i.com>
2021-09-02avformat: add an AV1 Low overhead bitstream format muxerJames Almer
Suggested-by: BBB Signed-off-by: James Almer <jamrial@gmail.com>
2021-08-24avformat/matroskaenc: Pass dispositions through unchanged by defaultAndreas Rheinhardt
Up until now, the Matroska muxer did not use the dispositions it is given as-is; instead it by default overrode the disposition of the first track of a kind (audio, video, subtitles) if no track of this kind has the default disposition set. And up until recently, it also enforced by default that no more than one track of each kind be marked as default. The rationale for the former is that there are lots of containers which lack the concept of default streams, so that it is not uncommon for no stream to be marked as default at all; the rationale for the latter was that up until recently, it was dubious whether the Matroska specification allowed more than one default stream for track type (e.g. mkvmerge disallowed it). It was this point which led to the implementation of the above mentioned behaviour inspired by mkvmerge. Yet the Matroska specifications have changed and now explicitly allow to set more than one track of each type as default, so that the main reason of not using the dispositions as-is was rendered moot. Therefore this commit changes the default to pass the disposition through. The matroska-mpegts-remux FATE-test has been updated to still use the old "infer" mode so that it is still covered by FATE; the matroska-zero-length-block test has also been updated to cover the infer_no_subs mode. The references for lots of other FATE tests needed to be updated because of a newly added FlagDefault element with value zero (whereas a FlagDefault with value 1 needn't be coded at all, as it coincided with the default value of said element). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2021-07-19avformat/argo_brp: use bits_per_coded_sample instead of bits_per_raw_sampleZane van Iperen
Signed-off-by: Zane van Iperen <zane@zanevaniperen.com>
2021-07-02avformat: add a concat protocol that takes a line break delimited list of ↵James Almer
resources Suggested-by: ffmpeg@fb.com Reviewed-by: Nicolas George <george@nsup.org> Signed-off-by: James Almer <jamrial@gmail.com>
2021-06-20lavf/webmdashenc.c: Allow AV1 video in WebMMatthieu Patou
Suggested-By: ffmpeg@fb.com