summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* lavc/libvpxenc: remove unneeded context variableAnton Khirnov2022-02-07
| | | | | discard_hdr10_plus is 0 IFF hdr10_plus_fifo is non-NULL, so we can test for the latter and avoid an extra variable.
* lavc/libvpxenc: switch to the new FIFO APIAnton Khirnov2022-02-07
|
* lavc/libvorbisenc: switch to new FIFO APIAnton Khirnov2022-02-07
|
* lavc/cuviddec: convert to the new FIFO APIAnton Khirnov2022-02-07
|
* lavc/cuviddec: do not reallocate the fifo unnecessarilyAnton Khirnov2022-02-07
|
* lavc/amfenc: switch to new FIFO APIAnton Khirnov2022-02-07
|
* lavc/avcodec: switch to new FIFO APIAnton Khirnov2022-02-07
|
* lavu/tests/fifo: switch to the new APIAnton Khirnov2022-02-07
|
* lavu/fifo: add a flag for automatically growing the FIFO as neededAnton Khirnov2022-02-07
| | | | | This will not increase the FIFO beyond 1MB, unless the caller explicitly specifies otherwise.
* lavu/fifo: Add new AVFifo API based upon the notion of element sizeAnton Khirnov2022-02-07
| | | | | | | | | | | | | | | | | | Many AVFifoBuffer users operate on fixed-size elements (e.g. pointers), but the current FIFO API deals exclusively in bytes, requiring extra complexity in all these callers. Add a new AVFifo API creating a FIFO with an element size that may be larger than a byte. All operations on such a FIFO then operate on complete elements. This API does not reuse AVFifoBuffer and its API at all, but instead uses an opaque struct called AVFifo. The AVFifoBuffer API will be deprecated in a future commit once all of its users have been switched to the new API. Not reusing AVFifoBuffer also allowed to use the full range of size_t from the beginning.
* lavu/fifo: disallow overly large fifo sizesAnton Khirnov2022-02-07
| | | | | | | | | | | | | | | The API currently allows creating FIFOs up to - UINT_MAX: av_fifo_alloc(), av_fifo_realloc(), av_fifo_grow() - SIZE_MAX: av_fifo_alloc_array() However the usable limit is determined by - rndx/wndx being uint32_t - av_fifo_[size,space] returning int so no FIFO should be larger than the smallest of - INT_MAX - UINT32_MAX - SIZE_MAX (which should be INT_MAX an all commonly used platforms). Return an error on trying to allocate FIFOs larger than this limit.
* avutil/fifo: Use av_fifo_generic_peek_at() for av_fifo_generic_peek()Andreas Rheinhardt2022-02-07
| | | | | | | Avoids code duplication. It furthermore properly checks for buf_size to be > 0 before doing anything. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/rtpproto: set ttl upper bound to 255Zhao Zhili2022-02-06
| | | | | | Also remove bogus millisecond reference from help text. Signed-off-by: Marton Balint <cus@passwd.hu>
* avformat/udp: set ttl upper bound to 255Zhao Zhili2022-02-06
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* avfilter/asrc_sinc: switch to rdft from lavu/txPaul B Mahol2022-02-06
|
* configure: afir filter no longer depends on rdft from avcodecPaul B Mahol2022-02-06
|
* avformat/mxfdec: add avlanguage dependencyZane van Iperen2022-02-06
| | | | | Reviewed-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Signed-off-by: Zane van Iperen <zane@zanevaniperen.com>
* avfilter/vf_cas: unbreak >8 depth supportPaul B Mahol2022-02-05
|
* avfilter/af_apsyclip: increase protection for high frequenciesJason Jang2022-02-05
| | | | | | | | | | This reduces sibilance distortion when sibilance and bass are present at the same time. Bringing the protection of high frequencies up to about the same level as for low frequencies should also make the quality less dependent on the frequency balance of the playback system. Signed-off-by: Jason Jang <jcj83429@gmail.com>
* avfilter/af_apsyclip: fix peak overestimationJason Jang2022-02-05
| | | | | | | | | | | | | | Ignore more samples that are near the edge of the block. The reason is that the filtering tends to cause these samples to go above the window more than the samples near the middle. If these samples are included in the unwindowed peak estimation, the peak can be overestimated. Because the block is windowed again before overlapping, overshoots near the edge of the block are not very important. 0.1 is the value from the version originally contributed to calf. Signed-off-by: Jason Jang <jcj83429@gmail.com>
* avfilter/af_apsyclip: fix FFT bin indexingJason Jang2022-02-05
| | | | | | | | | With a complex FFT instead of real FFT, the negative frequencies are not dropped from the spectrum output, so they need to be scaled when the positive frequencies are scaled. The location of the top bin is also different. Signed-off-by: Jason Jang <jcj83429@gmail.com>
* avformat/imf: cosmeticsZane van Iperen2022-02-05
| | | | | | s/++i/i++/g Signed-off-by: Zane van Iperen <zane@zanevaniperen.com>
* avformat/tests: add /imf to .gitignorePierre-Anthony Lemieux2022-02-05
| | | | Signed-off-by: Zane van Iperen <zane@zanevaniperen.com>
* avformat/demux: don't truncate the return value of ts_to_samples()James Almer2022-02-05
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/demux: print skip_samples and discard_padding as unsigned values in ↵James Almer2022-02-05
| | | | | | | | | debug log It's the type they should be interpreted as in the AV_PKT_DATA_SKIP_SAMPLES side data. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/decode: ignore unsupported skip samples packet side data valuesJames Almer2022-02-05
| | | | | | | Same as in the AV_FRAME_FLAG_DISCARD codepath, ensure avci->skip_samples is not negative. Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/demux: don't propagate unsupported skip samples packet side data valuesJames Almer2022-02-05
| | | | | | Should fix ticket #9622 Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/imf_cpl: do not use filesize when reading XML fileMarton Balint2022-02-05
| | | | | | Similar to the earlier patch applied to imfdec. Signed-off-by: Marton Balint <cus@passwd.hu>
* avformat/rtpdec_rfc4175: fix interlace formatPatrick Keroulas2022-02-05
| | | | | | | | | | | | | In previous state, a new frame was allocated on each timestamp step, i.e. each frame/field transition. However, for interlace, a new frame should be allocated on 1st field, completed with the 2nd and finally freed. This commit fixes the frame allocation and the detection of missing RTP markers. Signed-off-by: Patrick Keroulas <patrick.keroulas@radio-canada.ca> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avformat/img2dec: increase probe score for GEM image fourcc variantsPeter Ross2022-02-04
| | | | Signed-off-by: Peter Ross <pross@xvid.org>
* avformat/img2dec: fix logic error in GEM Raster file probePeter Ross2022-02-04
| | | | | | | | Use correct logic to express limits of the planes and pattern_size fields. Fix ticket# 9605 Signed-off-by: Peter Ross <pross@xvid.org>
* libfdk-aacdec: Flush delayed samples at the endMartin Storsjö2022-02-03
| | | | | | | | | | | | | | The fdk-aac decoder can return decoded audio data with a delay. (Whether it does this or not depends on the options set; by default it does add some delay.) Previously, this delay was handled by adjusting the timestamps of the decoded frames, but the last delayed samples weren't returned. Set the AV_CODEC_CAP_DELAY flag to indicate that the caller should flush remaining samples at the end. Also trim off the corresponding amount of samples at the start instead of adjusting timestamps. Signed-off-by: Martin Storsjö <martin@martin.st>
* libfdk-aacdec: Add an option for setting the decoder's DRC album modeMartin Storsjö2022-02-03
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* ffprobe: allow side-data selection by elementGyan Doshi2022-02-03
| | | | | | | | | | At present, side data printing forces display for all levels i.e. stream, packets and frames. This can bloat output and also force decode of all frames in selected streams. Now, stream_side_data[=type], packet_side_data[=type] & frame_side_data[=type] can be used with -show_entries to specify carrier element.
* Add MKV tags for AVS2 and AVS3 codecs.TianBo Zheng2022-02-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: TianBo Zheng <naturalwalker@hotmail.com> MKV codec mappings: V_AVS2 and V_AVS3 (https://github.com/ietf-wg-cellar/matroska-specification/blob/master/codec_specs.md) Encoding tool: Ffmpeg with AVS2/AVS3 enabled: https://github.com/xatabhk/FFmpeg-avs2-avs3/releases Command line: ffmpeg -i xxxx.mp4 -vcodec avs2 -acodec copy xxxx_avs2.mkv ffmpeg -i xxxx.mp4 -vcodec avs2 -speed_level 4 -acodec copy xxxx_avs2.mkv` Players: (1) Ffmpeg with avs2/avs3 enabled: (https://github.com/xatabhk/FFmpeg-avs2-avs3/releases): Command line: ffplay xxxx_avs2.mkv ffplay xxxx_avs3.mkv (2) VLC 3.0.x with AVS2/AVS3 enabled: https://github.com/xatabhk/vlc-3.0-avs2-avs3/releases (3) Mpc-hc 1.9.x with AVS2/AVS3 enabled: https://gitee.com/zhengtianbo/cavs-avs2-avs3_decoder_added_to_mpc_hc/releases AVS2/AVS3 MKV samples: https://github.com/xatabhk/avs2-avs3-video-samples Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/imf: add IMF CPL with repeated resources to FATEPierre-Anthony Lemieux2022-02-03
| | | | | Signed-off-by: Pierre-Anthony Lemieux <pal@palemieux.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* x86/tx_float: avoid redefining macrosLynne2022-02-02
| | | | FFT16_FN was used for fft8 and for fft16 afterwards.
* hwcontext_vulkan: use VkPhysicalDeviceTimelineSemaphoreFeaturesZhao Zhili2022-02-01
| | | | | | | VkPhysicalDeviceVulkan12Features isn't implemented on MoltenVK yet. VkPhysicalDeviceTimelineSemaphoreFeatures is less versatile but simple. None of device_features_1_1 nor device_features_1_2 has real usage yet, keep the code for future.
* avcodec/libdav1d: free the Dav1dData packet on dav1d_send_data() failureJames Almer2022-02-01
| | | | | | | | | We still own it on failure, and there's no point trying to feed it again. This should address the issue reported in dav1d #383 and part of VLC #26259. Signed-off-by: James Almer <jamrial@gmail.com> Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
* avformat/mov: Check size before subtractionMichael Niedermayer2022-02-01
| | | | | | | | Fixes: signed integer overflow: -9223372036854775808 - 8 cannot be represented in type 'long' Fixes: 43542/clusterfuzz-testcase-minimized-ffmpeg_dem_MOV_fuzzer-5237670148702208 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/cfhd: Avoid signed integer overflow in coeffMichael Niedermayer2022-02-01
| | | | | | | | Fixes: signed integer overflow: 15244032 * 256 cannot be represented in type 'int' Fixes: 43504/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_CFHD_fuzzer-4865014842916864 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/http: Fix double-free on errorAndreas Rheinhardt2022-02-01
| | | | | | | | | | | av_dict_set() with AV_DICT_DONT_STRDUP_VAL takes ownership of the string it is passed to as val; this includes freeing it on error. Fixes Coverity issue #1497468. Reviewed-by: Eran Kornblau <eran.kornblau@kaltura.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* http: remove cache_redirect optionerankor2022-01-31
| | | | | | | | | 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>
* avformat/dashdec: avoid calling strlen multiple timesLimin Wang2022-01-30
| | | | | Reviewed-by: Steven Liu <liuqi05@kuaishou.com> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avformat/rtpdec: return value check for init_get_bits()Limin Wang2022-01-30
| | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avformat/rtpdec: Fix negative missed packets in warning messageLimin Wang2022-01-30
| | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avutil/tests/adler32: Remove unnecessary volatileAndreas Rheinhardt2022-01-29
| | | | | | And use an ordinary stack variable. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/h264_ps: Remove ALLOW_INTERLACED cruftAndreas Rheinhardt2022-01-29
| | | | | | | | | | | | | | | | Since e1027aba680c4382c103fd1100cc5567a1530abc, ALLOW_INTERLACED is no longer defined in h264_ps.c, leading to a warning when encountering an SPS compatible with MBAFF. This warning was always nonsense, because ff_h264_decode_seq_parameter_set() is also used by the parser and it makes no sense for the parser to warn about missing decoder features; after all, it is not a parser's job to warn when a feature is unsupported by a decoder (and in this case it is even weirder, because even if the H.264 decoder is disabled, the warning will only be shown for MBAFF sequence parameter sets). So remove the warning in h264_ps.c. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/matroskadec: Export rectangular projection as displaymatrixAndreas Rheinhardt2022-01-29
| | | | | | | This is the officially supported way to express rotations and flips in Matroska. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avcodec/libxvid: Don't set AVCodecContext.codec_idAndreas Rheinhardt2022-01-29
| | | | | | | Unnecessary since 2325bdad7b67b1c8539ef6beebb99d3247f08669 (and crazy even before then). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>