summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* dnn-layer-math-unary-test: add unit test for acoshTing Fu2020-07-06
| | | | Signed-off-by: Ting Fu <ting.fu@intel.com>
* dnn_backend_native_layer_mathunary: add acosh supportTing Fu2020-07-06
| | | | Signed-off-by: Ting Fu <ting.fu@intel.com>
* dnn-layer-math-unary-test: add unit test for asinhTing Fu2020-07-06
| | | | Signed-off-by: Ting Fu <ting.fu@intel.com>
* dnn_backend_native_layer_mathunary: add asinh supportTing Fu2020-07-06
| | | | Signed-off-by: Ting Fu <ting.fu@intel.com>
* dnn-layer-math-unary-test: add unit test for tanhTing Fu2020-07-06
| | | | Signed-off-by: Ting Fu <ting.fu@intel.com>
* dnn_backend_native_layer_mathunary: add tanh supportTing Fu2020-07-06
| | | | Signed-off-by: Ting Fu <ting.fu@intel.com>
* dnn-layer-math-unary-test: add unit test for coshTing Fu2020-07-06
| | | | Signed-off-by: Ting Fu <ting.fu@intel.com>
* dnn_backend_native_layer_mathunary: add cosh supportTing Fu2020-07-06
| | | | Signed-off-by: Ting Fu <ting.fu@intel.com>
* dnn-layer-math-unary-test: add unit test for sinhTing Fu2020-07-06
| | | | Signed-off-by: Ting Fu <ting.fu@intel.com>
* dnn_backend_native_layer_mathunary: add sinh supportTing Fu2020-07-06
| | | | Signed-off-by: Ting Fu <ting.fu@intel.com>
* libavcodec/jpeg2000dec.c: Enable image offsetsGautam Ramakrishnan2020-07-06
| | | | | | This patch enables support for image offsets. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* libavcodec/jpeg2000dec: Enhance pix fmt selectionGautam Ramakrishnan2020-07-06
| | | | | | | This patch assigns default pix format values when a match does not take place. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/tiff: Check frame parameters before blit for DNGMichael Niedermayer2020-07-05
| | | | | | | | Fixes: out of array access Fixes: 23888/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_TIFF_fuzzer-6021365974171648.fuzz Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/mjpegdec: Limit bayer to single plane outputting formatMichael Niedermayer2020-07-05
| | | | | | | This reduces the number of paths reachable with DNG and should improve security Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/pnmdec: Fix misaligned readsMichael Niedermayer2020-07-05
| | | | | Found-by: "Steinar H. Gunderson" <steinar+ffmpeg@gunderson.no> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavc/qsvenc_hevc: add qmax/qmin support for HEVC encodingLinjie Fu2020-07-05
| | | | | | | | | | | | Add qmax/qmin support for HEVC software bitrate control(SWBRC). Limitations: - RateControlMethod != MFX_RATECONTROL_CQP - with EXTBRC ON Signed-off-by: Dmitry Rogozhkin <dmitry.v.rogozhkin@intel.com> Signed-off-by: Linjie Fu <linjie.fu@intel.com> Signed-off-by: Zhong Li <zhongli_dev@126.com>
* avcodec/h264_metadata_bsf: Fix invalid av_freepAndreas Rheinhardt2020-07-04
| | | | | | | This bug was introduced in 3c8a2a1180f03ca6b299ebc27eef21ae86635ca0. Reviewed-by: James Almer <jamrial@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avformat/smacker: CosmeticsAndreas Rheinhardt2020-07-04
| | | | | | Mainly reindentation. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avformat/smacker: Use st->priv_data to store arrayAndreas Rheinhardt2020-07-04
| | | | | | It simplifies freeing and allows to completely remove smacker_read_close. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avformat/smacker: Don't read only one byte at a timeAndreas Rheinhardt2020-07-04
| | | | | | | | Instead use ffio_read_size to read data into a buffer. Also check that the desired size was actually successfully read and combine the check with the check for reading the extradata. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avformat/smacker: Don't allocate arrays separatelyAndreas Rheinhardt2020-07-04
| | | | | | | Allocating two arrays with the same number of elements together simplifies freeing them. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avformat/smacker: Improve timestampsAndreas Rheinhardt2020-07-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A Smacker file can contain up to seven audio tracks. Up until now, the pts for the i. audio packet contained in a Smacker frame was simply the end timestamp of the last i. audio packet contained in an earlier Smacker frame. The problem with this is that a Smacker stream need not contain data in every Smacker frame and so the current i. audio packet present may come from a different underlying stream than the last i. audio packet contained in an earlier frame. The sample hypnotix.smk* exhibits this. It has three audio tracks and the first of the three has a longer first packet, so that the audio for the first track is contained in only 235 packets contained in the first 235 Smacker frames; the end timestamp of this track is 166696 (about 7.56s at a timebase of 1/22050); the other two audio tracks both have 253 packets contained in the first 253 Smacker frames. Up until now, the 236th packet of the second track being the first audio packet in the 236th Smacker frame would get the end timestamp of the last first audio packet from the last Smacker frame containing a first audio packet and said last audio packet is the first audio packet from the 235th Smacker frame from the first audio track, so that the timestamp is 166696. In contrast, the 236th packet from the third track (whose packets contain the same number of samples as the packets from the second track) has a timestamp of 156116 (because its timestamp is derived from the end timestamp of the 235th packet of the second audio track). In the end, the second track ended up being 177360/22050 s = 8.044s long; in contrast, the third track was 166780/22050 s = 7.56s long which also coincided with the video. This commit fixes this by not using timestamps from other tracks for a packet's pts. *: https://samples.ffmpeg.org/game-formats/smacker/wetlands/hypnotix.smk Reviewed-by: Timotej Lazar <timotej.lazar@araneo.si> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avformat/smacker: Stop caching and copying audio framesAndreas Rheinhardt2020-07-04
| | | | | | | | | | | | | | | | | | | | | The layout of a Smacker frame is as follows: For some frames, the beginning of the frame contained a palette for the video stream; then there are potentially several audio frames, followed by the data for the video stream. The Smacker demuxer used to read the palette, then cache every audio frame into a buffer (that gets reallocated to the desired size every time a frame is read into this buffer), then read and return the video frame (together with the palette). The cached audio frames are then returned by copying the data into freshly allocated buffers; if there are none left, the next frame is read. This commit changes this: At the beginning of a frame, the palette is read and cached as now. But audio frames are no longer cached at all; they are returned immediately. This gets rid of copying and also allows to remove the code for the buffer-to-AVStream correspondence. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avformat/smacker: Check audio frame sizeAndreas Rheinhardt2020-07-04
| | | | | | | The first four bytes of smacker audio are supposed to contain the number of samples, so treat audio frames smaller than that as invalid. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avformat/smacker: Avoid potential inifinite loop on errorAndreas Rheinhardt2020-07-04
| | | | | | | | | | | | | | | | | | | | | | | | | When reading a new frame, the Smacker demuxer seeks to the next frame position where it excepts the next frame; then it (potentially) reads the palette, the audio packets associated with the frame and finally the actual video frame. It is only at the end that the frame counter as well as the position where the next frame is expected get updated. This has a downside: If e.g. invalid data is encountered when reading the palette, the demuxer returns immediately (with an error) and if the caller calls av_read_frame again, the demuxer seeks to the position where it already was, reads the very same palette data again and therefore will return an error again. If the caller calls av_read_frame repeatedly (say, until a packet is received or until EOF), this meight become an infinite loop. This could also happen if e.g. the size of one of the audio frames was invalid or if the frame size was gigantic. This commit changes this by skipping a frame if it turns out to be invalid or an error happens otherwise. This ensures that EOF will be returned eventually in the above scenario. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avformat/smacker: Don't increase packet counter prematurelyAndreas Rheinhardt2020-07-04
| | | | | | | | | | | | | | | | | | | | | | The Smacker demuxer buffers audio packets before it outputs them, but it increments the counter of buffered packets prematurely: If allocating the audio buffer fails, an error (most likely AVERROR(ENOMEM)) is returned. If the caller decides to call av_read_frame() again, the next call will take the codepath for returning already buffered audio packets and it will fail (because the buffer that ought to be allocated isn't) without decrementing the number of supposedly buffered audio packets (it doesn't matter whether there would be enough memory available in subsequent calls). Depending on the caller's behaviour this is potentially an infinite loop. This commit fixes this by only incrementing the number of buffered audio packets after having successfully read them and unconditionally reducing said number when outputting one of them. It also changes the semantics of the curstream variable: It is now the number of currently buffered audio packets whereas it used to be the index of the last audio stream to be read. (Index refers to the index in the array of buffers, not to the stream index.) Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/dvdsub_parser: Remove empty init functionAndreas Rheinhardt2020-07-04
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/dvbsub_parser: Don't allocate buffer separatelyAndreas Rheinhardt2020-07-04
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* cfhd: Add tag namesKieran Kunhya2020-07-04
|
* libavformat/img2dec: Added pgx demuxerGautam Ramakrishnan2020-07-03
| | | | | | | This patch adds support to demux pgx file format. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* libavcodec/pgxdec: Add PGX decoderGautam Ramakrishnan2020-07-03
| | | | | | This patch adds a pgx decoder. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/amfenc_hevc: set default gops_per_idr 1Lu Jiao2020-07-03
| | | | | | | | | | | | | Previously gops_per_idr default 60 would make amd gpu encoding hevc has erratic seek bar behaviour as descripted in this ticket: https://trac.ffmpeg.org/ticket/7272 This bad default is already fixed in newer AMF headers: https://github.com/GPUOpen-LibrariesAndSDKs/AMF/blob/master/amf/public/include/components/VideoEncoderHEVC.h Fixes ticket #7272. Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/decklink_dec: add support for extracting and outputing klv from vancMilos Zivkovic2020-07-03
| | | | | Signed-off-by: Milos Zivkovic <zivkovic@teralogics.com> Signed-off-by: Marton Balint <cus@passwd.hu>
* configure: remove libvmaf from EXTERNAL_LIBRARY_VERSION3_LISTKyle Swanson2020-07-02
| | | | | | since libvmaf v1.5.1, libvmaf has been relicensed as BSD+Patent Signed-off-by: Kyle Swanson <k@ylo.ph>
* ffprobe: Allow unknown format private AVOptionsDerek Buitenhuis2020-07-02
| | | | | | | | | | | | | | | | This useful, because by ffprobe's very nature, you use it to probe a file and find out what it is. Requiring every format private option to be known to the demuxer forces one to run ffprobe twice, if one wants to use ffprobe in a generic way. For example, say one wants to probe all user-uploaded files, while also ignoring edit lists for any MP4s that are uploaded. Currently, you'd have to run ffprobe twice: once to identify the format, and once again to actually probe the metadata you want. After this patch, you could set -ignore_editlist 1 on every call and only probe once. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* avcodec/mv30: Fix integer overflows in idct2_1d()Michael Niedermayer2020-07-02
| | | | | | | | Fixes: signed integer overflow: 6500736 * 473 cannot be represented in type 'int' Fixes: 23259/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_MV30_fuzzer-5179394271477760 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/hcadec: Check total_band_count against imdct_in sizeMichael Niedermayer2020-07-02
| | | | | | | | Fixes: index 128 out of bounds for type 'float [128]' Fixes: 23465/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_HCA_fuzzer-5089866596745216 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/scpr3: Fix out of array access with dectabMichael Niedermayer2020-07-02
| | | | | | | Fixes: 23721/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_SCPR_fuzzer-5914074721550336 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/tiff: Do not overrun the array ends in dng_blit()Michael Niedermayer2020-07-02
| | | | | | | | Fixes: out of array access Fixes: 23589/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_TIFF_fuzzer-5110559589793792.fuzz Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/dstdec: Replace AC overread check by sample rate checkMichael Niedermayer2020-07-02
| | | | | | | | | | | | | Real files do skip coding 0 bits at the end, thus this kind of check does not work reliable. Fixes: Ticket 8770 Fixes: dst-256fs44-6ch-refdstencoder.dff The samplerate is specified in ISO/IEC 14496-3:2005(E) as one of 3 fixed values, this also can be used to limit the duration and avoid the timeout This reverts commit f6df99dba1ae64b05d08fba8160d13eb9795042f.
* avformat/icecast: Add option to use TLS connectionMarvin Scholz2020-07-02
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/hlsenc: simplify code to pass s directlyLimin Wang2020-07-02
| | | | | Suggested-by: Nicolas George <george@nsup.org> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avformat/hlsenc: fix av_bprint_finalize() usageLimin Wang2020-07-02
| | | | | | | Don't need to do double check by the description of the API. Reviewed-by: Nicolas George <george@nsup.org> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avformat/hlsenc: use proper error codesLimin Wang2020-07-02
| | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avformat/au: check return value of au_read_annotation()Limin Wang2020-07-02
| | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avformat/au: check return value of av_bprint_finalize()Limin Wang2020-07-02
| | | | | Reviewed-by: Nicolas George <george@nsup.org> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avutil/opt: check return value of av_bprint_finalize()Limin Wang2020-07-02
| | | | | Reviewed-by: Nicolas George <george@nsup.org> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avformat/dump: add a \n for end of ERROR logLimin Wang2020-07-02
| | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* FATE: fix colorbalance fate test failed on x86_32Limin Wang2020-07-02
| | | | | | | | | floating point precision will cause rgb*max generate different value on x86_32 and x86_64. have pass fate test on x86_32 and x86_64 by using lrintf to get the nearest integral value for rgb * max before av_clip. Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* Replace 'FontName' with 'Fontname' in the documentation.Joe Ratterman2020-07-02
| | | | | | | | | | This is the only use of 'FontName' with that capitalization, as both source-code and tests use 'Fontname'. Having consistent capitalization makes it easier to find the relevant source from the docs. See these examples for other uses: libavcodec/ass_split.c:68 tests/ref/fate/sub-cc:9