Vittorio Giovara [Fri, 10 Feb 2017 21:02:22 +0000 (16:02 -0500)]
mkv: Export bounds and padding from spherical metadata
Update the fate test as needed.
Vittorio Giovara [Fri, 10 Feb 2017 20:36:56 +0000 (15:36 -0500)]
mov: Export bounds and padding from spherical metadata
Update the fate test as needed.
Vittorio Giovara [Fri, 10 Feb 2017 20:26:55 +0000 (15:26 -0500)]
spherical: Add tiled equirectangular type and projection-specific properties
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Muhammad Faiz [Tue, 7 Mar 2017 08:55:38 +0000 (15:55 +0700)]
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>
Muhammad Faiz [Tue, 7 Mar 2017 08:54:44 +0000 (15:54 +0700)]
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>
Muhammad Faiz [Tue, 7 Mar 2017 08:53:27 +0000 (15:53 +0700)]
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>
Muhammad Faiz [Tue, 7 Mar 2017 08:51:12 +0000 (15:51 +0700)]
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>
Vittorio Giovara [Tue, 7 Mar 2017 12:57:34 +0000 (13:57 +0100)]
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>
Aman Gupta [Tue, 21 Feb 2017 18:48:37 +0000 (10:48 -0800)]
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
9747219958060d8c4f697df62e7f172c2a77e6c7, 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
9747219958060d8c4f697df62e7f172c2a77e6c7.
Signed-off-by: wm4 <nfxjfg@googlemail.com>
Kagami Hiiragi [Thu, 2 Mar 2017 18:19:09 +0000 (21:19 +0300)]
lavc/libvpxenc: add -row-mt option
Signed-off-by: James Zern <jzern@google.com>
Michael Niedermayer [Sat, 4 Mar 2017 00:30:54 +0000 (01:30 +0100)]
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>
Michael Niedermayer [Sun, 5 Mar 2017 02:14:27 +0000 (03:14 +0100)]
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>
Michael Niedermayer [Sat, 4 Mar 2017 18:19:31 +0000 (19:19 +0100)]
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>
wm4 [Thu, 2 Mar 2017 10:00:40 +0000 (11:00 +0100)]
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.
wm4 [Thu, 2 Mar 2017 09:38:44 +0000 (10:38 +0100)]
ffmpeg: remove unnecessary hack for decoders which refuse to drain
Now the previous commit takes care of this instead.
wm4 [Thu, 2 Mar 2017 09:37:26 +0000 (10:37 +0100)]
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.
wang-bin [Fri, 3 Mar 2017 10:10:54 +0000 (18:10 +0800)]
avcodec/videotoolbox: set kCVPixelBufferOpenGLESCompatibilityKey for iOS
kCVPixelBufferIOSurfaceOpenGLTextureCompatibilityKey is not available in
iOS
Paul B Mahol [Sun, 5 Mar 2017 15:34:32 +0000 (16:34 +0100)]
avformat/vivo: fix logic error in checking version in probe
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Carl Eugen Hoyos [Wed, 1 Mar 2017 22:22:40 +0000 (23:22 +0100)]
lavf/matroska: Support QDMC.
Michael Niedermayer [Sat, 4 Mar 2017 03:55:15 +0000 (04:55 +0100)]
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>
Michael Niedermayer [Fri, 3 Mar 2017 19:12:22 +0000 (20:12 +0100)]
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>
Michael Niedermayer [Fri, 3 Mar 2017 19:12:21 +0000 (20:12 +0100)]
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>
Michael Niedermayer [Fri, 3 Mar 2017 19:12:20 +0000 (20:12 +0100)]
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>
Michael Niedermayer [Fri, 3 Mar 2017 03:39:05 +0000 (04:39 +0100)]
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>
Michael Niedermayer [Fri, 3 Mar 2017 03:39:06 +0000 (04:39 +0100)]
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>
Michael Niedermayer [Fri, 3 Mar 2017 03:39:04 +0000 (04:39 +0100)]
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>
Michael Niedermayer [Thu, 2 Mar 2017 02:02:07 +0000 (03:02 +0100)]
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>
Michael Niedermayer [Thu, 2 Mar 2017 02:02:06 +0000 (03:02 +0100)]
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>
Steven Liu [Sat, 4 Mar 2017 01:27:56 +0000 (09:27 +0800)]
avformat/hlsenc: move the segment files handler close to before temp flags process
fix ticket: #6204
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
James Almer [Fri, 3 Mar 2017 16:49:14 +0000 (13:49 -0300)]
doc/encoders: mention valid values for compression_level when using FLAC encoder
Found-by: Miles
Signed-off-by: James Almer <jamrial@gmail.com>
James Almer [Fri, 3 Mar 2017 03:27:52 +0000 (00:27 -0300)]
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>
James Almer [Fri, 3 Mar 2017 03:25:54 +0000 (00:25 -0300)]
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>
Michael Niedermayer [Thu, 15 Dec 2016 20:08:48 +0000 (21:08 +0100)]
avcodec/vp3: Do not return random positive values but the buf size
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Takayuki 'January June' Suwa [Fri, 3 Mar 2017 06:17:37 +0000 (15:17 +0900)]
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>
Paul B Mahol [Fri, 3 Mar 2017 11:17:46 +0000 (12:17 +0100)]
avcodec/scpr: fix top left prediction for special case when x is 0 for keyframes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
wm4 [Thu, 2 Mar 2017 18:14:58 +0000 (19:14 +0100)]
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.
wm4 [Thu, 2 Mar 2017 15:01:01 +0000 (16:01 +0100)]
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.
Timo Rothenpieler [Thu, 9 Feb 2017 20:33:51 +0000 (21:33 +0100)]
ffmpeg_cuvid: adapt for recent filter graph initialization changes
Anton Khirnov [Mon, 27 Jun 2016 17:03:42 +0000 (19:03 +0200)]
ffmpeg: restructure sending EOF to filters
Be more careful when an input stream encounters EOF when its filtergraph
has not been configured yet. The current code would immediately mark the
corresponding output streams as finished, while there may still be
buffered frames waiting for frames to appear on other filtergraph
inputs.
This should fix the random FATE failures for complex filtergraph tests
after
a3a0230a9870b9018dc7415ae5872784d524cfe5
This merges Libav commit
94ebf55. It was previously skipped.
This is the last filter init related Libav commit that was skipped, so
this also removes the commits from doc/libav-merge.txt.
Signed-off-by: wm4 <nfxjfg@googlemail.com>
Anton Khirnov [Mon, 27 Jun 2016 16:59:23 +0000 (18:59 +0200)]
ffmpeg: move flushing the queued frames to configure_filtergraph()
This is a more appropriate place for it, and will also be useful in the
following commit.
This merges Libav commit
d2e56cf. It was previously skipped.
Signed-off-by: wm4 <nfxjfg@googlemail.com>
wm4 [Wed, 8 Feb 2017 11:55:58 +0000 (12:55 +0100)]
ffmpeg: fix printing of filter input/output names
Broken by the previous Libav commit (even in Libav, thus a separate
commit).
Signed-off-by: wm4 <nfxjfg@googlemail.com>
Anton Khirnov [Fri, 27 May 2016 10:14:33 +0000 (12:14 +0200)]
ffmpeg: init filtergraphs only after we have a frame on each input
This makes sure the actual stream parameters are used, which is
important mainly for hardware decoding+filtering cases, which would
previously require various weird workarounds to handle the fact that a
fake software graph has to be constructed, but never used.
This should also improve behaviour in rare cases where
avformat_find_stream_info() does not provide accurate information.
This merges Libav commit
a3a0230. It was previously skipped.
The code in flush_encoders() which sets up a "fake" format wasn't in
Libav. I'm not sure if it's a good idea, but it tends to give
behavior closer to the old one in certain corner cases.
The vp8-size-change gives different result, because now the size of
the first frame is used. libavformat reported the size of the largest
frame for some reason.
The exr tests now use the sample aspect ratio of the first frame. For
some reason libavformat determines 0/1 as aspect ratio, while the
decoder returns the correct one.
The ffm and mxf tests change the field_order values. I'm assuming
another libavformat/decoding mismatch.
Signed-off-by: wm4 <nfxjfg@googlemail.com>
Anton Khirnov [Fri, 27 May 2016 10:04:29 +0000 (12:04 +0200)]
ffmpeg: do packet ts rescaling in write_packet()
This will be useful in the following commit, after which the muxer
timebase is not always available when encoding.
This merges Libav commit
3e265ca. It was previously skipped.
There are some changes with how/when the mux_timebase field is set,
because the Libav approach often causes a too imprecise time base
to be set. This is hard, because the muxer's write_header function
can readjust the timebase, at which point we might already have
encoded packets buffered. (It might be better to buffer them after
the encoder, instead of after all the timestamp handling logic
before muxing.)
The two FATE tests change because the output time base is raised
for subtitles. (Needed to avoid certain rounding issues in other
cases.)
Includes a minor merge fix by Mark Thompson, and
avconv: Move rescale to stream timebase before monotonisation
also by Mark Thompson <sw@jkqxz.net>.
Signed-off-by: wm4 <nfxjfg@googlemail.com>
wm4 [Wed, 8 Feb 2017 08:53:26 +0000 (09:53 +0100)]
ffmpeg: make sure packets put into the muxing FIFO are refcounted
Some callers (like do_subtitle_out()) call this with an AVPacket that is
not refcounted. This can cause undefined behavior.
Calling av_packet_move_ref() does not make a packet refcounted if it
isn't yet. (And it can't be made to, because it always succeeds,
and can't return ENOMEM.)
Call av_packet_ref() instead to make sure it's refcounted.
I couldn't find a case that is fixed by this with the current code. But
it will fix the fate-pva-demux test with the later patches applied.
Signed-off-by: wm4 <nfxjfg@googlemail.com>
Carl Eugen Hoyos [Wed, 1 Mar 2017 22:40:35 +0000 (23:40 +0100)]
lavf/matroska: Support codec ID V_FFV1 for demuxing.
Fixes ticket #6206.
Michael Niedermayer [Wed, 1 Mar 2017 12:02:11 +0000 (13:02 +0100)]
Revert "avutil/frame: Disallow zero sized frame side data"
Found a case where we use size==0, the other related commits
remain needed, and should be sufficient to fix the original issue
This reverts commit
7e4f32f4e4b93c95dcc872cb844c5548e69f352e.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Michael Niedermayer [Wed, 1 Mar 2017 16:56:23 +0000 (17:56 +0100)]
avcodec/interplayvideo: Fix timeout from lack of bitstream end check
Fixes: 697/clusterfuzz-testcase-
6111250582863872
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Michael Niedermayer [Wed, 1 Mar 2017 15:35:58 +0000 (16:35 +0100)]
avcodec/mpegaudiodec_template: Fix runtime error: signed integer overflow:
2053224902 +
2053224902 cannot be represented in type 'int'
Fixes: 696/clusterfuzz-testcase-
5853632270434304
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Michael Niedermayer [Wed, 1 Mar 2017 15:32:09 +0000 (16:32 +0100)]
avcodec/mjpegdec: Fix runtime error: left shift of negative value -511
Fixes: 693/clusterfuzz-testcase-
6109776066904064
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Carl Eugen Hoyos [Wed, 1 Mar 2017 22:45:10 +0000 (23:45 +0100)]
lavc/sheervideo: Fix Y prediction for interlaced frames with transparency.
Based on
260de8a2 by Paul B Mahol.
Fixes ticket #6210.
Carl Eugen Hoyos [Thu, 2 Mar 2017 17:05:58 +0000 (18:05 +0100)]
doc: Link to "Resampler Options" in the aresample documentation.
Kostya Shishkov [Thu, 2 Mar 2017 10:21:48 +0000 (11:21 +0100)]
avcodec: add ClearVideo decoder
Only I-frames are decoded for now.
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Mark Thompson [Fri, 25 Nov 2016 12:36:05 +0000 (12:36 +0000)]
hwcontext_vaapi: Don't abort on failing to allocate from a fixed-size pool
Cherry-picked from Libav
d30719e62de68975cbc7ffd318df03a183037563.
Signed-off-by: wm4 <nfxjfg@googlemail.com>
wm4 [Fri, 24 Feb 2017 09:48:13 +0000 (10:48 +0100)]
avcodec/videotoolbox: set kCVPixelBufferIOSurfaceOpenGLTextureCompatibilityKey
Makes sure the output can be mapped as OpenGL texture.
This is what at least video players normally want.
wm4 [Fri, 24 Feb 2017 09:17:34 +0000 (10:17 +0100)]
avcodec/videotoolbox: allow not setting the kCVPixelBufferPixelFormatTypeKey
If AVVideotoolboxContext.cv_pix_fmt_type is set to 0, don't set the
kCVPixelBufferPixelFormatTypeKey value on the VT decoder.
This makes VT output its native format, which can be much faster on
some hardware iterations (if the native format does not match with
the requested format, it will be converted, which is slow).
The default is still forcing nv12.
wm4 [Mon, 13 Feb 2017 10:50:54 +0000 (11:50 +0100)]
avformat: fix AVStream private fields marker
Public fields were added after the private fields (negating the entire
point of this). New private fields go into AVStreamInternal anyway.
The new marker was set by guessing which fields are supposed to be
private and wshich not. recommended_encoder_configuration is accessed by
ffserver_config.c directly, and is supposed to use the public API.
ffmpeg.c accesses AVStream.cur_dts, even though it's a private field,
but that seems to be an older error.
wm4 [Mon, 13 Feb 2017 10:40:22 +0000 (11:40 +0100)]
avcodec, avutil, avformat: remove AVOption requirement for some fields
Allow all struct fields to be accessed directly, as long as they're
public.
Before this change, many fields were "public", but could be accessed via
AVOption only. This meant they were effectively not public, but were
present for documentation purposes, which was incredibly confusing at
best.
Carl Eugen Hoyos [Thu, 2 Mar 2017 08:29:10 +0000 (09:29 +0100)]
lavf/flacdec: Return maximum score if the streaminfo header is valid.
Michael Niedermayer [Wed, 1 Mar 2017 03:28:23 +0000 (04:28 +0100)]
avcodec/vp56: Clear dimensions in case of failure in the middle of a resolution change
Similar code is used elsewhere in vp56 to force a more complete reinit in the future.
Fixes null pointer dereference
Fixes: 707/clusterfuzz-testcase-
4717453097566208
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Michael Niedermayer [Tue, 28 Feb 2017 21:07:38 +0000 (22:07 +0100)]
avcodec/wavpack: Check value before shift in wp_exp2()
Fixes undefined shift, all callers should be changed to check the value
they use with wp_exp2() or its return value.
Fixes: 692/clusterfuzz-testcase-
5757381516460032
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Michael Niedermayer [Tue, 28 Feb 2017 21:07:37 +0000 (22:07 +0100)]
avcodec/ituh263dec: Use 0xffff as error code in h263p_decode_umotion()
This matches ff_h263_decode_motion() both functions error codes are interpreted by the same common code
Fixes: 690/clusterfuzz-testcase-
4744944981901312
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Michael Niedermayer [Tue, 28 Feb 2017 21:07:36 +0000 (22:07 +0100)]
avcodec/h264idct_template: Fix several runtime error: signed integer overflow
Fixes: 689/clusterfuzz-testcase-
6029352737177600
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Michael Niedermayer [Tue, 28 Feb 2017 14:16:54 +0000 (15:16 +0100)]
avformat/oggdec: fix leak in ogg_restore()
Fixes: asan_bug_leak
Found-by: Thomas Guilbert <tguilbert@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Michael Niedermayer [Tue, 28 Feb 2017 14:16:23 +0000 (15:16 +0100)]
avformat/oggdec: Factor free_stream out
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Michael Niedermayer [Tue, 28 Feb 2017 12:36:29 +0000 (13:36 +0100)]
avformat/oggdec: remove unused parameter of ogg_restore()
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Rick Kern [Wed, 1 Mar 2017 15:39:13 +0000 (10:39 -0500)]
lavc/videotoolboxenc: fix symbol linking
Removes explicit reference to symbols and fixes dereferencing issue.
Signed-off-by: Rick Kern <kernrj@gmail.com>
Michael Niedermayer [Tue, 28 Feb 2017 02:55:02 +0000 (03:55 +0100)]
avcodec/vp8: Check for bitsteam end in decode_mb_row_no_filter()
Fixes timeout with 686/clusterfuzz-testcase-
5853946876788736
this shortcuts (i.e. speeds up) the error and
return-to-user when decoding a truncated frame
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Previous version reviewed by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Michael Niedermayer [Tue, 28 Feb 2017 02:13:24 +0000 (03:13 +0100)]
avcodec/h264_direct: Fix runtime error: left shift of negative value -14
Fixes: 682/clusterfuzz-testcase-
4799120021651456
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Michael Niedermayer [Mon, 27 Feb 2017 03:12:09 +0000 (04:12 +0100)]
avcodec/avpacket: Check metadata key in av_packet_unpack_dictionary()
Fixes timeout
Fixes: 501/clusterfuzz-testcase-
5672752870588416
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Carl Eugen Hoyos [Wed, 1 Mar 2017 12:42:43 +0000 (13:42 +0100)]
Makefile: Clean compat/atomics/pthread subdirectory.
Konda Raju [Tue, 28 Feb 2017 05:39:12 +0000 (11:09 +0530)]
avcodec/nvenc: add initial QP value options
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
Ganapathy Raman Kasi [Fri, 24 Feb 2017 01:42:27 +0000 (01:42 +0000)]
avcodec/nvenc: remove qmin and qmax constraints for vbr
qmin and qmax are not necessary for nvenc vbr.
Enforcing this constraint, doesn't allow user to use vbr 2 pass mode without explicity setting the qmin and qmax options
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
Timo Rothenpieler [Mon, 27 Feb 2017 22:57:42 +0000 (23:57 +0100)]
compat/cuda: fix ulong size on cygwin
Carl Eugen Hoyos [Tue, 21 Feb 2017 13:36:15 +0000 (14:36 +0100)]
Makefile: Clean compat subdirectory.
Fixes ticket #5546.
Carl Eugen Hoyos [Tue, 28 Feb 2017 20:51:26 +0000 (21:51 +0100)]
lavf/matroskadec: Fix demuxing sipr.
Regression since
2c8d876d
Michael Niedermayer [Thu, 23 Feb 2017 16:34:42 +0000 (17:34 +0100)]
MAINTAINERS: Add Rodger Combs to ffmpeg-security
Rodger Combs will be added to the ffmpeg-security alias when this patch is applied
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Michael Niedermayer [Thu, 23 Feb 2017 16:34:41 +0000 (17:34 +0100)]
MAINTAINERS: add wm4 to ffmpeg-security
wm4 will be added to the ffmpeg-security alias when this patch is applied
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Michael Niedermayer [Thu, 23 Feb 2017 16:34:40 +0000 (17:34 +0100)]
MAINTAINERS: Make formating of ffmpeg-security entry the same as others
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Michael Niedermayer [Sat, 25 Feb 2017 20:07:22 +0000 (21:07 +0100)]
avcodec/vp56: Factorize vp56_render_mb() out
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Michael Niedermayer [Sun, 26 Feb 2017 19:28:02 +0000 (20:28 +0100)]
avcodec/dca: Fix multiple runtime error: signed integer overflow
Fixes: 680/clusterfuzz-testcase-
5416627266912256
Fixes: 681/clusterfuzz-testcase-
5013323462475776
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Michael Niedermayer [Sun, 26 Feb 2017 19:28:00 +0000 (20:28 +0100)]
avcodec/pictordec: Check plane value before doing value/mask computations
Fixes integer overflow
Fixes: 675/clusterfuzz-testcase-
6722971232108544
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Michael Niedermayer [Sun, 26 Feb 2017 19:27:59 +0000 (20:27 +0100)]
avcodec/mpeg4videodec: Fix runtime error: left shift of negative value -2650
Fixes: 674/clusterfuzz-testcase-
6713275880308736
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Michael Niedermayer [Sun, 26 Feb 2017 19:28:01 +0000 (20:28 +0100)]
avcodec/h264idct_template: Fix multiple runtime error: signed integer overflow
Fixes: 677/clusterfuzz-testcase-
6635120628858880
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Reviewed-by: Steven Liu <lingjiujianke@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Paul B Mahol [Mon, 27 Feb 2017 13:15:11 +0000 (14:15 +0100)]
avcodec/qdrw: check bytes per scanline for 2bpp images
One byte less is read in case of small width.
Closes #6194.
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Paul B Mahol [Mon, 27 Feb 2017 12:50:08 +0000 (13:50 +0100)]
avcodec/scpr: check if total_freq is 0 in decode0
Fixes SIGFPE, closes #6196.
Signed-off-by: Paul B Mahol <onemda@gmail.com>
James Darnley [Wed, 22 Feb 2017 00:17:06 +0000 (01:17 +0100)]
avcodec/h264: enable sse2 chroma deblock/loop filter functions
Between 1.00 and 1.16 times faster on Intel Yorkfield Core 2 Quad.
Between 1.11 and 1.39 times faster on Intel Kaby Lake Pentium.
James Darnley [Wed, 15 Feb 2017 14:05:42 +0000 (15:05 +0100)]
avcodec/h264: add avx 8-bit 4:2:2 chroma h intra deblock/loop filter
~1.37x faster (147 vs. 108 cycles) compared to mmxext function
James Darnley [Wed, 15 Feb 2017 14:03:18 +0000 (15:03 +0100)]
avcodec/h264: add avx 8-bit 4:2:0 chroma h intra deblock/loop filter
~1.10x faster (69 vs. 63 cycles) compared to mmxext function
James Darnley [Wed, 15 Feb 2017 13:59:46 +0000 (14:59 +0100)]
avcodec/h264: add avx 8-bit chroma v intra deblock/loop filter
~1.14x faster (90 vs 78 cycles) compared with mmxext
James Darnley [Wed, 15 Feb 2017 13:54:11 +0000 (14:54 +0100)]
avcodec/h264: add avx 8-bit 4:2:2 chroma h deblock/loop filter
~1.21x faster (68 vs. 56 cycles) compared with mmxext function
James Darnley [Wed, 15 Feb 2017 13:48:13 +0000 (14:48 +0100)]
avcodec/h264: add avx 8-bit 4:2:0 chroma h deblock/loop filter
~1.14x faster (93 vs. 81 cycles) compared with mmxext function
James Darnley [Wed, 15 Feb 2017 13:36:20 +0000 (14:36 +0100)]
avcodec/h264: add avx 8-bit chroma v deblock/loop filter
~1.24x faster (101 vs. 81 cycles) compared with mmxext function
Carl Eugen Hoyos [Mon, 27 Feb 2017 12:10:41 +0000 (13:10 +0100)]
lavc/svq3: Remove an unused function.
Paul B Mahol [Mon, 27 Feb 2017 11:04:15 +0000 (12:04 +0100)]
avcodec/qdrw: consume bytes when end is reached for 8bpp case
This should really be part of previous commit.
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Paul B Mahol [Mon, 27 Feb 2017 10:49:59 +0000 (11:49 +0100)]
avcodec/qdrw: fix decoding of odd sized images for 8bpp
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Paul B Mahol [Mon, 27 Feb 2017 10:39:36 +0000 (11:39 +0100)]
avcodec/qdrw: fix decoding odd size images for 2bpp and 4bpp
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Paul B Mahol [Mon, 27 Feb 2017 10:24:43 +0000 (11:24 +0100)]
avcodec/qdrw: fix decoding odd size images for 16bit case
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Carl Eugen Hoyos [Mon, 27 Feb 2017 09:28:00 +0000 (10:28 +0100)]
ffmpeg: Add a linebreak to an error message.
Marton Balint [Sat, 18 Feb 2017 17:18:18 +0000 (18:18 +0100)]
avdevice/decklink_dec: remove AVFMT_RAWPICTURE
It has no effect for input devices.
Signed-off-by: Marton Balint <cus@passwd.hu>
Marton Balint [Sat, 18 Feb 2017 02:13:56 +0000 (03:13 +0100)]
avdevice/decklink_enc: convert AVFMT_RAWPICTURE to AV_CODEC_ID_WRAPPED_AVFRAME
Signed-off-by: Marton Balint <cus@passwd.hu>