Commit Graph

350 Commits

Author SHA1 Message Date
tateu
93c28a55fd Fix runtime CPU detection in libswscale. 2011-04-27 01:52:36 +02:00
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>
2011-04-25 22:45:19 +02:00
unknown author
2671ab3996 Check mmap() return against correct value
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-25 01:54:29 +02:00
Anton Khirnov
7dfe244fbd sws: remove disabled cruft. 2011-04-19 21:50:12 +02:00
Oskar Arvidsson
d4497f6dfb 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: Michael Niedermayer <michaelni@gmx.at>
2011-04-10 22:33:41 +02:00
Peter Ross
3e2523db20 libswcale: PIX_FMT_BGR48LE and PIX_FMT_BGR48BE scaler implementation 2011-03-26 13:24:32 +11: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
Michael Niedermayer
e528cdac8a Revert "replace FFMPEG with LIBAV in FFMPEG_CONFIGURATION"
This reverts commit 29ba091136.
2011-03-17 17:26:45 +01:00
Michael Niedermayer
0cb88628fb Revert "use LIBAV_LICENSE and LIBAV_VERSION instead of FFMPEG_*"
This reverts commit a03be6e1ba.
2011-03-17 17:26:45 +01: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
Ramiro Polla
f4203ff3d9 swscale: use full chroma input for point scaler
Originally committed as revision 32360 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-09-26 17:06:32 +00:00
Ramiro Polla
c17f5a4e15 swscale: also update flags on sws_getCachedContext()
Originally committed as revision 32052 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-09-06 14:42:25 +00:00
Grant Carver
53bc0dc2bd fix anonymous memory mapping for NetBSD
mmap() with MAP_ANONYMOUS requires the file descriptor to be -1 in NetBSD.
Linux just ignores this parameter.

Patch by Grant Carver <grantc at cat dot co dot za>

Originally committed as revision 31984 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-08-19 23:48:19 +00:00
Ramiro Polla
262b6dbad9 darwin: allow 64-bit darwin to allocate executable memory
darwin requires _DARWIN_C_SOURCE to be defined for MAP_ANON, which is used by
swscale to determine whether to use malloc() or mmap(). 64-bit darwin does not
have an executable heap, so mmap() must be used instead of malloc(), and
therefore _DARWIN_C_SOURCE must be defined.

Originally committed as revision 31760 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-07-21 13:29:55 +00:00
Stefano Sabatini
0093ac5b9f Move internal scale context fields initialization from
sws_setColorspaceDetails() to ff_yuv2rgb_c_init_tables().

Allow to factorize duplicated code.

Originally committed as revision 31300 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-06-01 11:30:07 +00:00
Stefano Sabatini
b8dbff33bf Cosmetics: make more compact the code for handle_jpeg(), this also allows
vertical alignment. Improve readability.

Originally committed as revision 31186 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-05-19 22:56:41 +00:00
Stefano Sabatini
4e74187db2 Remove PI definition and use M_PI instead.
M_PI is defined by the included file libavutil/mathematics.h.

Originally committed as revision 31185 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-05-19 22:49:04 +00:00
Diego Biurrun
819ee683d8 libswscale: Relicense almost all x86 assembler optimizations as LGPL.
This is of course done with permissions from the authors. The only GPL
component left are MMX optimizations for YUV to RGB conversion.

Originally committed as revision 30965 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-03-27 11:31:02 +00:00
Diego Biurrun
f684f3c58a AltiVec implies a PPC CPU, so there is no need to check for both.
Originally committed as revision 30954 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-03-23 22:59:14 +00:00
Diego Biurrun
13bc1ac31a Do not compile AltiVec code when AltiVec is not available; not even in
runtime cpudetection mode.
Fixes compilation with '--enable-runtime-cpudetect --disable-altivec'.

Originally committed as revision 30952 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-03-23 20:12:52 +00:00
Janusz Krzysztofik
22e8222fd2 Extend the generic path of the yuv2rgb converter with support for rgb444
output format.

Patch by Janusz Krzysztofik, jkrzyszt A tis D icnet D pl

Originally committed as revision 30934 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-03-18 23:02:32 +00:00
Reimar Döffinger
97cda76a69 Check for allocation failure for c->lumMmx2FilterCode and c->chrMmx2FilterCode.
Originally committed as revision 30864 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-03-08 19:41:57 +00:00
Reimar Döffinger
12423f170f Fix memleak due to incorrect VirtualFree arguments: size must be 0 for MEM_RELEASE.
Originally committed as revision 30863 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-03-08 19:37:10 +00:00
Stefano Sabatini
3de42635bd Avoid duplication of usePal() macro.
Originally committed as revision 30856 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-03-06 11:50:54 +00:00
Carl Eugen Hoyos
627686e635 Make sws_dcVec static: It is only used inside libswscale/utils.c.
Originally committed as revision 30787 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-02-28 02:18:16 +00:00
Stefano Sabatini
479e1e6170 Remove pointless empty line.
Originally committed as revision 30730 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-02-25 21:21:29 +00:00
Stefano Sabatini
b623d0cb03 Reindent and fix brace placement.
Originally committed as revision 30643 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-02-18 21:20:37 +00:00
Stefano Sabatini
22b6a24c34 Vertically align a list of comparisons in sws_getCachedContext().
Originally committed as revision 30642 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-02-18 21:17:07 +00:00
Stefano Sabatini
5a011d8b08 Merge two if conditions, allow to decrese the level of indentation of
the block.

Originally committed as revision 30641 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-02-18 21:12:05 +00:00
Stefano Sabatini
62bb4ca199 Simplify how usesVFilter and usesHFilter are set.
Originally committed as revision 30520 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-02-05 23:53:25 +00:00
Stefano Sabatini
af0e662169 Declare support for the pixel formats:
PIX_FMT_YUVJ420P
PIX_FMT_YUVJ422P
PIX_FMT_YUVJ440P
PIX_FMT_YUVJ444P

in the isSupported{In,Out} macros.

These pixel formats are not true pixel formats but hacks specific to
JPEG in libavcodec. They are deprecated and should be removed (that is
from libavcodec first and libswscale second)...  but they must be
tested by swscale-test.

See thread:
Subject: [FFmpeg-devel] [PATCH] Extend show_pix_fmts() to make it print the input/output support
Date: 2010-01-30 15:54:08 GMT

Originally committed as revision 30474 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-31 10:16:05 +00:00
Michael Niedermayer
6022255774 Use isAnyRGB() where possible
Originally committed as revision 30435 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-26 08:03:28 +00:00
Michael Niedermayer
3b1ee70312 Rename isRGB() and isBGR() as their meaning is confusing.
Originally committed as revision 30433 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-26 07:40:14 +00:00
Stefano Sabatini
7b87519b32 Merge two "if (flags & SWS_PRINT_INFO) { ... }" blocks, slightly
simplify code.

Originally committed as revision 30432 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-25 22:46:09 +00:00
Stefano Sabatini
f632c4549b Merge two "if (flags & SWS_PRINT_INFO) { ... }" blocks.
Originally committed as revision 30425 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-24 17:44:43 +00:00
Stefano Sabatini
30b6147521 Use av_get_bits_per_pixel() for computing the bits per pixel of the
source and destination format, cache those values in the newly added
SwsContext:srcFormatBpp and SwsContext:dstFormatBpp fields, and remove
the fmt_depth() function.

Originally committed as revision 30419 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-24 12:55:05 +00:00
Ramiro Polla
2658e7a6e7 Don't redefine M_PI. It is already defined from libavutil/mathematics.h.
Originally committed as revision 30412 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-24 02:16:26 +00:00
Ramiro Polla
a4388ebd37 Split swscale.c into scaler code (swscale.c) and utility code (utils.c).
Originally committed as revision 30411 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-24 02:08:22 +00:00