Themaister
0827222b9c
Use more accurate conversion for rgb15/16 to rgb24/32 (C/MMX).
...
Fate update by michael.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
b13ba5cb9a
swscale: use isByteRGB() to simplify check for palToRgbWrapper.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
307b650270
swscale: Fix packed rgb check for planarRgbToRgbWrapper.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Themaister
1e79926f9e
Unscaled Planar RGB -> RGB support in swscale.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Ronald S. Bultje
c435653627
swscale: write yuv2plane1 MMX/SSE2/SSE4/AVX functions.
13 years ago
Ronald S. Bultje
1deb08fcb6
swscale: align vertical filtersize by 2 on x86.
...
The vertical scaler handles 2 rows at a time and thus requires
alignment by 2, or else it'll read invalid memory and result in
corrupt output.
13 years ago
Michael Niedermayer
e484b64ce3
sws: fallback to mmx2 when yuv2yuvX_sse3() cannot be used.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
f44ad92c3f
sws: print a warning on unaligned input on SSE2+
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
fbf4b390d0
sws: increase stride alignment requirement for the warning print code.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
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