summaryrefslogtreecommitdiff
path: root/libswscale
Commit message (Collapse)AuthorAge
...
* swscale: split out RGB48 output functions from yuv2packed[12X]_c().Ronald S. Bultje2011-06-14
| | | | | | | This is part of the Great Evil Plan to simplify swscale. Note that you'll see some code duplication between the output functions for different RGB variants, and even between packed-YUV and RGB variants. This is intentional because it improves readability.
* swscale: fix JPEG-range YUV scaling artifacts.Michael Niedermayer2011-06-14
| | | | | | | YUV planes were marked as uint16_t, but they contained signed data. Fixes issue 1108 and 675. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* libavutil/swscale: YUV444P10/YUV444P9 support.Ronald S. Bultje2011-06-10
| | | | | | | Also add missing glue code for recently added YUV422P10 formats to swscale. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* swscale: split YUYV output out of yuv2packed[12X]_c().Ronald S. Bultje2011-06-09
| | | | This is part of the Great Evil Plan to simplify swscale.
* swscale: extract monowhite/black output from yuv2packed[12X]_c().Ronald S. Bultje2011-06-09
| | | | This is part of the Great Evil Plan to simplify swscale.
* swscale: de-macro'ify RGB15/16/32 input functions.Ronald S. Bultje2011-06-09
| | | | | | | | Inline functions are easier to read, maintain, modify and test, which justifies the slightly increased source size. This patch also adds support for non-native endianness RGB15/16 and fixes isSupportedOutput() to no longer claim that we support writing non-native RGB565/555/444.
* swscale: rearrange code.Ronald S. Bultje2011-06-09
| | | | | This way the code in the file is less cluttered all-over-the- place.
* swscale: change 48bit RGB input macros to inline functions.Ronald S. Bultje2011-06-09
| | | | | | Inline functions are slightly larger in source code, but are easier to handle in source code editors. The binary code generated is the same.
* swscale: change 9/10bit YUV input macros to inline functions.Ronald S. Bultje2011-06-09
| | | | | | Inline functions are slightly larger in source code, but are easier to handle in source code editors. The binary code generated is the same.
* swscale: extract gray16 output functions from yuv2packed[12X]().Ronald S. Bultje2011-06-09
| | | | This is part of the Great Evil Plan to simplify swscale.
* swscale: use standard clipping functions.Ronald S. Bultje2011-06-09
| | | | This generates better code on some non-x86 architectures.
* swscale: merge macros that are used only once.Ronald S. Bultje2011-06-09
| | | | This reduces source code size without affecting the binary.
* swscale: fix function declarations in swscale.c.Ronald S. Bultje2011-06-09
| | | | | | Remove inline keyword from functions that are never inlined. Use av_always_inline for functions that should be force-inlined for performance reasons. Use av_cold for init functions.
* swscale: fix function declaration keywords in x86/swscale_template.c.Ronald S. Bultje2011-06-09
| | | | | | | Remove inline keyword for functions that are only called through their function pointers (and thus cannot be inlined); add av_cold keyword to init function, and use av_always_inline instead of inline for functions that must be inlined for performance reasons.
* swscale: fix types of assembly arguments.Ronald S. Bultje2011-06-08
| | | | | | | | This prevents the following compiler warnings: "warning: initialization from incompatible pointer type". Since the variables are only ever used in inline assembly, their type is actually irrelevant (so the part where it was wrong did not invoke any buggy behaviour).
* swscale: move two macros that are only used once into caller.Ronald S. Bultje2011-06-08
| | | | | This way, they look like regular code, which is easier to understand.
* swscale: remove unused function.Ronald S. Bultje2011-06-08
| | | | | Use of this wrapper was removed in a previous patch, but I forgot to actually remove the function itself.
* swscale: remove duplicate conversion routine in swScale().Ronald S. Bultje2011-06-07
|
* swscale: add yuv2planar/packed function typedefs.Ronald S. Bultje2011-06-07
|
* swscale: integrate yuv2nv12X_C into yuv2yuvX() function pointers.Ronald S. Bultje2011-06-07
|
* swscale: reindent x86 init code.Ronald S. Bultje2011-06-07
|
* swscale: extract SWS_FULL_CHR_H_INT conditional into init code.Ronald S. Bultje2011-06-07
|
* swscale: cosmetics.Ronald S. Bultje2011-06-07
|
* swscale: remove alp/chr/lumSrcOffset.Ronald S. Bultje2011-06-07
| | | | | | | They are hacks added to reuse the same scaling function for different formats and they may cause problems when SIMD implementation of the same functions are used along with pure C functions.
* swscale: un-special-case yuv2yuvX16_c().Ronald S. Bultje2011-06-07
| | | | | Make yuv2yuvX16_c a function pointer for yuv2yuvX(), so that the function pointer becomes bitdepth-independent.
* swscale: split swscale.c in unscaled and generic conversion routines.Ronald S. Bultje2011-06-03
| | | | This duplicates the function fillPlane().
* swscale: cosmetics.Ronald S. Bultje2011-06-03
| | | | | | | | Remove duplicate "inC" and "_c" functions that do the same thing; give each function that handles data and acts as a function pointer a "_c" suffix; remove "_c" suffix from functions that are inherently not optimizable. Remove inline keyword from functions that are only used through function pointers.
* swscale: integrate (literally) swscale_template.c in swscale.c.Ronald S. Bultje2011-06-03
|
* swscale: split out x86/swscale_template.c from swscale.c.Ronald S. Bultje2011-06-03
|
* swscale: enable hScale_altivec_real.Ronald S. Bultje2011-06-03
|
* swscale: split out ppc _template.c files from main swscale.c.Ronald S. Bultje2011-06-03
|
* swscale: remove indirections in ppc/swscale_template.c.Ronald S. Bultje2011-06-03
|
* swscale: split out unscaled altivec YUV converters in their own file.Ronald S. Bultje2011-06-03
|
* swscale: remove unused COMPILE_TEMPLATE_ALTIVEC.Ronald S. Bultje2011-06-02
|
* swscale: allocate larger buffer to handle altivec overreads.Ronald S. Bultje2011-06-02
| | | | | Altivec sws code intentionally overreads buffers for better performance, so we need to allocate larger buffers to handle that.
* swscale: Remove unused variable.Diego Biurrun2011-05-30
|
* swscale: Remove disabled code.Diego Biurrun2011-05-29
|
* sws: replace all long with int.Anton Khirnov2011-05-28
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* swscale: fix crash in bilinear scaling.Ronald S. Bultje2011-05-28
|
* swscale: Remove unused variables in x86 code.Diego Biurrun2011-05-27
| | | | | | | libswscale/x86/swscale_template.c:2072: warning: unused variable ‘canMMX2BeUsed’ libswscale/x86/swscale_template.c:2145: warning: unused variable ‘canMMX2BeUsed’ libswscale/x86/swscale_template.c:2209: warning: unused variable ‘chrVPixBuf’ libswscale/x86/swscale_template.c:2237: warning: unused variable ‘chrVSrcPtr’
* swscale: delay allocation of formatConvBuffer().Ronald S. Bultje2011-05-27
| | | | | That means it won't be allocated when not needed. Alongside this, it fixes valgrind/fate-detected memory leaks.
* swscale: fix build with --disable-swscale-alpha.Ronald S. Bultje2011-05-27
|
* swscale: fix non-bitexact yuv2yuv[X2]() MMX/MMX2 functions.Ronald S. Bultje2011-05-27
|
* swscale: fix compile on ppc.Ronald S. Bultje2011-05-26
|
* swscale: fix compile on x86-32.Ronald S. Bultje2011-05-26
|
* swscale: use av_clip_uint8() in yuv2yuv1_c().Ronald S. Bultje2011-05-26
|
* swscale: remove VOF/VOFW.Ronald S. Bultje2011-05-26
|
* swscale: split chroma buffers into separate U/V planes.Ronald S. Bultje2011-05-26
| | | | Preparatory step to implement support for sizes > VOFW.
* swscale: replace formatConvBuffer[VOF] by allocated array.Ronald S. Bultje2011-05-26
| | | | | This allows to convert between formats of arbitrary width, regardless of the value of VOF/VOFW.
* rgb2rgb: remove duplicate mmx/mmx2/3dnow/sse2 functions.Ronald S. Bultje2011-05-26
| | | | | | | Many functions have such a prefix, but do not actually use any instructions or features from that set, thus giving the false impression that swscale is highly optimized for a particular system, whereas in reality it is not.