• Ronald S. Bultje's avatar
    swscale: fix overflows in output of RGB48 pixels. · be1bafc3
    Ronald S. Bultje authored
    For certain types of filters where the intermediate sum of coefficients
    can go above the fixed-point equivalent of 1.0 in the middle of a filter,
    the sum of a 31-bit calculation can overflow in both directions and can
    thus not be represented in a 32-bit signed or unsigned integer. To work
    around this, we subtract 0x40000000 from a signed integer base, so that
    we're halfway signed/unsigned, which makes it fit even if it overflows.
    After the filter finishes, we add the scaled bias back after a shift.
    
    We use the same trick for 16-bit bpc YUV output routines.
    Signed-off-by: 's avatarMans Rullgard <mans@mansr.com>
    be1bafc3
Name
Last commit
Last update
doc Loading commit data...
libavcodec Loading commit data...
libavdevice Loading commit data...
libavfilter Loading commit data...
libavformat Loading commit data...
libavutil Loading commit data...
libpostproc Loading commit data...
libswscale Loading commit data...
presets Loading commit data...
tests Loading commit data...
tools Loading commit data...
.gitignore Loading commit data...
COPYING.GPLv2 Loading commit data...
COPYING.GPLv3 Loading commit data...
COPYING.LGPLv2.1 Loading commit data...
COPYING.LGPLv3 Loading commit data...
CREDITS Loading commit data...
Changelog Loading commit data...
Doxyfile Loading commit data...
INSTALL Loading commit data...
LICENSE Loading commit data...
Makefile Loading commit data...
README Loading commit data...
RELEASE Loading commit data...
avconv.c Loading commit data...
avplay.c Loading commit data...
avprobe.c Loading commit data...
avserver.c Loading commit data...
cmdutils.c Loading commit data...
cmdutils.h Loading commit data...
cmdutils_common_opts.h Loading commit data...
common.mak Loading commit data...
configure Loading commit data...
ffmpeg.c Loading commit data...
library.mak Loading commit data...
version.sh Loading commit data...