summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* avcodec/decode: Also consider channels in max_samples checkMichael Niedermayer2019-11-091-1/+1
| | | | | | | | Fixes: Timeout (109sec -> 0.6sec) Fixes: 18309/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_INTERPLAY_ACM_fuzzer-6226598168100864 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/rasc: Check input size in decode_fint()Michael Niedermayer2019-11-091-0/+2
| | | | | | | | Fixes: Timeout (11sec -> 42ms) Fixes: 18287/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_RASC_fuzzer-5637866331308032 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/ffv1dec: Use a different error message for the slice level CRCMichael Niedermayer2019-11-091-1/+1
| | | | | | This way they can be told apart easily Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/apedec: Fix undefined integer overflow in long_filter_ehigh_3830()Michael Niedermayer2019-11-091-1/+2
| | | | | | | | Fixes: signed integer overflow: -1094995529 * 2 cannot be represented in type 'int' Fixes: 18281/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_APE_fuzzer-5692589180715008 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/flvenc: Check pts for mpeg4/h264 (which need the value)Michael Niedermayer2019-11-091-0/+6
| | | | | | Fixes: Ticket8152 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/dstdec: Check that AC probabilities are within rangeMichael Niedermayer2019-11-091-0/+4
| | | | | | | | | | | ISO/IEC 14496-3:2005(E): "Each entry of P_one[ ][ ] is in the range of 1 to 128, corresponding to a probability of 1/256 to 128/256 of the next error bit (bit E, See Figure 10.5)..." Fixes: Timeout (42sec ->1sec) Fixes: 18181/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DST_fuzzer-5736646250594304 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: Check read_table() for failureMichael Niedermayer2019-11-091-2/+6
| | | | | | | | Fixes: Timeout (too long -> 42sec) Fixes: 18181/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DST_fuzzer-5736646250594304 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/vc1_block: Check input in the block decode loopsMichael Niedermayer2019-11-091-0/+17
| | | | | | | | Fixes: Timeout (196sec -> 2sec) Fixes: 18026/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_VC1_fuzzer-5640941108461568 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/vc1_block: Check for end of bitstream at the top of ↵Michael Niedermayer2019-11-091-2/+6
| | | | | | | | | | vc1_decode_i_blocks_adv() Fixes: Timeout (147sec -> 2sec) Fixes: 17704/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_VC1IMAGE_fuzzer-5723851098423296 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: Adjust threshold for smackerMichael Niedermayer2019-11-091-0/+1
| | | | | | | | Fixes: Timeout (65sec -> 0.5sec) Fixes: 18072/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_SMACKER_fuzzer-5722709366931456 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/hqx: Check the input data against the image sizeMichael Niedermayer2019-11-091-0/+8
| | | | | | | | | Fixes: Timeout (22 -> 100 ms) Fixes: 15173/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_HQX_fuzzer-5662556846292992 Fixes: 17896/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_HQX_fuzzer-5679312077848576 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/pafvideo: Only clear frame when it was written toMichael Niedermayer2019-11-091-2/+8
| | | | | | | | | | | This avoids unneeded operations and makes the code faster. Fixes: Timeout Fixes: 15724/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_PAF_VIDEO_fuzzer-5750842205929472 (12sec -> 9sec) Fixes: 17625/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_PAF_VIDEO_fuzzer-5640515311108096 (16sec -> 4sec) Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/vividas: Fix n_sb_blocks CheckMichael Niedermayer2019-11-091-1/+1
| | | | | | | | Fixes: signed integer overflow: 1540265776 * 2 cannot be represented in type 'int' Fixes: 18160/clusterfuzz-testcase-minimized-ffmpeg_DEMUXER_fuzzer-5758808818712576 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/snowenc: Set mb_num to avoid ratecontrol floating point divisions by 0.0Michael Niedermayer2019-11-091-0/+1
| | | | | | Fixes: Ticket7990 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/snowenc: Fix 2 undefined shiftsMichael Niedermayer2019-11-091-2/+2
| | | | | | Fixes: Ticket7990 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/mlvdec:drop unnecessary check before ff_format_io_closeSteven Liu2019-11-091-2/+1
| | | | | | Reviewed-by: Linjie Fu <linjie.fu@intel.com> Reviewed-by: Jun Zhao <barryjzhao@tencent.com> Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* avcodec/libvpxenc,cosmetics: fix a typoJames Zern2019-11-081-1/+1
| | | | predicition -> prediction
* avcodec/libvpxdec.c,cosmetics: bpp -> bpcJames Zern2019-11-081-1/+1
| | | | Signed-off-by: James Zern <jzern@google.com>
* avfilter/Makefile: add missing framesync dependency to bm3d & mix filtersLou Logan2019-11-081-2/+2
| | | | Signed-off-by: Lou Logan <lou@lrcd.com>
* configure: select missing rdft for several filtersLou Logan2019-11-081-1/+4
| | | | | | | | | afir, sinc, superequalizer, surround For afir fft is replaced with rdft as: rdft_select="fft" Signed-off-by: Lou Logan <lou@lrcd.com>
* avfilter/vf_dnn_processing: correct duplicate statementleozhang2019-11-081-2/+2
| | | | | Signed-off-by: leozhang <leozhang@qiyi.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avfilter/vf_dnn_processing: fix fate-sourceGuo, Yejun2019-11-081-1/+1
| | | | | Signed-off-by: Guo, Yejun <yejun.guo@intel.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/mxfdec: cleanup on "essence prior to first PartitionPack"Michael Niedermayer2019-11-081-1/+3
| | | | | | | | Fixes: memleak Fixes: 18473/clusterfuzz-testcase-minimized-ffmpeg_DEMUXER_fuzzer-5738557074833408 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avfilter/f_metadata: remove unneeded codeLimin Wang2019-11-081-4/+0
| | | | | Reviewed-by: Steven Liu <lq@onvideo.cn> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* lavf/dashdec: drop unnecessary check before ff_format_io_closeJun Zhao2019-11-081-8/+4
| | | | | | | ff_format_io_close will check the AVIOContext pointer pb, so drop the unnecessary check before ff_format_io_close. Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
* lavf/dashenc: enable probesize/max_analyze_duration setting in sub-demuxerJun Zhao2019-11-081-2/+2
| | | | | | | Enable probesize/max_analyze_duration setting when open the sub-demuxer, it's will be used to minimizing the initial delay. Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
* lavf/hls: support probesize/max_analyze_duration when open sub-demuxerJun Zhao2019-11-081-0/+2
| | | | | | | Add probesize/max_analyze_duration support when open the sub-demuxer, it's will be used to minimizing the initial delay. Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
* lavf/flvenc: Cosmetics: fix indentationJun Zhao2019-11-081-4/+4
| | | | | | fix indentation Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
* lavf/mov: add log context dump in log messageJun Zhao2019-11-081-15/+15
| | | | | | | add log context dump in log message. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
* lavf/hls: fix the log context setting in log messageJun Zhao2019-11-081-7/+7
| | | | | | Fix the log context setting in log message Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
* avfilter/vf_dnn_processing: add a generic filter for image proccessing with ↵Guo, Yejun2019-11-075-0/+378
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dnn networks This filter accepts all the dnn networks which do image processing. Currently, frame with formats rgb24 and bgr24 are supported. Other formats such as gray and YUV will be supported next. The dnn network can accept data in float32 or uint8 format. And the dnn network can change frame size. The following is a python script to halve the value of the first channel of the pixel. It demos how to setup and execute dnn model with python+tensorflow. It also generates .pb file which will be used by ffmpeg. import tensorflow as tf import numpy as np import imageio in_img = imageio.imread('in.bmp') in_img = in_img.astype(np.float32)/255.0 in_data = in_img[np.newaxis, :] filter_data = np.array([0.5, 0, 0, 0, 1., 0, 0, 0, 1.]).reshape(1,1,3,3).astype(np.float32) filter = tf.Variable(filter_data) x = tf.placeholder(tf.float32, shape=[1, None, None, 3], name='dnn_in') y = tf.nn.conv2d(x, filter, strides=[1, 1, 1, 1], padding='VALID', name='dnn_out') sess=tf.Session() sess.run(tf.global_variables_initializer()) output = sess.run(y, feed_dict={x: in_data}) graph_def = tf.graph_util.convert_variables_to_constants(sess, sess.graph_def, ['dnn_out']) tf.train.write_graph(graph_def, '.', 'halve_first_channel.pb', as_text=False) output = output * 255.0 output = output.astype(np.uint8) imageio.imsave("out.bmp", np.squeeze(output)) To do the same thing with ffmpeg: - generate halve_first_channel.pb with the above script - generate halve_first_channel.model with tools/python/convert.py - try with following commands ./ffmpeg -i input.jpg -vf dnn_processing=model=halve_first_channel.model:input=dnn_in:output=dnn_out:fmt=rgb24:dnn_backend=native -y out.native.png ./ffmpeg -i input.jpg -vf dnn_processing=model=halve_first_channel.pb:input=dnn_in:output=dnn_out:fmt=rgb24:dnn_backend=tensorflow -y out.tf.png Signed-off-by: Guo, Yejun <yejun.guo@intel.com> Signed-off-by: Pedro Arthur <bygrandao@gmail.com>
* fftools/ffmpeg_opt: Fix mixed declarations and codeAndreas Rheinhardt2019-11-061-2/+4
| | | | | | | Introduced in ed3c317d. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/extract_extradata_bsf: fix typo in commentsleozhang2019-11-061-2/+2
| | | | | | Signed-off-by: leozhang <leozhang@qiyi.com> Reviewed-by: Gyan <ffmpeg@gyani.pro> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avdevice/v4l2: Remove av_assert0 when format not supportedAndriy Gelman2019-11-061-1/+2
| | | | | | | | | | | | | | | | | Before this commit an av_assert0 would fail if a v4l2 device did not support a target format. For example, ./ffmpeg -f v4l2 -codec:v h264 -i /dev/video0 -f mpegts - would signal an abort if /dev/video0 did not support h264. The new behaviour is to return an AVERROR(EINVAL) error code. An av_assert0 has been added to verify this return. Fixes #6629 Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com> Reviewed-by: Nicolas George <george@nsup.org> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/Makefile: add missing msmpeg4* dependencies to wmv1 encoderLou Logan2019-11-061-1/+1
| | | | Signed-off-by: Lou Logan <lou@lrcd.com>
* avcodec/Makefile: add missing h263data dependency to snow encoderLou Logan2019-11-061-1/+1
| | | | Signed-off-by: Lou Logan <lou@lrcd.com>
* avcodec/Makefile: add missing vorbis_data dependency to opus encoderLou Logan2019-11-061-1/+1
| | | | Signed-off-by: Lou Logan <lou@lrcd.com>
* configure: select mdct for dca encoderLou Logan2019-11-061-0/+1
| | | | Signed-off-by: Lou Logan <lou@lrcd.com>
* avcodec/dvdec: correctly decode bottom mb row in 1080i field modeBaptiste Coudurier2019-11-062-20/+72
|
* avcodec/dvdec: correctly set interlaced and tffBaptiste Coudurier2019-11-061-3/+10
|
* avcodec/libvpxdec: reject video and alpha dimension mismatchesMarton Balint2019-11-051-0/+11
| | | | | Signed-off-by: Marton Balint <cus@passwd.hu> Signed-off-by: James Zern <jzern@google.com>
* avcodec/libvpxdec: decode to custom framebuffers for vp9Marton Balint2019-11-051-5/+68
| | | | | | | This avoids copying the full frame after decoding. Signed-off-by: Marton Balint <cus@passwd.hu> Signed-off-by: James Zern <jzern@google.com>
* avcodec/libvpxdec: pass decoder instances to vpx_init directlyMarton Balint2019-11-051-13/+13
| | | | | | | | If the alpha decoder init failed we presented the error message from the normal decoder. This change should prevent such mistakes. Signed-off-by: Marton Balint <cus@passwd.hu> Signed-off-by: James Zern <jzern@google.com>
* avcodec/libvpxdec: make sure BlockAdditional side data size >= 8Marton Balint2019-11-051-1/+1
| | | | | Signed-off-by: Marton Balint <cus@passwd.hu> Signed-off-by: James Zern <jzern@google.com>
* avcodec/libvpxenc: only allocate alpha U/V planes on size changesMarton Balint2019-11-051-24/+35
| | | | | Signed-off-by: Marton Balint <cus@passwd.hu> Signed-off-by: James Zern <jzern@google.com>
* avcodec/libvpxenc: fix alpha strideMarton Balint2019-11-051-1/+1
| | | | | Signed-off-by: Marton Balint <cus@passwd.hu> Signed-off-by: James Zern <jzern@google.com>
* avformat/nutenc: Do not pass NULL to memcmp() in get_needed_flags()Michael Niedermayer2019-11-051-5/+6
| | | | | | | | | | | | | | This compared to the other suggestions is cleaner and easier to understand keeping the condition in the if() simple. This affects alot of fate tests. See: [FFmpeg-devel] [PATCH 05/11] avformat/nutenc: Don't pass NULL to memcmp See: [FFmpeg-devel] [PATCH]lavf/nutenc: Do not call memcmp() with NULL argument Fixes: Ticket 7980 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* doc/bitstream_filters: Fix copy an paste typoLimin Wang2019-11-051-1/+1
| | | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* configure: select bswapdsp for ylc decoderLou Logan2019-11-051-0/+1
| | | | Signed-off-by: Lou Logan <lou@lrcd.com>
* configure: select fft for qdmc decoderLou Logan2019-11-051-0/+1
| | | | Signed-off-by: Lou Logan <lou@lrcd.com>
OpenPOWER on IntegriCloud