| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
| |
This will be useful to test more aggressively for failures to mark XMM
registers as clobbered in Win64 builds, and prevent regressions thereof.
Based on a patch by Ramiro Polla <ramiro.polla@gmail.com>
|
| |
|
|
|
|
|
|
| |
This was accidently disabled.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
|
| |
|
|
|
|
| |
Also implement sse2/ssse3/avx versions.
|
|
|
|
| |
This allows combining multiple conditionals in a single statement.
|
| |
|
|
|
|
|
|
|
| |
Additional comments from Måns Rullgard have been integrated
by Reinhard Tartler.
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
|
|
|
|
|
|
| |
Fixes a compilation failure on win64.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
|
|
|
|
| |
Also implement SSE2/AVX variants.
|
|
|
|
|
| |
scale.asm keeps horizontal scaling functions, whereas output.asm gets
the vertical scaling/output functions.
|
| |
|
| |
|
|
|
|
|
|
| |
These semicolons cause invalid empty top-level declarations.
Signed-off-by: Mans Rullgard <mans@mansr.com>
|
|
|
|
|
|
|
| |
The issue had been introduced in
c435653627529e22d74214c2266f571255e404d6
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
|
| |
|
|
|
|
| |
This fixes assembling using "nasm".
|
|
|
|
| |
Also implement MMX/MMX2 versions and SSE4 versions.
|
|
|
|
| |
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
|
|
|
|
| |
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
|
|
|
|
| |
The intermediate buffer is always aligned.
|
|
|
|
|
|
| |
Speed: from 3.9x to 9.6x speed improvement over C, and some small
(up to 15%) speed improvements over existing MMX code (particularly
for bigger filters).
|
|
|
|
|
|
| |
This allows using more specific implementations for chroma/luma, e.g.
we can make assumptions on filterSize being constant, thus avoiding
that test at runtime.
|
| |
|
| |
|
|
|
|
| |
Based on a somewhat similar idea in FFmpeg's swscale copy.
|
|
|
|
|
| |
We would use the second half of the U plane buffer, rather than the
V plane buffer, to output the V plane pixels.
|
|
|
|
|
|
| |
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 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 prevents a crash when converting to NV12/21 without the bitexact
flags enabled.
|
| |
|
| |
|
|
|
|
| |
Some MMX2 functions were being referenced without proper #ifdefs.
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
| |
Make yuv2yuvX16_c a function pointer for yuv2yuvX(), so that the
function pointer becomes bitdepth-independent.
|
| |
|
|
|
|
| |
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
|
| |
|
|
|
|
|
|
|
| |
libswscale/x86/swscale_template.c:2072: warning: unused variable ‘canMMX2BeUsed’
libswscale/x86/swscale_template.c:2145: warning: unused variable ‘canMMX2BeUsed’
libswscale/x86/swscale_template.c:2209: warning: unused variable ‘chrVPixBuf’
libswscale/x86/swscale_template.c:2237: warning: unused variable ‘chrVSrcPtr’
|
| |
|
| |
|
| |
|
|
|
|
| |
Preparatory step to implement support for sizes > VOFW.
|
|
|
|
|
|
|
| |
Many functions have such a prefix, but do not actually use any
instructions or features from that set, thus giving the false
impression that swscale is highly optimized for a particular
system, whereas in reality it is not.
|
| |
|