| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Every function in rgb2rgb_template.c is only compiled exactly
once; there is no overlap at all between the MMXEXT and the
SSE2 functions, so detemplatize it.
Signed-off-by: Andreas Rheinhardt <[email protected]>
|
|
|
|
| |
Signed-off-by: Andreas Rheinhardt <[email protected]>
|
|
|
|
|
|
|
| |
The SSE2 and AVX versions of deinterleaveBytes are external ASM.
Move them out of the inline ASM template.
Signed-off-by: Andreas Rheinhardt <[email protected]>
|
|
|
|
|
|
|
| |
The ff_nv12ToUV_* functions don't use non-temporal stores
at all.
Signed-off-by: Andreas Rheinhardt <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
Opaque parameters were previously added to the original definition of
ff_nv12ToUV, leading to gcc noticing a type mismatch with -Wlto-type-mismatch.
https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/f2de911818fbd7e73343803626b697fd0c968121
https://bugs.gentoo.org/907484
Signed-off-by: Alfred Wingate <[email protected]>
Signed-off-by: Anton Khirnov <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
x64 always has MMX, MMXEXT, SSE and SSE2 and this means
that some functions for MMX, MMXEXT and 3dnow are always
overridden by other functions (unless one e.g. explicitly
disables SSE2) for x64. So given that the only systems that
benefit from these functions are truely ancient 32bit x86s
they are removed.
Signed-off-by: Andreas Rheinhardt <[email protected]>
|
|
|
|
| |
inline asm version
|
| |
|
|
|
|
|
|
|
|
| |
None of them are specific to the YASM assembler.
(Cherry-picked from libav commit 39e208f4d4756367c7cd2d581847e0c1b8a429c1)
Signed-off-by: James Almer <[email protected]>
|
|
|
|
| |
See merge commit '39d6d3618d48625decaff7d9bdbb45b44ef2a805'.
|
|
|
|
|
|
|
|
|
|
| |
Libav, for some reason, merged this as a public API function. This will
aid in future merges.
A define is left for backwards compat, just in case some person
used it, since it is in a public header.
Signed-off-by: Derek Buitenhuis <[email protected]>
|
|
|
|
|
|
|
| |
Fixes: 451b3e0cf956c0bd2f27ed753ac24050/asan_heap-oob_2873c01_3231_7ed10a9464d15f0d57277f5917c566a8.AVI
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <[email protected]>
|
|
|
|
|
|
|
|
| |
alignment is insufficient for SSE*
This also as a sideeffect fixes the non aligned case
Signed-off-by: Michael Niedermayer <[email protected]>
|
|
|
|
|
|
| |
Fixes Ticket5013
Signed-off-by: Michael Niedermayer <[email protected]>
|
|
|
|
|
|
|
| |
shuffle_bytes_2103_{mmx,mmxext}
Reviewed-by: Michael Niedermayer <[email protected]>
Signed-off-by: James Almer <[email protected]>
|
|
|
|
|
| |
Reviewed-by: Michael Niedermayer <[email protected]>
Signed-off-by: James Almer <[email protected]>
|
|
|
|
|
| |
Reviewed-by: Michael Niedermayer <[email protected]>
Signed-off-by: James Almer <[email protected]>
|
|
|
|
|
|
| |
Fixes Ticket4151
Signed-off-by: Michael Niedermayer <[email protected]>
|
|
|
|
|
|
|
| |
This avoids out of array accesses
Should fix Ticket3451
Signed-off-by: Michael Niedermayer <[email protected]>
|
|
|
|
|
|
|
|
| |
uyvytoyuv420
might fix ticket 3410
Signed-off-by: Michael Niedermayer <[email protected]>
|
|\
| |
| |
| |
| |
| |
| | |
* commit 'aba70bb5387f12dfa5e6cd8cb861c9c7e668151f':
Add missing headers to make template files compile (more) standalone
Merged-by: Michael Niedermayer <[email protected]>
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
symbol reference in inline asm are not supported.
This is part of the patch-set for intel C inline asm on windows support
Signed-off-by: Michael Niedermayer <[email protected]>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* qatar/master:
rgb2rgb_template: add MMX/SSE2/AVX-optimized deinterleaveBytes
Conflicts:
libswscale/x86/rgb2rgb_template.c
See: 3033cd7555921242cbdc06d0d8aee9f8925d6a3c
Merged-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| | |
Signed-off-by: Anton Khirnov <[email protected]>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit '7597e6efe492cb2449bb771054d64cc7fdf62ff5':
swscale/x86/rgb2rgb: add support for AVX
Conflicts:
libswscale/x86/rgb2rgb_template.c
See: 4729b529e60fb99356a1d9e13793835af50b3e87
Merged-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| |
| |
| | |
This does not yet include any actual AVX code
Signed-off-by: Anton Khirnov <[email protected]>
|
| |
| |
| |
| | |
Signed-off-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| |
| | |
Found-by: iive
Signed-off-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| | |
Signed-off-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| | |
Signed-off-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| |
| |
| | |
This does not yet include any actual AVX code
Signed-off-by: Michael Niedermayer <[email protected]>
|
| | |
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit '2b677ffca54a5fbef9c8860841c32f28ecd68f70':
swscale: Add av_cold attributes to init functions missing them
Conflicts:
libswscale/utils.c
Merged-by: Michael Niedermayer <[email protected]>
|
| | |
|
| |
| |
| |
| | |
Fixes ticket #2477.
|
| |
| |
| |
| | |
Signed-off-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| |
| |
| |
| | |
This simplifies the code and improves quality at the expense of a slight
slowdown of a rarely used function (no fate test uses it).
Signed-off-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| |
| |
| |
| |
| | |
As the function arguments change, we also change the function name
to ensure that anyone using this (non public) function doesnt end
with hard to debug crashes. The new name also has a proper prefix.
Signed-off-by: Michael Niedermayer <[email protected]>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit '652f5185945c8405fc57aed353286858df8d066f':
x86: mmx2 ---> mmxext in comments and messages
Conflicts:
libswscale/x86/swscale_template.c
Merged-by: Michael Niedermayer <[email protected]>
|
| | |
|
| |
| |
| |
| | |
Signed-off-by: Diego Biurrun <[email protected]>
|
| |
| |
| |
| | |
Signed-off-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| | |
Signed-off-by: Michael Niedermayer <[email protected]>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* qatar/master:
g723.1: simplify scale_vector()
g723.1: simplify normalize_bits()
vda: cosmetics: fix Doxygen comment formatting
vda: better frame allocation
vda: Merge implementation into one file
vda: support synchronous decoding
vda: Reuse the bitstream buffer and reallocate it only if needed
build: Factor out mpegvideo encoding dependencies to CONFIG_MPEGVIDEOENC
avprobe: Include libm.h for the log2 fallback
proresenc: use the edge emulation buffer
rtmp: handle bytes read reports
configure: Fix typo in mpeg2video/svq1 decoder dependency declaration
Use log2(x) instead of log(x) / log(2)
x86: swscale: fix fragile memory accesses
x86: swscale: remove disabled code
x86: yadif: fix asm with suncc
x86: cabac: allow building with suncc
x86: mlpdsp: avoid taking address of void
ARM: intmath: use native-size return types for clipping functions
Conflicts:
configure
ffprobe.c
libavcodec/Makefile
libavcodec/g723_1.c
libavcodec/v210dec.h
libavcodec/vda.h
libavcodec/vda_h264.c
libavcodec/x86/cabac.h
libavfilter/x86/yadif_template.c
libswscale/x86/rgb2rgb_template.c
Merged-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
To access data at multiple fixed offsets from a base address, this
code uses a single "m" operand and code of the form "32%0", relying on
the memory operand instantiation having no displacement, giving a final
result of the form "32(%rax)". If the compiler uses a register and
displacement, e.g. "64(%rax)", the end result becomes "3264(%rax)",
which obviously does not work.
Replacing the "m" operands with "r" operands allows safe addition of a
displacement. In theory, multiple memory operands could use a shared
base register with different index registers, "(%rax,%rbx)", potentially
making more efficient use of registers. In the cases at hand, no such
sharing is possible since the addresses involved are entirely unrelated.
After this change, the code somewhat rudely accesses memory without
using a corresponding memory operand, which in some cases can lead to
unwanted "optimisations" of surrounding code. However, the original
code also accesses memory not covered by a memory operand, so this is
not adding any defect not already present. It is also hightly unlikely
that any such optimisations could be performed here since the memory
locations in questions are not accessed elsewhere in the same functions.
This fixes crashes with suncc.
Signed-off-by: Mans Rullgard <[email protected]>
|
| |
| |
| |
| |
| |
| |
| | |
This code has been disabled since 2003. Nobody will ever look at
it again.
Signed-off-by: Mans Rullgard <[email protected]>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* qatar/master:
lavr: fix handling of custom mix matrices
fate: force pix_fmt in lagarith-rgb32 test
fate: add tests for lagarith lossless video codec.
ARMv6: vp8: fix stack allocation with Apple's assembler
ARM: vp56: allow inline asm to build with clang
fft: 3dnow: fix register name typo in DECL_IMDCT macro
x86: dct32: port to cpuflags
x86: build: replace mmx2 by mmxext
Revert "wmapro: prevent division by zero when sample rate is unspecified"
wmapro: prevent division by zero when sample rate is unspecified
lagarith: fix color plane inversion for YUY2 output.
lagarith: pad RGB buffer by 1 byte.
dsputil: make add_hfyu_left_prediction_sse4() support unaligned src.
Conflicts:
doc/APIchanges
libavcodec/lagarith.c
libavfilter/x86/gradfun.c
libavutil/cpu.h
libavutil/version.h
libswscale/utils.c
libswscale/version.h
libswscale/x86/yuv2rgb.c
Merged-by: Michael Niedermayer <[email protected]>
|
| |
| |
| |
| |
| |
| |
| | |
Refactoring mmx2/mmxext YASM code with cpuflags will force renames.
So switching to a consistent naming scheme beforehand is sensible.
The name "mmxext" is more official and widespread and also the name
of the CPU flag, as reported e.g. by the Linux kernel.
|
| |
| |
| |
| |
| |
| |
| |
| | |
register starvation caused gcc4.2 to fail building 32 bit shared libs
on 64 bit OS X
Signed-off-by: Michael Bradshaw <[email protected]>
Signed-off-by: Michael Niedermayer <[email protected]>
|