Ronald S. Bultje
dc49bf1270
sws/pixfmt/pixdesc: add support for yuv420p9le/be.
2011-10-21 00:58:01 -07:00
Ronald S. Bultje
8305041e13
swscale: prevent overflow in coefficient calculation.
2011-10-21 00:14:11 -07:00
Ronald Bultje
d1d421cbc0
swscale: prevent overflow during initialization
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-18 10:29:49 +02:00
Anton Khirnov
04de1569cd
sws: support yuv444p9/10 output.
2011-10-12 08:27:30 +02:00
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.
2011-09-15 07:30:46 -07:00
Ronald S. Bultje
28c1115a91
swscale: use 15-bit intermediates for 9/10-bit scaling.
2011-08-12 11:54:25 -07:00
Stefano Sabatini
6a92551234
lsws: remove optimization debug logs in sws_init_context()
...
The logged information is possibly false, and it tends to be outdated
after each change since the logging code needs to be manually updated.
Simplify and prevent confusing wrong debug messages.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-08-05 00:45:06 +02:00
Stefano Sabatini
347167ecf5
lsws: use array for storing the supported in/out information
...
Also remove the unnecessary isSupportedIn/Out macros.
Make the code more compact/readable, and simplify the access to
lsws-specific pixel format information.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-08-05 00:44:11 +02:00
Ronald S. Bultje
62ee0e6a97
Revert "swscale: use 15-bit intermediates for 9/10-bit scaling."
...
This reverts commit ac0fb59348
. It
causes valgrind errors which I'll want to investigate before
resubmitting this.
2011-08-02 12:27:43 -07:00
Ronald S. Bultje
ac0fb59348
swscale: use 15-bit intermediates for 9/10-bit scaling.
2011-08-02 10:34:02 -07:00
Joseph Artsimovich
eedb1f2034
swscale: mark YUV422P10(LE,BE) as supported for output
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-21 02:10:31 +01:00
Ronald S. Bultje
baba2eedac
swscale: extend mmx padding.
...
Fixes a crash when forcing libc to strictly adhere to malloc sizes.
2011-07-14 13:27:06 -07:00
Diego Biurrun
96c1e6d40d
doxygen: Make sure parameter names match between .c and .h files.
2011-07-14 04:09:49 +02:00
Ronald S. Bultje
5c391a161a
swscale: rename uv_off/uv_off2 to uv_off_px/byte.
2011-07-08 15:15:31 -07:00
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.
2011-07-08 15:15:30 -07:00
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.
2011-07-02 08:33:52 -07:00
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.
2011-07-01 09:08:26 -07:00
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).
2011-06-29 09:45:52 -07:00
Ronald S. Bultje
dff5a83532
swscale: re-add support for non-native endianness.
...
This works through some non-obvious hacks in utils.c.
2011-06-27 18:10:41 -07:00
Janne Grunau
3636e791ec
swscale: use SwsContext for av_log when available
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-06-15 13:20:20 +02:00
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>
2011-06-10 15:12:24 -04:00
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.
2011-06-09 16:47:45 -04:00
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.
2011-06-02 11:25:56 -07:00
Ronald S. Bultje
009f829dde
swscale: fix crash in bilinear scaling.
2011-05-28 08:59:56 -04:00
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.
2011-05-27 13:22:27 -04:00
Ronald S. Bultje
0f4eb8b043
swscale: remove VOF/VOFW.
2011-05-26 09:31:27 -04:00
Ronald S. Bultje
b4a224c5e4
swscale: split chroma buffers into separate U/V planes.
...
Preparatory step to implement support for sizes > VOFW.
2011-05-26 09:31:27 -04:00
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.
2011-05-26 09:31:02 -04:00
Diego Biurrun
0093199184
swscale: Remove commented-out printf cruft.
2011-05-26 03:45:58 +02:00
Ronald S. Bultje
c4fd283a46
swscale: use emms_c().
2011-05-24 14:48:49 -04:00
Ronald S. Bultje
e66149e714
swscale: force --enable-runtime-cpudetect and remove SWS_CPU_CAPS_*.
2011-05-24 10:03:26 -04:00
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.
2011-05-12 11:41:59 +02:00
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.
2011-05-11 19:15:14 -04:00
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>
2011-05-10 07:24:19 -04:00
Peter Ross
1afbae100b
libswcale: PIX_FMT_BGR48LE and PIX_FMT_BGR48BE scaler implementation
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-04-28 07:25:27 +02:00
Anton Khirnov
7dfe244fbd
sws: remove disabled cruft.
2011-04-19 21:50:12 +02:00
Mans Rullgard
2912e87a6c
Replace FFmpeg with Libav in licence headers
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
Janne Grunau
a03be6e1ba
use LIBAV_LICENSE and LIBAV_VERSION instead of FFMPEG_*
2011-03-16 21:54:39 +01:00
Janne Grunau
29ba091136
replace FFMPEG with LIBAV in FFMPEG_CONFIGURATION
...
also update the multiple inclusion guards in config.h|mak
2011-03-16 21:54:39 +01:00
Martin Storsjö
9c158e4947
Store src/dstFormat after calling handle_jpeg
...
handle_jpeg may update the src/dstFormat variables, this makes sure the
updated version is stored in the context.
This fixes roundup issue 2302.
Patch by Troot, all_crap_goes_here at hotmail
Originally committed as revision 32562 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-10-29 13:48:12 +00:00
Reimar Döffinger
12eef0d1ba
100l, fix sws_getCachedContext. It did not set the colorspace details,
...
but worse it did not set up destination dimensions, thus every user
of it would necessarily fail.
Originally committed as revision 32424 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-10-03 07:53:40 +00:00
Stefano Sabatini
f34fcdc8b6
Set default values for the scale context in sws_alloc_context().
...
Originally committed as revision 32415 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-09-29 22:06:44 +00:00
Stefano Sabatini
fc7c40c2bd
Cosmetics: put "if (...)" and "av_log(...)" in the same line for
...
improving vertical alignment and readability.
Originally committed as revision 32405 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-09-29 16:15:42 +00:00
Stefano Sabatini
d29e863e1d
Put if (...) av_log() in the same line, more compact and increase
...
readibility.
Originally committed as revision 32404 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-09-29 13:02:31 +00:00
Stefano Sabatini
c24b404ba6
Cosmetics: fix braces placement.
...
Originally committed as revision 32402 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-09-29 08:44:09 +00:00
Stefano Sabatini
0810a5846b
Deprecate sws_getContext(), use sws_alloc_context() and
...
sws_init_context() instead.
Originally committed as revision 32401 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-09-28 22:23:58 +00:00
Baptiste Coudurier
df0743e01e
Y400A (gray alpha) input support in libswscale
...
Originally committed as revision 32394 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-09-27 22:24:03 +00:00
Janne Grunau
9f694f0b3d
swscale: clear SWS_CPU_CAPS_SSE2 in update_flags_cpu() missed in r32068
...
Originally committed as revision 32393 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-09-27 20:10:53 +00:00
Janne Grunau
829e5dafc2
cosmetics: break long line update_flags_cpu
...
Originally committed as revision 32392 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-09-27 20:09:29 +00:00
Michael Niedermayer
635d4aed60
Split alloc and init of context so that parameters can be set in the context
...
instead of requireing being passed through function parameters. This also
makes sws work with AVOptions.
Originally committed as revision 32368 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-09-26 19:33:57 +00:00