ffmpeg/libswscale
Ronald S. Bultje d49352c7cc swscale: fix overflows in vertical scaling at top/bottom edges.
This fixes integer multiplication overflows in RGB48 output
(vertical) scaling as detected by IOC. What happens is that for
certain types of filters (lanczos, spline, bicubic), the
intermediate sum of coefficients in the middle of a filter can
be larger than the fixed-point equivalent of 1.0, even if the
final sum is 1.0. This is fine and we support that.

However, at frame edges, initFilter() will merge the coefficients
for the off-screen pixels into the top or bottom pixel, such as
to emulate edge extension. This means that suddenly, a single
coefficient can be larger than the fixed-point equivalent of
1.0, which the vertical scaling routines do not support.

Therefore, remove the merging of coefficients for edges for
the vertical scaling filter, and instead add edge detection
to the scaler itself so that it copies the pointers (not data)
for the edges (i.e. it uses line[0] for line[-1] as well), so
that a single coefficient is never larger than the fixed-point
equivalent of 1.0.
2011-12-18 08:27:43 -08:00
..
bfin swscale: Remove unused variable from ff_bfin_get_unscaled_swscale(). 2011-06-21 20:53:52 +02:00
mlib Replace FFmpeg with Libav in licence headers 2011-03-19 13:33:20 +00:00
ppc swscale: update altivec yuv2planeX asm to new per-plane API. 2011-10-22 10:35:14 -07:00
sparc Replace FFmpeg with Libav in licence headers 2011-03-19 13:33:20 +00:00
x86 swscale_mmx: drop no longer required parameters from VSCALEX macros 2011-12-14 12:00:44 +01:00
colorspace-test.c sws: replace all long with int. 2011-05-28 10:03:37 -04:00
libswscale.v
Makefile build: move inclusion of subdir.mak to main subdir loop 2011-12-13 14:26:49 +00:00
options.c AVOptions: rename FF_OPT_TYPE_* => AV_OPT_TYPE_* 2011-10-12 16:51:16 +02:00
rgb2rgb_template.c swscale: Remove disabled code. 2011-05-29 14:32:08 +02:00
rgb2rgb.c Remove extraneous semicolons 2011-12-11 17:23:24 +00:00
rgb2rgb.h sws: replace all long with int. 2011-05-28 10:03:37 -04:00
swscale_internal.h doxygen: misc consistency, spelling and wording fixes 2011-12-12 23:06:23 +01:00
swscale_unscaled.c swscale: add endian conversion for RGB555 and RGB444 pixel formats 2011-12-17 19:52:19 +01:00
swscale-test.c swscale: Remove commented-out printf cruft. 2011-05-26 03:45:58 +02:00
swscale.c swscale: fix overflows in vertical scaling at top/bottom edges. 2011-12-18 08:27:43 -08:00
swscale.h doxygen: misc consistency, spelling and wording fixes 2011-12-12 23:06:23 +01:00
utils.c swscale: fix overflows in vertical scaling at top/bottom edges. 2011-12-18 08:27:43 -08:00
yuv2rgb.c swscale: fix signed shift overflows in ff_yuv2rgb_c_init_tables() 2011-10-21 20:56:59 +01:00