1
mirror of https://git.videolan.org/git/ffmpeg.git synced 2024-09-14 02:53:37 +02:00
Commit Graph

565 Commits

Author SHA1 Message Date
Ronald S. Bultje
fe43d5d71e swscale: remove duplicate code in ppc/ subdirectory. 2011-05-24 10:16:32 -04:00
Ronald S. Bultje
e66149e714 swscale: force --enable-runtime-cpudetect and remove SWS_CPU_CAPS_*. 2011-05-24 10:03:26 -04:00
Michael Niedermayer
26ed595bd0 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: Add -U__STRICT_ANSI__ to CPPFLAGS on Cygwin and DOS.
  aacdec: fix typo in scalefactor clipping check
  fate: fix fate-h264-conformance-frext-pph10i4-panasonic-a crcs.
  fate: update 9/10bit refs.
  h264: Properly set coded_{width, height} when parsing H.264.
  x86 asm: Add SECTION_TEXT to dct32_sse.asm.
  Fix 9/10 bit in swscale.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-24 04:35:08 +02:00
Kieran Kunhya
6465c820da Fix 9/10 bit in swscale.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-05-23 06:46:14 -04:00
Ronald S. Bultje
b025431bfe swscale: 10l forgot git add this change from ronald.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-14 02:50:10 +02:00
Michael Niedermayer
58c03f6d7d Merge remote branch 'qatar/master'
* qatar/master:
  swscale: properly inline bits/endianness in yuv2yuvX16inC().
(We didnt pull the bug)  swscale: fix clipping of 9/10bit YUV420P.
  Add av_clip_uintp2() function
(our patch / duplicate)  dfa: fix buffer overflow checks to avoid integer overflows.
(our patch / duplicate)  movenc: always write esds descriptor length using 4 bytes.
(our patch / duplicate)  ffmpeg: use parse_number_and_die() when it makes sense
(No thanks)  ffmpeg: get rid of the 'q' key schizofrenia

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-14 02:19:58 +02:00
Ronald S. Bultje
9f54e461fe swscale: properly inline bits/endianness in yuv2yuvX16inC(). 2011-05-13 16:46:24 -04:00
Ronald S. Bultje
c3d68ec9c5 swscale: fix clipping of 9/10bit YUV420P. 2011-05-13 16:45:28 -04:00
Michael Niedermayer
72153419b5 Merge remote branch 'qatar/master'
* qatar/master: (33 commits)
  rtpdec_qdm2: Don't try to parse data packet if no configuration is received
  ac3enc: put the counting of stereo rematrixing bits in the same place to make the code easier to understand.
  ac3enc: clean up count_frame_bits() and count_frame_bits_fixed()
  mpegvideo: make FF_DEBUG_DCT_COEFF output coeffs via av_log() instead of just via AVFrame.
  srtdec: make sure we don't write past the end of buffer
  wmaenc: improve channel count and bitrate error handling in encode_init()
  matroskaenc: make sure we don't produce invalid file with no codec ID
  matroskadec: check that pointers were initialized before accessing them
  lavf: fix function name in compute_pkt_fields2 av_dlog message
  lavf: fix av_find_best_stream when providing a wanted stream.
  lavf: fix av_find_best_stream when decoder_ret is given and using a related stream.
  ffmpeg: factorize quality calculation
  tiff: add support for SamplesPerPixel tag in tiff_decode_tag()
  tiff: Prefer enum TiffCompr over int for TiffContext.compr.
  mov: Support edit list atom version 1.
  configure: Enable libpostproc automatically if GPL code is enabled.
  Cosmetics: fix prototypes in oggdec
  oggdec: fix memleak with continuous streams.
  matroskaenc: add missing new line in av_log() call
  dnxhdenc: add AVClass in private context.
  ...

swscale changes largely rewritten by me or replaced by baptsites due to lots of bugs in ronalds code.
Above code is also just in case its not obvios to a large extended duplicates that where cherry picked
from ffmpeg.

Conflicts:
	configure
	ffmpeg.c
	libavformat/matroskaenc.c
	libavutil/pixfmt.h
	libswscale/ppc/swscale_template.c
	libswscale/swscale.c
	libswscale/swscale_template.c
	libswscale/utils.c
	libswscale/x86/swscale_template.c
	tests/fate/h264.mak
	tests/ref/lavfi/pixdesc_le
	tests/ref/lavfi/pixfmts_copy_le
	tests/ref/lavfi/pixfmts_null_le
	tests/ref/lavfi/pixfmts_scale_le
	tests/ref/lavfi/pixfmts_vflip_le

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-13 04:40:40 +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
Michael Niedermayer
7bea13f111 swscale: Fix scaling for unscaled dithered planar convertions.
This fixes some overflow in bright areas and ensures that the maximum brightness level is
mapped to the maximum without cliping and without showing dither patterens in flat max
brightness areas.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-10 14:43:34 +02: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
Michael Niedermayer
53789a27f8 swscale: use Nbit code to handle !is16BPS(c->srcFormat) && is16BPS(c->dstFormat)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-10 00:37:20 +02:00
Michael Niedermayer
42c9bd313f swscale: Support dither in is16BPS(c->srcFormat) && !is16BPS(c->dstFormat)
This is done by just letting the Nbit code handle it, which now can do it.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-10 00:21:18 +02:00
Michael Niedermayer
c4f7050bb1 swscale: support unscaled planar Nbit->8bit with non native endian source.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-10 00:18:27 +02:00
Michael Niedermayer
09ff3cc77b swscale: fix unscaled yuv422p16be -> yuv422p10le
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-10 00:15:03 +02:00
Michael Niedermayer
eb8aa13b54 swscale: make DITHER_COPY() support non native endian source
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-10 00:09:10 +02:00
Michael Niedermayer
9c49ca0f19 swscale: factor shift out of DITHER_COPY().
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-09 22:02:44 +02:00
Michael Niedermayer
300e497b5f swscale: factorize DITHER_COPY()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-09 21:38:46 +02:00
Michael Niedermayer
3dd779eb0a swscale: implement Nbit->non native endian 16bit. Fixes v210.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-09 00:22:12 +02:00
Baptiste Coudurier
b9e608492a swscale: 9,10 bits pixel format output support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-08 14:27:13 +02:00
Michael Niedermayer
95f163b33b swscale: Dither for unscaled 10->8bit per channel
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-06 15:19:27 +02:00
Michael Niedermayer
7915e038c6 swscale: dont reshuffle bytes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-06 13:18:55 +02: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
Baptiste Coudurier
624a7e005c Correctly support pal8 with alpha in libswscale, fix png pal8 with alpha.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-27 21:52:09 +02:00
Baptiste Coudurier
dbfdb288c1 Set alpha of palettes to 0xff.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-27 21:49:45 +02:00
Baptiste Coudurier
e91946ed23 Rename y400a to gray8a.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-27 21:36:30 +02:00
tateu
93c28a55fd Fix runtime CPU detection in libswscale. 2011-04-27 01:52:36 +02:00
Anton Khirnov
7dfe244fbd sws: remove disabled cruft. 2011-04-19 21:50:12 +02:00
Janne Grunau
f668afd489 swscale: fix "ISO C90 forbids mixed declarations and code" warning
only hit with --enable-runtime-cpudetect
2011-04-15 10:06:53 +02:00
Josh Allmann
33a0421bba swscale: simplify initialization code
Simplify the fallthrough case when no accelerated functions
can be initialized.
2011-04-14 22:16:47 +02:00
Josh Allmann
735bf19511 swscale: further cleanup swscale.c
Move x86-specific constants out of swscale.c
2011-04-14 22:16:47 +02:00
Luca Barbato
86330b4c92 swscale: partially move the arch specific code left
PPC and x86 code is split off from swscale_template.c. Lots of code is
still duplicated and should be removed later.

Again uniformize the init system to be more similar to the dsputil one.

Unset h*scale_fast in the x86 init in order to make the output
consistent with the previous status. Thanks to Josh for spotting it.
2011-04-14 22:16:47 +02:00
Michael Niedermayer
c55780dcef Merge remote branch 'qatar/master'
* qatar/master: (32 commits)
  libopencore-amr, libvo-amrwbenc: Allow enabling DTX via private AVOptions
  libopencore-amr, libvo-amrwbenc: Only check the bitrate when changed
  libopencore-amr, libvo-amrwbenc: Find the closest matching bitrate
  libvo-*: Fix up the long codec names
  libavcodec: Mark AVCodec->priv_class const
  swscale: Factorize FAST_BGR2YV12 definition.
  libvo-aacenc: Only produce extradata if the global header flag is set
  lavf: postpone removal of public metadata conversion API
  lavc: postpone removal of request_channels
  lavc: postpone removal of audioconvert and sample_fmt wrappers
  lavf: postpone removal of deprecated avio functions
  libopencore-amr: Cosmetics: Rewrap and align
  libopencore-amr, libvo-amrbwenc: Rename variables and functions
  libopencore-amr: Convert commented out debug logging into av_dlog
  libopencore-amr: Remove an unused state variable
  libvo-amrwbenc: Don't explicitly store bitrate modes in the bitrate table
  libopencore-amr: Remove a useless local variable
  libopencore-amr, libvo-amrwbenc: Make the bitrate/mode mapping array static const
  libopencore-amr, libvo-amrwbenc: Return proper error codes in most places
  libopencore-amr: Don't print carriage returns in log messages
  ...

Conflicts:
	doc/developer.texi
	libavcodec/avcodec.h
	libavcodec/libvo-aacenc.c
	libavcodec/libvo-amrwbenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-14 03:21:38 +02:00
Luca Barbato
0e1a5434e2 swscale: Factorize FAST_BGR2YV12 definition.
It is used only for x86 so it will eventually be moved with that code
into the x86 arch subdirectory.
2011-04-13 17:24:53 +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
Darren Horrocks
30c6fefd01 fix runtime-cpu-detect bug in swscale
swscale doesnt ever actually do any runtime detection at all when
runtime cpu detection is enabled, it simply passes whatever is passed
to -sws_flags, which could be nothing at all making swscale default to
the C implementation.
2011-04-05 02:36:57 +02:00
Michael Niedermayer
95c8bb03ed Fix compilation failure with runtime cpudetect (Ticket #22) 2011-03-28 16:46:45 +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
Baptiste Coudurier
bd8154d0b3 100l fix if condition
Originally committed as revision 32395 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-09-27 23:47:54 +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
Ramiro Polla
5a90173751 swscale: remove useless temporary variable
Originally committed as revision 32258 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-09-16 01:09:59 +00:00
Ramiro Polla
cf1cd520c6 swscale: factorize plane copying code out of 2 functions
Originally committed as revision 32257 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-09-16 01:07:55 +00:00
Ramiro Polla
0132ab80a8 indent
Originally committed as revision 32157 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-09-11 14:31:13 +00:00
Ramiro Polla
4d8617496f swscale: remove unused code
yvu9ToYv12Wrapper() used to support yv12 with the chroma planes either in the
uv order or the vu order. FFmpeg no longer has a pixel format in vu order.

Originally committed as revision 32156 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-09-11 14:30:54 +00:00
Ramiro Polla
a1899e0adc swscale: fix internal rgb->yv12 chroma conversion used by the main scaler path
The shift must be applied before the masking.

Originally committed as revision 32051 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-09-06 02:02:53 +00:00
Ramiro Polla
0fc29f2708 swscale: simplify selection of optimizations to compile.
Originally committed as revision 32013 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-08-25 14:39:11 +00:00
Ramiro Polla
8f02861636 swscale: Always define COMPILE_xxx to either 0 or 1.
Originally committed as revision 32012 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-08-25 14:38:30 +00:00
Måns Rullgård
66842fe874 swscale: fix unaligned accesses in (RGB|BGR)32_1 to YUV conversion
Originally committed as revision 32011 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-08-23 21:22:24 +00:00
Måns Rullgård
83761d5b58 swscale: remove unused macro parameter in BGR2UV template
Originally committed as revision 32010 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-08-23 21:22:20 +00:00
Ramiro Polla
a42c29febc validate input data and linesizes
Originally committed as revision 31976 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-08-18 19:37:37 +00:00
Stefano Sabatini
04f6ab1cef Add missing comma, fix rgb2yuv_table[SWS_CS_SMPTE240M] coefficients.
Originally committed as revision 31779 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-07-24 11:19:39 +00:00
Stefano Sabatini
24911613a5 Add some comments to the rgb2yuv_table, clarifying the standard where
are defined.

Originally committed as revision 31778 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-07-24 11:19:35 +00:00
Martin Storsjö
e593826b93 Cosmetics: reindent and unify whitespace
Originally committed as revision 31757 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-07-19 07:06:14 +00:00
Martin Storsjö
72ae5049e1 Do planar copy with a single memcpy only if the stride is equal to the length
This avoids writing outside of the designated rectangle.

Originally committed as revision 31756 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-07-19 07:02:31 +00:00
Martin Storsjö
c4e2b8268f In planarCopyWrapper, Only copy length, not stride of the last line in the plane
If the destination planes are offset within the destination buffer,
writing the extra bytes at the end may write outside of the destination
buffer.

Originally committed as revision 31746 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-07-16 17:45:50 +00:00
Måns Rullgård
6a01eab73c Add av_ prefix to bswap macros
Originally committed as revision 31679 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-07-10 22:12:38 +00:00
Eli Friedman
3483d87752 Fix 'assignment from incompatible pointer type' warning.
Patch by Eli Friedman, eli d friedman a gmail

Originally committed as revision 31628 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-07-03 09:58:13 +00:00
Reinhard Tartler
2b991422f8 deprecate palette8topacked32 in favor of public API functions sws_convertPalette8ToPacked32 and -24
additionallym deprecate palette8torgb16 and its bgr variant without
replacement. These functions are not meant to be used by applications.

Discussed at: http://comments.gmane.org/gmane.comp.video.ffmpeg.devel/109340

Originally committed as revision 31301 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-06-01 19:35:16 +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
Ramiro Polla
c3ab0004ae Revert r31153. It failed to build on:
x86_64 / Mac OS X gcc 4.0.1
x86_64 / Linux icc (all)
x86_64 / Linux gcc 4.0.4
x86_64 / OpenBSD gcc 3.3.5
x86_64 / Linux suncc 5.10
and there are some reports of crashes.

Originally committed as revision 31170 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-05-12 20:47:32 +00:00
Ramiro Polla
d9d14dc607 Use int instead of long to pass width parameters in non-public functions.
long was being incorrectly used as an x86-sized register, both for 32 and 64
bits, but this is not the case in win64.

Originally committed as revision 31153 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-05-11 00:36:34 +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
81bbd840fe Check whether COMPILE_ALTIVEC is defined, not if it is set to a 0/1 value.
COMPILE_ALTIVEC is never set to 1, it is just #defined.

Originally committed as revision 30937 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-03-19 09:57:36 +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
Reinhard Tartler
07cea6d1cd Fix compilation on powerpc with --disable-altivec
in case altivec is disabled, even compilation of code using altivec
keywords or asm must be avoided.

Originally committed as revision 30869 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-03-09 08:07:34 +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
Janusz Krzysztofik
601949b898 libswscale: Extend the unaccelerated path of the unscaled yuv2rgb special
converter with support for rgb444 output format.
Patch by Janusz Krzysztofik jkrzyszt chez tis icnet pl

Originally committed as revision 30841 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-03-05 08:32:54 +00:00
Alexis Ballier
1379b58482 Support BGR555, BGR565, RGB555 and RGB565 foreign endian output in
libswscale.

Patch by Alexis Ballier, alexis D ballier A gmail

Originally committed as revision 30840 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-03-04 16:57:04 +00:00
Stefano Sabatini
23bf3b2c97 Fill the r, g, b values used for computing the c->pal_yuv table in the
case where the source format is PIX_FMT_GRAY8.

This is required as PIX_FMT_GRAY8 has been declared as a paletted
format in FFmpeg r22191, fix GRAY8 -> RGB conversion.

Originally committed as revision 30826 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-03-04 00:31:13 +00:00
Stefano Sabatini
82e5f86bd5 Implement shuffle_bytes_abcd() functions and use them for shuffling
bytes when converting between RGB32 variants.

In particular fix the argb -> rgba and abgr -> bgra conversions.

See the thread:
Subject: [FFmpeg-devel] [RFC] RGB32 / BGR32 ethernal bug
Date: Tue, 26 Jan 2010 01:06:18 +0100

Originally committed as revision 30501 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-02-03 23:46:00 +00:00
Stefano Sabatini
909f659473 Reindent.
Originally committed as revision 30467 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-30 21:58:09 +00:00
Stefano Sabatini
3ece3e524f Use a consistent convention for the names of the internal wrapper
functions. Improve readability.
 -This line, and those below, will be ignored--

     swscale.c

Originally committed as revision 30466 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-30 21:56:33 +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
aa2ead8215 Fix mis-computation of the needsDither variable erroneously introduced
in r30419, which was causing a swscale-example regression.

Also increase my liter count by 20.0 units.

Originally committed as revision 30431 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-24 21:28:17 +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
59398ea9c0 Indent.
Originally committed as revision 30413 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-24 03:02:40 +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
Måns Rullgård
4a88852623 Move array specifiers outside DECLARE_ALIGNED() invocations
Originally committed as revision 30385 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-22 03:26:30 +00:00
David Conrad
01cc47dcd3 More const-correctness for sws_scale
Originally committed as revision 30381 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-21 09:52:11 +00:00
Stefano Sabatini
0e21dcdb13 Split overly long line.
Originally committed as revision 30378 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-19 22:36:46 +00:00
Alexis Ballier
f28cc5771f Make const prototypes for input sources of sws_scale_* stricter.
Patch by Alexis Ballier gmailify($firstname, $familyname)

Originally committed as revision 30374 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-19 16:30:20 +00:00
Ramiro Polla
3aca8b59f6 Remove useless forward declaration.
Originally committed as revision 30371 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-19 11:35:04 +00:00
Stefano Sabatini
c36a4294dc Remove stray '\' at the end of macro definitions.
Originally committed as revision 30362 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-17 23:29:31 +00:00
Stefano Sabatini
90eb284a77 Remove duplicated or pointless newlines.
Originally committed as revision 30361 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-17 23:17:47 +00:00
Stefano Sabatini
398c193d0b Factorize error message logging, log it if the converter cannot be
set.

Originally committed as revision 30360 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-17 23:07:37 +00:00
Stefano Sabatini
e36a545de5 Reindent after the last commit.
Originally committed as revision 30359 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-17 23:02:20 +00:00
Stefano Sabatini
c0d1dc1c4f Make the pal2rgbWrapper set and use the converter in pal2rgbWrapper
only if the input format is paletted.

Fix potential crashes/weirdness if the input format is non-paletted.

Originally committed as revision 30358 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-17 23:00:01 +00:00
Måns Rullgård
00c4127ec9 Remove double const
Originally committed as revision 30357 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-17 19:26:35 +00:00
Stefano Sabatini
9a180390b9 Factorize error message logging in rgb2rgbWrapper().
Originally committed as revision 30356 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-17 15:11:25 +00:00
Måns Rullgård
1b5d46c6a6 Reindent
Originally committed as revision 30350 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-17 14:25:19 +00:00
Måns Rullgård
d39d7cf693 Remove inline from initFilter()
It makes no sense having that function inlined.

Originally committed as revision 30349 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-17 14:25:17 +00:00
Stefano Sabatini
e922e34c96 Add a const qualifier in a cast, fix the gcc warning:
swscale.c: In function ‘sws_scale’:
swscale.c:2968: warning: cast discards qualifiers from pointer target type

Originally committed as revision 30341 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-17 00:26:29 +00:00
Stefano Sabatini
5090d8e16a Add a const qualifier in a cast, fix the gcc warning:
swscale.c: In function ‘planarCopy’:
swscale.c:2256: warning: cast discards qualifiers from pointer target type

Originally committed as revision 30340 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-17 00:21:50 +00:00
Stefano Sabatini
a630ed3ee9 Fix typo, "get rid off" -> "get rid of".
Originally committed as revision 30338 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-16 22:49:00 +00:00
Stefano Sabatini
730cb9dab3 Revert r30331, which broke compilation.
swScale_C is not templated if any optimization is to be used and
!runtime_cpudetect.

Originally committed as revision 30334 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-16 19:51:26 +00:00
Stefano Sabatini
80853cfc6a Factorize the code which calls the non optimized C functions in
getSwsFunc().

Originally committed as revision 30331 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-16 19:19:54 +00:00
Stefano Sabatini
c70f1401df Prefer "to %s%s" over "to%s %s", slightly more readable.
Originally committed as revision 30330 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-16 19:14:29 +00:00
Stefano Sabatini
a9e2878c48 Simplify code in sws_getContext() which logs if the destination format
support dithering, remove the const char *dither variable and use a
literal string instead.

Originally committed as revision 30329 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-16 19:11:03 +00:00
Ramiro Polla
0cc854e377 Reuse h{lum,chr}Filter{,Pos} variables for MMX2 fast_bilinear horizontal scaler.
Originally committed as revision 30327 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-16 18:39:06 +00:00
Stefano Sabatini
d95c863850 Factorize code which logs the source and destination formats in
sws_getContext().

Originally committed as revision 30326 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-16 18:36:21 +00:00
Stefano Sabatini
3e906f4cfb Simplify reset_ptr(): employ usePal() macro rather than enumerating
all the paletted formats.

Originally committed as revision 30317 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-16 11:08:16 +00:00
Ramiro Polla
2e3e8031ec Don't initialize normal horizontal filter if MMX2 filter is used.
Originally committed as revision 30313 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-15 19:50:59 +00:00
Zuxy Meng
a959e24780 Const correctness for src pointer. Remove all constness related warnings in
libswscale.

Originally committed as revision 30306 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-15 08:51:51 +00:00
Stefano Sabatini
3bfbbef64d Fix typo.
Originally committed as revision 30304 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-15 00:39:25 +00:00
Ramiro Polla
00c081a8f0 Remove unused clip_table code.
Originally committed as revision 30303 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-14 19:12:42 +00:00
Ramiro Polla
efc034cc0f Add const qualifier to rgb48 to YV12 functions' src.
Originally committed as revision 30301 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-14 06:19:45 +00:00
Ramiro Polla
a3e35e2852 Add missing parameter to rgb48 to YV12 functions.
Originally committed as revision 30300 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-14 06:19:10 +00:00
Reimar Döffinger
1b168a428d Ignore 0-height slice in sws_scale, otherwise a final 0-height slice will
cause libswscale to assume the incorrect slice order and complain about
slices starting in the middle.

Originally committed as revision 30246 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-08 19:31:33 +00:00
Stefano Sabatini
8e9767f6fd Implement sws_isSupportedInput() and sws_isSupportedOutput().
Originally committed as revision 30236 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-07 19:07:47 +00:00
Stefano Sabatini
634116df3e Prefer enum PixelFormat over int for the type of the format parameter
of getSubSampleFactors().

Originally committed as revision 30184 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-03 15:20:07 +00:00
Stefano Sabatini
997980f0d8 Prefer "*FUNC_NAME(" over "* FUNC_NAME(" for the
swscale_configuration() and swscale_license() functions, consistent
with the rest of FFmpeg.

Originally committed as revision 30180 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-03 14:35:20 +00:00
Stefano Sabatini
f412d5e97a Simplify usePal() macro, make it use av_pix_fmt_descriptors.
Originally committed as revision 30172 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-03 00:22:49 +00:00
Stefano Sabatini
b3cf7cb144 Simplify getSubSampleFactors(), make it use the values provided by
av_pix_fmt_descriptors().

Originally committed as revision 30171 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-03 00:09:24 +00:00
Ramiro Polla
d3243d1431 Indentation.
Originally committed as revision 30087 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-12-20 17:42:35 +00:00
Ramiro Polla
a8bcc7b42b Document the differences between the two asm fragments in initMMX2HScaler().
Originally committed as revision 29978 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-12-07 03:52:55 +00:00
Ramiro Polla
f415be684d Add support for nv12/nv21 input.
Originally committed as revision 29974 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-12-03 18:18:13 +00:00
Stefano Sabatini
a9af75ae85 Make sws_format_name() use av_pix_fmt_descriptors.
This also introduces a dependency of libswscale on libavutil.

Originally committed as revision 29968 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-11-26 21:08:45 +00:00
Diego Biurrun
bd381fd3f6 Add functions to return library license and library configuration.
Originally committed as revision 29932 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-11-18 17:16:02 +00:00
NVIDIA Corporation
8cbcb1c732 Support VDPAU hardware accelerated decoding of MPEG-4 ASP on capable
hardware.

Original patch by NVIDIA corporation.

Originally committed as revision 29885 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-11-10 19:11:13 +00:00
Ramiro Polla
749fac310c Reset slice direction at end of each frame.
Originally committed as revision 29675 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-09-13 01:49:40 +00:00
Ramiro Polla
9cf484d06e Rename CHECKED_ALLOC(Z) to FF_ALLOC(Z)_OR_GOTO and add context and label
parameters.

Originally committed as revision 29652 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-09-06 00:07:35 +00:00
Ramiro Polla
c2613a3137 Indent.
Originally committed as revision 29651 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-09-05 23:35:59 +00:00
Lars Täuber
991e579cae Make 16bit YUV formats compatible with NE avcodec_get_pix_fmt().
Patch by Lars Täuber <lars <dot> taeuber <at> gmx <dot> net>.

Originally committed as revision 29650 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-09-05 23:33:11 +00:00
Ramiro Polla
67c2c5bb2e Curly brackets cosmetics for previous commit.
Originally committed as revision 29587 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-29 23:08:32 +00:00
Ramiro Polla
1ddb5747df Check for return value of initFilter().
Originally committed as revision 29586 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-29 23:06:22 +00:00
Ramiro Polla
7248797c03 swscale: Check for return values of malloc.
Originally committed as revision 29584 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-29 23:02:01 +00:00
Ramiro Polla
0607b09069 Restore comment that was partially removed.
Originally committed as revision 29582 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-29 02:44:03 +00:00
Ramiro Polla
1b03a9d607 Check return values of sws_allocVec() and sws_getConstVec().
Originally committed as revision 29543 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-20 01:55:45 +00:00
Ramiro Polla
1aff375d41 Introduce and use sws_allocVec().
Originally committed as revision 29536 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-19 01:33:17 +00:00
Ramiro Polla
20484b90ec Reuse sws_getConstVec() where possible.
Originally committed as revision 29535 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-19 01:32:06 +00:00
Ramiro Polla
dd68318cee Cosmetics:
- Place curly brackets in the same line as while/for/if/switch/else/do;
- Place curly brackets at column 0 in the next line starting a function.

Originally committed as revision 29523 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-16 21:11:28 +00:00
Ramiro Polla
9b734d44ab Indent libswscale:
- Use 4 spaces throughout for indentation;
- Fix inconsistent indentation;
- Indent function calls and declarations aligning arguments on multiple lines
  to the column after the opening parentheses;
- Align asm code to the column 4 spaces after the call to __asm__();
- Align cases in switch statements to the same column as "switch".

Originally committed as revision 29522 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-16 00:32:04 +00:00
Ramiro Polla
52154148f4 Vertical yuv -> yuv16 scaler.
Originally committed as revision 29517 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-14 15:52:40 +00:00
Ramiro Polla
737cbcde08 Indent.
Originally committed as revision 29512 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-13 19:03:14 +00:00
Ramiro Polla
48f4c61252 MMX2 horizontal scaler: Determine code size at runtime.
Originally committed as revision 29510 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-13 18:31:07 +00:00
Ramiro Polla
0728778885 Protect mmx2 filter code buffers so they are not executable and writeable at
the same time (only mmap for now).

Originally committed as revision 29509 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-13 18:29:54 +00:00
Ramiro Polla
bcdedf675f Rename "funny" code to "mmx2 filter" code.
Originally committed as revision 29507 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-13 18:28:17 +00:00
Ramiro Polla
184410e60b Put some altivec code under COMPILE_ALTIVEC, and not HAVE_ALTIVEC.
Originally committed as revision 29484 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-09 15:34:57 +00:00
Diego Biurrun
0bf18ed32d Remove disabled crufty code.
Originally committed as revision 29482 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-08 15:18:48 +00:00
Guennadi Liakhovetski
062394e07c Fix regression when converting to nv12/nv21.
Patch by Guennadi Liakhovetski,  g D liakhovetski A gmx D de

Originally committed as revision 29464 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-01 21:30:36 +00:00
Ramiro Polla
469fd9b0e1 MMX2 scaler: Remove {} block leftover from factorization in initMMX2Scaler().
Merge variable declarations to previous {} block and indent.

Originally committed as revision 29454 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-07-28 05:45:47 +00:00
Ramiro Polla
f1c6dfa371 MMX2 scaler: factorize initMMX2Scaler().
Originally committed as revision 29453 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-07-28 05:42:46 +00:00
Ramiro Polla
901775c714 MMX2 scaler: add variable to ease factorization of initMMX2Scaler().
Originally committed as revision 29452 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-07-28 05:41:22 +00:00
Ramiro Polla
571d9587cf Remove useless code.
flags can never be any other kind of scaling algorithm inside this if().

Originally committed as revision 29449 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-07-28 04:46:39 +00:00
Ramiro Polla
94daf2e94c Do not misuse HAVE_ defines. Introduce COMPILE_TEMPLATE_ defines and use them
instead.

Originally committed as revision 29446 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-07-27 06:47:41 +00:00
Måns Rullgård
a898cdc995 Replace WORDS_BIGENDIAN with HAVE_BIGENDIAN
Originally committed as revision 29439 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-07-26 12:26:32 +00:00
Måns Rullgård
78d01adaa7 Remove unnecessary #include <unistd.h>
Originally committed as revision 29437 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-07-23 15:23:03 +00:00
Ramiro Polla
804db4466d Remove unused variables.
Originally committed as revision 29435 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-07-21 20:17:15 +00:00
Diego Biurrun
8b1a644177 AltiVec code and runtime cpudetect do not require CONFIG_GPL.
Make sure the latter is only checked for x86 optimizations, which are GPL.

Originally committed as revision 29390 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-06-25 20:06:03 +00:00
Diego Biurrun
57f6d52a22 The AltiVec optimizations of libswscale are no longer under GPL.
Originally committed as revision 29389 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-06-25 11:27:36 +00:00
Diego Biurrun
e912c13ad7 PPC: Make sure that COMPILE_C is not deactivated if RUNTIME_CPUDETECT is set.
Originally committed as revision 29388 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-06-25 10:14:05 +00:00
Vitor Sessak
fa8c408b26 Do not call rgb2rgbWrapper() for rgb48*, there is no special converter
yet for those formats

Originally committed as revision 29371 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-06-17 18:40:19 +00:00
Pavel Pavlov
92db623584 Use DECLARE_ALIGNED macro instead of gcc __attribute__.
Patch by Pavel Pavlov <pavel at summit-tech dot ca>

Originally committed as revision 29348 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-06-04 21:55:52 +00:00
Kostya Shishkov
68e7f4828d YUV into RGB48 BE/LE conversion support
Originally committed as revision 29342 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-06-02 12:30:11 +00:00
Kostya Shishkov
e8417235d0 Partial (low bits ignored, no direct transcoding into other RGB formats) support
for inputting RGB48BE/LE.

Originally committed as revision 29341 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-06-02 12:28:49 +00:00
Kostya Shishkov
80704c47c4 Move colorspace conversion functions implemented in pure C from template
into swscale.c

Originally committed as revision 29320 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-05-25 16:42:54 +00:00
Kostya Shishkov
075ec82c54 Make SwScaler recognize RGB48 BE/LE colourspaces (not support though).
Originally committed as revision 29316 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-05-19 17:26:22 +00:00
Diego Biurrun
0020c54cb8 Add const qualifier to param argument of sws_getContext() and
sws_getCachedContext().  Fixes the warning:
swscale.c:3408: warning: assignment discards qualifiers from pointer target type

Originally committed as revision 29288 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-05-10 14:00:00 +00:00
Diego Biurrun
465477e1fb Move preprocessor condition before variable declaration, fixes the warning:
libswscale/swscale.c:1795: warning: unused variable 'flags'

Originally committed as revision 29287 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-05-10 11:37:04 +00:00
Vitor Sessak
5f9ae1983d Fix sliced yuv410 -> yuv420 conversion
Originally committed as revision 29272 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-05-07 20:41:04 +00:00
Carl Eugen Hoyos
8e86dd1241 Make reset_ptr() void.
Originally committed as revision 29229 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-04-23 22:19:53 +00:00
Michael Niedermayer
de1275d5e8 Planar 16bit 420 422 444 YUV support (output is only supported in some
unscaled convertions).
This, like gray16 converts down to 8bit, which is a big FIXME & patch welcome,
we should preserve more bits.

Originally committed as revision 29217 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-04-21 01:08:03 +00:00
Michael Niedermayer
61a3f379e0 Merge gray->gray converters into planarCopy(), this should also make planarCopy()
useable for other 16bit formats once we support them.

Originally committed as revision 29216 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-04-21 00:08:06 +00:00
Michael Niedermayer
b87fae9f56 Make sure src/dst are NULL when they arent used, some code uses this to
simpify checks.

Originally committed as revision 29214 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-04-21 00:01:59 +00:00
Michael Niedermayer
081aa41db9 Use generic BE check instead of checking for gray16LE.
Originally committed as revision 29213 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-04-20 21:05:32 +00:00
Stefano Sabatini
0c067dc34b Make sws_setColorspaceDetails() return -1 if the destination format is
not supported.

Originally committed as revision 29187 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-04-18 11:53:59 +00:00
Stefano Sabatini
2d26fa2822 Move sws_[gs]etColorspaceDetails() documentation from swscale.c to
swscale.h.

Originally committed as revision 29186 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-04-18 11:45:31 +00:00
Ramiro Polla
10a7d21672 Rename RUNTIME_CPUDETECT to CONFIG_RUNTIME_CPUDETECT and always define it.
Originally committed as revision 29154 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-04-08 20:21:21 +00:00
Ramiro Polla
dd4090256c swscale: Remove X86 commented out code.
Originally committed as revision 29149 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-04-05 19:17:53 +00:00
Ramiro Polla
40fa514033 swscale: Use function pointers for swScale functions.
Originally committed as revision 29145 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-04-04 22:45:02 +00:00
Ramiro Polla
14d5c18c98 swscale: {}-related cosmetics.
Originally committed as revision 29144 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-04-04 22:43:24 +00:00
Ramiro Polla
7ac4032784 swscale: Add const to some swScale functions' parameters.
Originally committed as revision 29143 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-04-04 22:41:46 +00:00
Cédric Schieli
4626ee1a8c Adds "YUYV422 to YUVA420P" and "UYVY422 to YUVA420P" unscaled convertion
Originally committed as revision 29048 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-24 07:11:35 +00:00
Cédric Schieli
08218e6d83 Fix some places where "non-alpha to YUVA420P" do not fill the alpha plane
Originally committed as revision 29047 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-24 07:10:19 +00:00
Michael Niedermayer
ff8084cf1c Enable unscaled packed422 -> planar 420 converters by default as the
imgconvert inherited quality issues should be fixed.

Originally committed as revision 29031 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-21 23:59:02 +00:00
Reimar Döffinger
6f34808691 Fix planarCopy to ignore the GRAY8 "pseudo"-palette, fixes libavtest regression test.
Originally committed as revision 29021 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-21 10:20:16 +00:00
Reimar Döffinger
20ddf5a8e4 Avoid crash on planarCopy to a destination without alpha.
Makes regression tests run again, though the results are still wrong.

Originally committed as revision 29018 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-20 17:22:03 +00:00
Cédric Schieli
6268f55be5 YUVA420P is now supported as output format
Originally committed as revision 29012 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-20 14:16:24 +00:00
Cédric Schieli
6858492e6c Add alpha channel scaling
Originally committed as revision 29011 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-20 14:15:14 +00:00
Cédric Schieli
f6cf4ed08a Use a simpler and more general check for the gray case in the planarCopy function
Originally committed as revision 29009 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-20 14:01:51 +00:00
Ramiro Polla
dd35beb29b Allocate executable memory with VirtualAlloc() in Windows.
Originally committed as revision 29006 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-19 21:52:44 +00:00
Ramiro Polla
16a3717f8d Drop unnecessary cast and cosmetically align.
Originally committed as revision 29005 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-19 21:50:10 +00:00
Michael Niedermayer
72ef3dd72e Fix 10l typo.
Originally committed as revision 29002 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-19 14:04:14 +00:00
Michael Niedermayer
0411072ee3 Unscaled converters for
YUYV->YUV420P
YUYV->YUV422P
UYVY->YUV420P
UYVY->YUV422P

Originally committed as revision 28997 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-19 03:45:29 +00:00
Ramiro Polla
d0ce212a7a Do not assume long is same width as x86 register.
Originally committed as revision 28992 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-18 17:07:30 +00:00
Diego Biurrun
780daf2b09 Consistently use ff_ prefixes for internal symbols.
Originally committed as revision 28988 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-18 08:06:08 +00:00
Cédric Schieli
d4da3e4790 Add a fillPlane function to fill a plane with one constant value
Originally committed as revision 28986 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-17 19:53:36 +00:00
Cédric Schieli
4c01b868de Don't write outside of the picture buffer in planarCopy in the gray case
Originally committed as revision 28985 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-17 19:51:52 +00:00
Cédric Schieli
c662e788ce In initMMX2HScaler, when chrDstW is not divisible by 4, the last filterPos element is initialized on the wrong index (not evenly aligned). This fixes it
Originally committed as revision 28933 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-11 14:22:53 +00:00
Cédric Schieli
6208d67664 Let the 4th plane reach the swScale function
Originally committed as revision 28868 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-07 09:39:48 +00:00
Cédric Schieli
a3398feb26 Fix bug introduced by me in r28756
Originally committed as revision 28825 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-03-05 21:02:33 +00:00
Cédric Schieli
f8a138be52 When converting from a non alpha format to an alpha format, defaults
Originally committed as revision 28756 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-02-28 08:01:52 +00:00
Cédric Schieli
2c89734255 Use YUV420P code path for YUVA420P where appropriate
Originally committed as revision 28746 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-02-27 22:13:55 +00:00
Kostya Shishkov
e76709d8a6 New LGPLed YUV2RGB table generator for SwScaler
Originally committed as revision 28700 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-02-22 09:22:05 +00:00
Stefano Sabatini
e14ff1e628 Use sws_printVec2() instead of the deprecated sws_printVec().
Originally committed as revision 28567 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-02-14 20:18:50 +00:00
Stefano Sabatini
26b40a659d Implement sws_printVec2() and deprecate sws_printVec().
Originally committed as revision 28566 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-02-14 20:14:28 +00:00
Kostya Shishkov
12794f73eb Some AltiVec functions in SwScaler produce different output than their
counterparts in pure C, so don't invoke them in bitexact mode.

Originally committed as revision 28555 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-02-14 16:37:39 +00:00
Stefano Sabatini
6d3cf67c2a Move sws_getGaussianVec() documentation from swscale.c to swscale.h.
Originally committed as revision 28528 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-02-10 23:45:50 +00:00
Stefano Sabatini
b954b34a6d Move documentation of sws_getCachedContext() from swscale.c to
swscale.h.

Originally committed as revision 28523 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-02-10 23:26:56 +00:00
Stefano Sabatini
9ea5e6f639 Remove pointless comment regarding sws_scale_ordered().
Originally committed as revision 28522 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-02-10 23:25:09 +00:00
Kostya Shishkov
e2a004ad4e Prefix visible YUV2RGB functions with sws_
Originally committed as revision 28496 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-02-09 14:31:53 +00:00
Kostya Shishkov
fa58ba15f8 Give better name to Inverse_Table_6_9
Originally committed as revision 28495 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-02-09 14:17:30 +00:00
Stefano Sabatini
c099766fad Drop the deprecated sws_scale_ordered() at the next major version
bump.

Originally committed as revision 28492 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-02-08 23:06:05 +00:00
Diego Biurrun
f4406ec177 HAVE_3DNOW --> HAVE_AMD3DNOW to sync with latest configure changes.
Originally committed as revision 28358 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-01-25 19:58:33 +00:00
Diego Biurrun
dfe44a855d Disable C code when compiling AltiVec code, fixes the warning:
swscale_template.c:2623: warning: `swScale_C' defined but not used

Originally committed as revision 28352 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-01-25 11:59:22 +00:00
Diego Biurrun
f40c7dbb7e spelling/grammar cosmetics
Originally committed as revision 28351 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-01-25 11:57:17 +00:00
Diego Biurrun
7a24ec506c Fix #endif comments.
Originally committed as revision 28350 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-01-25 11:33:35 +00:00
Carl Eugen Hoyos
0ab8039577 Add PIX_FMT_VDPAU_WMV3 and PIX_FMT_VDPAU_VC1.
Originally committed as revision 28344 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-01-20 09:31:07 +00:00
NVIDIA Corporation
4e2b48760b Add VDPAU hardware accelerated decoding for MPEG1 and MPEG2 which will
be used by MPlayer.

Original patch by NVIDIA corporation.

Originally committed as revision 28322 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-01-16 02:14:25 +00:00
Aurelien Jacobs
b63f641e9b Change semantic of CONFIG_*, HAVE_* and ARCH_*.
They are now always defined to either 0 or 1.

Originally committed as revision 28311 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-01-14 00:13:56 +00:00
Carl Eugen Hoyos
420169e520 Add PIX_FMT_VDPAU_H264.
Originally committed as revision 28281 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-01-08 19:54:43 +00:00
Diego Biurrun
cb82a0736d consistency cosmetics: Rename POWERPC identifiers to PPC.
Originally committed as revision 28194 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2008-12-27 11:33:54 +00:00
Vitor Sessak
75add6fbfc Silence GCC warnings:
ibswscale/swscale.c: In function ‘sws_scale’:
libswscale/swscale.c:2678: warning: ‘b’ may be used uninitialized in
this function
libswscale/swscale.c:2678: warning: ‘g’ may be used uninitialized in
this function
libswscale/swscale.c:2678: warning: ‘r’ may be used uninitialized in
this function

Originally committed as revision 27837 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2008-10-27 19:59:01 +00:00
Vitor Sessak
65f65c3021 Silence GCC warning
Originally committed as revision 27834 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2008-10-26 15:41:11 +00:00
Michael Niedermayer
9b0d44ef67 Do not attempt to use the unscaled yuv2rgb converter when height is odd because
it will overflow the buffer by 1 line. This might have been exploitable.

Originally committed as revision 27826 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2008-10-25 15:00:28 +00:00
Vitor Sessak
76e9fd01dd Cosmetics: alignment
Originally committed as revision 27818 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2008-10-23 19:20:14 +00:00
Vitor Sessak
522ce95786 Fix broken palette8to*.
Originally committed as revision 27817 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2008-10-23 19:13:11 +00:00
Diego Pettenò
7ad6469eae Convert asm keyword into __asm__.
Neither the asm() nor the __asm__() keyword is not part of the C99
standard, but while GCC accepts the former in C89 syntax, it is not
accepted in C99 unless GNU extensions are turned on (with -fasm). The
latter form is accepted in any syntax as an extension (without
requiring further command-line options).

Sun Studio C99 compiler also does not accept asm() while accepting
__asm__(), albeit reporting warnings that it's not valid C99 synta.

Originally committed as revision 27778 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2008-10-16 13:34:30 +00:00
Diego Pettenò
b5c44b1ab6 Mark some symbols in swscale.c as constant.
These are only used in swscale_template.c (and thus don't need to be
made extern), and can be declared as ASM constants.

Originally committed as revision 27737 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2008-10-09 11:13:14 +00:00
Diego Pettenò
d0b69b2855 Mark dither_2x2_{8,4} static to swscale.c
These two tables are not used outside swscale.c even though they are
declared also in yuv2rgb.c.

Originally committed as revision 27736 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2008-10-09 11:12:38 +00:00
Carl Eugen Hoyos
f5a2c9816e Change variable types from int to enum PixelFormat.
Fixes icc warning #188: enumerated type mixed with another type

Originally committed as revision 27733 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2008-10-09 08:36:04 +00:00
Vitor Sessak
e150ef8d34 Do not set src[1] to the palette, it is now in the context
Originally committed as revision 27731 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2008-10-08 17:48:23 +00:00
Vitor Sessak
4900461742 Add a new unscaled PAL8 -> RGB converter.
Originally committed as revision 27730 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2008-10-08 17:46:22 +00:00
Aurelien Jacobs
13394e8cbb Change one more variable type from int to enum PixelFormat.
This one was missing from r27727.

Originally committed as revision 27728 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2008-10-08 11:59:01 +00:00
Carl Eugen Hoyos
58e4b706c5 Change variable types from int to enum PixelFormat.
Fixes icc warning #188: enumerated type mixed with another type

Originally committed as revision 27727 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2008-10-07 19:44:39 +00:00
Carl Eugen Hoyos
88e2a9aebc Remove b5Dither, g5Dither and r5Dither from libswscale.
Originally committed as revision 27718 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2008-10-04 18:50:39 +00:00
Carl Eugen Hoyos
92c7b4713d Remove g6Dither from libswscale.
Originally committed as revision 27715 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2008-10-04 16:40:35 +00:00
Michael Niedermayer
f830d8244a Fix infinite loop with spline, bug was introduced in r27612 by me.
Originally committed as revision 27669 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2008-09-29 01:08:01 +00:00
Michael Niedermayer
d616c8ae3d Fix segfault with rgb24 and full_internal_chrome due to non existing alpha
byte being written after the array.

Originally committed as revision 27628 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2008-09-16 03:49:54 +00:00
Michael Niedermayer
a64a062fb9 Avoid using floating point for calculating filter coefficients.
Originally committed as revision 27612 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2008-09-15 03:33:09 +00:00
Michael Niedermayer
8588e1484e Avoid some explicit types in sizeof().
Originally committed as revision 27611 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2008-09-14 19:29:14 +00:00
Michael Niedermayer
22129c78d7 Use av_mallocz() instead of for() =0;
Originally committed as revision 27610 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2008-09-14 19:25:16 +00:00
Michael Niedermayer
45e18be87d Move dither tables from yuv2rgb to swscale, they have been written by me and
can be used under LGPL.

Originally committed as revision 27609 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2008-09-14 18:00:49 +00:00
Michael Niedermayer
43c164788c Rename yuv2rgb variables to avoid name clashes with the ones used by bfin asm.
Originally committed as revision 27599 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2008-09-13 11:52:03 +00:00
Michael Niedermayer
88bc5a64f6 Ensure that additional filter coeffs that exist due to alignment
are 0 if bitexact mode is requested.

Originally committed as revision 27595 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2008-09-13 02:04:10 +00:00
Michael Niedermayer
84c1253513 yvu9toyv12Wrapper is not bitexact so disable it when the user wants
bitexactness to C.

Originally committed as revision 27594 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2008-09-12 23:52:37 +00:00
Michael Niedermayer
b82ecd6258 The yuv->rgb tables are too small for cliping to be avoidable,
thus revert the respective optimization. The table generator code
has to be rewritten anyway one day by some volunteer because its
not LGPL, fixing the GPL table generator thus seems like wasted time.

Originally committed as revision 27591 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2008-09-12 21:25:42 +00:00
Michael Niedermayer
6c80eb1626 Add support for PIX_FMT_YUV440P.
Originally committed as revision 27589 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2008-09-12 17:51:13 +00:00
Michael Niedermayer
3d05e078ee Support mono as input format.
Originally committed as revision 27587 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2008-09-12 16:46:38 +00:00
Michael Niedermayer
ec1bca2a0f Add support for PIX_FMT_MONOWHITE as output format.
Originally committed as revision 27586 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2008-09-12 16:01:17 +00:00
Michael Niedermayer
0885770455 rgb24toyv12 isnt accuratly rounding, so disable it as well when the
user asks for accurate rounding.

Originally committed as revision 27585 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2008-09-12 04:40:51 +00:00
Michael Niedermayer
4155ece530 Do not use the unscaled yuv->rgb converters if SWS_ACCURATE_RND is set,
because they do not accurately round.

Originally committed as revision 27584 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2008-09-12 02:05:37 +00:00
Michael Niedermayer
8e7ba004ed Remove mistakely commited code i used for testing.
Originally committed as revision 27581 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2008-09-11 14:40:29 +00:00
Michael Niedermayer
f0faee4c63 Implement full horizontal chroma for rgb/bgr24/32 output.
Originally committed as revision 27580 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2008-09-11 14:39:12 +00:00
Michael Niedermayer
bdf397ba4b Do not do unneeded cliping in YSCALE_YUV_2_PACKEDX_C.
Originally committed as revision 27579 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2008-09-11 03:22:39 +00:00
Michael Niedermayer
e69bd29425 Factorize yuv2packedXinC().
Originally committed as revision 27578 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2008-09-11 02:36:51 +00:00