Paul B Mahol
7bab43f29c
yuv2rgb: better check if source format have alpha
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Alex Converse
7181c4edee
cosmetics: Remove extra newlines at EOF
13 years ago
Paul B Mahol
f9ca1ac796
sws/pixfmt/pixdesc: add support for yuva444p
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
Conflicts:
libavutil/avutil.h
libavutil/pixfmt.h
13 years ago
Ronald S. Bultje
b5d08c27c3
swscale: convert rgb/bgr24ToY/UV_mmx functions from inline asm to yasm.
...
Also implement sse2/ssse3/avx versions.
13 years ago
Ronald S. Bultje
3b15a6d742
config.asm: change %ifdef directives to %if directives.
...
This allows combining multiple conditionals in a single statement.
13 years ago
Alex Converse
08628b6afb
Revert "sws/pixfmt/pixdesc: add support for yuva444p"
...
This reverts commit fc115c80b7
.
Tests are broken.
13 years ago
Paul B Mahol
fc115c80b7
sws/pixfmt/pixdesc: add support for yuva444p
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
13 years ago
Diego Biurrun
33ad8c3cab
cosmetics: Remove some unnecessary block braces.
13 years ago
Michael Niedermayer
1c910d2f11
sws: Fix RGB0->alpha containing formats.
...
Fixes Ticket869
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
234405315f
sws: Fix unscaled >8bit planar chroma handling.
...
Fixes Ticket840
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
0421b6dc7a
sws: In case of an invalid scaler algorithm, show the invalid value.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
657878f76e
sws: fix copy case detection with gray8a.
...
Fixes gray_alpha.png
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
5a840f6364
x86/yuv2rgb_mmx: Remove yuv420 check.
...
This check is not correct, the code supports more yuv variants.
Fixes Ticket904
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Diego Biurrun
e44c11e9fa
cosmetics: Move static and inline attributes to more standard places.
...
Fixes several "‘static’ is not at beginning of declaration" warnings.
13 years ago
Ronald S. Bultje
3c172a4106
swscale: change yuv2yuvX code to use cpuflag().
13 years ago
Paul B Mahol
0cc1a86dc3
rgb2rgb: rgb12to15()
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
13 years ago
Ronald S. Bultje
06b0246da0
swscale-test: fix stack overread.
...
Fixes problems in swscale-test where it gives a 3-member array to a
function expecting a 4-member array.
13 years ago
Ronald S. Bultje
e7843db3df
swscale: fix invalid conversions and memory problems.
...
Fixes problems where rgbToRgbWrapper() is called even though it doesn't
support this particular conversion (e.g. converting from RGB444 to
anything). Thirdly, fixes issues where rgbToRgbWrapper() is called for
non-native endiannness conversions (e.g. RGB555BE on a LE system).
Fourthly, fixes crashes when converting from e.g. monowhite to
monowhite, which calls planarCopyWrapper() and overwrites/reads because
n_bytes != n_pixels.
13 years ago
Carl Eugen Hoyos
ef3a19d595
Fix compilation with yasm-0.6.2
13 years ago
Michael Niedermayer
05577aafaa
sws: yuv2rgb asm, add memory clobber.
...
This fixes dithering for rgb555le, it appears gcc had moved the
setup of the variables after the asm or something like that.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Paul B Mahol
f7f3563214
rgb2rgb: rgb12tobgr12()
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
13 years ago
Michael Niedermayer
bc11580007
sws: Remove unneeded YUV cliping from yuv2rgb_X_c_template()
...
This should slightly improve speed.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
ba6e36f906
swscale: Force full horizontal chroma internally when the output has a odd size.
...
This fixes a gray line on the right side due to 1 column of pixels being skiped.
Fixes Ticket891
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
0644cabd7a
sws: Move yuv2rgb clipping into the tables.
...
This fixes some cases where the clipping was entirely missing.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Thanks (for the comments and review) -to: Reimar, beastd, Ronald
13 years ago
Michael Niedermayer
ac7efd3364
sws: fix unscaled LE<->BE rgb<->bgr
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
5ab6f0fe5a
Revert "swscale: fix integer overflows in RGB pixel writing."
...
This reverts commit 77d88b872d
.
The revert fixes actual overflows and a segfault as the variables
are signed and can be negative.
Conflicts:
libswscale/swscale.c
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Paul B Mahol
296a338261
rgb2rgb: remove unused bgr8torgb8()
...
RGB8 and BGR8 are paletted formats now.
13 years ago
Paul B Mahol
4ad40d6d9f
rgb2rgb: rgb12tobgr12()
13 years ago
Paul B Mahol
277030627d
rgb2rgb: allow conversion for <15 bpp
13 years ago
Ronald S. Bultje
b14fa5572c
swscale: fix crash in fast_bilinear code when compiled with -mred-zone.
...
Additional comments from Måns Rullgard have been integrated
by Reinhard Tartler.
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
13 years ago
Oka Motofumi
cd44521625
swscale: specify register type.
...
Fixes a compilation failure on win64.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
13 years ago
Paul B Mahol
0b8b3387a9
rgb2rgb: allow conversion for <15 bpp
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
13 years ago
Paul B Mahol
5cad970971
swscale: RGB4444 and BGR444 input
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
13 years ago
Ronald S. Bultje
2170a0e6ad
swscale: convert yuy2/uyvy/nv12/nv21ToY/UV from inline asm to yasm.
...
Also implement SSE2/AVX variants.
13 years ago
Diego Biurrun
999484c9fb
swscale: K&R formatting cosmetics for code examples
13 years ago
Diego Biurrun
83890c66c4
swscale: K&R reformatting cosmetics for header files
13 years ago
Ronald S. Bultje
2ba65879b5
swscale: remove unused U/V arguments from yuv2rgb_write().
...
Also document the function somewhat.
13 years ago
Diego Biurrun
3d72a6f19e
swscale: Use standard multiple inclusion guards in ppc/ header files.
13 years ago
Ronald S. Bultje
6b3995ccd1
swscale: remove obsolete comment.
13 years ago
Ronald S. Bultje
6ea64339c5
swscale: split scale.asm.
...
scale.asm keeps horizontal scaling functions, whereas output.asm gets
the vertical scaling/output functions.
13 years ago
Ronald S. Bultje
9ea3501d87
swscale: don't show full-chroma-int warning for non-RGB output.
...
Non-RGB output always uses full chroma interpolation.
13 years ago
Ronald S. Bultje
f910dbcdb0
swscale: add MMX files to MMX-OBJS instead of OBJS.
13 years ago
Diego Biurrun
44b0edda3f
Drop some pointless void* return value casts from av_malloc() invocations.
13 years ago
Janne Grunau
6e9bb5aa3e
swscale: prevent invalid writes in packed_16bpc_bswap
...
Writes past the end of the destination buffer were occuring when its
stride was smaller than the stride of the source. Fixes Bug #183 .
13 years ago
Anton Khirnov
131609dc2a
sws: readd PAL8 to isPacked()
...
Fixes PAL8 to YUV conversion.
13 years ago
Michael Niedermayer
0f91a57732
libswscale: increase LIBSWSCALE_VERSION_MICRO to 100
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
32a92d3258
sws: Print an error in case of av_malloc() failure
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
90cad5edf6
swscale: Fix several (real world) integer overflows.
...
Fixes Ticket795
Bug Found by: Oana Stratulat
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Nathan Adil Maxson
7b3894bee9
swscale: fix formatting and indentation of unscaled conversion routines.
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
13 years ago
Ronald S. Bultje
d49352c7cc
swscale: fix overflows in vertical scaling at top/bottom edges.
...
This fixes integer multiplication overflows in RGB48 output
(vertical) scaling as detected by IOC. What happens is that for
certain types of filters (lanczos, spline, bicubic), the
intermediate sum of coefficients in the middle of a filter can
be larger than the fixed-point equivalent of 1.0, even if the
final sum is 1.0. This is fine and we support that.
However, at frame edges, initFilter() will merge the coefficients
for the off-screen pixels into the top or bottom pixel, such as
to emulate edge extension. This means that suddenly, a single
coefficient can be larger than the fixed-point equivalent of
1.0, which the vertical scaling routines do not support.
Therefore, remove the merging of coefficients for edges for
the vertical scaling filter, and instead add edge detection
to the scaler itself so that it copies the pointers (not data)
for the edges (i.e. it uses line[0] for line[-1] as well), so
that a single coefficient is never larger than the fixed-point
equivalent of 1.0.
13 years ago