summaryrefslogtreecommitdiff
path: root/libswscale
Commit message (Collapse)AuthorAge
* x86: mmx2 ---> mmxext in function namesDiego Biurrun2012-10-31
|
* swscale: do not forget to swap data in formats with different endiannessKostya Shishkov2012-10-31
| | | | | | | | Otherwise during scaling it will try to interpret input in the wrong way and that leads to the test results disagreeing on different platforms and with different optimizations. Signed-off-by: Diego Biurrun <diego@biurrun.de>
* x86: MMX2 ---> MMXEXT in macro namesDiego Biurrun2012-10-31
|
* x86: mmx2 ---> mmxext in variable namesDiego Biurrun2012-10-31
|
* x86: mmx2 ---> mmxext in comments and messagesDiego Biurrun2012-10-31
|
* x86: yasm: Use complete source path for macro helper %includesDiego Biurrun2012-10-31
| | | | | This is more consistent with the way we handle C #includes and it simplifies the build system.
* x86: include x86inc.asm in x86util.asmDiego Biurrun2012-10-31
| | | | This is necessary to allow refactoring some x86util macros with cpuflags.
* pixfmt: support more yuva formatsLuca Barbato2012-10-30
| | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* swscale: support gray to 9bit and 10bit formatsLuca Barbato2012-10-30
| | | | With the input of Kostya and Ronald.
* swscale: avoid pointless use of compound literalsMans Rullgard2012-10-23
| | | | | | Some compilers (e.g. old gcc) have trouble with these. Signed-off-by: Mans Rullgard <mans@mansr.com>
* swscale: try to use mmap only if availableMans Rullgard2012-10-15
| | | | | | | | | | | | Some systems, e.g. Minix, have sys/mman.h defining MAP_ANONYMOUS without providing (working) mmap and friends. The mmx filter generation code checks only for MAP_ANONYMOUS, not for availability of mmap itself which leads to build errors on aforementioned systems. This changes the conditional compilation to use mmap only if all the required functions are available. Signed-off-by: Mans Rullgard <mans@mansr.com>
* avutil: add yuva422p and yuva444p formatsLuca Barbato2012-10-12
|
* sws: do not use av_pix_fmt_descriptors directly.Anton Khirnov2012-10-12
|
* swscale: Do not make ff_ symbols globally visible.Diego Biurrun2012-10-10
|
* Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormatAnton Khirnov2012-10-08
|
* Give all anonymously typedeffed structs in headers a nameDiego Biurrun2012-10-06
| | | | Anonymous structs cannot be forward declared and have no benefit.
* ppc: swscale: rework yuv2planeX_altivec()Mans Rullgard2012-10-05
| | | | | | | | | This gets rid of the variable-length scratch buffer by filtering 16 pixels at a time and writing directly to the destination. The extra loads this requires to load the source values are compensated by not doing a round-trip to memory before shifting. Signed-off-by: Mans Rullgard <mans@mansr.com>
* swscale: Remove two bogus assertsDiego Biurrun2012-09-13
|
* swscale: Provide the right alignment for external mmx asmMartin Storsjö2012-09-09
| | | | | | | | | | This reverts parts of e0c6cce4472. There is external mmx asm that requires this alignment. This fixes crashes when using swscale in builds with external mmx, without inline assembly. Signed-off-by: Martin Storsjö <martin@martin.st>
* x86: Replace checks for CPU extensions and flags by convenience macrosDiego Biurrun2012-09-08
| | | | | This separates code relying on inline from that relying on external assembly and fixes instances where the coalesced check was incorrect.
* x86: more specific checks for availability of required assembly capabilitiesDiego Biurrun2012-09-07
|
* avopt: Store defaults for AV_OPT_TYPE_INT in the i64 union memberMartin Storsjö2012-09-04
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* avopt: Store defaults for AV_OPT_TYPE_FLAGS in the i64 union memberMartin Storsjö2012-09-04
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* avopt: Store defaults for AV_OPT_TYPE_CONST in the i64 union memberMartin Storsjö2012-09-04
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* x86: Split inline and external assembly #ifdefsDiego Biurrun2012-08-31
|
* x86: cosmetics: Comment some #endifs for better readabilityDiego Biurrun2012-08-30
|
* yuv2rgb: handle line widths that are not a multiple of 4.Ronald S. Bultje2012-08-28
| | | | | | | This introduces support for width%4==2 in addition to width%4==0. For odd widths, some more checks are needed, since the current code always handles two luma items in a row, thus there is a possibility of an overread by one.
* testprogs: Remove unused includesMartin Storsjö2012-08-29
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* swscale: x86: fix #endif comments in rgb2rgb template fileGiorgio Vazzana2012-08-19
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* 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.