summaryrefslogtreecommitdiff
path: root/libswscale
Commit message (Collapse)AuthorAge
* Don't include common.h from avutil.hMartin Storsjö2012-08-15
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* x86: swscale: fix fragile memory accessesMans Rullgard2012-08-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | To access data at multiple fixed offsets from a base address, this code uses a single "m" operand and code of the form "32%0", relying on the memory operand instantiation having no displacement, giving a final result of the form "32(%rax)". If the compiler uses a register and displacement, e.g. "64(%rax)", the end result becomes "3264(%rax)", which obviously does not work. Replacing the "m" operands with "r" operands allows safe addition of a displacement. In theory, multiple memory operands could use a shared base register with different index registers, "(%rax,%rbx)", potentially making more efficient use of registers. In the cases at hand, no such sharing is possible since the addresses involved are entirely unrelated. After this change, the code somewhat rudely accesses memory without using a corresponding memory operand, which in some cases can lead to unwanted "optimisations" of surrounding code. However, the original code also accesses memory not covered by a memory operand, so this is not adding any defect not already present. It is also hightly unlikely that any such optimisations could be performed here since the memory locations in questions are not accessed elsewhere in the same functions. This fixes crashes with suncc. Signed-off-by: Mans Rullgard <mans@mansr.com>
* x86: swscale: remove disabled codeMans Rullgard2012-08-13
| | | | | | | This code has been disabled since 2003. Nobody will ever look at it again. Signed-off-by: Mans Rullgard <mans@mansr.com>
* x86: rename libavutil/x86_cpu.h to libavutil/x86/asm.hMans Rullgard2012-08-09
| | | | | | | This puts x86-specific things in the x86/ subdirectory where they belong. Signed-off-by: Mans Rullgard <mans@mansr.com>
* x86: build: replace mmx2 by mmxextDiego Biurrun2012-08-03
| | | | | | | Refactoring mmx2/mmxext YASM code with cpuflags will force renames. So switching to a consistent naming scheme beforehand is sensible. The name "mmxext" is more official and widespread and also the name of the CPU flag, as reported e.g. by the Linux kernel.
* swscale: bury one more piece of inline asm under HAVE_INLINE_ASM.Ronald S. Bultje2012-07-29
|
* swscale: add missing HAVE_INLINE_ASM check.Ronald S. Bultje2012-07-22
| | | | The function called in this block is under HAVE_INLINE_ASM itself also.
* swscale: Mark all init functions as av_coldDiego Biurrun2012-07-23
|
* swscale: x86: Drop pointless _mmx suffix from filenamesDiego Biurrun2012-07-23
| | | | The files do not contain only MMX code.
* swscale: place inline assembly bilinear scaler under HAVE_INLINE_ASM.Ronald S. Bultje2012-07-22
|
* x86: swscale: Place inline assembly code under appropriate #ifdefsRonald S. Bultje2012-07-21
| | | | | | Fixes compilation for compilers that do not support gcc inline assembly. Signed-off-by: Diego Biurrun <diego@biurrun.de>
* swscale: yuv2planeX 8bit >=sse2 functions need aligned stack on x86-32.Martin Storsjö2012-07-04
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* Clarify Doxygen comment for FF_API_* #defines.Diego Biurrun2012-07-04
|
* Create version.h headers for libraries that lack themDiego Biurrun2012-07-04
|
* bfin: libswscale: add const where appropriate to fix warningsMans Rullgard2012-06-20
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* bfin: libswscale: remove unnecessary #includesMans Rullgard2012-06-20
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* sws: fix planar RGB input conversions for 9/10/16 bpp.Ronald S. Bultje2012-06-12
| | | | | | Fixes bug 282. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* build: cosmetics: Split HEADERS/OBJS/PROGS lists into one entry per line.Diego Biurrun2012-05-07
|
* swscale: K&R formatting cosmetics (part III)Diego Biurrun2012-04-22
|
* swscale: clip before assigning tables in RGB output functions.Ronald S. Bultje2012-04-14
|
* swscale: fix off-by-one in second coefficient in bilinear filters.Ronald S. Bultje2012-04-14
| | | | | If coefficient A is 12-bits xixed-point number "X", then the other coefficient is (1 << 12) - X, not (1 << 12) - X - 1.
* swscale: handle last pixel if lines have an odd width.Ronald S. Bultje2012-04-13
| | | | Fixes bug 270.
* swscale: K&R formatting cosmetics (part II)Diego Biurrun2012-04-13
| | | | Also adjust some comments including wording and typo fixes.
* build: Move all arch OBJS declarations into arch subdirectory Makefiles.Diego Biurrun2012-04-12
|
* build: Consistently handle conditional compilation for all optimization OBJS.Diego Biurrun2012-04-12
|
* x86inc improvements for 64-bitHenrik Gramner2012-04-11
| | | | | | | | | | | | 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>
* ppc: Add/remove a number of const qualifiers to fix related warnings.Diego Biurrun2012-04-09
|
* swscale: handle complete dimensions for monoblack/white.Ronald S. Bultje2012-04-04
| | | | Fixes bug 269.
* Unscaled Planar RGB -> RGB support in swscale.Hans-Kristian Arntzen2012-04-03
| | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* build: Only clean the architecture subdirectory we build for.Diego Biurrun2012-03-26
| | | | | This allows simplifying the Makefiles; it is no longer necessary to register arch subdirectory Makefiles, just putting them in place is enough.
* build: prettyprinting cosmeticsDiego Biurrun2012-03-26
|
* swscale: convert hscale() to use named arguments.Ronald S. Bultje2012-03-14
|
* swscale: convert hscale to cpuflags().Ronald S. Bultje2012-03-14
|
* swscale: clip unscaled output intermediates.Ronald S. Bultje2012-03-07
| | | | | Fixes bug 240, as well as several integer overflows (visible as glitches) in other scaling output routines, e.g. YUV422.
* swscale: make filterPos 32bit.Ronald S. Bultje2012-03-06
| | | | | | | Fixes overflows for large image sizes. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* swscale: remove "cpu flags" from -sws_flags description.Ronald S. Bultje2012-03-04
|
* swscale: make %rep unconditional.Ronald S. Bultje2012-03-03
| | | | Fixes pre-processing with latest versions of nasm.
* swscale: remove now unnecessary hack.Ronald S. Bultje2012-03-03
|
* swscale: K&R formatting cosmetics for PowerPC code (part II/II)Diego Biurrun2012-03-02
|
* swscale: fix another integer overflow.Ronald S. Bultje2012-02-29
| | | | | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* swscale: fix another integer overflow at large dimensions/rescales.Ronald S. Bultje2012-02-24
|
* swscale: take first/lastline over/underflows into account for MMX.Ronald S. Bultje2012-02-23
| | | | | | | Fixes crashes for extremely large resizes (several 100-fold). Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* swscale: fix underflows in firstline calculations for extreme resizes.Ronald S. Bultje2012-02-23
| | | | | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* swscale: fix overflows in filterPos[] calculation for large sizes.Ronald S. Bultje2012-02-23
| | | | | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* swscale: fix filtersize clipping.Ronald S. Bultje2012-02-22
| | | | if srcW<=2, clip(x, 1, srcW-2) still allows srcW to be < 1.
* swscale: K&R formatting cosmetics (part I)Diego Biurrun2012-02-21
|
* swscale: variable declaration and placement cosmeticsDiego Biurrun2012-02-21
|
* swscale: K&R formatting cosmetics for PowerPC code (part I/II)Diego Biurrun2012-02-21
|
* Revert two swscale commits.Ronald S. Bultje2012-02-19
| | | | | | | | | | | Revert "swscale: update context offsets after removal of AlpMmxFilter." (commit a95e3fa90b4190381b65d180eec5a4027075e2da) and Revert "swscale: Remove some write-only variables related to alpha handling." (commit 9d03cb9fc5ddf914920ab0dbe13f19a34c754966). They broke alpha handling - it's the evil inline asm that still uses that variable, so it's not truely write-only.
* swscale: make access to filter data conditional on filter type.Ronald S. Bultje2012-02-17
| | | | | Prevents crashes on 1-tap filter (unscaled). Also rename "bguf" argument to "vbuf", seems that was a typo.