fe57bf7cd6
fate/swresample: fix FUZZ typo
...
unintentionally changed to 0.01 at
'61926b6c3e560283ef6c015d6d85c32716942833'
Signed-off-by: Muhammad Faiz <mfcc64@gmail.com >
2017-03-08 21:51:02 +07:00
1d0bad421c
avutil/tests/lfg: Remove debugging start/stop timer
...
Fixes code with qemu ARM
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-03-08 14:32:00 +01:00
a50ccbd240
avutil/tests/lfg.c: added proper normality test
...
The Chen-Shapiro(CS) test was used to test normality for
Lagged Fibonacci PRNG.
Normality Hypothesis Test:
The null hypothesis formally tests if the population
the sample represents is normally-distributed. For
CS, when the normality hypothesis is True, the
distribution of QH will have a mean close to 1.
Information on CS can be found here:
http://www.stata-journal.com/sjpdf.html?articlenum=st0264
http://www.originlab.com/doc/Origin-Help/NormalityTest-Algorithm
Signed-off-by: Thomas Turner <thomastdt@googlemail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-03-08 14:32:00 +01:00
61926b6c3e
swresample/resample: use uniform normalization
...
this gives better frequency response
update swresample fate and other fates
that depend on resampling
Signed-off-by: Muhammad Faiz <mfcc64@gmail.com >
2017-03-08 16:09:38 +07:00
dbc932e745
Revert "lavu/atomic: add support for the new memory model aware gcc built-ins"
...
This reverts commit faa9d29829
.
This change became superfluous when support for C11 atomics was introduced.
Reverting it will make the removal of this implementation in an upcoming
merge conflict free.
Reviewed-by: wm4 <nfxjfg@googlemail.com >
Signed-off-by: James Almer <jamrial@gmail.com >
2017-03-08 00:48:37 -03:00
851f4255e0
lsws/slice: Move a misplaced const.
...
Fixes a gcc warning:
libswscale/slice.c:178:56: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
2017-03-08 00:33:21 +01:00
a9c20598b5
lsws/input: Do not define unused functions.
...
Fixes warnings like the following:
libswscale/input.c:951:13: warning: ‘planar_rgb14be_to_a’ defined but not used
2017-03-08 00:30:06 +01:00
587226ad45
lavc/libx265: Add gray10 and gray12 encoding support.
2017-03-08 00:25:33 +01:00
9ae3506696
matroskadec: cosmetics: Rearrange checks for projection-depedendent properties
2017-03-07 17:34:32 -05:00
ac8c72f8f1
mov: Fix checking layout and loading padding for cubemaps
2017-03-07 17:29:52 -05:00
1afd246960
avcodec/vp8: Check for the bitstream end per MB in decode_mb_row_no_filter()
...
Fixes: timeout in 730/clusterfuzz-testcase-5265113739165696 (part 2 of 2)
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Reviewed-by: BBB
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-03-07 21:29:43 +01:00
55d7371fe0
avcodec/vp568: Check that there is enough data for ff_vp56_init_range_decoder()
...
Fixes: timeout in 730/clusterfuzz-testcase-5265113739165696 (part 1 of 2)
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Reviewed-by: BBB
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-03-07 21:29:12 +01:00
5098a6f627
avcodec/vp8: remove redundant check
...
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-03-07 19:13:19 +01:00
bde9642268
mkv: Export bounds and padding from spherical metadata
...
Update the fate test as needed.
2017-03-07 11:28:02 -05:00
022b4ea583
mov: Export bounds and padding from spherical metadata
...
Update the fate test as needed.
2017-03-07 11:25:37 -05:00
1b7ffddb3a
spherical: Add tiled equirectangular type and projection-specific properties
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
2017-03-07 11:19:37 -05:00
776f289c0f
avdevice/alldevices: make avdevice_register_all thread safe
...
use ff_thread_once
Suggested-by: wm4 <nfxjfg@googlemail.com >
Signed-off-by: Muhammad Faiz <mfcc64@gmail.com >
2017-03-07 20:34:44 +07:00
af7010ad05
avfilter/allfilters: make avfilter_register_all thread safe
...
use ff_thread_once
Suggested-by: wm4 <nfxjfg@googlemail.com >
Signed-off-by: Muhammad Faiz <mfcc64@gmail.com >
2017-03-07 20:34:44 +07:00
49635f0a46
avfilter/allformats: make av_register_all thread safe
...
use ff_thread_once
Suggested-by: wm4 <nfxjfg@googlemail.com >
Signed-off-by: Muhammad Faiz <mfcc64@gmail.com >
2017-03-07 20:34:44 +07:00
e85e840880
avcodec/allcodecs: make avcodec_register_all thread safe
...
use ff_thread_once
Suggested-by: wm4 <nfxjfg@googlemail.com >
Signed-off-by: Muhammad Faiz <mfcc64@gmail.com >
2017-03-07 20:34:44 +07:00
a6b1180e39
avcodec/pixlet: fix architecture-dependent code and values
...
The constants used in the decoder used floating point precision,
and this caused different values to be generated on different
architectures.
So, eradicate floating point numbers and use fixed point (32.32)
arithmetics everywhere, replacing constants with precomputed integer
values.
Signed-off-by: Vittorio Giovara <vittorio.giovara at gmail.com>
Signed-off-by: Paul B Mahol <onemda@gmail.com >
2017-03-07 14:04:01 +01:00
b6eaa3928e
avcodec/h264, videotoolbox: fix crash after VT decoder fails
...
The way videotoolbox hooks in as a hwaccel is pretty hacky. The VT decode
API is not invoked until end_frame(), so alloc_frame() returns a dummy
frame with a 1-byte buffer. When end_frame() is eventually called, the
dummy buffer is replaced with the actual decoded data from
VTDecompressionSessionDecodeFrame().
When the VT decoder fails, the frame returned to the h264 decoder from
alloc_frame() remains invalid and should not be used. Before
9747219958
, it was accidentally being
returned all the way up to the API user. After that commit, the dummy
frame was unref'd so the user received an error.
However, since that commit, VT hwaccel failures started causing random
segfaults in the h264 decoder. This happened more often on iOS where the
VT implementation is more likely to throw errors on bitstream anomolies.
A recent report of this issue can be see in
http://ffmpeg.org/pipermail/libav-user/2016-November/009831.html
The issue here is that the dummy frame is still referenced internally by the
h264 decoder, as part of the reflist and cur_pic_ptr. Deallocating the
frame causes assertions like this one to trip later on during decoding:
Assertion h->cur_pic_ptr->f->buf[0] failed at src/libavcodec/h264_slice.c:1340
With this commit, we leave the dummy 1-byte frame intact, but avoid returning it
to the user.
This reverts commit 9747219958
.
Signed-off-by: wm4 <nfxjfg@googlemail.com >
2017-03-07 11:58:38 +01:00
734d760e2f
lavc/libvpxenc: add -row-mt option
...
Signed-off-by: James Zern <jzern@google.com >
2017-03-06 11:58:33 -08:00
8aa4f3bb4f
avcodec/proresdec2: Do not discard frames with bad slices
...
The code previously completely discarded frames that had any error in a slice
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-03-06 16:47:17 +01:00
835d9f299c
avcodec/x86/cavsdsp: Put MMX code under mmx check
...
Without this the FPU state becomes trashed and causes mysterious
fate failures with cpuflags=0
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-03-06 16:47:17 +01:00
a9f9b7f5c7
avcodec/movtextdec: Call mov_text_cleanup() on close
...
Fixes memleak
Fixes: 548/clusterfuzz-testcase-5511470875934720
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-03-06 16:47:17 +01:00
ef86488696
avformat/flvdec: remove meaningless warning
...
Ever since the codecpar changes, this has been always printed when
opening a flv file. This is because the codecpar changes made all
streams to be added lazily as read_packet is called.
2017-03-06 11:08:03 +01:00
808ab2fd0b
ffmpeg: remove unnecessary hack for decoders which refuse to drain
...
Now the previous commit takes care of this instead.
2017-03-06 11:08:03 +01:00
a755b725ec
avcodec: consider an error during decoder draining as EOF
...
There is no reason that draining couldn't return an error or two. But
some decoders don't handle this very well, and might always return an
error. This can lead to API users getting into an infinite loop and
burning CPU, because no progress is made and EOF is never returned.
In fact, ffmpeg.c contains a hack against such a case. It is made
unnecessary with this commit, and removed with the next one. (This
particular error case seems to have been fixed since the hack was
added, though.)
This might lose frames if decoding returns errors during draining.
2017-03-06 11:06:09 +01:00
3267e1703b
avcodec/videotoolbox: set kCVPixelBufferOpenGLESCompatibilityKey for iOS
...
kCVPixelBufferIOSurfaceOpenGLTextureCompatibilityKey is not available in
iOS
2017-03-06 10:54:02 +01:00
035e932d7c
avformat/vivo: fix logic error in checking version in probe
...
Signed-off-by: Paul B Mahol <onemda@gmail.com >
2017-03-05 16:34:32 +01:00
1638d956a3
lavf/matroska: Support QDMC.
2017-03-05 14:41:01 +01:00
ba15005132
avcodec/wavpack: Fix runtime error: left shift of negative value -2
...
Fixes: 723/clusterfuzz-testcase-6471394663596032
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-03-05 12:03:15 +01:00
29638d4db9
avcodec/dcadsp: Fix 2 runtime error: signed integer overflow: -1958094138 - 1078906344 cannot be represented in type 'int'
...
Fixes: 722/clusterfuzz-testcase-5711268868521984
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-03-05 12:01:48 +01:00
d03d386162
avcodec/wavpack: Check bitrate_acc for overflow
...
Fixes: undefined behavior in 717/clusterfuzz-testcase-5434924129583104
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-03-05 12:01:46 +01:00
fab13bbbcd
avcodec/mpeg4videodec: Fix runtime error: signed integer overflow: 134527392 * 16 cannot be represented in type 'int'
...
This checks the sprite delta intermediates for overflow
Fixes: 716/clusterfuzz-testcase-4890287480504320
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-03-05 12:01:41 +01:00
d757ddbaab
avcodec/mpeg12dec: Fix runtime error: left shift of negative value -13
...
Fixes: 709/clusterfuzz-testcase-4789836449841152
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-03-04 17:48:04 +01:00
ab998f4c7f
avcodec/h264_mvpred: Fix multiple runtime error: left shift of negative value
...
Fixes: 710/clusterfuzz-testcase-5091051431788544
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-03-04 17:48:04 +01:00
d23727e042
avcodec/adxdec: Fix runtime error: left shift of negative value -1
...
Fixes: 705/clusterfuzz-testcase-5129572590813184
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-03-04 17:48:04 +01:00
eb41956636
avcodec/mpeg4videodec: Improve the overflow checks in mpeg4_decode_sprite_trajectory()
...
Also clear the state on errors
Fixes integer overflows in 701/clusterfuzz-testcase-6594719951880192
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-03-04 03:05:15 +01:00
2ce4f28431
avcodec/vp56: Require a correctly decoded frame before using vp56_conceal_mb()
...
Fixes timeout with 700/clusterfuzz-testcase-5660909504561152
Fixes timeout with 702/clusterfuzz-testcase-4553541576294400
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-03-04 03:05:15 +01:00
4507f29e4a
avformat/hlsenc: move the segment files handler close to before temp flags process
...
fix ticket: #6204
Signed-off-by: Steven Liu <lq@chinaffmpeg.org >
2017-03-04 09:27:56 +08:00
68ee800a9d
doc/encoders: mention valid values for compression_level when using FLAC encoder
...
Found-by: Miles
Signed-off-by: James Almer <jamrial@gmail.com >
2017-03-03 13:49:26 -03:00
a43389547c
avutil/md5: stop discarding the const qualifier for the src pointer
...
The code modifying the buffer on big endian systems was removed.
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc >
Signed-off-by: James Almer <jamrial@gmail.com >
2017-03-03 13:37:11 -03:00
e2b7ae4b19
avutil/md5: fix misaligned reads
...
This makes ubsan happy and also considerably increases performance on
big endian systems.
Tested on an IBM POWER7 3.55 GHz
Before:
2.24user 0.14system 0:02.39elapsed 99%CPU (0avgtext+0avgdata 2624maxresident)k
2.26user 0.11system 0:02.38elapsed 99%CPU (0avgtext+0avgdata 2688maxresident)k
2.23user 0.15system 0:02.38elapsed 99%CPU (0avgtext+0avgdata 2624maxresident)k
2.25user 0.12system 0:02.38elapsed 100%CPU (0avgtext+0avgdata 2624maxresident)k
2.20user 0.15system 0:02.36elapsed 99%CPU (0avgtext+0avgdata 2624maxresident)k
After:
1.86user 0.13system 0:02.00elapsed 99%CPU (0avgtext+0avgdata 2624maxresident)k
1.89user 0.11system 0:02.01elapsed 99%CPU (0avgtext+0avgdata 2624maxresident)k
1.85user 0.14system 0:02.00elapsed 99%CPU (0avgtext+0avgdata 2624maxresident)k
1.84user 0.15system 0:01.99elapsed 99%CPU (0avgtext+0avgdata 2624maxresident)k
1.89user 0.13system 0:02.02elapsed 99%CPU (0avgtext+0avgdata 2688maxresident)k
Tested-by: Nicolas George <george@nsup.org >
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc >
Signed-off-by: James Almer <jamrial@gmail.com >
2017-03-03 13:36:49 -03:00
d8094a303b
avcodec/vp3: Do not return random positive values but the buf size
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-03-03 17:17:53 +01:00
13332504c9
omx: Add support for specifying H.264 profile [v5']
...
This adds "-profile[:v] profile_name"-style option.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-03-03 17:17:53 +01:00
6d93e7d1a3
avcodec/scpr: fix top left prediction for special case when x is 0 for keyframes
...
Signed-off-by: Paul B Mahol <onemda@gmail.com >
2017-03-03 12:28:24 +01:00
16abc10b09
ffmpeg: properly cleanup filter graph on init failure
...
The filter field is often used to check whether a filter is
configured. If configuring the filter actually fails somewhere in
the middle of it, these fields could still be set to non-NULL, which
lead to other code accessing the half-configured filter graph, which
in turn could lead to crashes within libavfilter.
Solve this by properly resetting all fields.
This was triggered by a fuzzed sample after the recent changes. It's
unknown whether this behavior could be triggered before that.
2017-03-03 08:45:43 +01:00
7dd44cde2a
ffmpeg: delay processing of subtitles before filters are initialized
...
If a subtitle packet came before the first video frame could be fully
decoded, the subtitle packet would get discarded. This puts the subtitle
into a queue instead, and processes it once the attached filter graph is
initialized.
2017-03-03 08:45:43 +01:00