summaryrefslogtreecommitdiffstats
path: root/libavformat
Commit message (Collapse)AuthorAgeFilesLines
* avformat/matroskadec: reference the existing data buffer when creating packetsJames Almer2018-04-061-18/+27
| | | | | | | | | | Newly allocated data buffers (wavpack, prores, compressed buffers) are padded to meet the requirements of AVPacket. About 10x speed up in matroska_parse_frame(). Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/matroskadec: factor the prores packet parsing code outJames Almer2018-04-061-12/+38
| | | | | | | | Simplifies code in matroska_parse_frame(). This is in preparation for the following patch. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/matroskadec: use refcounted buffers in EbmlBinJames Almer2018-04-061-13/+31
| | | | | | | | | Data in EbmlBin objects is never changed after being read from the input file (save for two specific cases with encoded CodePrivate), so using AVBufferRef we can prevent unnecessary copy of data by instead creating new references to said constant data. Signed-off-by: James Almer <jamrial@gmail.com>
* lavf/amr: Stricter heuristic for auto-detection.Carl Eugen Hoyos2018-04-062-5/+7
| | | | Fixes ticket #7125.
* Add Sega FILM muxerMisty De Meo2018-04-054-1/+401
| | | | Signed-off-by: Josh de Kock <josh@itanimul.li>
* avformat/mov: Fix parsing of tfdt when using sample descriptors.Jacob Trimble2018-04-051-1/+1
| | | | | Signed-off-by: Jacob Trimble <modmaker@google.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/movenc: add rtp_hinting_needed() helper functionTimo Teräs2018-04-041-18/+12
| | | | | | | | This is shared test and this simplifies code a bit. Follow up commit will have additional tests for this function. Signed-off-by: Timo Teräs <timo.teras@iki.fi> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/matroskadec: address some more missing AVPacket freesJames Almer2018-04-041-13/+4
| | | | | | Fixes memleaks. Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/matroskadec: address a missing AVPacket freeJames Almer2018-04-041-11/+2
| | | | | | Fixes memleaks. Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/mp3enc: use AVPacketList helper functions to queue packetsJames Almer2018-04-041-16/+7
| | | | | | | Simplifies code. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/ttaenc: use AVPacketList helper functions to queue packetsJames Almer2018-04-041-20/+8
| | | | | | Simplifies code. Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/matroskadec: use AVPacketList to queue packetsJames Almer2018-04-041-39/+23
| | | | | | It's more robust and efficient. Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/utils: optimize ff_packet_list_free()James Almer2018-04-041-3/+6
| | | | | | Don't constantly overwrite the list's head pointer. Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/utils: make AVPacketList helper functions sharedJames Almer2018-04-042-24/+72
| | | | | | Based on a patch by Luca Barbato. Signed-off-by: James Almer <jamrial@gmail.com>
* lavf/hls: Remove the dead code in parse_playlist()Jun Zhao2018-04-041-7/+0
| | | | | Signed-off-by: Jun Zhao <mypopydev@gmail.com> Reviewed-by: Steven Liu <lq@onvideo.cn>
* avformat/options_table: Change the seek2any location in opt table.Jun Zhao2018-04-021-1/+1
| | | | | | | | Change the seek2any location in avformat_options to make code more readable. Signed-off-by: Jun Zhao <mypopydev@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/rmdec: make use of avio_get_str()Paul B Mahol2018-04-021-11/+7
| | | | | | Also do not set empty metadata. Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avformat/concatdec: only set output stream index before returning packetMarton Balint2018-04-021-1/+1
| | | | | | | Fixes ticket #6434. Reviewed-by: Nicolas George <george@nsup.org> Signed-off-by: Marton Balint <cus@passwd.hu>
* avformat/utils: use av_packet_make_refcounted to ensure packets are ref countedJames Almer2018-04-021-7/+3
| | | | | | Simplifies code, while also fixing a potential leak of side data in pkt. Signed-off-by: James Almer <jamrial@gmail.com>
* lavf/img2dec: use new iteration APIJosh de Kock2018-04-021-2/+3
| | | | Signed-off-by: Josh de Kock <josh@itanimul.li>
* lav*,tests: remove several register_all callsJosh de Kock2018-04-022-5/+0
| | | | | | | avdevice_register_all() is still required to register devices into lavf (this is required due to lavd being somewhat of a hack). Signed-off-by: Josh de Kock <josh@itanimul.li>
* lavf/format: use const AVInputFormat for iterationJosh de Kock2018-04-021-5/+5
| | | | Signed-off-by: Josh de Kock <josh@itanimul.li>
* Revert "avformat/format: temporarily use old next api"Josh de Kock2018-04-021-15/+4
| | | | | | | | | This reverts commit 909e00ae816df9b6a05b1c4d0cafb794d4d0ca28. There is no need to use the old API anymore as the new API now behaves in the same way (treating devices as formats when loaded). Signed-off-by: Josh de Kock <josh@itanimul.li>
* lavf/allformats: remove left-over index decrementJosh de Kock2018-04-021-1/+1
| | | | Signed-off-by: Josh de Kock <josh@itanimul.li>
* lavf: move avpriv function definition to internal.hJosh de Kock2018-04-023-2/+2
| | | | Signed-off-by: Josh de Kock <josh@itanimul.li>
* avformat/mpeg: add missing checkPaul B Mahol2018-04-011-0/+2
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avformat/mpeg: fix logic failurePaul B Mahol2018-04-011-6/+7
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avformat/mpeg: fix detection and demuxing of raw AC3 in mpegpsPaul B Mahol2018-04-011-8/+25
| | | | | | Fixes #4889. Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avformat/mpeg: fix PCM-DVD mis-detection as MLPPaul B Mahol2018-04-011-1/+1
| | | | | | Fixes #6563. Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avformat/mov: parse multiple iTunes cover imagesTimo Teräs2018-04-011-0/+4
| | | | | | | | | Multiple cover images are supported by having multiple data atoms inside the covr atom. AtomicParsley and mutagen amongst others support and document this construct. Signed-off-by: Timo Teräs <timo.teras@iki.fi> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavd: remove linked listsJosh de Kock2018-03-312-11/+69
| | | | Signed-off-by: Josh de Kock <josh@itanimul.li>
* Revert "lavd: add new API for iterating input and output devices"Josh de Kock2018-03-313-55/+2
| | | | | | | | | | This reverts commit 0fd475704e871ef3a535947596a012894bae3cbd. Revert "lavd: fix iterating of input and output devices" This reverts commit ce1d77a5e7cebce11074bf6f9e38ad6da37338ff. Signed-off-by: Josh de Kock <josh@itanimul.li>
* Merge commit 'a2fc8dbae85339d1b418d296f2982b6c04c53c57'James Almer2018-03-293-0/+548
|\ | | | | | | | | | | | | * commit 'a2fc8dbae85339d1b418d296f2982b6c04c53c57': Add Haivision SRT protocol Merged-by: James Almer <jamrial@gmail.com>
| * Add Haivision SRT protocolSven Dueking2018-03-283-0/+550
| | | | | | | | | | | | | | | | The protocol requires libsrt (https://github.com/Haivision/srt) to be installed Signed-off-by: Sven Dueking <sven.dueking@nablet.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | avformat/mpc8: do not return error on stream endPaul B Mahol2018-03-291-1/+1
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | Merge commit '44a1731011e87fbf4180d026aefb8bfe85d8c7dc'James Almer2018-03-281-2/+3
|\ \ | |/ | | | | | | | | | | | | | | * commit '44a1731011e87fbf4180d026aefb8bfe85d8c7dc': ivf: Support VP9 and AV1 as well See e8f0a463b0d27a4d74c0d9f1857e72a8033d1069 Merged-by: James Almer <jamrial@gmail.com>
| * ivf: Support VP9 and AV1 as wellLuca Barbato2018-03-121-3/+7
| |
| * hls: Add a discontinuity marker on recoverLuca Barbato2018-03-061-5/+20
| | | | | | | | | | | | It seems to improve the compatibility with the js demuxers. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
| * hvcc: zero initialize the nal buffers past the last written byteJames Almer2018-02-231-0/+2
| | | | | | | | | | | | | | Bug-Id: 1116 Cc: libav-stable@libav.org Signed-off-by: James Almer <jamrial@gmail.com>
* | avformat/dashdec: Support signaling of last segment numbersanilraut2018-03-281-3/+23
| | | | | | | | | | | | | | | | | | | | Last segment indicated by mpd is not parsed. Example stream: http://dash.akamaized.net/dash264/TestCasesIOP41/LastSegmentNumber/1/manifest_last_segment_num.mpd This patch supports parsing of Supplemental Descriptor with @schemeIdUri set to http://dashif.org/guide- lines/last-segment-number with the @value set to the last segment number. Reviewed-by: Steven Liu <lq@onvideo.cn>
* | avformat/hlsenc: initialize saveptrsTimo Rothenpieler2018-03-271-1/+2
| | | | | | | | | | | | | | | | | | | | av_strtok calls strspn on a non-NULL *saveptr, so not NULL initializing it is an issue. Fixes CID #1428568 Reviewed-by: Karthick Jeyapal <kjeyapal@akamai.com> Signed-off-by: Steven Liu <lq@onvideo.cn> Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* | avformat/segafilm - fix keyframe detection and set packet flagsGyan Doshi2018-03-261-1/+2
| | | | | | | | | | | | | | | | | | | | | | Streams from a Segafilm cpk file can't be streamcopied because keyframe flag isn't correctly set in stream index and said flag is never conveyed to the packet Fixes #7091 Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: James Almer <jamrial@gmail.com>
* | avformat/rtpenc_chain: use the proper function to free AVFormatContextJames Almer2018-03-261-1/+1
| | | | | | | | | | | | Fixes ticket #7075 Signed-off-by: James Almer <jamrial@gmail.com>
* | avformat/mov: Move +1 in check to avoid hypothetical overflow in ↵Michael Niedermayer2018-03-261-1/+1
| | | | | | | | | | | | add_ctts_entry() Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avformat/hlsenc: use stream's maximum bit rate as fall-back advertised rateJan Ekström2018-03-251-2/+17
| | | | | | | | | | | | | | | | | | | | Enables having proper bit rate values being written into the master playlist in case of hard-constrained VBR where the maximum bit rate utilized is known before hand. Does the same thing as movenc.c, for example. Signed-off-by: Jan Ekström <jan.ekstrom@aminocom.com>
* | lavf/utils.c: Don't compute start_time from DISCARD packets for video.Sasi Inguva2018-03-241-1/+3
| | | | | | | | | | Signed-off-by: Sasi Inguva <isasi@isasi.mtv.corp.google.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | lavf/movenc: write track title metadata for mov filesCourtland Idstrom2018-03-221-1/+1
| | | | | | | | | | | | | | | | | | Track title (atom 'name') is a well defined user data atom for mov files. Existing code (for mp4) only writes title metadata if present. Relevant reference docs: https://developer.apple.com/library/content/documentation/QuickTime/Reference/QTRef_AtomsResources/Content/QTRef_AtomsResources4.html#//apple_ref/doc/uid/TP40004285-DontLinkChapterID_1--udta- https://developer.apple.com/library/content/documentation/QuickTime/QTFF/QTFFChap2/qtff2.html#//apple_ref/doc/uid/TP40000939-CH204-63839
* | avformat/unix: fix handling of EOF in case of SOCK_STREAM.Bela Bodecs2018-03-211-0/+2
| | | | | | | | | | | | | | When recv() returns 0 in case of SOCK_STREAM type, it means EOF and with this patch returns value accordingly. Signed-off-by: Bela Bodecs <bodecsb@vivanet.hu>
* | avformat/mov: Check STSC and remove invalid entriesMichael Niedermayer2018-03-201-0/+20
| | | | | | | | | | | | | | | | | | | | | | Fixes assertion failure Fixes: crbug 822547, crbug 822666 and crbug 823009 Affects: aark15sd_9A62E2FA.mp4 Found-by: ClusterFuzz Reviewed-by: Matt Wolenetz <wolenetz@google.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avformat/libopenmpt: Probe file format from file data if possibleJörn Heusipp2018-03-201-0/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When building with libopenmpt 0.3, use the libopenmpt file header probing functions for probing. libopenmpt probing functions are allocation-free and designed to be as fast as possible. For libopenmpt 0.2, or when libopenmpt 0.3 file header probing cannot probe successfully due to too small probe buffer, test the filename against the file extensions supported by the libopenmpt library that is actually linked, instead of relying on a hard-coded file extension list. File extension testing is also allocation-free and designed to be fast in libopenmpt. Avoiding a hard-coded file extension list is useful because later libopenmpt versions will likely add support for more module file formats. libopenmpt file header probing is tested regularly against the FATE suite and other diverse file collections by libopenmpt upstream in order to avoid false positives. FATE passes with './configure --enable-libopenmpt' as well as with './configure --enable-libopenmpt --enable-libmodplug'. libopenmpt probing adds about 5%..10% cpu time (depending on precise usage pattern and host CPU and compiler version used for libopenmpt) compared to all current internal FFmpeg probing functions combined in tools/probetest for all of its module formats combined (currently 41 modules formats in libopenmpt 0.3.4 and 234 file formats in FFmpeg). Signed-off-by: Jörn Heusipp <osmanx@problemloesungsmaschine.de> Reviewed-by: Josh de Kock <josh@itanimul.li> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
OpenPOWER on IntegriCloud