summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* libavcodec: Reduce the size of some arraysAndreas Rheinhardt2019-06-20
| | | | | | | | | | This commit uses smaller types for some static const arrays to reduce their size in case the entries can be represented in the smaller type. The biggest savings came from inv_map_table in vp9.c. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/segment: fix muxing tmcd tracks in MOVGyan Doshi2019-06-20
| | | | | | avformat/movenc still relies on AVCodecContext time_base to mux tmcd tracks and segment muxer did not copy that field to inner streams leading to SIGFPE in the child muxer instance.
* avformat/hlsenc: enhanced %v handling with variant namesBodecs Bela2019-06-20
| | | | | | | | | | | | | | | | When multiple variant streams are specified by var_stream_map option, %v placeholder in various names ensures that each variant has its unique names. Currently %v is substituted by its variant index value (0, 1, 2 etc.). In some use cases it would be handy to specify names for variants instead of numerical indexes. This patch makes it possible to use names instead of default indexes. In var_stream_map option each or some of the variant streams may use an optional name attributum (e.g. -var_stream_map "v:0,a:0,name:sd v:1,a:1,name:720p") If a name is specified for a variant, then this name value will be used as substitution value of %v instead of the default index value. Signed-off-by: Bela Bodecs <bodecsb@vivanet.hu> Signed-off-by: Steven Liu <lq@onvideo.cn>
* av_format/hlsenc: fix %v handling by format_name functionBodecs Bela2019-06-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hi All, When multiple variant streams are specified by var_stream_map option, %v placeholder in various names ensures that each variant has its unique names. Most of %v handlng is done in format_name function. Currently in this function the result buffer is the same as the input pattern buffer, so you must allocate it before calling format_name function. It also means, that it is silently assumed that the result string will NOT be longer that the pattern string. It is true most of the time, because %v may appear only once in the pattern string and number of variant streams is less than 100 in practical cases. But theoretically it will fail if specified number of variant streams is greater than 100 (i.e. longer than 2 digits). This patch fixes this behaviour by altering format_name function to allocate the result buffer and return it to the caller. Please, review this patch. best, Bela >From 6377ebee8a106a9684d41b270c7d6c8e57cd3e7b Mon Sep 17 00:00:00 2001 From: Bela Bodecs <bodecsb@vivanet.hu> Date: Mon, 17 Jun 2019 14:31:36 +0200 Subject: [PATCH] av_format/hlsenc: fix %v handling by format_name function When multiple variant streams are specified by var_stream_map option, %v placeholder in various names ensures that each variant has its unique names. Most of %v handlng is done in format_name function. Currently in this function the result buffer is the same as the input pattern buffer, so you must allocate it before calling format_name function. It also means, that it is silently assumed that the result string will NOT be longer that the pattern string. It is true most of the time, because %v may appear only once in the pattern string and number of variant streams is less than 100 in practical cases. But theoretically it will fail if specified number of variant streams is greater than 100. This patch fixes this behaviour by altering format_name function to allocate the result buffer and return it to the caller. Signed-off-by: Bela Bodecs <bodecsb@vivanet.hu>
* lavfi/af_asetnsamples: Remove the redundant condition checkJun Zhao2019-06-18
| | | | | | | | Redundant condition: '!A || B' is equivalent to '!A || (A && B)' but more clearly. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
* avformat/segment: fix increment_tcGyan Doshi2019-06-18
| | | | | | inner stream avg_frame_rate wasn't populated, so tc formation failed. Also, extended increment_tc to cover individual stream timecode.
* libavcodec/videotoolboxenc: Fix compilation broken on macOS 10.12Limin Wang2019-06-17
| | | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com> Signed-off-by: Rick Kern <kernrj@gmail.com>
* doc/filters: correct typos in tinterlace flagsGyan Doshi2019-06-17
|
* doc/filters.texi: Fix the confusing description for find_rect and cover_rect ↵Limin Wang2019-06-16
| | | | | | | command Signed-off-by: Limin Wang <lance.lmwang@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avutil: add FF_DECODE_ERROR_CONCEALMENT_ACTIVE flag for ↵Amir Pauker2019-06-16
| | | | | | | | | | AVFrame.decode_error_flags FF_DECODE_ERROR_CONCEALMENT_ACTIVE is set when the decoded frame has error(s) but the returned value from avcodec_receive_frame is zero i.e. concealed errors Signed-off-by: Amir Pauker <amir@livelyvideo.tv> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/bink: Reorder operations in init to avoid memleak on errorMichael Niedermayer2019-06-16
| | | | | | | | | Fixes: Direct leak of 536 byte(s) in 1 object(s) Fixes: 15266/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_BINK_fuzzer-5629530426834944 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Reviewed-by: Peter Ross <pross@xvid.org> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/wtvdec: Avoid (32bit signed) sectorsMichael Niedermayer2019-06-14
| | | | | | | | | Fixes: left shift of negative value -14614752 Fixes: 15174/clusterfuzz-testcase-minimized-ffmpeg_DEMUXER_fuzzer-5670543606415360 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Reviewed-by: Peter Ross <pross@xvid.org> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/bitstream: Check for more conflicting codes in build_table()Michael Niedermayer2019-06-14
| | | | | | | | Fixes: out of array read Fixes: 14563/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_AGM_fuzzer-5646451545210880 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/bitstream: Check for integer code truncation in build_table()Michael Niedermayer2019-06-14
| | | | | | | | Fixes: out of array read Fixes: 14563/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_AGM_fuzzer-5646451545210880 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/sbgdec: Fixes integer overflow in str_to_time() with hoursMichael Niedermayer2019-06-14
| | | | | | | | Fixes: signed integer overflow: 904444 * 3600 cannot be represented in type 'int' Fixes: 15113/clusterfuzz-testcase-minimized-ffmpeg_DEMUXER_fuzzer-5764083346833408 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/vpk: Check offset for validityMichael Niedermayer2019-06-14
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/vpk: Fix integer overflow in samples_per_block computationMichael Niedermayer2019-06-14
| | | | | | | | Fixes: signed integer overflow: 84026453 * 28 cannot be represented in type 'int' Fixes: 15111/clusterfuzz-testcase-minimized-ffmpeg_DEMUXER_fuzzer-5675630072430592 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: Also fuzz extradataMichael Niedermayer2019-06-14
| | | | | | This should improve coverage Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavf/tls_gnutls: retry gnutls_handshake on non fatal errorsRemita Amine2019-06-14
| | | | | | fixes #7801 Signed-off-by: Remita Amine <remitamine@gmail.com>
* libavfilter/vf_blend.c: remove duplicate code with macro-defined functionLimin Wang2019-06-14
| | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* libavfilter/vf_blend.c: remove duplicate code with same functionLimin Wang2019-06-14
| | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avformat/dashdec: check copy_init_section memory alloc resultSteven Liu2019-06-14
| | | | Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* lavf/hls: More log messageJun Zhao2019-06-14
| | | | | | | More log message, it's will help the debugging Reviewed-by: Steven Liu <lq@chinaffmpeg.org> Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
* doc/fftools-common-opts: document ffmpeg -h bsf=bitstream_filter_nameJun Zhao2019-06-14
| | | | | | document ffmpeg -h bsf=bitstream_filter_name Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
* doc/formats: document f_strict/strict for AVFormatContextJun Zhao2019-06-14
| | | | | | document f_strict/strict option for AVFormatContext Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
* lavf/webvtt: fix ffmpeg -h demuxer=webvtt can't dump optionsJun Zhao2019-06-14
| | | | | | fix ffmpeg -h demuxer=webvtt can't dump options Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
* avformat/hls: add http 2.0 version number compare for the http_multipleSteven Liu2019-06-14
| | | | Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* avformat/hls: avformat_find_stream_info when the audio list in the variantSteven Liu2019-06-14
| | | | Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* avformat/dashdec: add http_proxy, referer and rw_timeout http method support ↵Steven Liu2019-06-14
| | | | | | for segments Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* avformat/hlsenc: add EXT-X-I-FRAMES-ONLY tag supportSteven Liu2019-06-14
| | | | Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* lavf/qsv_vpp: add frame format optionZhong Li2019-06-14
| | | | | | | | | 1. Currently output format is hard-coded as NV12, thus means CSC is always done for not NV12 input such as P010. Follow original input format as default output. 2. Add an option to specify output format. Signed-off-by: Zhong Li <zhong.li@intel.com>
* avformat/id3v2enc: fix bug, CTOC flags take only one bytePaul B Mahol2019-06-13
|
* avcodec/mediacodecdec: re-indent after previous commitMatthieu Bouron2019-06-13
|
* avcodec/mediacodecdec: remove unneeded else block in ff_mediacodec_dec_send()Matthieu Bouron2019-06-13
|
* avcodec/mediacodecdec: try to receive a frame after signaling EOF to the codecMatthieu Bouron2019-06-13
| | | | | | | | | Avoids returning EAGAIN after signaling EOF to the codec in ff_mediacodec_dec_send() so we can try to receive a frame before returning in mediacodec_receive_frame(). This helps avoiding an extra round-trip between avcodec_send_frame() and avcodec_receive_frame() while draining the remaining frames.
* avcodec/omx: Correct av_log() log messageAlejandro Solozabal2019-06-12
| | | | | | Print the right library name, which is trying to open, on the log message. Signed-off-by: Alejandro Solozabal <a.solozabal@hotmail.com>
* vaapi_encode_mjpeg: fix bad component id bugU. Artie Eoff2019-06-12
| | | | | | | | | | | | | | | | | | | | | | | | | The compound literals assigned to "components" only exist within the scope of the if/else block (thanks Mark Thompson for the better explanation). Thus, after this if/else block, "components" ends up pointing to an arbitrary/undefined array. With some compilers and depending on optimization settings, these arbitrary values may end up being the same value (i.e. 0 with GNU GCC 9.x). Unfortunately, the GNU GCC compiler, at least, never prints any warnings about this. This patch fixes this issue by assigning the constant arrays to local variables at function scope and then pointing "components" to those as necessary. Fixes #7915 Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
* avfilter/vf_gblur: add missing preprocessor checkJames Almer2019-06-12
| | | | | | Fixes compilation on x86_32 Signed-off-by: James Almer <jamrial@gmail.com>
* configure: add missing dnn dependency to derain filterJames Almer2019-06-12
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* fate: add VP4 testPeter Ross2019-06-12
|
* avformat/riff: add VP4 fourccPeter Ross2019-06-12
|
* VP4 video decoderPeter Ross2019-06-12
|
* avcodec/vp3: spin off get_eob_run and get_coeff coeff functionsPeter Ross2019-06-12
| | | | these reoutines are shared by vp3 and vp4.
* avcodec/mjpegdec: Check for non ls PAL8Michael Niedermayer2019-06-12
| | | | | | | | Fixes: Null-dereference READ in av_malloc Fixes: 15002/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_THP_fuzzer-5643474625363968 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/v4l2_m2m_dec: Fix memleak on ff_v4l2_m2m_codec_init() failureMichael Niedermayer2019-06-12
| | | | | | | Fixes: 13579/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_MPEG1_V4L2M2M_fuzzer-5753560726241280 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* tests/ref/fate/nuv-rtjpeg: Preserve the original timestampsMichael Niedermayer2019-06-12
| | | | | | | The tests previously rounded the timestamps. Its better in a fate test to preserve the data from the demuxer and decoder. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/interplayvideo: check decoding_map_size with video_data_sizeMichael Niedermayer2019-06-12
| | | | | | | | Fixes: Timeout (90543 ms -> 59 ms) Fixes: 14721/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_INTERPLAY_VIDEO_fuzzer-5697492148027392 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/h264_parse: Use 64bit for expectedpoc and expected_delta_per_poc_cycleMichael Niedermayer2019-06-12
| | | | | | | | | Fixes: signed integer overflow: -2142516591 + -267814575 cannot be represented in type 'int' Fixes: 14450/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_H264_fuzzer-5716105319940096 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Reviewed-by: James Almer <jamrial@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* checkasm/vf_gblur: add test for horiz_slice simdRuiling Song2019-06-12
| | | | Signed-off-by: Ruiling Song <ruiling.song@intel.com>
* avfilter/vf_gblur: add x86 SIMD optimizationsRuiling Song2019-06-12
| | | | | | | | | | | | | The horizontal pass get ~2x performance with the patch under single thread. Tested overall performance using the command(avx2 enabled): ./ffmpeg -i 1080p.mp4 -vf gblur -f null /dev/null ./ffmpeg -i 1080p.mp4 -vf gblur=threads=1 -f null /dev/null For single thread, the fps improves from 43 to 60, about 40%. For multi-thread, the fps improves from 110 to 130, about 20%. Signed-off-by: Ruiling Song <ruiling.song@intel.com>