1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-12 19:18:44 +02:00
Commit Graph

93943 Commits

Author SHA1 Message Date
Paul B Mahol
d5b2458f46 avfilter/vf_lut3d: fix range domain processing for .cube format
The ranges are for input, not for output.
2019-04-28 09:32:55 +02:00
Michael Niedermayer
8019395889 avcodec/pnm_parser: Remember the length already scanned for ascii images
Fixes: speed regression with xmap_samsung_gear_2560x1280.pgm
Found-by: Michael Koch
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-04-27 22:36:46 +02:00
Michael Niedermayer
9fc1031ac2 avcodec/pnm_parser: Remember the size of the image and do not reparse the header
Fixes: Timeout (11sec -> 60ms)
Fixes: 14270/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_PAM_fuzzer-5734809634078720

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-04-27 22:36:46 +02:00
James Almer
938cb783d4 avcodec/scpr3: add missing check for decode_value3() return value
Fixes ticket #7866.

Signed-off-by: James Almer <jamrial@gmail.com>
2019-04-27 16:15:00 -03:00
Paul B Mahol
163bb087f8 avformat/microdvddec: skip empty lines 2019-04-27 12:57:18 +02:00
Paul B Mahol
6347146e3d avformat/subtitles: ignore extra '\r' at line endings 2019-04-27 12:49:56 +02:00
Timo Rothenpieler
2e254bb897 avcodec/nvenc: fix indentation 2019-04-27 12:33:08 +02:00
Timo Rothenpieler
23ed147e8f avcodec/nvenc: only unregister input resources when absolutely needed
This reverts nvenc to old behaviour, which in some super rare edge cases
performs better.
The implication of this is that any potential API user who relies on
nvenc cleaning up every frames device resources after it's done using
them will have to change their usage pattern.

That should not be a problem, since pretty much every normal usage
pattern automatically implies that surfaces are reused from a common
pool, since constant re-allocation is also very expensive.
2019-04-27 12:33:08 +02:00
Jun Zhao
d6489ddb7a lavf/hls: Remove HLSContext.strict_std_compliance field
After the commit 9f61abc811, we can use AVFormatContext.strict_std_compliance
instead of HLSContext.strict_std_compliance to avoid the code redundancy.

Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
2019-04-27 15:49:26 +08:00
Lynne
4b7166c9d5 x86/opusdsp: replace loads with shuffles
Has a slight speedup.
Can't be carried over to aarch64, since it has no shufps-like instruction.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2019-04-26 20:39:38 -03:00
Paul B Mahol
c2f305ca17 avfilter: add audio soft clip filter 2019-04-27 00:21:38 +02:00
Paul B Mahol
bf15dcc5c8 avfilter/vf_stack: use time_base from framesync
Fixes non-monotonous timestamps.
2019-04-26 23:59:52 +02:00
Michael Niedermayer
f857753f56 avcodec/gdv: Check input palette size before rescale()
Fixes: Timeout (22sec -> 11sec)
Fixes: 13576/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_GDV_fuzzer-5681024577568768

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-04-26 17:25:14 +02:00
Paul B Mahol
1e01f66822 avfilter/af_astats: count number of NaNs/Infs/denormals for floating-point audio too 2019-04-26 12:14:10 +02:00
Ruiling Song
0fc464631a lavfi/opencl: add more opencl helper macro
Signed-off-by: Ruiling Song <ruiling.song@intel.com>
2019-04-26 10:08:05 +08:00
Michael Niedermayer
2be0bd12b7 avcodec/jpeg2000dec: Fix return type of get_plt()
Found-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-04-25 19:18:29 +02:00
Michael Niedermayer
e627113329 avcodec/jpeg2000dec: Check PLT data somewhat
Fixes: Timeout (21sec -> 0.6sec)
Fixes: 14134/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_JPEG2000_fuzzer-5768371078955008

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-04-25 14:49:51 +02:00
Michael Niedermayer
6381b6f6a9 avcodec/jpeg2000dec: Replace the step_x/y assert by a check in the CPRL case as with the PCRL case
Fixes: assertion failure
Fixes: 14246/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_JPEG2000_fuzzer-5758393601490944

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-04-25 14:49:51 +02:00
Michael Niedermayer
06ef186fa1 avcodec/jpeg2000: Check stepsize before using it
Fixes: value 1.87633e+10 is outside the range of representable values of type 'int'
Fixes: Undefined behavior
Fixes: 14246/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_JPEG2000_fuzzer-5758393601490944

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-04-25 14:49:51 +02:00
Michael Niedermayer
af77adc02e avcodec/qtrle: Check how much of the chunk is available before decoding
Fixes: Timeout (10sec -> 2sec)
Fixes: 13979/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_QTRLE_fuzzer-5635157718990848

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-04-25 14:49:51 +02:00
Michael Niedermayer
8ea211ab79 avcodec/aacdec_fixed: Fix undefined shift in noise_scale()
Fixes: 13655/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_AAC_FIXED_fuzzer-5120559430500352

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-04-25 14:49:51 +02:00
Nikolas Bowe
dd9907847c avcodec/bintext: Add error message when resolution is too small for font.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-04-25 14:49:51 +02:00
Michael Niedermayer
b91786360f avcodec/zmbv: optimize motion compensation with memcpy()
Fixes: Timeout (16 sec - 7 sec)
Fixes: 14237/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_ZMBV_fuzzer-5693453897302016

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Tomas Härdin <tjoppen@acc.umu.se>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-04-25 14:49:50 +02:00
Carl Eugen Hoyos
1ae5a64457 lavfi/frei0r: Fix a union member type and remove an unneeded cast. 2019-04-25 00:29:09 +02:00
James Almer
a42e761b96 avcodec/h264_ps: use get_se_golomb_long() to parse some sps fields
All three may be up to 32 bits wide.

Signed-off-by: James Almer <jamrial@gmail.com>
2019-04-24 18:34:51 -03:00
James Almer
53cc3338f7 avcodec/h264_ps: fix storage size for offset_for_ref_frame
The spec defines the valid range of values to be INT32_MIN + 1 to INT32_MAX, inclusive.

Reviewed-by: Mark Thompson <sw@jkqxz.net>
Signed-off-by: James Almer <jamrial@gmail.com>
2019-04-24 18:30:07 -03:00
Paul B Mahol
604421630b avfilter/af_surround: improve rear channels separation 2019-04-24 22:31:02 +02:00
Paul B Mahol
2d16b83824 avfilter/af_surround: check for invalid magnitude and phase difference 2019-04-24 22:31:02 +02:00
Paul B Mahol
e1e0f94dc9 avfilter/af_surround: add angle option 2019-04-24 22:31:02 +02:00
Paul B Mahol
e1cfb01b05 avfilter/af_surround: fix typo 2019-04-24 22:31:02 +02:00
Michael Niedermayer
7c2ee8d43d avcodec/arbc: Try to correct keyframe/frame type
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-04-24 17:05:02 +02:00
Michael Niedermayer
8b10f09fd5 avcodec/arbc: Skip unchanged frames
Fixes: Timeout (16sec -> 5sec)
Fixes: 14128/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_ARBC_fuzzer-5767365721063424

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-04-24 17:05:02 +02:00
Michael Niedermayer
6f0e9a8634 avutil/avstring: Fix bug and undefined behavior in av_strncasecmp()
The function in case of n=0 would read more bytes than 0.
The end pointer could be beyond the allocated space, which
is undefined.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-04-24 17:05:02 +02:00
Michael Niedermayer
18a567c369 avformat/mov: Skip stsd adjustment without chunks
Fixes: Assertion failure
Fixes: clusterfuzz-testcase-minimized-media_pipeline_integration_fuzzer-5683096400822272

Found-by: Clusterfuzz
Reported-by: Dan Sanders <sandersd@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-04-24 17:05:02 +02:00
Michael Niedermayer
ed188f6dcd avformat/aadec: Check for scanf() failure
Fixes: use of uninitialized variables
Fixes: blank.aa

Found-by: Chamal De Silva <chamal.desilva@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-04-24 17:05:02 +02:00
Michael Niedermayer
9570322a2d avcodec/dxtory: Check slice_size against minimum in dxtory_decode_v2()
Fixes: Timeout (33sec -> 16 milli sec)
Fixes: 14181/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DXTORY_fuzzer-5681840708386816

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-04-24 17:05:02 +02:00
Michael Niedermayer
fee6661045 avcodec/dsicinvideo: check the amount decoded by cin_decode_huffman()
Fixes: Timeout (158sec -> 36sec)
Fixes: 14214/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DSICINVIDEO_fuzzer-5633569034076160

This is untested with valid cin files as none of the files i found cover the changed
codepath

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-04-24 17:05:02 +02:00
Michael Niedermayer
caa9b4ff89 avcodec/agm: Check that there is available input in read_code()
Fixes: Timeout (46sec -> 7ms)
Fixes: 14030/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_AGM_fuzzer-5721258760601600

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-04-24 17:05:02 +02:00
Carl Eugen Hoyos
d0ca749adb tests/fate-run: New variable hostexecsuf for local fate tools.
Allows running fate in-tree on wsl with msvc.
2019-04-24 01:42:56 +02:00
Cyber Sinh
499b46fd0a compat/windows/makedef: Allow building shared libs with MSVC under WSL
A similar patch was posted by Gilles Khouzam in his blog.
2019-04-24 01:41:13 +02:00
Takayuki 'January June' Suwa
f9a061a31c avdevice/alsa: fix indefinite stop on closing PCM capture
Fixes: https://bugs.archlinux.org/task/58619

Found-by: Elias (Bleuzen) https://bugs.archlinux.org/user/26956
Signed-off-by: Nicolas George <george@nsup.org>
2019-04-23 14:01:23 -08:00
Dan Sanders
22c820f509 libavformat/mov: limit nb_frames_for_fps to INT_MAX
It's this or add overflow detection in mov_read_header().

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-04-23 22:13:34 +02:00
Paul B Mahol
4a69b18242 avfilter/af_surround: export more channel's in/out gains 2019-04-23 17:48:10 +02:00
Paul B Mahol
ce15c3a4c8 avfilter/af_surround: switch to activate 2019-04-23 13:37:41 +02:00
Paul B Mahol
7a128ac2bc avfilter/af_surround: expose window size to user 2019-04-23 13:37:41 +02:00
Paul B Mahol
ccc07ebe45 avfilter/af_surround: add 6.1/6.0 upmix from stereo 2019-04-23 13:37:41 +02:00
Sergey Svechnikov
703583dbb1 avcodec/cuviddec: improve progressive frame detection
There are 2 types of problems when using adaptive deinterlace with cuvid:

1. Sometimes, in the middle of transcoding, cuvid outputs frames with visible horizontal lines (as though weave deinterlace method was chosen);
2. Occasionally, on scene changes, cuvid outputs a wrong frame, which should have been shown several seconds before (as if the frame was assigned some wrong PTS value).

The reason is that sometimes CUVIDPARSERDISPINFO has property progressive_frame equal to 1 with interlaced videos.
In order to fix the problem we should check if the video is interlaced or progressive in the beginning of a video sequence (cuvid_handle_video_sequence).
And then we just use this information instead of the property progressive_frame in CUVIDPARSERDISPINFO (which is unreliable).

Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2019-04-23 12:48:08 +02:00
Jun Zhao
a087764847 examples/avio_reading: Use avio_context_free() to free AVIOContext
Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
2019-04-23 08:36:39 +08:00
Paul B Mahol
26fd40b568 avfilter/af_surround: make channel spread from stereo image user configurable 2019-04-22 22:15:01 +02:00
Paul B Mahol
dbb35abf28 avfilter/af_surround: add lfe_mode option 2019-04-22 22:15:01 +02:00