Commit Graph

89444 Commits

Author SHA1 Message Date
Michael Niedermayer 1d0817d56b avcodec/amrwbdec: Fix division by 0 in voice_factor()
The added value matches "Digital cellular telecommunications system (Phase 2+) (GSM); Universal Mobile Telecommunications System (UMTS); LTE; Extended Adaptive Multi-Rate - Wideband (AMR-WB+) codec; Floating-point ANSI-C code (3GPP TS 26.304 version 14.0.0 Release 14)
Extended Adaptive Multi-Rate - Wideband (AMR-WB+) codec; Floating-point ANSI-C code"

Fixes: runtime error: division by zero
Fixes: 4415/clusterfuzz-testcase-minimized-4677752314658816

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-12-10 20:11:46 +01:00
Mark Thompson 2adfb10921 configure: Move V4L2 M2M help line to the hardware library section 2017-12-10 17:15:06 +00:00
Thomas Guillem 84936f68ed lavc: Make hardware config method support more explicit for hwaccels
This fixes the use of old ad-hoc methods which are still supported by some
hwaccels which also support newer methods (DXVA2, VAAPI, VDPAU,
videotoolbox) - without the method being visible here, ff_get_format()
would refuse to use it.

Signed-off-by: Mark Thompson <sw@jkqxz.net>
2017-12-10 16:31:15 +00:00
Mateusz 149268b47c fix MSVC compilation errors
After commit 3701d49 'error_resilience: remove avpriv_atomic usage'
we have included windows.h in much more files and we should
avoid conflicts with defines/function declarations.

Signed-off-by: Mateusz Brzostek <mateuszb@poczta.onet.pl>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-12-10 14:43:01 +01:00
James Almer 1215889bc1 checkasm/llviddsp: fix mixed code and declarations
Signed-off-by: James Almer <jamrial@gmail.com>
2017-12-10 00:51:35 -03:00
James Almer 438f884fc4 x86/lossless_videodsp: rename ff_add_left_pred_int16_sse4 to ff_add_left_pred_int16_unaligned_ssse3
SSSE3_FAST is the proper check for it.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-12-10 00:51:01 -03:00
James Almer a4fc63c0f9 x86/lossless_videodsp: don't overread the dst buffer in ff_add_left_pred_unaligned_avx2
Fixes valgrind

Signed-off-by: James Almer <jamrial@gmail.com>
2017-12-10 00:38:05 -03:00
Mironov, Mikhail f20c8f6ec9 amf: fix wrong profile level after auto-correction in H264 and HEVC
Moved bitrate parameters set before Init() call because bitrate is used in
profile level correction code inside Init().

Signed-off-by: Mikhail Mironov <mikhail.mironov@amd.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-12-09 23:12:30 +01:00
tiejun.peng 6bf5d69b2f lavf/mov: modify code indentation
Signed-off-by: tiejun.peng <tiejun.peng@foxmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-12-09 23:12:30 +01:00
tiejun.peng ab651587a7 lavf/mov: add some useful warning log of eof
Signed-off-by: tiejun.peng <tiejun.peng@foxmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-12-09 23:12:30 +01:00
Jacob Trimble b38f222165 avcodec/Makefile: Fix opus parser dependency.
The opus.c file uses ff_celt_freq_range and ff_celt_freq_bands which are
defined in opustab.c.  The opus parser needs to include that file to
avoid linker errors when not including the opus encoder/decoder.

Signed-off-by: Jacob Trimble <modmaker@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-12-09 23:12:30 +01:00
James Cowgill 02ba4b91b5 avcodec/decode: reset codec on receiving packet after EOF in compat_decode
In commit 061a0c14bb ("decode: restructure the core decoding code"), the
deprecated avcodec_decode_* APIs were reworked so that they called into the
new avcodec_send_packet / avcodec_receive_frame API. This had the side effect
of prohibiting sending new packets containing data after a drain
packet, but in previous versions of FFmpeg this "worked" and some
applications relied on it.

To restore some compatibility, reset the codec if we receive a new non-drain
packet using the old API after draining has completed. While this does
not give the same behaviour as the old API did, in the majority of cases
it works and it does not require changes to any other part of the decoding
code.

Fixes ticket #6775
Signed-off-by: James Cowgill <jcowgill@debian.org>
Signed-off-by: Marton Balint <cus@passwd.hu>
2017-12-09 21:28:24 +01:00
James Almer 36de24d5b7 arm/hevc_idct: fix compilation on Android
Compilation error "out of range" fixed for armeabi-v7a. Compilation failed
trying to build libvlc.aar for ARM7 android on ubuntu 16.04 host. Error
messages is "Offset out of range". The reason of the error is assembler LDR
directives in function "ff_hevc_transform_luma_4x4_neon_8" need local storage
in range <1k, but no such storage provided.

Based on a patch by Ihor Bobalo <bob@eleks.com>

Suggested-by: wbs
Signed-off-by: James Almer <jamrial@gmail.com>
2017-12-09 21:46:34 +02:00
Martin Vignali e1121f9723 checkasm/llviddsp : add test for add_gradient_pred 2017-12-09 15:19:07 +01:00
Martin Vignali 630967ef63 avcodec/utvideodec : add SIMD (SSSE3 and AVX2) for gradient_pred 2017-12-09 15:19:03 +01:00
Martin Vignali 4353c35067 avcodec/x86/lossless_videodsp : add avx2 version for add_left_pred 2017-12-09 15:16:03 +01:00
Martin Vignali cfbcea1cca avcodec/x86/lossless_videodsp.asm : make macro for add_left_pred_unaligned in order to add avx2 version 2017-12-09 15:15:59 +01:00
Martin Vignali 5bda11e70e checkasm/llviddsp : test return of add_left_pred(16) 2017-12-09 15:15:56 +01:00
Martin Vignali dc9a187c3d avcodec/huffyuvenc : sub_left_prediction_bgr32, call dsp after 32 first byte of the line in order to try to call the align version (diff bytes have avx2 version) 2017-12-09 15:12:59 +01:00
Martin Vignali 001173b8ff avcodec/huffyuvenc : remove code duplication in sub_left_prediction
start of the line (before dsp call), can be merge with width < 32 part
2017-12-09 15:12:54 +01:00
Martin Vignali 57877f2b44 avcodec/huffyuvenc : increase scalar loop count
in order to try to call dsp in aligned mode
(diff_int16 have AVX2 now)
2017-12-09 15:12:49 +01:00
Martin Vignali 9e1c9633cc avcodec/utvideodec : use dsp add_median_pred for second line
process start of the line in scalar, before call dsp
(dsp need align 16)
2017-12-09 15:11:12 +01:00
Martin Vignali 179a2f04eb checkasm/vf_threshold : add test for threshold16 2017-12-09 14:47:13 +01:00
Martin Vignali 869efbf971 avfilter/x86/vf_threshold : add threshold16 SIMD (SSE4 and AVX2) 2017-12-09 14:47:09 +01:00
Paul B Mahol 713f9c5b5d avfilter/vf_scale: add more aliases for "range" options
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-08 20:36:44 +01:00
Michael Niedermayer b404d41b19 fate: Fix fate-mov-bbi-elst-starts-b on ARM 2017-12-08 20:02:16 +01:00
Mark Reid 0091a54f64 fate/mxf: add reel name test
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-12-08 20:02:16 +01:00
Mark Reid 901d87aa83 avformat/mxfenc: write reel_name if metadata key is present
Reviewed-by: Tomas Härdin <tjoppen@acc.umu.se>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-12-08 20:02:16 +01:00
Mark Reid ad2641c36b avformat/mxfenc: use track count to generate component instance uuid
Reviewed-by: Tomas Härdin <tjoppen@acc.umu.se>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-12-08 20:02:16 +01:00
sfan5 a428f2fcd9 libavcodec/hevc_filter: move AVDISCARD_NONREF switch-case into function
In preparation for implementation of skip_frame.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-12-08 20:02:16 +01:00
Jacob Trimble 2fdc9f7c49 avcodec/nvdec: Fix capability check with old drivers.
Copied the check from cuviddec.c (*_cuvid decoders) to allow the
capability check to be optional for older drivers.

Signed-off-by: Jacob Trimble <modmaker@google.com>
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2017-12-08 17:56:38 +01:00
Vittorio Giovara bc38c8f442 vf_zscale: Fix alpha destination graph for floating point pixel formats
This was setting the input pixel type instead of the output one,
leading to incorrect data being fed to the library.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2017-12-08 10:11:50 -05:00
Paul B Mahol a41a5db797 avformat: add NSP demuxer
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-08 16:01:09 +01:00
Paul B Mahol 299a622297 avfilter/vf_waveform: add default case when picking input formats
Should silence compiler warnings.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-08 12:31:01 +01:00
Rostislav Pehlivanov 4678339e74 opus: fix hybrid folding indexing during band quantization
Resulted in valgrind errors due to uninitialized memory.
Also updates fate and makes it use the tron sample result.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-12-08 04:42:24 +00:00
Rostislav Pehlivanov c67c7191b1 fate-opus: run and test inactive samples
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-12-08 01:06:47 +00:00
James Almer f2aa0ce5a0 x86/vf_hflip: use xor to zero initialize registers
Signed-off-by: James Almer <jamrial@gmail.com>
2017-12-07 19:34:12 -03:00
James Almer dc33fe1d00 x86/vf_hflip: don't load the width argument twice
Signed-off-by: James Almer <jamrial@gmail.com>
2017-12-07 19:34:12 -03:00
John Stebbins 79a744768a lavc/libx265: mark disposable frames
Used by movenc to fill sdtp box

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-12-07 22:51:18 +01:00
Gyan Doshi dc7d5f9f19 avcodec/libx265 - Add named option to set profile
Adds call to x265_param_apply_profile after x265_param_parse.
Added as private option since HEVC profiles other than
Main, Main 10 and MSP in AVCodecContext are consolidated in a single
constant.

Reviewed-by: Hendrik Leppkes <h.leppkes@gmail.com>
Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Reviewed-by: Lou Logan <lou@lrcd.com>
2017-12-06 12:57:35 -09:00
Michael Niedermayer 610dd74502 avcodec/diracdsp: Fix integer overflow in PUT_SIGNED_RECT_CLAMPED()
Fixes: runtime error: signed integer overflow: 2147483646 + 2048 cannot be represented in type 'int'
Fixes: 4479/clusterfuzz-testcase-minimized-6529894147162112

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-12-06 22:09:25 +01:00
Michael Niedermayer 5e9a13a5a3 avcodec/dirac_dwt: Fix integer overflows in COMPOSE_DAUB97*
Fixes: 4478/clusterfuzz-testcase-minimized-4752113767809024
Fixes: runtime error: signed integer overflow: -2147483626 + -319489 cannot be represented in type 'int'

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-12-06 22:09:25 +01:00
James Almer d6d605eb05 avformat/mux: stop delaying writing the header
Every bitstream filter behaves as intended now, so there's no need to
wait for the first packet of every stream.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-12-06 15:43:59 -03:00
Nikolas Bowe 5a412a5c3c avcodec/extract_extradata_bsf: Fix leak discovered via fuzzing
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-12-06 18:27:09 +01:00
Paul B Mahol 53855e3c04 avfilter: add setrange filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2017-12-06 15:42:23 +01:00
Michael Niedermayer c8bd2c7d09 tests/fate/mov: Fix fate-mov-invalid-elst-entry-count failure on ARM
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-12-06 01:04:35 +01:00
sfan5 d3a2100c67 fate/hevc: add skip_loop_filter test
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-12-05 19:56:40 +01:00
Jim DeLaHunt d1266d9fa3
doc/developer: revise mailing list section
The Developer Documentation had instructions to
subscribe to the ffmpeg-cvslog email list. But that is
no longer accurate. For the purposes in this section --
review of patches, discussion of development issues --
ffmpeg_devel is the appropriate email list. Some developers
may want to monitor ffmpeg-cvslog, but it is not mandatory.

This is v3 of this doc, based on discussion in thread
<https://ffmpeg.org/pipermail/ffmpeg-devel/2017-November/220528.html>
and in response to docs Maintainer comments in
<https://ffmpeg.org/pipermail/ffmpeg-devel/2017-December/221596.html>.

1. In doc/developer.texi, add a new section about
ffmpeg-devel, based on existing text from ffmpeg-cvslog
section regarding discussion of patches and of
development issues. Reflect wording from discussion at
<https://ffmpeg.org/pipermail/ffmpeg-devel/2017-November/221199.html>
but with copy-editing to make wording more concise.

2. In doc/developer.texi, rewrite the ffmpeg-cvslog section
to match the current usage of ffmpeg-cvslog. Some
developers choose to follow this list, but it is not
mandatory.

There are a lot of improvements possible to the
Developer Documentation page, beyond this refactoring.
However, making those improvements is a much bigger
and more difficult task.  This change is "low hanging
fruit".

Signed-off-by: Jim DeLaHunt <from.ffmpeg-dev@jdlh.com>
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
2017-12-05 02:06:10 -08:00
Mark Thompson 71421f382f vaapi_h265: Add named options for setting profile and level
Also fixes the default, which previously contained a nonsense value.
2017-12-04 23:25:37 +00:00
Mark Thompson c490fc9536 vaapi_h264: Add named options for setting profile and level 2017-12-04 23:25:32 +00:00