summaryrefslogtreecommitdiff
path: root/libavformat
Commit message (Collapse)AuthorAge
* libavformat/asfdec: remove unused parameterssoftworkz2022-05-08
| | | | | Signed-off-by: softworkz <softworkz@hotmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/mov: fix use invalid box size/type due to eofZhao Zhili2022-05-08
|
* avformat/mov: reindent after previous commitZhao Zhili2022-05-08
|
* avformat/mov: remove an always true conditionZhao Zhili2022-05-08
|
* lavf/cavsvideodec: Add GuangDian profile supportJun Zhao2022-05-08
| | | | | | Enable the Guangdian profile support Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
* avformat/hlsenc: remove unnecessary http/https shutdown status operateSteven Liu2022-05-07
| | | | | | | | | | Fix ticket: 9010 there have been get http/https shutdown status in ffurl_shutdown. so unnecessary http/https shutdown status operate. Tested-by: RytoEX Tested-by: ushadow Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* avformat/libzmq: Improve r redundancy in occuredMichael Niedermayer2022-05-06
| | | | Reviewed-by: "mypopy@gmail.com" <mypopy@gmail.com>
* avformat/jvdec: Remove redundant ;Michael Niedermayer2022-05-06
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/mov: skip call ff_codec_get_id if possibleZhao Zhili2022-05-04
| | | | | | | ff_codec_get_id loops over ff_codec_movvideo_tags (which is a large array) two times. The result is unused most of the cases. Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
* movenc: add write_btrt optionerankor2022-05-02
| | | | | | | supports forcing or disabling the writing of the btrt atom. the default behavior is to write the atom only for mp4 mode. Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
* avformat/movenc: sidx earliest_presentation_time is applied after editlistZhao Zhili2022-04-29
| | | | | | Fix #8334 Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
* avformat/jpegxl_probe: Fix potential incorrect and UB shiftAndreas Rheinhardt2022-04-29
| | | | | | Fixes Coverity issue #1504273. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/format: Also search for image2-codecs for image2pipeAndreas Rheinhardt2022-04-28
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/fitsenc: Simplify writing header paddingAndreas Rheinhardt2022-04-28
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* lavf/tls_mbedtls: add support for mbedtls version 3Timo Rothenpieler2022-04-27
| | | | | | | | | | | - certs.h is gone. Only contains test data, and was not used at all. - config.h is renamed. Was seemingly not used, so can be removed. - MBEDTLS_ERR_SSL_NO_USABLE_CIPHERSUITE is gone, instead MBEDTLS_ERR_SSL_HANDSHAKE_FAILURE will be thrown. - mbedtls_pk_parse_keyfile now needs to be passed a properly seeded RNG. Hence, move the call to after RNG seeding. Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avformat/mov: log the right variableZhao Zhili2022-04-27
| | | | Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
* libavformat/rtsp: pkt_size option is not honored in rtspYubo Xie2022-04-27
| | | | | Signed-off-by: xyb <xyb@xyb.name> Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
* avformat/mov: fix missing extra data updatingZhao Zhili2022-04-27
| | | | | | | | | | | | | | | | | | | | | | | | | | The stsc_index is checked and updated for the next sample. If the next sample needs to update stsd_index and stsc_index, then only stsc_index is updated, which leads to a missing AV_PKT_DATA_NEW_EXTRADATA. For example, the sample in the second chunk needs to update both. entry[0] first_chunk = 1 samples_per_chunk = 3 sample_description_index = 1 entry[1] first_chunk = 2 samples_per_chunk = 1 sample_description_index = 2 entry[2] first_chunk = 3 samples_per_chunk = 8 sample_description_index = 2 The fix is simple: first check and update stsd_index for current sample, then check and update stsc_index for the next. Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
* avformat/mov: Add avif to list of supported extensionsVignesh Venkatasubramanian2022-04-25
| | | | | | | | AVIF still and animations are now supported by the MOV parser. Add the "avif" extension to the list of supported extensions to AVInputFormat. Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
* avformat/version: bump minor version for Jpeg XLLeo Izen2022-04-23
| | | | | The version.h bump got missed with the Jpeg XL patchset. This should bump the minor version in accordance with the contributing guidelines.
* avformat/image2: add Jpeg XL as image2 formatLeo Izen2022-04-23
| | | | | This commit adds support to libavformat for muxing and demuxing Jpeg XL images as image2 streams.
* avformat/mov: Add support for still image AVIF parsingVignesh Venkatasubramanian2022-04-23
| | | | | | | | | | | This patch supports AVIF still images conforming to the final specification that have exactly one item (i.e. no alpha channel). The iloc box is parsed and the mov index populated. Partially fixes #7621. Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com> Signed-off-by: Gyan Doshi <ffmpeg@gyani.pro>
* avformat/mov: fix timecode with high frame rate contentMarton Balint2022-04-22
| | | | | | | | | | | | | | | | | | | | 60 fps content have "Number of Frames" set to 30 in the tmcd atom, but the frame duration / timescale reflects the original video frame rate. Therefore we multiply the frame count with the quotient of the rounded timecode frame rate and the "Number of Frames" per second to get a frame count in the original (higher) frame rate. Note that the frames part in the timecode will be in high frame rate which will make the timecode different to e.g. MediaInfo which seems to show the 30 fps timecode even for 120 fps content. Regression since 428b4aacb1a91a267650de644519882a5f700388. Fixes ticket #9710. Fixes ticket #9492. Signed-off-by: Marton Balint <cus@passwd.hu>
* avformat/rtmpproto: send proper status for response to play commandMarton Balint2022-04-22
| | | | | | | | This fixes referencing the uninitialized filename variable. Fixes ticket #9711. Signed-off-by: Marton Balint <cus@passwd.hu>
* avformat/genh: Check sample rateMichael Niedermayer2022-04-21
| | | | | | | | | Fixes: signed integer overflow: -2515507630940093440 * 4 cannot be represented in type 'long' Fixes: 46318/clusterfuzz-testcase-minimized-ffmpeg_dem_GENH_fuzzer-5009637474172928 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/demux: Use unsigned to check duration vs duration_textMichael Niedermayer2022-04-21
| | | | | | | | | Fixes: signed integer overflow: 9223371898743775808 - -138111000000 cannot be represented in type 'long' Fixes: 46245/clusterfuzz-testcase-minimized-ffmpeg_dem_OGG_fuzzer-5075129786302464 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* librtmp: use AVBPrint instead of char *Tristan Matthews2022-04-19
| | | | | | | This avoids having to do one pass to calculate the full length to allocate followed by a second pass to actually append values. Signed-off-by: Martin Storsjö <martin@martin.st>
* avformat/ipfsgateway: define PATH_MAXMark Gaiser2022-04-14
| | | | | | | | | PATH_MAX is posix. Some compilers (MSVC) don't define this thus failing to compile the ipfsgateway file. Defining it fixes the compile. Signed-off-by: Mark Gaiser <markg85@gmail.com> Signed-off-by: Martin Storsjö <martin@martin.st>
* avformat: Add IPFS protocol support.Mark Gaiser2022-04-12
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* avcodec/vbnenc: add VBN encoderMarton Balint2022-04-10
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* avcodec/vbndec: add VBN decoderMarton Balint2022-04-10
| | | | | | | | Add support for decoding Vizrt Binary Image (VBN) files. LZW-compressed data is not supported yet. Signed-off-by: Marton Balint <cus@passwd.hu>
* avformat/codec2: remove surplus include 'memory.h' statementPeter Ross2022-04-09
| | | | | | | | on glibc memory.h drags in string.h, but codec2 does not use any str* or mem* functions. additionally, memory.h is not part of the C99 or POSIX standards. Signed-off-by: Marton Balint <cus@passwd.hu>
* avformat/mpegts.c: ignore a section with next flagTADANO Tokumei2022-04-09
| | | | | | | | | | | 'current_next_indicator' of 0 (next) on each section header indicates the service information is for immediate future one. ffmpeg doesn't need to parse it but current (1) one. ref: section 5.1.1 of DVB BlueBook A038 (EN 300 468) Signed-off-by: TADANO Tokumei <aimingoff@pc.nifty.jp> Signed-off-by: Marton Balint <cus@passwd.hu>
* avformat/mpegts.c: fix to check end of each descriptor of SDTTADANO Tokumei2022-04-09
| | | | | | | | Current code incorrectly check against end of section rather than end of descriptor. Signed-off-by: TADANO Tokumei <aimingoff@pc.nifty.jp> Signed-off-by: Marton Balint <cus@passwd.hu>
* avformat/smacker: add better seeking supportPaul B Mahol2022-04-08
|
* avformat/webmdashenc: fix on-demand profile stringJames Almer2022-04-07
| | | | | | Fixes ticket #9596 Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/mpegenc: Fix ever growing FIFO and infinite loop on errorAndreas Rheinhardt2022-04-05
| | | | | | | | | | | | | | | | | | | | | Since the switch to the new FIFO API in commit ea511196a6c85eb433e10cdbecb0b2c722faf20d, the FIFO is always grown by the amount of data intended to be written into it even in case the FIFO has enough free space. Fix this by only growing the FIFO if needed and then only by the amount that is actually needed. The allocation errors that resulted from this uncovered another bug: The context is left in an inconsistent state in case the FIFO can't be grown, because the FIFO does not contain as much data as the sizes contained in the PacketDesc list claim. This led to an infinite loop in output_packet() (called from mpeg_mux_end()). Fix this by growing the FIFO before adding a new PacketDesc element, thereby preventing the context from becoming inconsistent. Reported-by: Nicolas Gaullier <nicolas.gaullier@cji.paris> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/movenc: don't use mono layout when a front center label is expectedJames Almer2022-04-05
| | | | | | | | | | | | | | | | On output streams where a multichannel stream needs to be stored as one track per channel, each track will have a channel layout describing the position of the channel they contain. For the track with front center, the mov muxer was using the mov layout "mono" instead of the label for the front center position. Since our channel layout API considers front center == mono, we need to do some heuristics. To achieve this, we make sure all audio tracks contain streams with a single channel, and only one of them is front center. In that case, we write the front center label instead of signaling mono layout. Fixes the last part of ticket #2865 Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/mov_chan: move the definition of MovChannelLayoutTag to the headerJames Almer2022-04-05
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/movenc: write channel descriptions when a known layout or a bitmap ↵James Almer2022-04-05
| | | | | | | | can't be used Fixes part of ticket #2865 Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/mov_chan: use a higher log level for a debug messageJames Almer2022-04-05
| | | | | | | Trace is too noisy and this line is useful enough to get it printed at debug level. Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/mov_chan: add a few missing channel label mappingsJames Almer2022-04-05
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/mov_chan: rename mov_get_channel_label() to better reflect its purposeJames Almer2022-04-05
| | | | | | This function turns a mov channel label into a lavf native bitmask. Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/libsrt: use a larger buffer for find_info_tagZhao Zhili2022-03-30
| | | | | | | | The upper limit of strlen(streamid) is 512. Use a larger buffer for future proof, for example, deal with percent-encoding. Reviewed-by: Zhao Jun <barryjzhao@tencent.com> Signed-off-by: Steven Liu <liuqi05@kuaishou.com>
* avformat/libsrt: fix deprecated warningZhao Zhili2022-03-30
| | | | | | | srt_socket was deprecated after 1.4.1. Reviewed-by: Limin Wang <lance.lmwang@gmail.com> Signed-off-by: Steven Liu <liuqi05@kuaishou.com>
* avformat/aqtitledec: Skip unrepresentable durationsMichael Niedermayer2022-03-27
| | | | | | | | Fixes: signed integer overflow: -5 - 9223372036854775807 cannot be represented in type 'long' Fixes: 45665/clusterfuzz-testcase-minimized-ffmpeg_DEMUXER_fuzzer-475618463934054 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/apm: Check channelsMichael Niedermayer2022-03-27
| | | | | | | | Fixes: division by 0 Fixes: 45643/clusterfuzz-testcase-minimized-ffmpeg_DEMUXER_fuzzer-4957777905188864.fuzz Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/cafdec: Do not store empty keys in read_info_chunk()Michael Niedermayer2022-03-27
| | | | | | | | Fixes: Timeout Fixes: 45543/clusterfuzz-testcase-minimized-ffmpeg_dem_CAF_fuzzer-5684953164152832 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat: Do not search through the AVOption table for a option not in it ↵Michael Niedermayer2022-03-27
| | | | | | | | | | | repeatedly on each packet This search takes alot of time especially when compared with small packets 46631 decicycles -> 15719 decicycles in read_frame_internal() for amr-nb in 3gp Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/alp: Check num_channelsMichael Niedermayer2022-03-27
| | | | | | | | | | | Fixes: division by 0 Fixes: 45615/clusterfuzz-testcase-minimized-ffmpeg_dem_ALP_fuzzer-582660348405350 Fixes: 45625/clusterfuzz-testcase-minimized-ffmpeg_dem_ALP_fuzzer-4821437943250944 Fixes: 45839/clusterfuzz-testcase-minimized-ffmpeg_IO_DEMUXER_fuzzer-5857286998851584.fuzz Fixes: 45844/clusterfuzz-testcase-minimized-ffmpeg_IO_DEMUXER_fuzzer-6552705772945408 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>