aboutsummaryrefslogtreecommitdiff
path: root/libswscale
AgeCommit message (Collapse)Author
2013-03-08Replace some forgotten instances of PIX_FMT_* with AV_PIX_FMT_*.Anton Khirnov
2013-02-27swscale: Add support for unscaled 8-bit Packed RGB -> Planar RGBDerek Buitenhuis
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-02-11swscale: Disallow conversion to GBRP16Martin Storsjö
This reverts parts of d6d5ef5534d582, that didn't work right. (The tests that were added failed on big endian, and the output looked garbled on little endian as well.) This is due to the fact that the intermediate scaling values (from e.g. hScale8To19_c or hScale16To19_c) are stored as int32_t and thus requires a separate output function, while yuv2gbrp_full_X_c only interprets it as int16_t. Signed-off-by: Martin Storsjö <martin@martin.st>
2013-02-09sws: disable yuv2rgb warning for planar rgb.Michael Niedermayer
planar rgb formats do not use the table Signed-off-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-02-09sws: dont enable chrSrcHSubSample for planar RGBMichael Niedermayer
This code path is not implemented and makes not much sense to implement either. Signed-off-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-02-09sws: use planarRgbToRgbWrapper only for 8bit per componentMichael Niedermayer
The function doesnt support >8bit currently Signed-off-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-02-09sws: GBRP9, GBRP10, and GBRP16 output supportMichael Niedermayer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-01-27swscale: GBRP output supportMichael Niedermayer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-01-18x86inc: Rename "program_name" to "private_prefix"Diego Biurrun
The new name is more descriptive and will allow defining a separate public prefix for externally visible library symbols. Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-04swscale: fix NULL checking in sws_alloc_context()Xi Wang
sws_getCachedContext() and sws_getContext() expect sws_alloc_context() to return NULL when out of memory, as follows. if (!(context = sws_alloc_context())) return NULL; This patch fixes sws_alloc_context() to return NULL in that case. Signed-off-by: Xi Wang <xi.wang@gmail.com> Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-12-21miscellaneous typo fixesDiego Biurrun
2012-11-18x86: SPLATD: port to cpuflagsDiego Biurrun
2012-11-16libswscale: remove unnecessary direct #if LIBSWSCALE_VERSION_MAJORJanne Grunau
SWS_CPU_CAPS are deprecated and slated to removed with libswscale major version 3. No need to provide a SWS_CPU_CAPS_MMX2 as backward compatibility define under the same explicit condition.
2012-11-14x86: mmx2 ---> mmxext in asm constructsDiego Biurrun
2012-11-09x86: PALIGNR: port to cpuflagsDiego Biurrun
2012-10-31x86: mmx2 ---> mmxext in function namesDiego Biurrun
2012-10-31swscale: do not forget to swap data in formats with different endiannessKostya Shishkov
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>
2012-10-31x86: MMX2 ---> MMXEXT in macro namesDiego Biurrun
2012-10-31x86: mmx2 ---> mmxext in variable namesDiego Biurrun
2012-10-31x86: mmx2 ---> mmxext in comments and messagesDiego Biurrun
2012-10-31x86: yasm: Use complete source path for macro helper %includesDiego Biurrun
This is more consistent with the way we handle C #includes and it simplifies the build system.
2012-10-31x86: include x86inc.asm in x86util.asmDiego Biurrun
This is necessary to allow refactoring some x86util macros with cpuflags.
2012-10-30pixfmt: support more yuva formatsLuca Barbato
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-10-30swscale: support gray to 9bit and 10bit formatsLuca Barbato
With the input of Kostya and Ronald.
2012-10-23swscale: avoid pointless use of compound literalsMans Rullgard
Some compilers (e.g. old gcc) have trouble with these. Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-15swscale: try to use mmap only if availableMans Rullgard
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>
2012-10-12avutil: add yuva422p and yuva444p formatsLuca Barbato
2012-10-12sws: do not use av_pix_fmt_descriptors directly.Anton Khirnov
2012-10-10swscale: Do not make ff_ symbols globally visible.Diego Biurrun
2012-10-08Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormatAnton Khirnov
2012-10-06Give all anonymously typedeffed structs in headers a nameDiego Biurrun
Anonymous structs cannot be forward declared and have no benefit.
2012-10-05ppc: swscale: rework yuv2planeX_altivec()Mans Rullgard
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>
2012-09-13swscale: Remove two bogus assertsDiego Biurrun
2012-09-09swscale: Provide the right alignment for external mmx asmMartin Storsjö
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>
2012-09-08x86: Replace checks for CPU extensions and flags by convenience macrosDiego Biurrun
This separates code relying on inline from that relying on external assembly and fixes instances where the coalesced check was incorrect.
2012-09-07x86: more specific checks for availability of required assembly capabilitiesDiego Biurrun
2012-09-04avopt: Store defaults for AV_OPT_TYPE_INT in the i64 union memberMartin Storsjö
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-04avopt: Store defaults for AV_OPT_TYPE_FLAGS in the i64 union memberMartin Storsjö
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-04avopt: Store defaults for AV_OPT_TYPE_CONST in the i64 union memberMartin Storsjö
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-31x86: Split inline and external assembly #ifdefsDiego Biurrun
2012-08-30x86: cosmetics: Comment some #endifs for better readabilityDiego Biurrun
2012-08-28yuv2rgb: handle line widths that are not a multiple of 4.Ronald S. Bultje
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.
2012-08-29testprogs: Remove unused includesMartin Storsjö
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-19swscale: x86: fix #endif comments in rgb2rgb template fileGiorgio Vazzana
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-08-15Don't include common.h from avutil.hMartin Storsjö
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-13x86: swscale: fix fragile memory accessesMans Rullgard
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>
2012-08-13x86: swscale: remove disabled codeMans Rullgard
This code has been disabled since 2003. Nobody will ever look at it again. Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-09x86: rename libavutil/x86_cpu.h to libavutil/x86/asm.hMans Rullgard
This puts x86-specific things in the x86/ subdirectory where they belong. Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-03x86: build: replace mmx2 by mmxextDiego Biurrun
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.
2012-07-29swscale: bury one more piece of inline asm under HAVE_INLINE_ASM.Ronald S. Bultje