Commit Graph

121 Commits

Author SHA1 Message Date
sdrik 1a132a4acd Fix chroma shift when scaling from ARGB on LE and BGRA on BE
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29242 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-05-02 08:40:53 +00:00
michael 7a07a0fcb0 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.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29217 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-04-21 01:08:03 +00:00
sdrik d323bf6135 Do not use abgrToA for both luma and alpha channel in hyscale.
This fixes RGB32 (et al.) scaling.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29179 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-04-14 14:11:57 +00:00
ramiro 9442096523 swscale: Use function pointers for swScale functions.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29145 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-04-04 22:45:02 +00:00
ramiro 8b6298459d swscale: Add const to some swScale functions' parameters.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29143 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-04-04 22:41:46 +00:00
ramiro 96323d1d5d swscale: Remove mmx2 params from h[yc]scale().
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29129 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-04-02 18:34:11 +00:00
ramiro 9574441a1c swscale: Split h[yc]scale_fast() into their own functions.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29128 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-04-02 18:32:49 +00:00
ramiro 755c96e953 swscale: Execute sfence and emms depending on runtime flags.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29127 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-04-02 18:31:22 +00:00
diego 04327ae83a Move swscale AltiVec template code to ppc subdirectory.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29099 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-03-29 14:18:44 +00:00
reimar 902bcf5fbd Do _not_ use rbx on x86_64, it will fail to compile with PIC, besides it
added completely pointless code.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29016 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-03-20 16:23:48 +00:00
reimar 1c91e6157f Fix swscale compilation with Altivec enabled.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29015 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-03-20 16:12:03 +00:00
sdrik dbf1674a34 Reindent after last commit
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29014 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-03-20 14:44:26 +00:00
sdrik 751f5dcd87 YUVA420P is now supported as output format
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29012 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-03-20 14:16:24 +00:00
sdrik 57fda37dbb Add alpha channel scaling
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29011 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-03-20 14:15:14 +00:00
cehoyos 6130d5c9b1 Remove useless casting in asm "m" operand.
Patch by Matthieu Castet, castet D matthieu A free D fr


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29007 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-03-19 23:29:19 +00:00
ramiro 72e3d88202 Do not assume long is same width as x86 register.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28992 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-03-18 17:07:30 +00:00
diego a186cc5523 Consistently use ff_ prefixes for internal symbols.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28988 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-03-18 08:06:08 +00:00
sdrik 4acac0faf5 Make the source buffer operands parametrized in the YSCALEYUV2RGB_YA macro
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28943 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-03-14 08:11:03 +00:00
sdrik 437ee8cc61 Make MMX registers parametrized in the YSCALEYUV2PACKEDX_YA macro
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28934 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-03-11 14:44:22 +00:00
kostya 72304af23b Mask all unused bits for packed pixel format instead of green and alpha mask only.
That fixes the case when converting 15-bit RGB/BGR to YUV and high bit is set
for input value(s).



git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28916 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-03-09 17:25:43 +00:00
henry db234369ff remove the rest of x86 asm from LGPL build
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28804 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-03-03 19:47:23 +00:00
sdrik 3a81bf82a0 When converting from a non alpha format to an alpha format, defaults to all ones rather than all zeroes
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28756 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-02-28 08:01:52 +00:00
stefang d7c0bde0e1 move zeroing of alpha channel register out of YSCALEYUV2xxx macros,
patch by Cédric Schieli (cschieli at gmail youknowwhat)


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28687 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-02-21 10:54:29 +00:00
stefang 3d263a0ae5 splits various YSCALEYUV2xxx macros into YSCALEYUV2xxx_UV,
YSCALEYUV2xxx_YA and YSCALEYUV2xxx_COEFF,
patch by Cédric Schieli (cschieli at gmail youknowwhat)


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28686 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-02-21 10:52:59 +00:00
stefang 52e18fdc4f make MMX registers parametrized in the WRITEBGR32 macro,
patch by Cédric Schieli (cschieli at gmail youknowwhat)


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28685 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-02-21 10:49:52 +00:00
kostya 919b7aef26 Some AltiVec functions in SwScaler produce different output than their
counterparts in pure C, so don't invoke them in bitexact mode.



git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28555 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-02-14 16:37:39 +00:00
diego cecfbf85db HAVE_3DNOW --> HAVE_AMD3DNOW to sync with latest configure changes.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28358 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-01-25 19:58:33 +00:00
aurel be34ba7a39 Change semantic of CONFIG_*, HAVE_* and ARCH_*.
They are now always defined to either 0 or 1.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28311 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-01-14 00:13:56 +00:00
diego f76cb1f891 Put variable declaration inside an #ifdef to avoid an unused variable warning.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27945 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-11-17 10:33:59 +00:00
cehoyos d6ed4677ca Remove unused code that can't be compiled without svn archive.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27827 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-10-25 20:41:51 +00:00
diego e9b43bec09 cosmetics: typo fix
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27816 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-10-23 16:23:42 +00:00
flameeyes 3679961515 Convert asm keyword into __asm__.
Neither the asm() nor the __asm__() keyword is 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 syntax.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27778 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-10-16 13:34:30 +00:00
flameeyes 3ab65de119 Invert logic for the single-pass in swScale() functions.
Instead of having a firstTime variable defaulting to 1, have a
warnedAlready defaulting to 0. While this should make no difference in
code speed at runtime, it allows to aggregate the four bytes of that
variable with clip_table in .bss section, rather than issuing a .data
section just for that.

As it is, libswscale require no .data section but .data.rel.ro (that
can be mitigated by prelinking), so the change might actually save one
page of memory at runtime (per process).



git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27734 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-10-09 11:10:30 +00:00
vitor 74bb6be453 Do not set src[1] to the palette, it is now in the context
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27731 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-10-08 17:48:23 +00:00
cehoyos 99877b2fc6 Remove b5Dither, g5Dither and r5Dither from libswscale.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27718 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-10-04 18:50:39 +00:00
cehoyos 15d516ffdf Remove g6Dither from libswscale.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27715 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-10-04 16:40:35 +00:00
lu_zero cec6a449ef Uniform *ToY and *ToUV function signatures
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27636 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-09-18 00:26:37 +00:00
lu_zero 3a3d1283b6 Split mono2Y in monowhite and monoblack
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27635 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-09-18 00:24:32 +00:00
lu_zero b1f6b96548 Factorize unit32_t* casts for palette pointer
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27634 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-09-18 00:22:53 +00:00
ben 62146f22be Fix libswscale build after r27561 if --enable-runtime-cpudetection is used.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27602 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-09-13 16:13:04 +00:00
michael b726d73ed1 Fix indention.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27600 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-09-13 13:41:47 +00:00
michael 79c5484c9f Disable mmx routines that are not bitexact when the user wants
bitexact ones.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27597 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-09-13 03:12:15 +00:00
michael 6869e4a7a4 Make horizontal mmx scaling code match C code.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27596 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-09-13 02:18:12 +00:00
michael 68de5a33c9 Make the horizontal C scaler code clip only against INT16_MAX not 0,
this decreases the difference between C and MMX, its also faster.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27593 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-09-12 22:29:21 +00:00
michael df44f03e48 Fix another 1000l bug in the mono input code.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27590 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-09-12 18:05:57 +00:00
michael d28a3ad668 10000l PIX_FMT_MONOWHITE check was really a || 1.
Thats what happens when one does not do the full set of tests before each commit
and just quickly goes over the diff thinking, "hey it is a trivial change".


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27588 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-09-12 17:28:36 +00:00
michael 296ccc70ea Support mono as input format.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27587 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-09-12 16:46:38 +00:00
michael fc855e63d2 Add support for PIX_FMT_MONOWHITE as output format.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27586 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-09-12 16:01:17 +00:00
michael 6d7e720009 Fix typo that lead to averaging of the same pixel in rgb24ToUV_half().
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27582 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-09-11 14:47:18 +00:00
michael 6009a04a23 Implement full horizontal chroma for rgb/bgr24/32 output.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27580 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-09-11 14:39:12 +00:00