summaryrefslogtreecommitdiff
path: root/libswscale
Commit message (Collapse)AuthorAge
* swscale: disable full_chroma_int when converting to non-24/32bpp RGB.Ronald S. Bultje2011-07-02
| | | | | This functionality is only implemented for RGB24/32 and causes crashes otherwise.
* 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: Add Doxygen for hyscale_fast/hScale.Ronald S. Bultje2011-06-29
|
* PPC: swscale: disable altivec functions for unsupported formatsMans Rullgard2011-06-28
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* swscale: Add Doxygen for yuv2planar*/yuv2packed* functions.Ronald S. Bultje2011-06-28
|
* build: include sub-makefiles using full path instead of symlinksMans Rullgard2011-06-28
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* 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: split yuv2packedX_altivec in smaller functions.Ronald S. Bultje2011-06-27
| | | | | | This will likely lead to a considerable performance boost, since it removes a branch from the inner loop. Part of the Great Evil Plan to simplify swscale.
* swscale: don't use planar output functions to write to NV12/21.Ronald S. Bultje2011-06-27
| | | | | This prevents a crash when converting to NV12/21 without the bitexact flags enabled.
* swscale: remove unused xInc/srcW arguments from hScale().Ronald S. Bultje2011-06-26
|
* build: Remove redundant config.mak includes from subdirectory Makefiles.Diego Biurrun2011-06-25
| | | | | Calling Make from subdirectories is not supported and config.mak has multiple inclusion guards anyway, so the top-level include is enough.
* swscale: Remove unused variable from ff_bfin_get_unscaled_swscale().Diego Biurrun2011-06-21
|
* Bump major version for b8e893399ff8755721dc117695ec5ff183c1e07bReinhard Tartler2011-06-20
| | | | | | | | | | | On architectures such as x86 (both 32 bit and 64bit), the stack element size is fixed, which maintains alignment. Here, this change does not break anything. However, we also support also other architectures where this property is not maintained and therefore, applications will crash horribly. This change effectively forces all applications to be recompiled against libswscale.
* swscale: use SwsContext for av_log when availableJanne Grunau2011-06-15
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* swscale: Remove HAVE_MMX from files that are only compiled with MMX enabled.Diego Biurrun2011-06-15
|
* swscale: Fix compilation with --disable-mmx2.Diego Biurrun2011-06-15
| | | | Some MMX2 functions were being referenced without proper #ifdefs.
* 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: 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().