summaryrefslogtreecommitdiff
path: root/libswscale/swscale.c
Commit message (Collapse)AuthorAge
...
* swscale: use 15-bit intermediates for 9/10-bit scaling.Ronald S. Bultje2011-08-02
|
* swscale: error dithering for 16/9/10-bit to 8-bit.Ronald S. Bultje2011-07-08
| | | | Based on a somewhat similar idea in FFmpeg's swscale copy.
* swscale: fix overflow in 16-bit vertical scaling.Ronald S. Bultje2011-07-08
| | | | | | We operated on 31-bits, but with e.g. lanczos scaling, values can add up to beyond 0x80000000, thus leading to output of zeroes. Drop one bit of precision fixes this.
* swscale: fix crash in 8-bpc bilinear output without alpha.Ronald S. Bultje2011-07-08
| | | | | We accessed the alpha array even it wasn't used and didn't exist, hence leading to a NULL pointer segfault.
* swscale: fix 16-bit horizontal scaling underflow.Ronald S. Bultje2011-07-08
| | | | | When using e.g. lanczos scaling, values can drop below 0, so they should never be unsigned.
* Remove unused static tables and static inline functions.Diego Biurrun2011-07-04
|
* swscale: for >8bit scaling, read in native bit-depth.Ronald S. Bultje2011-07-01
| | | | | | For 9/10bit, it means we don't have to upscale to 16bit before actual scaling or pixel format conversion, and thus a performance gain.
* swscale: fix another yuv range conversion overflow in 16bit scaling.Ronald S. Bultje2011-06-30
|
* swscale: Unbreak build with --enable-smallMohamed Naufal2011-06-30
| | | | | | | This fixes building with --enable-small, by using the correct variable name. Signed-off-by: Martin Storsjö <martin@martin.st>
* swscale: fix yuv range correction when using 16-bit scaling.Ronald S. Bultje2011-06-29
|
* swscale: implement >8bit scaling support.Ronald S. Bultje2011-06-29
| | | | | | This means that precision is retained when scaling between sample formats with >8 bits per component (48bit RGB, 16bit grayscale, 9/10/16bit YUV).
* swscale: change prototypes of scaled YUV output functions.Ronald S. Bultje2011-06-27
| | | | | | | | Remove unused variables "flags" and "dstFormat" in yuv2packed1, merge source rows per plane for yuv2packed[12], and make every source argument int16_t (some where invalidly set to uint16_t). This prevents stack pollution and is part of the Great Evil Plan to simplify swscale.
* swscale: re-add support for non-native endianness.Ronald S. Bultje2011-06-27
| | | | This works through some non-obvious hacks in utils.c.
* swscale: disentangle yuv2rgbX_c_full() into small functions.Ronald S. Bultje2011-06-27
| | | | This is part of the Great Evil Plan to simplify swscale.
* swscale: split yuv2packed[12X]_c() remainders into small functions.Ronald Bultje2011-06-27
| | | | This is part of the Great Evil Plan to simplify swscale.
* swscale: remove unused xInc/srcW arguments from hScale().Ronald S. Bultje2011-06-26
|
* swscale: remove misplaced comment.Ronald S. Bultje2011-06-14
| | | | | The comment should have been placed only in yuv2rgb48_X_c_template, not yuv2rgb48_1_c_template.
* 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: 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: integrate yuv2nv12X_C into yuv2yuvX() function pointers.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: 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
|
* sws: replace all long with int.Anton Khirnov2011-05-28
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* swscale: split chroma buffers into separate U/V planes.Ronald S. Bultje2011-05-26
| | | | Preparatory step to implement support for sizes > VOFW.
* swscale: remove swScale_{c,MMX,MMX2} duplication.Ronald S. Bultje2011-05-24
|
* swscale: remove AMD3DNOW "optimizations".Ronald S. Bultje2011-05-24
| | | | | | The functions are identical to their MMX counterparts. Thus, pretending that swscale is highly optimized for AMD3DNOW extensions is a poorly executed practical joke at best.
* swscale: remove duplicate code in ppc/ subdirectory.Ronald S. Bultje2011-05-24
|