| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
(cherry picked from commit aa41d322be71106ce147445f2b42bb763f1eff86)
Signed-off-by: Michael Niedermayer <[email protected]>
|
|
|
|
|
|
|
|
| |
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 <[email protected]>
|
|
|
|
|
|
|
|
|
| |
Add av_sat_sub32 and av_sat_dsub32 as the subtraction analogues to
av_sat_add32/av_sat_dadd32.
Also clarify the formulas for dadd32/dsub32.
Signed-off-by: Andrew D'Addesio <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
Libav, for some reason, merged this as a public API function. This will
aid in future merges.
A define is left for backwards compat, just in case some person
used it, since it is in a public header.
Signed-off-by: Derek Buitenhuis <[email protected]>
|
|
|
|
|
|
|
|
| |
This fixes ubsan runtime error: signed integer overflow: 8388608 +
2140274688 cannot be represented in type 'int'
Reviewed-by: Michael Niedermayer <[email protected]>
Signed-off-by: Andreas Cadhalpun <[email protected]>
|
|
|
|
| |
Signed-off-by: Michael Niedermayer <[email protected]>
|
|
|
|
|
|
|
| |
av_popcount is not defined in intmath.h.
Reviewed-by: ubitux
Signed-off-by: James Almer <[email protected]>
|
| |
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
* commit '50078c1c8070dd8d1c329e8117ff30ec72489039':
libavutil: move FFALIGN macro from common.h to macros.h
Merged-by: Hendrik Leppkes <[email protected]>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Include macros.h explicitly in common.h so that external code using
FFALIGN does not break. It was already implicitly included through
version.h. Include macros.h in lls.h and internal.h for FFALIGN.
lls.h was including common.h only for FFALIGN and internal.h was
missing the include for FFALIGN. `make checkheaders` did not catch it
because it's an internal header.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The function is renamed to ff_rint64_clip()
This should avoid build failures on VS2012
Feel free to changes this to a different solution
Reviewed-by: James Almer <[email protected]>
Signed-off-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The rationale for this function is reflected in the documentation for
it, and is copied here:
Clip a double value into the long long amin-amax range.
This function is needed because conversion of floating point to integers when
it does not fit in the integer's representation does not necessarily saturate
correctly (usually converted to a cvttsd2si on x86) which saturates numbers
> INT64_MAX to INT64_MIN. The standard marks such conversions as undefined
behavior, allowing this sort of mathematically bogus conversions. This provides
a safe alternative that is slower obviously but assures safety and better
mathematical behavior.
API:
@param a value to clip
@param amin minimum value of the clip range
@param amax maximum value of the clip range
@return clipped value
Note that a priori if one can guarantee from the calling side that the
double is in range, it is safe to simply do an explicit/implicit cast,
and that will be far faster. However, otherwise this function should be
used.
avutil minor version is bumped.
Reviewed-by: Ronald S. Bultje <[email protected]>
Signed-off-by: Ganesh Ajjanagadde <[email protected]>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is of use for defining comparator callbacks. Common approaches like
return x-y are not safe due to the risks of overflow.
Furthermore, the (x > y) - (x < y) trick is optimized to branchless
code.
This also documents this macro accordingly.
Reviewed-by: Michael Niedermayer <[email protected]>
Signed-off-by: Ganesh Ajjanagadde <[email protected]>
|
|\|
| |
| |
| |
| |
| |
| | |
* commit 'cdfe45ad371b7a8e6135b6c063b6b2a93152cb3a':
lavu: Drop deprecated av_reverse function
Merged-by: Hendrik Leppkes <[email protected]>
|
| |
| |
| |
| | |
Deprecated in 10/2012.
|
| |
| |
| |
| |
| |
| |
| | |
This macro avoids the undefined corner case with the *_MIN values
Previous version Reviewed-by: Ganesh Ajjanagadde <[email protected]>
Signed-off-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| | |
Signed-off-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| |
| | |
Reviewed-by: Michael Niedermayer <[email protected]>
Signed-off-by: James Almer <[email protected]>
|
| |
| |
| |
| | |
Signed-off-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| |
| |
| |
| | |
Fixes: signal_sigsegv_30420a5_2388_cov_1489993561_integra_lavf.mp4
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <[email protected]>
|
|\|
| |
| |
| |
| |
| |
| | |
* commit 'bf07d813f6c88b5a76980f321cf7272d799c4216':
libavutil: Add av_clip_intp2
Merged-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
there already is a function, av_clip_uintp2() that clips a signed integer
to an unsigned power-of-two range, i.e. 0,2^p-1
this patch adds a function av_clip_intp2() that clips a signed integer
to a signed power-of-two range, i.e. -(2^p),(2^p-1)
the new function can be used as a special case for av_clip(), e.g.
av_clip(x, -8192, 8191) can be rewritten as av_clip_intp2(x, 13)
there are ARM instructions, usat and ssat resp., which map nicely to these
functions (see next patch)
Signed-off-by: Peter Meerwald <[email protected]>
Signed-off-by: Luca Barbato <[email protected]>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* qatar/master:
Add missing #includes for *INT64_MAX and *INT64_C
Conflicts:
ffmpeg.c
ffmpeg_filter.c
ffplay.c
libavformat/assdec.c
libavformat/avidec.c
Merged-by: Michael Niedermayer <[email protected]>
|
| | |
|
| |
| |
| |
| |
| |
| | |
Make sure the behavior does not change with the locale.
Signed-off-by: Martin Storsjö <[email protected]>
|
| |
| |
| |
| |
| |
| | |
defined with c++
Signed-off-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| | |
Should prevent wrong uses, or at least decrease their chance.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
programs using ffmpeg that are compiled with -Wshorten-64-to-32
gives a warning when using header files common.h and rational.h
cast 64-bit truncated values to (uint32_t) to avoid the warning
Signed-off-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| |
| | |
See "[PATCH] lavfi/lut: use FF_CEIL_RSHIFT for chroma w/h rounding."
thread for more information.
|
| | |
|
| |
| |
| |
| |
| | |
Prevent 0xFE and 0xFF from being considered the start of
non-standard 7-bytes sequences. No noticeable effect on speed.
|
| |
| |
| |
| | |
Signed-off-by: Paul B Mahol <[email protected]>
|
| |
| |
| |
| |
| |
| |
| | |
As far as I can tell the code should not change behaviour
depending on locale in any of these places.
Signed-off-by: Reimar Döffinger <[email protected]>
|
| |
| |
| |
| |
| |
| | |
fix warning
Signed-off-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| |
| |
| | |
This code cannot use av_assert* due to circular header dependancies
Signed-off-by: Michael Niedermayer <[email protected]>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit '3b4296f41473a5b39e84d7a49d480624c9c60040':
avformat: clarify stream id for muxing
fate: Add dependencies for aac, alac, amrnb, amrwb, atrac tests
ppc: do not pass redundant compiler flags
avutil: change GET_UTF8 to not use av_log2()
segment: fix NULL pointer dereference in seg_write_header()
Conflicts:
tests/fate/aac.mak
Merged-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| |
| |
| |
| | |
This removes an inter-library dependency on ff_log2_tab causing
linking errors in some configurations.
Signed-off-by: Mans Rullgard <[email protected]>
|
| |
| |
| |
| | |
Signed-off-by: Michael Niedermayer <[email protected]>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit 'd15c21e5fa3961f10026da1a3080a3aa3cf4cec9':
avutil: Add a copy of ff_sqrt_tab back into avutil to restore ABI compatibility
avutil: make some tables visible again
avutil: remove inline av_log2 from public API
celp_math: rename ff_log2 to ff_log2_q15
Conflicts:
libavutil/libavutil.v
Merged-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| |
| |
| |
| |
| | |
This removes inline av_log2 and av_log2_16bit from the public API,
instead exporting them as regular functions. In-tree code still
gets the inline and otherwise optimised variants.
Signed-off-by: Mans Rullgard <[email protected]>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit 'd5c62122a7b26704bf867a1262df358623bf5edf':
Move av_reverse table to libavcodec
Conflicts:
libavcodec/asvenc.c
libavcodec/vble.c
libavutil/common.h
libavutil/mathematics.c
Merged-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| | |
It is only used in that library.
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* qatar/master: (22 commits)
g723.1: do not pass large structs by value
g723.1: do not bounce intermediate values via memory
g723.1: declare a variable in the block it is used
g723.1: avoid saving/restoring excitation
g723.1: avoid unnecessary memcpy() in residual_interp()
g723.1: make postfilter write directly to output buffer
g723.1: drop unnecessary variable buf_ptr in formant_postfilter()
g723.1: make scale_vector() output to a separate buffer
g723.1: make autocorr_max() work on an arbitrary buffer
g723.1: do not needlessly use int64_t
g723.1: use saturating addition functions
g723.1: optimise scale_vector()
g723.1: remove useless uses of MUL64()
g723.1: remove unnecessary argument 'shift' from dot_product()
g723.1: deobfuscate "(x << 4) - x" to "15 * x"
celp: optimise ff_celp_lp_synthesis_filter()
libavutil: add saturating addition functions
cllc: Implement ARGB support
cllc: Add support for QRGB
cllc: Rename some funcs to represent what they actually do
...
Conflicts:
LICENSE
libavcodec/g723_1.c
libavcodec/x86/Makefile
Merged-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| |
| |
| |
| | |
Fixed-point audio codecs often use saturating arithmetic, and
special instructions for these operations are common.
Signed-off-by: Mans Rullgard <[email protected]>
|
| |
| |
| |
| | |
Signed-off-by: Michael Niedermayer <[email protected]>
|
| | |
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* qatar/master:
fate: add dxtory test
adx_parser: rewrite.
adxdec: Validate channel count to fix a division by zero.
adxdec: Do not require extradata.
cmdutils: K&R reformatting cosmetics
alacdec: implement the 2-pass prediction type.
alacenc: implement the 2-pass prediction type.
alacenc: do not generate invalid multi-channel ALAC files
alacdec: fill in missing or guessed info about the extradata format.
utvideo: proper median prediction for interlaced videos
lavu: bump lavu minor for av_popcount64
dca: K&R formatting cosmetics
dct: K&R formatting cosmetics
lavf: flush decoders in avformat_find_stream_info().
win32: detect number of CPUs using affinity
Add av_popcount64
snow: Restore three mistakenly removed casts.
Conflicts:
cmdutils.c
doc/APIchanges
libavcodec/adx_parser.c
libavcodec/adxdec.c
libavcodec/alacenc.c
libavutil/avutil.h
tests/fate/screen.mak
Merged-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| | |
Signed-off-by: Janne Grunau <[email protected]>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* qatar/master:
swscale: Readd #define _SVID_SOURCE
Fix av_get_channel_layout_string() for positions >31
configure: Store vda lib flags in extralibs instead of ldflags
Make channel layout masks unsigned
dca: ARMv6 optimised decode_blockcode()
nullenc: drop AVFMT_RAWPICTURE from the flags
frame-mt: return consumed packet size in ff_thread_decode_frame
aacdec: add more fate tests covering SBR and PS
MK(BE)TAG: avoid undefined shifts
Conflicts:
configure
libavcodec/arm/dca.h
libavcodec/dca.c
libavcodec/mlp_parser.c
libavcodec/version.h
libavfilter/asrc_anullsrc.c
libavfilter/avfilter.c
libavfilter/avfilter.h
libavfilter/defaults.c
libavutil/audioconvert.c
libavutil/avutil.h
libswscale/utils.c
Merged-by: Michael Niedermayer <[email protected]>
|