Commit Graph

170 Commits

Author SHA1 Message Date
Anton Mitrofanov
c85007d559 Another try at fixing swscale on win64, as per r31153.
Don't change paramater passing, but instead use casts.
Shouldn't affect asm output on anything other than win64.
libswscale should work on win64 now.
The rest of ffmpeg still isn't win64 compatible due to the issue of xmm
clobbers, but swscale doesn't use any SSE.

Patch by Anton Mitrofanov <BugMaster AT narod DOT ru>.

Originally committed as revision 31751 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-07-18 21:39:57 +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
f5af8f1625 Replace wrong condition name in #endif comment by correct instance.
Originally committed as revision 30938 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-03-19 09:58:45 +00:00
Michael Niedermayer
e5a1c20707 try to avoid returning odd slices.
Originally committed as revision 30847 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-03-05 21:39:27 +00:00
Ramiro Polla
f1d5a1f285 Reorder buffer debug. Also print out if slice was buffered.
Originally committed as revision 30722 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-02-23 16:46:43 +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
bc45751f7f Declare with av_unused the variable alpMmxFilter, fix the gcc warning:
swscale_template.c: In function ‘swScale_C’:
swscale_template.c:2580: warning: unused variable ‘alpMmxFilter’
swscale_template.c: In function ‘sws_init_swScale_C’:

Originally committed as revision 30332 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-16 19:22:30 +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
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
Ramiro Polla
996de2fefa cosmetics: {} placement.
Originally committed as revision 30272 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-11 07:30:28 +00:00
Zuxy Meng
4b19045566 Remove unused PREFETCHW macro
Originally committed as revision 30253 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-09 14:44:20 +00:00
Reimar Döffinger
f514b4f937 Do not needlessly use the BP register in x86_64-specific code, there are
enough other registers available that are less likely to cause issues.

Originally committed as revision 30160 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-01 09:46:24 +00:00
Diego Biurrun
c887b30d79 Remove unused variable, fixes the warning:
libswscale/swscale_template.c:2575: warning: unused variable ‘srcFormat’

Originally committed as revision 30132 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-12-28 12:05:20 +00:00
Ramiro Polla
aaba7e6c66 Remove parameters no longer used in h[yc]scale().
Originally committed as revision 30099 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-12-21 01:59:34 +00:00
Ramiro Polla
a1f4b4bb6e Move fast bilinear scaler code to the existing h[yc]scale_fast() functions.
Originally committed as revision 30098 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-12-21 01:54:59 +00:00
Ramiro Polla
bb53e1d188 Rename function pointers used to convert from the input pixel format to the
intermediate YV12 to a more descriptive name.

Originally committed as revision 30097 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-12-21 01:41:29 +00:00
Ramiro Polla
e7a47515ab Check if chroma horizontal scaler is needed in sws_init_swScale().
Originally committed as revision 30096 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-12-21 01:34:45 +00:00
Ramiro Polla
e77ddfa293 Indent.
Originally committed as revision 30086 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-12-20 17:15:01 +00:00
Ramiro Polla
b501a1f56a Set fast_bilinear functions in sws_init_swScale().
Originally committed as revision 30085 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-12-20 17:09:46 +00:00
Ramiro Polla
bae76dc3eb Set horizontal scaler's range conversion in context in sws_init_swScale().
Originally committed as revision 30082 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-12-20 16:32:58 +00:00
Ramiro Polla
84011f10d5 Set horizontal scaler's src offsets in context in sws_init_swScale().
Originally committed as revision 30081 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-12-20 16:21:25 +00:00
Ramiro Polla
75084e47ff Start using intermediate buffers at index 0.
These index variables are incremented before each use, so they should be
initialized to -1.

Originally committed as revision 29977 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-12-06 22:01:25 +00:00
Ramiro Polla
e470691aa8 Fix compilation with runtime cpu detection.
All functions in swscale_template.c should be declared with the RENAME macro.

Originally committed as revision 29976 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-12-05 09:44:19 +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
Carl Eugen Hoyos
b411dfff4c Use enum PixelFormat instead of int for srcFormat and dstFormat.
Originally committed as revision 29857 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-11-08 23:31:43 +00:00
Diego Biurrun
53e5462040 Replace manual gcc version check by AV_GCC_VERSION_AT_LEAST macro.
Originally committed as revision 29701 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-09-22 14:38:49 +00:00
Ramiro Polla
c866c7d041 Cleanup buffer debugs in swScale().
Originally committed as revision 29686 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-09-16 22:34:48 +00:00
Ramiro Polla
953c821f9b Use correct buffers in vertical scaler in unscaled YV12 case.
Originally committed as revision 29685 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-09-16 22:31:43 +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
c255994b29 More indentation changes leftover from r29522:
- 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 29524 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-16 21:37:07 +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
ebe5dec22b Indent.
Originally committed as revision 29518 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-15 02:35:55 +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
b0e1343b85 Remove duplicate define (it is the same in the lum code).
Originally committed as revision 29508 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-13 18:28:55 +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
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
Ramiro Polla
cbdc08d5a6 Indent.
Originally committed as revision 29451 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-07-28 05:14:47 +00:00
Ramiro Polla
fb91df397a Remove duplicate horizontal scaling when there aren't enough lines in a slice
to output the dstY line.

Originally committed as revision 29450 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-07-28 05:13:36 +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
Ramiro Polla
18c61752fd Factorize x86 fast_bilinear assembly.
Originally committed as revision 29445 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-07-27 06:22:00 +00:00
Ramiro Polla
6d08d7f3c8 Fix assembly comments for x86 fast_bilinear so they match the C code.
Originally committed as revision 29444 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-07-27 06:20:17 +00:00
Ramiro Polla
fdf70cc5c9 Kill warnings of possibly unused variables by using av_unused.
Originally committed as revision 29355 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-06-11 17:10:54 +00:00
Ramiro Polla
934626a9f9 Replace more uses of __attribute__((aligned)) by DECLARE_ALIGNED.
Originally committed as revision 29349 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-06-04 22:10:52 +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
Cédric Schieli
f267119786 Fix chroma shift when scaling from ARGB on LE and BGRA on BE
Originally committed as revision 29242 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-05-02 08:40:53 +00:00