Michael Niedermayer
b616600516
sws: replace long by x86_reg in x86 asm
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
9eb867e117
sws: add yuv2yuvX_sse3()
...
Code is about 2x as fast as previous
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
f4bf06eb96
sws-test: Fix data alignment
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
90640cc764
sws: fix assert failure
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
8b4b2ddf8d
sws: x86_32 fix
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
76a3490672
sws: add yuv2yuvX() back and updated to the just 1 plane API
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
74fdb7a0f8
sws: factorize v*Filter use
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
4d31f42020
sws: port to thw new 1 plane API and add back yuv2yuv1_ar().
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
f15359727d
sws: better MOVNTQ macro
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
b6dcd6dfcc
sws cleanup yuv2planeX_10_c_template()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
b1a4b735f9
sws: remove nonsensical code that leaked in from libav
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
1c26f2da81
sws: drop unused code
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Ronald S. Bultje
9e66b892e8
swscale: add missing colons to x86 assembly yuv2planeX.
...
This fixes assembling using "nasm".
13 years ago
Michael Niedermayer
1ac5b51203
swscale: disable functions that do not yet work
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Ronald S. Bultje
f48b12e0a6
swscale: update altivec yuv2planeX asm to new per-plane API.
13 years ago
Ronald S. Bultje
6cacecdca3
swscale: make yuv2yuvX_10_sse2/avx 8/9/16-bits aware.
...
Also implement MMX/MMX2 versions and SSE4 versions.
13 years ago
Kieran Kunhya
7fbbf95293
yuv2planeX10 SIMD
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
13 years ago
Ronald S. Bultje
109f62e8f8
swscale: decide whether to use yuv2plane1/X on a per-plane basis.
13 years ago
Ronald S. Bultje
f99654d470
swscale: reintroduce full precision in 16-bit output.
13 years ago
Kieran Kunhya
ff7913aef1
Split up yuv2yuvX functions
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
13 years ago
Kieran Kunhya
34e8d147b3
Split out yuv2yuv1 luma and chroma in order to make them generic DSP functions
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
13 years ago
Michael Niedermayer
d3d97d43d5
sws: fix warning: new qualifiers in middle of multi-level non-const cast are unsafe warning.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Mans Rullgard
41ac093f7e
swscale: fix signed shift overflows in ff_yuv2rgb_c_init_tables()
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Ronald S. Bultje
dc49bf1270
sws/pixfmt/pixdesc: add support for yuv420p9le/be.
13 years ago
Ronald S. Bultje
8305041e13
swscale: prevent overflow in coefficient calculation.
13 years ago
Ronald Bultje
d1d421cbc0
swscale: prevent overflow during initialization
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
13 years ago
Anton Khirnov
145f741e11
AVOptions: rename FF_OPT_TYPE_* => AV_OPT_TYPE_*
13 years ago
Anton Khirnov
04de1569cd
sws: support yuv444p9/10 output.
13 years ago
Ronald S. Bultje
6aa3cac6bf
swscale: use aligned move for storage into temporary buffer.
...
The intermediate buffer is always aligned.
13 years ago
Michael Niedermayer
cca81e7eb0
sws: gbr24p input support
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
bd141af460
swscale: Fix prototypes of *toyv12 so they can be used with planar rgb input.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Reimar Döffinger
ae23b26995
Enable conversions to YUV444P9/YUV444P10, they seem to work fine.
...
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
13 years ago
Mans Rullgard
d853e571ad
ppc: fix some pointer to integer casts
...
Use uintptr_t instead of plain int. Without this change, the
comparisons will come out wrong for pointers in certain ranges.
Fixes random failures on ppc64. Also fixes some compiler warnings.
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Reimar Döffinger
424bcc46b5
Compile x86/swscale_template with -mno-red-zone.
...
Replaces a very hackish hack to fix the same issue (call instruction
overwriting stack variables).
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
13 years ago
Jean First
9569a3c9f4
Add new pix_fmt RGBA64
13 years ago
Kieran Kunhya
4d4d0e8176
Fix unnecessary shift with 9/10bit vertical scaling
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
13 years ago
Reimar Döffinger
c928e91729
Hack around gcc 4.6 breaking asm using call.
...
gcc 4.6 no longer decrements esp to account for local variables.
Thus using call will end up overwriting some local variable.
So add an extra one it can safely clobber.
This is a huge hack because it's basically pure chance it works,
no idea how this is supposed to be done.
Fixes trac ticket #397 .
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
13 years ago
Ronald S. Bultje
ea540401d6
swscale: fix byte overreads in SSE-optimized hscale().
...
SSE-optimized hScale() scales up to 4 pixels at once, so we need to
allocate up to 3 padding pixels to prevent overreads. This fixes
valgrind errors in various swscale-tests on fate.
13 years ago
Michael Niedermayer
d06c5b44cc
swscale: drop redundant code.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
1eb8014b49
swscale: add 14bit support to the "MMX/SSE2/SSSE3/SSE4 versions for horizontal scaling"
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
7700846cf6
swscale: remove unused and forgotten file.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Ronald S. Bultje
e0c3e07387
sws: implement MMX/SSE2/SSSE3/SSE4 versions for horizontal scaling.
...
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).
13 years ago
Michael Niedermayer
27bf599350
swscale: Fix unused asm and enable it
...
Author of the fix is ronald, the enabling & commit message are mine.
This fixes
commit 4e3e333a79
Author: Ronald S. Bultje <rsbultje@gmail.com>
Date: Tue Jul 5 12:49:11 2011 -0700
swscale: error dithering for 16/9/10-bit to 8-bit.
Based on a somewhat similar idea in FFmpeg's swscale copy.
The Fix was originally commited in: (and i missed it due to the commit message)
commit 5c391a161a
Author: Ronald S. Bultje <rsbultje@gmail.com>
Date: Fri Jul 8 14:39:04 2011 -0700
swscale: rename uv_off/uv_off2 to uv_off_px/byte.
13 years ago
Anton Khirnov
fb4ca26bdb
lavf,lavc,sws: add {avcodec,avformat,sws}_get_class() functions.
13 years ago
Reimar Döffinger
746f1f14de
Remove unused variables.
...
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
13 years ago
Clément Bœsch
7c14c24250
sws: fix a huge amount of incompatible pointer type arguments warnings.
13 years ago
Michael Niedermayer
abe0b8e9f3
sws: use shift for chroma sample up convertion
...
sws: use shifts for non full range luma sample upconvertion
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Ronald S. Bultje
3f04ab4fcd
swscale: split hScale() function pointer into h[cy]Scale().
...
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.
13 years ago
Michael Niedermayer
d9c9a0c767
sws: remove hScale16NX_c()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
66bb5cd592
sws: remove hScale16N() and use ronalds reformated version of it.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago