summaryrefslogtreecommitdiff
path: root/libavformat
Commit message (Collapse)AuthorAge
* avformat/mov: fix encryption index in the case of multiple trunZhao Zhili2022-08-16
| | | | | | | | | | frag_stream_info->index_entry isn't the first sample/trun index. cenc.frag_index_entry_base failed to catch the case since current_index > 0. Fix ticket #9807. Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
* avformat/mov: fix frag_index.current out of syncZhao Zhili2022-08-16
| | | | | | | | | frag_index.current is used by cenc_filter, and is updated inside mov_read_moof. It can out of sync regarding to mov_read_packet. Partly fix ticket #9807. Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
* ipfsgateway: Remove default gatewayDerek Buitenhuis2022-08-15
| | | | | | | A gateway can see everything, and we should not be shipping a hardcoded default from a third party company; it's a security risk. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* configure: always enable gnu_windres if availableTimo Rothenpieler2022-08-13
| | | | | Use the appropiate Makefile variable to ensure the resource file is only built into shared libraries instead.
* avformat/avisynth: add missing avs_release_video_frameStephen Hutchinson2022-08-12
| | | | | | | | | The AviSynth C API requires using avs_release_video_frame whenever avs_get_frame has been used, but the recent addition of frameprop reading to the demuxer was missing this in avisynth_create_stream_video. Signed-off-by: Stephen Hutchinson <qyot27@gmail.com>
* avformat/imfdec: preserve stream informationPierre-Anthony Lemieux2022-08-12
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat: refactor ff_stream_encode_params_copy() to stream_params_copy()Pierre-Anthony Lemieux2022-08-12
| | | | | | Addresses http://ffmpeg.org/pipermail/ffmpeg-devel/2022-August/299726.html Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/mov: Rework the AVIF parser to handle multiple itemsVignesh Venkatasubramanian2022-08-09
| | | | | | | | | | | | Stores the item ids of all the items found in the file and processes the primary item at the end of the meta box. This patch does not change any behavior. It sets up the code for parsing alpha channel (and possibly images with 'grid') in follow up patches. Reviewed-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com> Signed-off-by: James Zern <jzern@google.com>
* avformat/movenc: Remove experimental status of flac-in-MP4 muxingMartijn van Beurden2022-08-08
| | | | | | | | | | | | | The fLaC and dfLa box IDs have been registered with the MP4 RA (they are now listed at https://mp4ra.org/#/codecs) and support for muxing FLAC in MP4 has been experimental in ffmpeg for 6 years now, since Nov 21, 2016 This patch removes the experimental status and removes the MP4 object type, as none has been registered for FLAC as it was not deemed necessary. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* avformat: allow .ec3 as extension for raw E-AC-3 streamRuben Gonzalez2022-08-08
| | | | | | | | | | | | | In addition to .eac3, .ec3 is also commonly used by people to name raw E-AC-3 streams. Enables automatic recognition of the eac3 format for the .ac3 extension. For instance Dolby Digital Plus software only support files with .ec3. Files with .eac3 are not supported. Check issue #18 in the public dlb_mp4base repository from DolbyLaboratories. Signed-off-by: Ruben Gonzalez <rgonzalez@fluendo.com> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* avformat/avisynth: cosmetics after nb_channels changeStephen Hutchinson2022-08-07
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/avisynth: use ch_layout.nb_channels for channel countStephen Hutchinson2022-08-07
| | | | | | Fixes deprecation warning Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/mxfdec: SMPTE RDD 48:2018 Amd 1:2022 supportMichael Niedermayer2022-08-07
| | | | | Reviewed-by: Tomas Härdin <tjoppen@acc.umu.se> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/riff: map AYUV fourcc to RAWVIDEO decoderJames Almer2022-08-07
| | | | | | There's no need to keep using a custom decoder for this pixel format. Signed-off-by: James Almer <jamrial@gmail.com>
* 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>
* lavf/hevc: replace the unicode signal quotation with normal quotationJun Zhao2022-08-05
| | | | | | | replace the unicode left/right signal quotation mark with normal signal quotation. Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
* configure: Add msmpeg4(dec|enc) subsystemsAndreas Rheinhardt2022-08-03
| | | | | | | | | | The msmpeg4 decoders/encoders share a common set of prerequisites, ergo it makes sense to use common subsystems for them. This also allows to remove the CONFIG_MSMPEG4_DECODER/ENCODER ad-hoc defines (which violated the CONFIG_ namespace). Reviewed-by: Martin Storsjö <martin@martin.st> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/flvenc: fix shadowed variable tsZhao Zhili2022-08-03
|
* avformat/flvdec: make key frame timestamps more accurateZhao Zhili2022-08-03
| | | | | There was an implicit cast from double to int64_t in time unit of second.
* avformat/flvenc: fix timestamp of key frame indexZhao Zhili2022-08-03
| | | | | | | | | Firstly, the timestamps generated from framerate are inaccurate for variable framerate mode. Secondly, the timestamps always start from zero, while pts/dts can start from nonzero. FLV demuxer rejects such index with message: "Found invalid index entries, clearing the index".
* avcodec/ttmlenc: Use string literal macro for default namespacingAndreas Rheinhardt2022-07-31
| | | | | | | | Fixes -Werror=format-security build failures when building with disabled optimizations and (according to fate.ffmpeg.org also with several other old GCC versions). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/argo_cvg: expose loop/reverb/checksum via metadataZane van Iperen2022-07-24
| | | | | Reviewed-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Signed-off-by: Zane van Iperen <zane@zanevaniperen.com>
* avformat/argo_cvg: remove trace loggingZane van Iperen2022-07-24
| | | | | Reviewed-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Signed-off-by: Zane van Iperen <zane@zanevaniperen.com>
* avformat/argo_cvg: add -loop and -reverb optionsZane van Iperen2022-07-24
| | | | | Reviewed-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Signed-off-by: Zane van Iperen <zane@zanevaniperen.com>
* avformat/argo_cvg: name unk{1,2} fields correctlyZane van Iperen2022-07-24
| | | | | Reviewed-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com> Signed-off-by: Zane van Iperen <zane@zanevaniperen.com>
* avformat/asfcrypt: Fix wrong array length in function declarationAndreas Rheinhardt2022-07-23
| | | | | | | | | | | | multiswap_step() and multiswap_inv_step() both only require six keys; in all current callers, these keys are part of an array of twelve keys, yet in some of these callers the keys given to these functions point to the second half of these twelve keys, so that only six keys are available to these functions. This led to -Wstringop-overread warnings when compiling with GCC 12.1. Fix these by adapting the declaration of these functions. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/lrcenc: Avoid reading packet paddingAndreas Rheinhardt2022-07-23
| | | | | | (Everything would be fine if the packet was properly padded.) Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/mpc8: Check and propagate more errorsMichael Niedermayer2022-07-21
| | | | | | | | Fixes: Timeout Fixes: 48846/clusterfuzz-testcase-minimized-ffmpeg_dem_MPC8_fuzzer-5278532493770752 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/flvdec: Check for EOF in index readingMichael Niedermayer2022-07-21
| | | | | | | | Fixes: Timeout Fixes: 47992/clusterfuzz-testcase-minimized-ffmpeg_dem_LIVE_FLV_fuzzer-6020443879899136 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/nutdec: Check get_packetheader() in mainheaderMichael Niedermayer2022-07-21
| | | | | | | | Fixes; Timeout Fixes: 48794/clusterfuzz-testcase-minimized-ffmpeg_dem_NUT_fuzzer-6524604713140224 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/mov: Check for EOF in mov_read_iloc()Michael Niedermayer2022-07-21
| | | | | | | | Fixes: Timeout Fixes: 49216/clusterfuzz-testcase-minimized-ffmpeg_IO_DEMUXER_fuzzer-6563000529584128 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/asfdec_f: Use 64bit for packet start timeMichael Niedermayer2022-07-21
| | | | | | | | Fixes: signed integer overflow: 2147483647 + 32 cannot be represented in type 'int' Fixes: 49014/clusterfuzz-testcase-minimized-ffmpeg_dem_ASF_fuzzer-6314973315334144 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavf: use AVFrame.duration instead of AVFrame.pkt_durationAnton Khirnov2022-07-19
|
* avformat/mov: discard data streams with all zero sample_deltaZhao Zhili2022-07-18
| | | | | | | | | | | | | | | | | Streams with all zero sample_delta in 'stts' have all zero dts. They have higher chance be chose by mov_find_next_sample(), which leads to seek again and again. For example, GoPro created a 'GoPro SOS' stream: Stream #0:4[0x5](eng): Data: none (fdsc / 0x63736466), 13 kb/s (default) Metadata: creation_time : 2022-06-21T08:49:19.000000Z handler_name : GoPro SOS With 'ffprobe -show_frames http://example.com/gopro.mp4', ffprobe blocks until all samples in 'GoPro SOS' stream are consumed first. Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
* avformat/img2dec: fix buildPaul B Mahol2022-07-16
|
* avcodec: add Radiance HDR image format supportPaul B Mahol2022-07-16
|
* Bump versions after 5.1 branchMichael Niedermayer2022-07-13
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Bump Versions for 5.1 branchMichael Niedermayer2022-07-13
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/rtsp: break on unknown protocolsMichael Niedermayer2022-07-12
| | | | | | | | | This function needs more cleanup and it lacks error handling Fixes: use of uninitialized memory Fixes: CID700776 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/aaxdec: Check for empty segmentsMichael Niedermayer2022-07-12
| | | | | | | | Fixes: Timeout Fixes: 48154/clusterfuzz-testcase-minimized-ffmpeg_dem_AAX_fuzzer-5149094353436672 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/avienc: Check video dimensionsMichael Niedermayer2022-07-12
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/iff: simplify duration calculationMichael Niedermayer2022-07-12
| | | | | | | | Fixes: signed integer overflow: 315680096256 * 134215943 cannot be represented in type 'long long' Fixes: 48713/clusterfuzz-testcase-minimized-ffmpeg_dem_IFF_fuzzer-5886272312311808 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/mov: fix possible crash in cenc_scheme_decryptShuangxiLi2022-07-12
| | | | | | | | | Data does not have to be decrypted in 16-byte blocks for AES-CTR mode, so existing buggy code can be hugely simplified. Fixes ticket #9829. Signed-off-by: Marton Balint <cus@passwd.hu>
* avformat/flvenc: Add deinit functionAndreas Rheinhardt2022-07-09
| | | | | | | | Fixes memleaks when the trailer is never written or when shift_data() fails when writing the trailer. Reviewed-by: Steven Liu <lingjiujianke@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/movenc: Ensure packet is writable before modifying itAndreas Rheinhardt2022-07-09
| | | | | | | | Fixes e.g. ffmpeg -i fate-suite/h264/bbc2.sample.h264 -c:v rawvideo -map 0:v -frames:v 10 -pix_fmt gray8 -f tee "first.mov|second.mov" Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* av(format|device): Add const to muxer packet data pointersAndreas Rheinhardt2022-07-09
| | | | | | | The packets given to muxers need not be writable, so it is best to access them via const uint8_t*. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/apngenc: Add const where possibleAndreas Rheinhardt2022-07-09
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/apngenc: Don't modify input packetAndreas Rheinhardt2022-07-09
| | | | | | It might not be writable at this point. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/apngenc: Check fcTL sizeAndreas Rheinhardt2022-07-09
| | | | | | The remaining code relies on it having the value it should have. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/apngenc: Check for incomplete chunksAndreas Rheinhardt2022-07-09
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>