Commit Graph

1095 Commits

Author SHA1 Message Date
Diego Biurrun
9b75ae05cf swscale: K&R formatting cosmetics (part III) 2012-04-22 17:37:07 +02:00
Ronald S. Bultje
7f77e9041a swscale: clip before assigning tables in RGB output functions. 2012-04-14 16:29:24 -07:00
Ronald S. Bultje
4860625236 swscale: fix off-by-one in second coefficient in bilinear filters.
If coefficient A is 12-bits xixed-point number "X", then the other
coefficient is (1 << 12) - X, not (1 << 12) - X - 1.
2012-04-14 16:29:10 -07:00
Ronald S. Bultje
9206ac80a5 swscale: handle last pixel if lines have an odd width.
Fixes bug 270.
2012-04-13 14:21:58 -07:00
Diego Biurrun
ef0ee7f657 swscale: K&R formatting cosmetics (part II)
Also adjust some comments including wording and typo fixes.
2012-04-13 19:22:00 +02:00
Diego Biurrun
baaab6069a build: Move all arch OBJS declarations into arch subdirectory Makefiles. 2012-04-12 21:30:13 +02:00
Diego Biurrun
7bb3a302fe build: Consistently handle conditional compilation for all optimization OBJS. 2012-04-12 09:00:49 +02:00
Henrik Gramner
729f90e268 x86inc improvements for 64-bit
Add support for all x86-64 registers
Prefer caller-saved register over callee-saved on WIN64
Support up to 15 function arguments

Also (by Ronald S. Bultje)
Fix up our asm to work with new x86inc.asm.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-04-11 15:47:00 -04:00
Diego Biurrun
02c39f056a ppc: Add/remove a number of const qualifiers to fix related warnings. 2012-04-09 20:39:33 +02:00
Ronald S. Bultje
bc0bdda77b swscale: handle complete dimensions for monoblack/white.
Fixes bug 269.
2012-04-04 10:55:50 -07:00
Hans-Kristian Arntzen
b991b300f2 Unscaled Planar RGB -> RGB support in swscale.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-04-03 13:06:42 -04:00
Diego Biurrun
e7e19b15c7 build: Only clean the architecture subdirectory we build for.
This allows simplifying the Makefiles; it is no longer necessary to register
arch subdirectory Makefiles, just putting them in place is enough.
2012-03-26 13:29:03 +02:00
Diego Biurrun
ad0e31f134 build: prettyprinting cosmetics 2012-03-26 13:00:10 +02:00
Ronald S. Bultje
45fdcc8e2d swscale: convert hscale() to use named arguments. 2012-03-14 20:09:53 -07:00
Ronald S. Bultje
aba7a827aa swscale: convert hscale to cpuflags(). 2012-03-14 20:09:53 -07:00
Ronald S. Bultje
9487fb4dea swscale: clip unscaled output intermediates.
Fixes bug 240, as well as several integer overflows (visible as glitches)
in other scaling output routines, e.g. YUV422.
2012-03-07 09:35:46 -08:00
Ronald S. Bultje
2254b559cb swscale: make filterPos 32bit.
Fixes overflows for large image sizes.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-03-06 10:47:41 -08:00
Ronald S. Bultje
1c97b5c4a3 swscale: remove "cpu flags" from -sws_flags description. 2012-03-04 06:52:06 -08:00
Ronald S. Bultje
dccb2cd3f9 swscale: make %rep unconditional.
Fixes pre-processing with latest versions of nasm.
2012-03-03 20:40:00 -08:00
Ronald S. Bultje
8249a23fc1 swscale: remove now unnecessary hack. 2012-03-03 20:39:59 -08:00
Diego Biurrun
36697be187 swscale: K&R formatting cosmetics for PowerPC code (part II/II) 2012-03-02 02:16:40 +01:00
Ronald S. Bultje
791de61bbb swscale: fix another integer overflow.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-02-29 11:19:03 -08:00
Ronald S. Bultje
2bb628f870 swscale: fix another integer overflow at large dimensions/rescales. 2012-02-24 15:39:55 -08:00
Ronald S. Bultje
1d8c4af396 swscale: take first/lastline over/underflows into account for MMX.
Fixes crashes for extremely large resizes (several 100-fold).

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-02-23 10:30:08 -08:00
Ronald S. Bultje
491865b57d swscale: fix underflows in firstline calculations for extreme resizes.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-02-23 10:30:07 -08:00
Ronald S. Bultje
19a65b5be4 swscale: fix overflows in filterPos[] calculation for large sizes.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-02-23 10:30:07 -08:00
Ronald S. Bultje
1254022ea7 swscale: fix filtersize clipping.
if srcW<=2, clip(x, 1, srcW-2) still allows srcW to be < 1.
2012-02-22 16:54:20 -08:00
Diego Biurrun
89d94b2182 swscale: K&R formatting cosmetics (part I) 2012-02-21 22:53:40 +01:00
Diego Biurrun
72b95764d0 swscale: variable declaration and placement cosmetics 2012-02-21 22:53:37 +01:00
Diego Biurrun
04217de4d6 swscale: K&R formatting cosmetics for PowerPC code (part I/II) 2012-02-21 20:17:57 +01:00
Ronald S. Bultje
b18f8cbf3d Revert two swscale commits.
Revert "swscale: update context offsets after removal of AlpMmxFilter."
(commit a95e3fa90b)
and
Revert "swscale: Remove some write-only variables related to alpha handling."
(commit 9d03cb9fc5).

They broke alpha handling - it's the evil inline asm that still uses that
variable, so it's not truely write-only.
2012-02-19 13:31:12 -08:00
Ronald S. Bultje
1bab6f852c swscale: make access to filter data conditional on filter type.
Prevents crashes on 1-tap filter (unscaled). Also rename "bguf" argument
to "vbuf", seems that was a typo.
2012-02-17 10:31:15 -08:00
Ronald S. Bultje
a95e3fa90b swscale: update context offsets after removal of AlpMmxFilter. 2012-02-17 10:31:15 -08:00
Ronald S. Bultje
25c42234a9 swscale: make monowhite/black RGB-independent.
Disadvantage is that it no longer allows modifying brightness through
adjustment of the RGB lookup table. Advantage is that now monowhite/black
no longer need to be identified as a RGB format.
2012-02-16 21:43:20 -08:00
Diego Biurrun
9d03cb9fc5 swscale: Remove some write-only variables related to alpha handling. 2012-02-14 10:12:43 +01:00
Ronald S. Bultje
771bab7f57 swscale: fix crashes in yuv2yuvX on x86-32.
They were introduced in an earlier commit that introduced use of named
arguments. One cause was a typo, a second cause appears to be a bug in
x264asm that I work around by not using named arguments.
2012-02-13 13:41:13 -08:00
Diego Biurrun
7331b6e718 Drop some completely unnecessary av_unused attributes. 2012-02-13 19:20:53 +01:00
Diego Biurrun
92fed11352 swscale: Remove unused variable alpMmxFilter. 2012-02-13 19:20:53 +01:00
Ronald S. Bultje
3cac475655 swscale: move YUV2PACKED16WRAPPER() macro down to where it is used. 2012-02-13 07:14:05 -08:00
Ronald S. Bultje
c0b87359b2 swscale: handle gray16 as a "planar" YUV format (Y-only, of course).
This allows removing any gray16-specific code, which is essentially
identical to the per-plane code in yuv2plane*().
2012-02-13 07:14:05 -08:00
Ronald S. Bultje
9d9c846491 swscale: use yuv2packed1() functions for unscaled chroma also. 2012-02-13 07:14:04 -08:00
Ronald S. Bultje
d63b7d8c37 swscale: fix incorrect chroma bias in yuv2rgb48_1_c(). 2012-02-13 07:14:04 -08:00
Ronald S. Bultje
1ca7dc60d2 swscale: fix invalid memory accesses in yuvpacked1() functions. 2012-02-13 07:14:04 -08:00
Ronald S. Bultje
3e23badd83 swscale: convert yuv2yuvX() to using named arguments. 2012-02-12 08:27:51 -08:00
Ronald S. Bultje
8c433d8a03 swscale: rename "dstw" to "w" to prevent name collisions.
"dstw" can collide with the word-version of the "dst" argument, causing
all kind of weird stuff down the pipe.
2012-02-12 08:27:50 -08:00
Ronald S. Bultje
ef66a0ed2e swscale: use named registers in yuv2yuv1_plane() place.
Most of the function had been converted before, but I forgot this
particular location.
2012-02-12 08:27:50 -08:00
Ronald S. Bultje
dae2ce361a swscale: enforce a minimum filtersize.
At very small dimensions, this calculation could lead to zero-sized
filters, which leads to uninitialized output, zero-sized allocations,
loop overflows in SIMD that uses do{..}while(i++<filtersize); instead
of for(i=0;i<filtersize;i++){..} and several other similar failures.
Therefore, require a minimum filtersize of 1.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-02-11 10:06:50 -08:00
Diego Biurrun
a2e40cd3e2 swscale: ppc: Add missing header #includes to pass 'make checkheaders'. 2012-02-09 12:26:46 +01:00
Anton Khirnov
38d5533228 pixdesc: mark pseudopaletted formats with a special flag.
This makes it possible to dintinguish them from PAL8.

Fixes an invalid write in avpicture_layout().
2012-02-08 21:01:31 +01:00
Ronald S. Bultje
783487ae44 swscale: sign-extend integer function argument to qword on x86-64. 2012-02-08 10:31:14 -08:00