Stefano Sabatini
07f49ca1d1
lsws: remove redundant macros isSupportedIn/Out
...
Directly call sws_isSupportedInput/Output.
14 years ago
Stefano Sabatini
64bb656326
lsws: factorize some logging code in sws_init_context()
14 years ago
Stefano Sabatini
e8794f1d5e
lsws: fix weird indent
14 years ago
Stefano Sabatini
c899bedbca
lsws: use array for storing the supported in/out information
14 years ago
Joseph Artsimovich
eedb1f2034
swscale: mark YUV422P10(LE,BE) as supported for output
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Ronald S. Bultje
baba2eedac
swscale: extend mmx padding.
...
Fixes a crash when forcing libc to strictly adhere to malloc sizes.
14 years ago
Diego Biurrun
96c1e6d40d
doxygen: Make sure parameter names match between .c and .h files.
14 years ago
Michael Niedermayer
e1d9cee13d
sws: dont mess with XInc when the code needing it isnt used
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
14 years ago
Michael Niedermayer
29fb1b5a06
sws: Fix chroma init for 32bit buffers.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
14 years ago
Ronald S. Bultje
ac9ac45aca
swscale: fix 16-bit scaling when output is 8-bits.
...
We would use the second half of the U plane buffer, rather than the
V plane buffer, to output the V plane pixels.
14 years ago
Michael Niedermayer
b5ff61695f
sws: fix uv overwrite in 32bt
14 years ago
Ronald S. Bultje
948ccdadf4
swscale: for >8bit scaling, read in native bit-depth.
...
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.
14 years ago
Ronald S. Bultje
5c391a161a
swscale: rename uv_off/uv_off2 to uv_off_px/byte.
14 years ago
Ronald S. Bultje
42d622fab3
swscale: fix 16-bit scaling when output is 8-bits.
...
We would use the second half of the U plane buffer, rather than the
V plane buffer, to output the V plane pixels.
14 years ago
Ronald S. Bultje
8f440223f6
swscale: disable full_chroma_int when converting to non-24/32bpp RGB.
...
This functionality is only implemented for RGB24/32 and causes crashes
otherwise.
14 years ago
Ronald S. Bultje
8a8d0ce208
swscale: for >8bit scaling, read in native bit-depth.
...
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.
14 years ago
Ronald S. Bultje
45f6ffe5e9
swscale: implement >8bit scaling support.
...
This means that precision is retained when scaling between sample
formats with >8 bits per component (48bit RGB, 16bit grayscale,
9/10/16bit YUV).
14 years ago
Ronald S. Bultje
ef1ee362b3
swscale: implement >8bit scaling support.
...
This means that precision is retained when scaling between sample
formats with >8 bits per component (48bit RGB, 16bit grayscale,
9/10/16bit YUV).
14 years ago
Michael Niedermayer
9e17d051ac
swscale: Fix yuv422p10
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
14 years ago
Ronald S. Bultje
dff5a83532
swscale: re-add support for non-native endianness.
...
This works through some non-obvious hacks in utils.c.
14 years ago
Janne Grunau
3636e791ec
swscale: use SwsContext for av_log when available
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
14 years ago
Ronald S. Bultje
103278f7b0
libavutil/swscale: YUV444P10/YUV444P9 support.
...
Also add missing glue code for recently added YUV422P10 formats
to swscale.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
Ronald S. Bultje
6d4d483eee
swscale: de-macro'ify RGB15/16/32 input functions.
...
Inline functions are easier to read, maintain, modify and test,
which justifies the slightly increased source size. This patch
also adds support for non-native endianness RGB15/16 and fixes
isSupportedOutput() to no longer claim that we support writing
non-native RGB565/555/444.
14 years ago
Stefano Sabatini
b932eb1be6
swscale: reintroduce sws_format_name() symbol
...
Reintroduce the internal symbol which was removed in:
commit e1197b9e17
Author: Stefano Sabatini <stefano.sabatini-lala@poste.it>
Date: Sun May 29 17:57:40 2011 +0200
swscale: remove sws_format_name()
Use av_get_pix_fmt_name() instead.
The symbol is used by some external libs (hi libx264!), this gives
time to them to use the recently added av_get_pix_fmt_name() rather
than an internal symbol.
14 years ago
Ronald S. Bultje
808d8ff6bb
swscale: allocate larger buffer to handle altivec overreads.
...
Altivec sws code intentionally overreads buffers for better performance,
so we need to allocate larger buffers to handle that.
14 years ago
Stefano Sabatini
e1197b9e17
swscale: remove sws_format_name()
...
Use av_get_pix_fmt_name() instead.
14 years ago
Michael Niedermayer
39d607e5bb
swscale: Commits that could not be pulled earlier due to bugs #2
...
commit 5a5a0f1613
Author: Diego Biurrun <diego@biurrun.de>
Date: Fri May 27 19:46:39 2011 +0200
swscale: Remove unused variables in x86 code.
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’
commit 389e2000eb
Author: Ronald S. Bultje <rsbultje@gmail.com>
Date: Fri May 27 12:23:32 2011 -0400
swscale: delay allocation of formatConvBuffer().
That means it won't be allocated when not needed. Alongside
this, it fixes valgrind/fate-detected memory leaks.
commit f327bfa6dc
Author: Ronald S. Bultje <rsbultje@gmail.com>
Date: Fri May 27 11:36:43 2011 -0400
swscale: fix build with --disable-swscale-alpha.
commit 9f5d45025e
Author: Ronald S. Bultje <rsbultje@gmail.com>
Date: Fri May 27 09:28:38 2011 -0400
swscale: fix non-bitexact yuv2yuv[X2]() MMX/MMX2 functions.
14 years ago
Michael Niedermayer
986f0d86cb
Commits that could not be pulled earlier due to bugs.
...
commit 93681fbd50
Author: Ronald S. Bultje <rsbultje@gmail.com>
Date: Thu May 26 11:32:32 2011 -0400
swscale: fix compile on ppc.
commit e758573a88
Author: Ronald S. Bultje <rsbultje@gmail.com>
Date: Thu May 26 10:36:47 2011 -0400
swscale: fix compile on x86-32.
commit 0f4eb8b043
Author: Ronald S. Bultje <rsbultje@gmail.com>
Date: Thu May 26 09:17:52 2011 -0400
swscale: remove VOF/VOFW.
commit b4a224c5e4
Author: Ronald S. Bultje <rsbultje@gmail.com>
Date: Wed May 25 14:30:09 2011 -0400
swscale: split chroma buffers into separate U/V planes.
Preparatory step to implement support for sizes > VOFW.
14 years ago
Ronald S. Bultje
485d73ef21
swscale: replace formatConvBuffer[VOF] by allocated array.
...
This allows to convert between formats of arbitrary width,
regardless of the value of VOF/VOFW.
14 years ago
Ronald S. Bultje
009f829dde
swscale: fix crash in bilinear scaling.
14 years ago
Diego Biurrun
11f2eae2ae
swscale: Remove commented-out printf cruft.
14 years ago
Ronald S. Bultje
389e2000eb
swscale: delay allocation of formatConvBuffer().
...
That means it won't be allocated when not needed. Alongside
this, it fixes valgrind/fate-detected memory leaks.
14 years ago
Michael Niedermayer
2b6bfff2b2
swscale: Do not loose precission on yuv values after rgb->yuv.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
14 years ago
Ronald S. Bultje
0f4eb8b043
swscale: remove VOF/VOFW.
14 years ago
Ronald S. Bultje
b4a224c5e4
swscale: split chroma buffers into separate U/V planes.
...
Preparatory step to implement support for sizes > VOFW.
14 years ago
Ronald S. Bultje
69645c021a
swscale: replace formatConvBuffer[VOF] by allocated array.
...
This allows to convert between formats of arbitrary width,
regardless of the value of VOF/VOFW.
14 years ago
Diego Biurrun
0093199184
swscale: Remove commented-out printf cruft.
14 years ago
Jean-Tiare Le Bigot
364889cf9c
Return -1 on invalid input instead of crashing.
14 years ago
Michael Niedermayer
895b616146
swscale: dont loose bits on planar >8bit yuv ind gray nput.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
14 years ago
Ronald S. Bultje
c4fd283a46
swscale: use emms_c().
14 years ago
Ronald S. Bultje
e66149e714
swscale: force --enable-runtime-cpudetect and remove SWS_CPU_CAPS_*.
14 years ago
Diego Biurrun
046f081b46
configure: Do not unconditionally add -D_POSIX_C_SOURCE to CPPFLAGS.
...
Adding _POSIX_C_SOURCE to CPPFLAGS globally produces all sorts of problems
since it causes certain system functions to be hidden on some (BSD) systems.
The solution is to only add the flag on systems that really require it, i.e.
glibc-based ones.
This change makes BSD systems compile out-of-the-box without the need for
adding specific flags manually. It also allows dropping a number of flags
set manually on a file-per-file basis, but were only present to work around
breakage introduced by the presence of _POSIX_C_SOURCE.
Also add _XOPEN_SOURCE to CPPFLAGS for glibc systems. We use XSI extensions
in several places already, so it is preferable to define it globally instead
of littering source files with individual #defines only needed for glibc.
14 years ago
Ronald S. Bultje
c8f487deae
swscale: fix YUV420P 9/10bit support.
...
Fix handling of input if not in native endianness, and add support for
9/10-bit output. This allows us to force endianness of YUV420P 9/10bit
in the H264/10bit fate tests, which should fix them on big-endian
systems.
14 years ago
Michael Niedermayer
e3497907ef
swscale: remove fork bug that i missed in the merge.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
14 years ago
Oskar Arvidsson
42239ced65
Add pixel formats for 9- and 10-bit yuv420p.
...
Also add support for these formats in libswscale.
Needed for high bit depth h264 decoding.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
Baptiste Coudurier
b9e608492a
swscale: 9,10 bits pixel format output support
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
14 years ago
Peter Ross
1afbae100b
libswcale: PIX_FMT_BGR48LE and PIX_FMT_BGR48BE scaler implementation
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
14 years ago
Baptiste Coudurier
e91946ed23
Rename y400a to gray8a.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
14 years ago
tateu
93c28a55fd
Fix runtime CPU detection in libswscale.
14 years ago
Stefano Sabatini
bd2a3700c0
lsws: prevent overflow in sws_init_context()
...
In the loop:
for (i=0; i<dstH; i++) {
int chrI= i*c->chrDstH / dstH;
when i*c->chrDstH > INT_MAX this leads to an integer overflow, which
results in a negative value for chrI and in out-of-buffer reads. The
overflow is avoided by forcing int64_t arithmetic by casting i to
int64_t.
Fix crash, and trac issue #72 .
Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
14 years ago