summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* avcodec/mpeg12enc: support mpeg2 encoder const profileLimin Wang2020-06-01
| | | | | Reviewed-by: Marton Balint <cus@passwd.hu> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avformat/mpegtsenc: set stream_id correctly based on KLV profile selectedBrad Hards2020-05-31
| | | | | | | Previously we always set STREAM_TYPE_PRIVATE_DATA, and that remains the default value. Signed-off-by: Marton Balint <cus@passwd.hu>
* avcodec: add constants for KLV pseudo-profile.Brad Hards2020-05-31
| | | | | | | | | | | | | | | | | There are two different ways KLV is used in MISB specs - sync and async. The corresponding text (in ST1401) says: ISO/IEC 13818-1 Table-34 defines a stream_type = 0x15 for “Metadata carried in PES packets,” and Table 2-22 defines a stream_id = 0xFC for “metadata stream.” and In ISO/IEC 13818-1, Table-34 defines a stream_type = 0x06 for “PES packets containing private data,” and Table 2-22 defines a stream_id = 0xBD for “private_stream_1.” These constants allow us to distinguish the two cases, as codec profiles. Signed-off-by: Marton Balint <cus@passwd.hu>
* avcodec/anm: Don't unnecessarily use context variablesAndreas Rheinhardt2020-05-31
| | | | | Reviewed-by: Peter Ross <pross@xvid.org> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/anm: Check extradata length before allocating frameAndreas Rheinhardt2020-05-31
| | | | | | | | Then one doesn't need to free the frame in case the length turns out to be insufficient. Reviewed-by: Peter Ross <pross@xvid.org> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avformat: add kvag muxerZane van Iperen2020-05-31
| | | | | Signed-off-by: Zane van Iperen <zane@zanevaniperen.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avfilter/vf_lut3d: prelut support for 3d cinespace lutsMark Reid2020-05-31
| | | | | Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/oggparsetheora: Don't update start time when lastpts is AV_NOPTS_VALUE.Dale Curtis2020-05-31
| | | | | Signed-off-by: Dale Curtis <dalecurtis@chromium.org> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avfilter/af_aiir: simplify polynomial evaluationPaul B Mahol2020-05-30
|
* avfilter/af_aiir: use correct size when allocating in zp2tfPaul B Mahol2020-05-30
|
* avfilter: add dblur video filterPaul B Mahol2020-05-30
|
* avcodec: add PFM image decoderPaul B Mahol2020-05-30
|
* lavf/utils: fix start_time/duration dump if it is AV_NOPTS_VALUEJun Zhao2020-05-30
| | | | | | | | | | | | e,g: the command: ffprobe -show_format -i fate-suite/aac/foo.aac -loglevel 99 will dump the trace message as follow when start_time is AV_NOPTS_VALUE [aac @ 0x55bf8e1f3dc0] stream 0: start_time: -326791809695.818 duration: 2.174 [aac @ 0x55bf8e1f3dc0] format: start_time: -9223372036854.775 duration: 2.174 bitrate=120 kb/s after this fix, will dump the start_time with "NOPTS". Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
* lavfi/aiir: Refine the pad/vpad related operationJun Zhao2020-05-30
| | | | | | | move the pad/vpad related operation with more natural coding style. Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
* lavfi/afir: fix vpad.name leakJun Zhao2020-05-30
| | | | | | | Fix vpad.name leak in error path, move the vpad related operation only if enabled show IR frequency response. Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
* avutil/attributes: Fix too many warning: false is not defined [-Wundef]Limin Wang2020-05-30
| | | | | | Reviewed-by: James Almer <jamrial@gmail.com> Reviewed-by: Hendrik Leppkes <h.leppkes@gmail.com> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* Revert "avfilter/af_aiir: move response drawing as last step"Paul B Mahol2020-05-30
| | | | This reverts commit ca7095a9072fab4cdb41af12da9d94752e082e34.
* avfilter/af_aiir: improve response calculation with zp coefficientsPaul B Mahol2020-05-30
|
* avfilter/af_aiir: add S-plane supportPaul B Mahol2020-05-30
|
* avfilter/af_aiir: make it clear that transfer function is digital onePaul B Mahol2020-05-30
|
* avfilter/af_biquads: implement 1st order allpassPaul B Mahol2020-05-30
|
* avformat/utils: Use av_sat_add64() when updating start_time by skip_samples.Dale Curtis2020-05-29
| | | | | | | Avoids overflow from fuzzed skip_samples values. Signed-off-by: Dale Curtis <dalecurtis@chromium.org> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Use av_sat_sub64() when updating pts by duration.Dale Curtis2020-05-29
| | | | | Signed-off-by: Dale Curtis <dalecurtis@chromium.org> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/adpcm_data: extend ff_adpcm_ima_cunning_index_tableMichael Niedermayer2020-05-29
| | | | | | | | Fixes: overread by 1 Fixes: 21880/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_ADPCM_IMA_CUNNING_fuzzer-5717917221257216.fuzz Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavfi/vulkan: use av_get_random_seed instead of randLynne2020-05-29
| | | | | | | | We need at least a few bits of entropy to determine the start index of each queue, in order to let filters run in parallel as much as possible, and rand() is not thread safe and disrupts any external API's usage of rand, so instead replace it with av_get_random_seed. While it has more overhead than rand, we only run it once per filter upon init.
* avformat/oggdec: Avoid duplicating buffer when adding side-dataAndreas Rheinhardt2020-05-28
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avformat/img2dec: Avoid duplicating buffer when adding side-dataAndreas Rheinhardt2020-05-28
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avformat/concatdec: Avoid duplicating buffer when adding side-dataAndreas Rheinhardt2020-05-28
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avformat/flvdec: Avoid duplicating extradata when adding side-dataAndreas Rheinhardt2020-05-28
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avformat/hlsenc, hlsplaylist: CosmeticsAndreas Rheinhardt2020-05-28
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avformat/hlsenc: Avoid duplicating strings when parsingAndreas Rheinhardt2020-05-28
| | | | | | | | | | | | | | | | | | | Up until now, the HLS muxer uses av_strtok() to split an input string controlling parameters of the VariantStreams and then duplicates parts of this string containing parameters such as the language or the name of the VariantStream. But these parts are proper zero-terminated strings of their own that are never modified lateron, so one can simply use the substring as-is without creating a copy. This commit implements this. The same also happened for the string controlling the closed caption groups. Furthermore, add const to indicate that the pointers to these substrings are not used to modify them and also to indicate that these strings are not allocated on their own. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avformat/hlsenc: Don't unnecessarily duplicate baseurl stringAndreas Rheinhardt2020-05-28
| | | | | | | | Up until now, the HLS muxer duplicated a string for every VariantStream, although neither the original nor the copies are ever modified. So use the original directly and stop copying. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avformat/hlsplaylist: Add const where appropriateAndreas Rheinhardt2020-05-28
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* lavf/mpegtsenc: misc style fixesJun Zhao2020-05-28
| | | | | | commit 32aeba12755 missed coding style fix. Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
* lavc/libx264: misc style fixesJun Zhao2020-05-28
| | | | | | commit 4ed3a01d717 missed coding style fix. Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
* doc: add dia_size option documentationLimin Wang2020-05-28
| | | | | Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* dnn-layer-mathunary-test: add unit test for absTing Fu2020-05-28
| | | | | Signed-off-by: Ting Fu <ting.fu@intel.com> Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
* dnn_backend_native_layer_mathunary: add abs supportTing Fu2020-05-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | more math unary operations will be added here It can be tested with the model file generated with below python scripy: import tensorflow as tf import numpy as np import imageio in_img = imageio.imread('input.jpeg') in_img = in_img.astype(np.float32)/255.0 in_data = in_img[np.newaxis, :] x = tf.placeholder(tf.float32, shape=[1, None, None, 3], name='dnn_in') x1 = tf.subtract(x, 0.5) x2 = tf.abs(x1) y = tf.identity(x2, name='dnn_out') sess=tf.Session() sess.run(tf.global_variables_initializer()) graph_def = tf.graph_util.convert_variables_to_constants(sess, sess.graph_def, ['dnn_out']) tf.train.write_graph(graph_def, '.', 'image_process.pb', as_text=False) print("image_process.pb generated, please use \ path_to_ffmpeg/tools/python/convert.py to generate image_process.model\n") output = sess.run(y, feed_dict={x: in_data}) imageio.imsave("out.jpg", np.squeeze(output)) Signed-off-by: Ting Fu <ting.fu@intel.com> Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
* avcodec/decode: fix decoding when frames are allocated using ↵James Almer2020-05-27
| | | | | | | | | AVHWAccel.alloc_frame() Regression since a1133db30ef07896afd96f067e5c51531a4e85ab Found-by: comex <comexk@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* tools/target_dec_fuzzer: Adjust max_pixels for AV_CODEC_ID_HAPMichael Niedermayer2020-05-27
| | | | | | | | Fixes: Timeout (170sec -> 6sec) Fixes: 20956/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_HAP_fuzzer-5713643025203200 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* tools/target_dec_fuzzer: Reduce maxpixels for HEVCMichael Niedermayer2020-05-27
| | | | | | | | | | | | high resolutions with only small blocks appear to be rather slow with the fuzzer + sanitizers. A solution which makes this run faster is welcome. Fixes: Timeout (did not wait -> 17sec) Fixes: 21006/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_HEVC_fuzzer-6002552539971584 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* tools/target_dec_fuzzer: Do not test AV_CODEC_FLAG2_FAST with AV_CODEC_ID_H264Michael Niedermayer2020-05-27
| | | | | | | | | This combination skips allocating large padding which can read out of array Fixes: 20978/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_H264_fuzzer-5746381832847360 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/mpegts: use get_packet_size in mpegts_resync for determining ↵Marton Balint2020-05-27
| | | | | | | | | | | | | | | | | | | raw_packet_size The old resync logic had some bugs, for example the packet size could stuck into 192 bytes, because pos47_full was not updated for every packet, and for unseekable inputs the resync logic simply skipped some 0x47 sync bytes, therefore the calculated distance between sync bytes was a multiple of 188 bytes. AVIO only buffers a single packet (for UDP/mpegts, that usually means 1316 bytes), so for every ten consecutive 188-byte MPEGTS packets there was always a seek failure, and that caused the old code to not find the 188 byte pattern across 10 consecutive packets. This patch changes the custom logic to the one which is used when probing to determine the packet size. This was already proposed as a FIXME a long time ago...
* avcodec/adpcmenc: fix formattingZane van Iperen2020-05-27
| | | | | Signed-off-by: Zane van Iperen <zane@zanevaniperen.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec: add adpcm_ima_ssi encoderZane van Iperen2020-05-27
| | | | | Signed-off-by: Zane van Iperen <zane@zanevaniperen.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/adpcmenc: add capabilities argument to ADPCM_ENCODER()Zane van Iperen2020-05-27
| | | | | | Signed-off-by: Zane van Iperen <zane@zanevaniperen.com> Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Use gcc/clang builtins for av_sat_(add|sub)_64_c if available.Dale Curtis2020-05-27
| | | | | Signed-off-by: Dale Curtis <dalecurtis@chromium.org> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat: fix apm makefile dependencyZane van Iperen2020-05-27
| | | | | | | | Uses ff_get_wav_header() in riffdec.c Signed-off-by: Zane van Iperen <zane@zanevaniperen.com> Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/h264dec: Add FF_CODEC_CAP_INIT_CLEANUPLimin Wang2020-05-27
| | | | | | | | | | | then ff_h264_free_tables() and h264_decode_end() can be removed in h264_decode_init() if it's failed. The FF_CODEC_CAP_INIT_CLEANUP flag is need for single thread, For multithread, it'll be cleanup still by AV_CODEC_CAP_FRAME_THREADS flag if have. Reviewed-by: Anton Khirnov <anton@khirnov.net> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avcodec: Add FF_CODEC_CAP_INIT_CLEANUPLimin Wang2020-05-27
| | | | | | | | | | then ff_mpv_encode_end() will be unnecessary in ff_mpv_encode_init() if it's failed. The FF_CODEC_CAP_INIT_CLEANUP flag is need for single thread, For multithread, it'll be cleanup still by AV_CODEC_CAP_FRAME_THREADS flag if have. Signed-off-by: Limin Wang <lance.lmwang@gmail.com>