Michael Niedermayer
8adb20d3de
avutil/common: Add FF_PTR_ADD()
...
Suggested-by: Andreas Rheinhardt
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
(cherry picked from commit 522a5259e9 )
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2021-09-11 21:23:49 +02:00
Michael Niedermayer
862b1ca108
avutil/timecode: Avoid fps overflow
...
Fixes: Integer overflow and division by 0
Fixes: poc-202102-div.mov
Found-by: 1vanChen of NSFOCUS Security Team
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
(cherry picked from commit c94875471e )
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2021-09-11 21:23:49 +02:00
Michael Niedermayer
c58d3ebcf4
libavutil/eval: Remove CONFIG_TRAPV special handling
...
Fixes: division by zero
Fixes: 29555/clusterfuzz-testcase-minimized-ffmpeg_dem_VIVO_fuzzer-5149951447400448
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
(cherry picked from commit 8574fcbfc7 )
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2021-09-11 21:23:49 +02:00
Michael Niedermayer
3cd7db6c4f
avutil/timecode: Avoid undefined behavior with large framenum
...
Fixes: signed integer overflow: 2147462079 + 2149596 cannot be represented in type 'int'
Fixes: 27565/clusterfuzz-testcase-minimized-ffmpeg_DEMUXER_fuzzer-5091972813160448
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
(cherry picked from commit 1b19057396 )
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2021-09-11 21:23:48 +02:00
Michael Niedermayer
fb2f9fd67d
avutil/fixed_dsp: Fix integer overflows in butterflies_fixed_c()
...
Fixes: signed integer overflow: 0 - -2147483648 cannot be represented in type 'int'
Fixes: 23646/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_AAC_FIXED_fuzzer-5480991098667008
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
(cherry picked from commit 4a02ae49c2 )
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2021-09-11 21:23:48 +02:00
Michael Niedermayer
12c61c2fda
avutil/common: Fix integer overflow in av_ceil_log2_c()
...
Fixes: left shift of 1913647649 by 1 places cannot be represented in type 'int'
Fixes: 23572/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_WMALOSSLESS_fuzzer-5082619795734528
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
(cherry picked from commit e409262837 )
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2020-07-02 19:55:10 +02:00
Michael Niedermayer
650ce5047c
avutil/lfg: Correct index increment type to avoid undefined behavior
...
Fixes: signed integer overflow: 2147483647 + 1 cannot be represented in type 'int'
Fixes: 18333/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_COMFORTNOISE_fuzzer-5668481831272448
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
(cherry picked from commit 6014bcf1b7 )
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-12-01 17:45:46 +01:00
Michael Niedermayer
5ebee49b34
avutil/lfg: Document the AVLFG struct
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
(cherry picked from commit d6fea2ef22 )
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-11-15 12:25:47 +01:00
Michael Niedermayer
175def86b7
avutil/softfloat_ieee754: Fix odd bit position for exponent and sign in av_bits2sf_ieee754()
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
(cherry picked from commit 82e389d066 )
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-11-14 23:30:38 +01:00
Michael Niedermayer
bbbe82b142
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 >
(cherry picked from commit 6f0e9a8634 )
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-11-14 23:30:37 +01:00
Mark Harris
29362d5f9a
avutil/mem: Fix invalid use of av_alloc_size
...
The alloc_size attribute is valid only on functions that return a
pointer. GCC 9 (not yet released) warns about invalid usage:
./libavutil/mem.h:342:1: warning: 'alloc_size' attribute ignored on a function returning int' [-Wattributes]
342 | av_alloc_size(2, 3) int av_reallocp_array(void *ptr, size_t nmemb, size_t size);
| ^~~~~~~~~~~~~
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
(cherry picked from commit 4361293fcf )
2019-07-23 01:18:40 -03:00
Michael Niedermayer
532b6c2b25
avutil/imgutils: Optimize memset_bytes() by using av_memcpy_backptr()
...
This is strongly based on code by Marton Balint, and depends on the previous commit
Fixes: Timeout
Fixes: 11502/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_WCMV_fuzzer-5664893810769920
Before: Executed clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_WCMV_fuzzer-5664893810769920 in 11209 ms
After: Executed clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_WCMV_fuzzer-5664893810769920 in 4104 ms
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Marton Balint <cus@passwd.hu >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
(cherry picked from commit f64c0dffa1 )
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-03-24 10:38:51 +01:00
Michael Niedermayer
9e5cb0df49
avutil/mem: Optimize fill32() by unrolling and using 64bit
...
Reviewed-by: Marton Balint <cus@passwd.hu >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
(cherry picked from commit 12b1338be3 )
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2019-03-24 10:38:51 +01:00
Michael Niedermayer
0e853b61e6
avutil/integer: Fix integer overflow in av_mul_i()
...
Found-by: fate
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
(cherry picked from commit 3cc3cb663b )
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-10-28 02:22:42 +02:00
Michael Niedermayer
7489a527f0
avutil/pixfmt: Document chroma plane size for odd resolutions
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
(cherry picked from commit be0b77e6e8 )
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-10-28 02:22:42 +02:00
Michael Niedermayer
84d473a9cf
avutil/common: Fix undefined behavior in av_clip_uintp2_c()
...
Fixes: negation of -2147483648 cannot be represented in type 'int'; cast to an unsigned type to negate this value to itself
Fixes: 8521/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DIRAC_fuzzer-5639024952737792
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
(cherry picked from commit aa41d322be )
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-06-18 01:16:04 +02:00
Michael Niedermayer
3c001b18ce
avutil/common: Fix integer overflow in av_clip_uint8_c() and av_clip_uint16_c()
...
Fixes: 5567/clusterfuzz-testcase-minimized-5769966247739392
Fixes: runtime error: negation of -2147483648 cannot be represented in type 'int'; cast to an unsigned type to negate this value to itself
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
(cherry picked from commit ab6f571ef7 )
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-06-18 01:16:03 +02:00
wm4
4a53ecb12e
hwcontext_dxva2: initialize D3DDISPLAYMODEEX correctly
...
(cherry picked from commit 18fbfd7bf8 )
2018-01-04 18:20:54 -03:00
Humberto Ribeiro
7c3d519df9
libavutil/hwcontext_dxva2: Add check for possible errors from GetAdapterDisplayModeEx
...
This prevents a possible crash in CreateDeviceEx when using faulty
response from GetAdapterDisplayModeEx and allows ffmpeg to fallback to
classic d3d9.
Signed-off-by: wm4 <nfxjfg@googlemail.com >
(cherry picked from commit 59b126f922 )
2018-01-04 18:20:43 -03:00
Michael Niedermayer
3f2be02b4d
avutil/softfloat: Add FLOAT_MIN
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
(cherry picked from commit e34fe61bf4 )
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-12-07 23:38:06 +01:00
Martin Storsjö
587fadaef1
lavu/arm: Check for have_vfp_vm instead of !have_vfpv3 for float_dsp_vfp
...
This was missed in e754c8e8 / e2710e790c since those functions
weren't exercised by checkasm.
Fixes ticket #6766 .
(cherry picked from commit f1fd12ef85 )
2017-10-23 13:31:37 +02:00
Mark Thompson
01e291a592
hwcontext_vaapi: Remove use of vaExportSurfaceHandle()
...
It is not present in libva 2.0.
2017-10-15 12:45:15 +01:00
Michael Niedermayer
e1de9eab3a
Bump minor versions for branching 3.4
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-10-11 01:23:47 +02:00
Michael Niedermayer
832fc05a9b
avutil/frame: Fix project name
...
Issue introduced in: caa12027ba
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-10-11 00:02:07 +02:00
Kaustubh Raste
af9433b1d6
avcodec/mips: Improve avc bi-weighted mc msa functions
...
Replace generic with block size specific function.
Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com >
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-10-10 23:58:41 +02:00
Mark Thompson
b2f256a9f5
hwcontext_vaapi: Add support for mapping to DRM objects
...
Uses vaExportSurfaceHandle() from libva2.
2017-10-09 00:46:16 +01:00
Mark Thompson
309d660775
hwcontext: Perform usual initialisation on derived device contexts
...
The initialisation should be common. For libmfx, it was previously
happening in the derivation function and this moves it out. For VAAPI,
it fixes some failures when deriving from a DRM device because this
initialisation did not run.
2017-10-09 00:11:53 +01:00
Mark Thompson
f3602875b3
hwcontext_vaapi: Set message callbacks on internally-created devices
...
The message callbacks are library-safe in libva2, so we can now use
them.
2017-10-09 00:11:53 +01:00
Mark Thompson
5f39788668
hwcontext_vaapi: Factorise out common connection code
...
This was duplicated between normal device creation and creation by
derivation from a DRM device.
2017-10-09 00:11:53 +01:00
Carl Eugen Hoyos
cd01b3cbcf
lavu/opt: Use "&&" instead of "*" in boolean expression.
...
Fixes the following warning:
libavutil/opt.c:101:47: warning: '*' in boolean context, suggest '&&' instead
2017-10-08 23:15:53 +02:00
Carl Eugen Hoyos
d96d65dfeb
lavu/utils: Use "__asm__" like everywhere else in the codebase.
2017-10-08 01:13:16 +02:00
James Almer
7aa6b8a68f
Merge commit '4de220d2e3751c459f8739a08ac6ca52e63eba30'
...
* commit '4de220d2e3751c459f8739a08ac6ca52e63eba30':
frame: allow align=0 (meaning automatic) for av_frame_get_buffer()
See https://ffmpeg.org/pipermail/ffmpeg-devel/2017-September/215834.html
Merged-by: James Almer <jamrial@gmail.com >
2017-09-27 23:31:53 -03:00
James Almer
3b345d389b
avutil/cpu: split flag checks per arch in av_cpu_max_align()
...
Signed-off-by: James Almer <jamrial@gmail.com >
2017-09-27 23:10:09 -03:00
James Almer
522f877086
Merge commit 'e6bff23f1e11aefb16a2b5d6ee72bf7469c5a66e'
...
* commit 'e6bff23f1e11aefb16a2b5d6ee72bf7469c5a66e':
cpu: add a function for querying maximum required data alignment
Adapted to work with the arbitrary runtime cpuflag changes av_force_cpu_flags()
can generate.
Merged-by: James Almer <jamrial@gmail.com >
2017-09-27 23:03:57 -03:00
James Almer
1a115a31d4
Merge commit 'ce6d72d10776b03c6780d4aa676414ce002285d4'
...
* commit 'ce6d72d10776b03c6780d4aa676414ce002285d4':
imgutils: Document av_image_get_buffer_size()
Merged-by: James Almer <jamrial@gmail.com >
2017-09-27 20:35:04 -03:00
Kaustubh Raste
10ab5534e0
avcodec/mips: Improve avc weighted mc msa functions
...
Replace generic with block size specific function.
Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com >
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-09-27 21:15:57 +02:00
James Almer
0c005fa86f
Merge commit '7abdd026df6a9a52d07d8174505b33cc89db7bf6'
...
* commit '7abdd026df6a9a52d07d8174505b33cc89db7bf6':
asm: Consistently uppercase SECTION markers
Merged-by: James Almer <jamrial@gmail.com >
2017-09-26 18:48:06 -03:00
James Almer
318778de9e
Merge commit 'fd9212f2edfe9b107c3c08ba2df5fd2cba5ab9e3'
...
* commit 'fd9212f2edfe9b107c3c08ba2df5fd2cba5ab9e3':
Mark some arrays that never change as const.
Merged-by: James Almer <jamrial@gmail.com >
2017-09-26 16:02:40 -03:00
Kaustubh Raste
7f8417f226
avcodec/mips: Improve hevc uni-w copy mc msa functions
...
Load the specific destination bytes instead of MSA load and pack.
Pack the data to half word before clipping.
Use immediate unsigned saturation for clip to max saving one vector register.
Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com >
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-09-24 02:33:48 +02:00
Vittorio Giovara
6f15f1cdc8
pixdesc: Add API to map color property names to enum values
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
2017-09-21 13:33:29 +02:00
James Almer
18516d3e69
avutil/hwcontext_dxva2: return an error when buffer allocation fails
...
This also prevents the use of an uninitialized variable.
Reviewed-by: Mark Thompson <sw@jkqxz.net >
Signed-off-by: James Almer <jamrial@gmail.com >
2017-09-19 19:30:08 -03:00
Mark Thompson
b0ece2b31f
hwcontext_vaapi: Fix DRM format mapping
2017-09-19 22:47:04 +01:00
Michael Niedermayer
0f5576a22b
avutil/imgutils: Fix warning: missing braces around initializer
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-09-16 19:55:03 +02:00
Kaustubh Raste
1a85fb7e1e
avcodec/mips: Improve hevc sao band filter msa functions
...
Preload data in band filter 0-8 for better pipeline parallelization.
Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com >
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-09-15 22:36:42 +02:00
Jun Zhao
197d298ab3
hwcontext_vaapi: Fix build failure with old libdrm
...
Signed-off-by: Jun Zhao <jun.zhao@intel.com >
Signed-off-by: Mark Thompson <sw@jkqxz.net >
2017-09-14 22:42:51 +01:00
Mark Thompson
170c65335c
hwcontext_vaapi: Add DRM to VAAPI mapping
2017-09-13 22:25:25 +01:00
Mark Thompson
9cb23cd9fe
lavu: Add DRM hwcontext
2017-09-13 22:03:27 +01:00
Jesse Liu
8e17cd20b9
add missing ignore files
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2017-09-10 19:08:33 +02:00
Clément Bœsch
f61379cbd4
lavu/timer.h: add Linux Perf API support
...
Refer to "checkasm: use perf API on Linux ARM*" commit for the
rationale.
The implementation is somehow duplicated with checkasm, but so is the
current usage of AV_READ_TIME(). Until these implementations and
heuristics are made consistent, I don't see a way of sharing that code.
Note: when using libavutil/timer.h, it is now important to include
before any other include due to the _GNU_SOURCE requirement.
2017-09-08 18:51:05 +02:00
Clément Bœsch
e0b9b3e60e
lavu/tests: move timer.h include earlier
...
In the next commit, timer.h will require a _GNU_SOURCE to be set before
including system headers. This commit prevents compilation failures.
2017-09-08 18:51:05 +02:00