| Commit message (Collapse) | Author | Age |
... | |
| |
|
|
|
|
| |
Based on a somewhat similar idea in FFmpeg's swscale copy.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
We accessed the alpha array even it wasn't used and didn't
exist, hence leading to a NULL pointer segfault.
|
|
|
|
|
| |
When using e.g. lanczos scaling, values can drop below 0, so they
should never be unsigned.
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
This fixes building with --enable-small, by using the correct
variable name.
Signed-off-by: Martin Storsjö <martin@martin.st>
|
| |
|
|
|
|
|
|
| |
This means that precision is retained when scaling between sample
formats with >8 bits per component (48bit RGB, 16bit grayscale,
9/10/16bit YUV).
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
|
|
|
|
| |
Preparatory step to implement support for sizes > VOFW.
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|