summaryrefslogtreecommitdiffstats
path: root/libswscale/swscale.c
Commit message (Collapse)AuthorAgeFilesLines
...
* swscale: fix crash in 8-bpc bilinear output without alpha.Ronald S. Bultje2011-07-081-1/+2
| | | | | 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-081-1/+1
| | | | | 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-041-11/+0
|
* swscale: for >8bit scaling, read in native bit-depth.Ronald S. Bultje2011-07-011-75/+24
| | | | | | 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-301-1/+1
|
* swscale: Unbreak build with --enable-smallMohamed Naufal2011-06-301-1/+1
| | | | | | | 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-291-6/+6
|
* swscale: implement >8bit scaling support.Ronald S. Bultje2011-06-291-237/+457
| | | | | | 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-271-141/+127
| | | | | | | | 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-271-6/+12
| | | | This works through some non-obvious hacks in utils.c.
* swscale: disentangle yuv2rgbX_c_full() into small functions.Ronald S. Bultje2011-06-271-121/+171
| | | | This is part of the Great Evil Plan to simplify swscale.
* swscale: split yuv2packed[12X]_c() remainders into small functions.Ronald Bultje2011-06-271-296/+402
| | | | This is part of the Great Evil Plan to simplify swscale.
* swscale: remove unused xInc/srcW arguments from hScale().Ronald S. Bultje2011-06-261-5/+3
|
* swscale: remove misplaced comment.Ronald S. Bultje2011-06-141-1/+0
| | | | | 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-141-88/+235
| | | | | | | 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-141-5/+5
| | | | | | | 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-101-1/+13
| | | | | | | 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-091-44/+137
| | | | This is part of the Great Evil Plan to simplify swscale.
* swscale: extract monowhite/black output from yuv2packed[12X]_c().Ronald S. Bultje2011-06-091-59/+113
| | | | This is part of the Great Evil Plan to simplify swscale.
* swscale: de-macro'ify RGB15/16/32 input functions.Ronald S. Bultje2011-06-091-109/+169
| | | | | | | | 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-091-83/+83
| | | | | 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-091-44/+71
| | | | | | 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-091-23/+41
| | | | | | 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-091-55/+142
| | | | This is part of the Great Evil Plan to simplify swscale.
* swscale: use standard clipping functions.Ronald S. Bultje2011-06-091-33/+20
| | | | This generates better code on some non-x86 architectures.
* swscale: merge macros that are used only once.Ronald S. Bultje2011-06-091-10/+4
| | | | This reduces source code size without affecting the binary.
* swscale: fix function declarations in swscale.c.Ronald S. Bultje2011-06-091-33/+34
| | | | | | 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-081-29/+0
| | | | | 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-071-73/+53
|
* swscale: integrate yuv2nv12X_C into yuv2yuvX() function pointers.Ronald S. Bultje2011-06-071-15/+12
|
* swscale: extract SWS_FULL_CHR_H_INT conditional into init code.Ronald S. Bultje2011-06-071-39/+21
|
* swscale: cosmetics.Ronald S. Bultje2011-06-071-2/+1
|
* swscale: remove alp/chr/lumSrcOffset.Ronald S. Bultje2011-06-071-125/+76
| | | | | | | 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-071-28/+35
| | | | | 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-031-839/+0
| | | | This duplicates the function fillPlane().
* swscale: cosmetics.Ronald S. Bultje2011-06-031-260/+236
| | | | | | | | 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-031-1/+930
|
* swscale: split out x86/swscale_template.c from swscale.c.Ronald S. Bultje2011-06-031-37/+2
|
* swscale: split out ppc _template.c files from main swscale.c.Ronald S. Bultje2011-06-031-10/+2
|
* swscale: remove indirections in ppc/swscale_template.c.Ronald S. Bultje2011-06-031-1/+1
|
* swscale: split out unscaled altivec YUV converters in their own file.Ronald S. Bultje2011-06-031-15/+5
|
* swscale: remove unused COMPILE_TEMPLATE_ALTIVEC.Ronald S. Bultje2011-06-021-3/+0
|
* sws: replace all long with int.Anton Khirnov2011-05-281-26/+26
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* swscale: split chroma buffers into separate U/V planes.Ronald S. Bultje2011-05-261-30/+38
| | | | Preparatory step to implement support for sizes > VOFW.
* swscale: remove swScale_{c,MMX,MMX2} duplication.Ronald S. Bultje2011-05-241-10/+5
|
* swscale: remove AMD3DNOW "optimizations".Ronald S. Bultje2011-05-241-22/+0
| | | | | | 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-241-3/+1
|
* swscale: force --enable-runtime-cpudetect and remove SWS_CPU_CAPS_*.Ronald S. Bultje2011-05-241-109/+25
|
* Fix 9/10 bit in swscale.Kieran Kunhya2011-05-231-4/+4
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* swscale: properly inline bits/endianness in yuv2yuvX16inC().Ronald S. Bultje2011-05-131-4/+25
|
OpenPOWER on IntegriCloud