Age | Commit message (Collapse) | Author |
|
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.
|
|
This works through some non-obvious hacks in utils.c.
|
|
This is part of the Great Evil Plan to simplify swscale.
|
|
This is part of the Great Evil Plan to simplify swscale.
|
|
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.
|
|
This prevents a crash when converting to NV12/21 without the bitexact
flags enabled.
|
|
|
|
Calling Make from subdirectories is not supported and config.mak has
multiple inclusion guards anyway, so the top-level include is enough.
|
|
|
|
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.
|
|
Signed-off-by: Diego Biurrun <diego@biurrun.de>
|
|
|
|
Some MMX2 functions were being referenced without proper #ifdefs.
|
|
The comment should have been placed only in
yuv2rgb48_X_c_template, not yuv2rgb48_1_c_template.
|
|
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.
|
|
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>
|
|
Also add missing glue code for recently added YUV422P10 formats
to swscale.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
|
|
This is part of the Great Evil Plan to simplify swscale.
|
|
This is part of the Great Evil Plan to simplify swscale.
|
|
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.
|
|
This way the code in the file is less cluttered all-over-the-
place.
|
|
Inline functions are slightly larger in source code, but
are easier to handle in source code editors. The binary code
generated is the same.
|
|
Inline functions are slightly larger in source code, but
are easier to handle in source code editors. The binary code
generated is the same.
|
|
This is part of the Great Evil Plan to simplify swscale.
|
|
This generates better code on some non-x86 architectures.
|
|
This reduces source code size without affecting the binary.
|
|
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.
|
|
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.
|
|
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).
|
|
This way, they look like regular code, which is easier to
understand.
|
|
Use of this wrapper was removed in a previous patch, but I
forgot to actually remove the function itself.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
Make yuv2yuvX16_c a function pointer for yuv2yuvX(), so that the
function pointer becomes bitdepth-independent.
|
|
This duplicates the function fillPlane().
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Altivec sws code intentionally overreads buffers for better performance,
so we need to allocate larger buffers to handle that.
|
|
|