Commit 016831ec authored by Diego Biurrun's avatar Diego Biurrun Committed by Fiona Glaser

Delete all SPARC optimizations

SPARC has been obsolete for a long time and makes little sense as a
H.264 encoding platform.

Also update authors file.
parent c7c8eb15
......@@ -33,6 +33,14 @@ D: Altivec asm
D: BeOS and MacOS X ports.
S: France
N: Fiona Glaser
E: fiona AT x264 DOT com
D: Maintainer
D: All areas of encoder analysis and algorithms
D: Motion estimation, rate control, macroblock & frame decisions, RDO, etc
D: x86 asm
S: USA
N: Gabriel Bouvigne
E: bouvigne AT mp3-tech DOT org
D: 2pass VBV
......@@ -47,31 +55,25 @@ E: henrik AT gramner DOT com
D: 4:2:2 chroma subsampling, x86 asm, Windows improvements, bugfixes
S: Sweden
N: Fiona Glaser
E: fiona AT x264 DOT com
D: x86 asm, 1pass VBV, adaptive quantization, inline asm
D: various speed optimizations, bugfixes
S: USA
N: Laurent Aimar
E: fenrir AT via.ecp DOT fr
E: fenrir AT videolan DOT org
C: fenrir
D: Intial import, former maintainer
D: x86 asm (mmx/mmx2)
S: France
N: Loren Merritt
E: lorenm AT u.washington DOT edu
E: pengvado AT akuvian DOT org
C: pengvado
D: maintainer
D: Maintainer
D: All areas of encoder analysis and algorithms
D: Motion estimation, rate control, macroblock & frame decisions, RDO, etc.
D: Motion estimation, rate control, macroblock & frame decisions, RDO, etc
D: Multithreading
D: x86 and x86_64 asm (mmx/mmx2/sse2)
D: x86 asm
S: USA
N: Mans Rullgard
E: mru AT inprovide DOT com
E: mru AT mansr DOT com
C: mru
D: Rate control
S: Southampton, UK
......@@ -91,10 +93,6 @@ D: Win32/VC 6.0 port
D: gcc asm to nasm conversion
S: China
N: Phil Jensen
E: philj AT csufresno DOT edu
D: SPARC asm
N: Radek Czyz
E: radoslaw AT syskin DOT cjb DOT net
D: Cached motion compensation
......
......@@ -123,14 +123,6 @@ OBJASM = $(ASMSRC:%.S=%.o)
endif
endif
# VIS optims
ifeq ($(ARCH),UltraSPARC)
ifeq ($(findstring HIGH_BIT_DEPTH, $(CONFIG)),)
ASMSRC += common/sparc/pixel.asm
OBJASM = $(ASMSRC:%.asm=%.o)
endif
endif
ifneq ($(HAVE_GETOPT_LONG),1)
SRCCLI += extras/getopt.c
endif
......
......@@ -38,9 +38,6 @@
# include "arm/pixel.h"
# include "arm/predict.h"
#endif
#if ARCH_UltraSPARC
# include "sparc/pixel.h"
#endif
/****************************************************************************
......@@ -454,15 +451,6 @@ SAD_X( 8x4 )
SAD_X( 4x8 )
SAD_X( 4x4 )
#if !HIGH_BIT_DEPTH
#if ARCH_UltraSPARC
SAD_X( 16x16_vis )
SAD_X( 16x8_vis )
SAD_X( 8x16_vis )
SAD_X( 8x8_vis )
#endif
#endif // !HIGH_BIT_DEPTH
/****************************************************************************
* pixel_satd_x4
* no faster than single satd, but needed for satd to be a drop-in replacement for sad
......@@ -1410,13 +1398,6 @@ void x264_pixel_init( int cpu, x264_pixel_function_t *pixf )
x264_pixel_altivec_init( pixf );
}
#endif
#if !HIGH_BIT_DEPTH
#if ARCH_UltraSPARC
INIT4( sad, _vis );
INIT4( sad_x3, _vis );
INIT4( sad_x4, _vis );
#endif
#endif // !HIGH_BIT_DEPTH
pixf->ads[PIXEL_8x16] =
pixf->ads[PIXEL_8x4] =
......
/*****************************************************************************
* pixel.asm: sparc pixel metrics
*****************************************************************************
* Copyright (C) 2005-2014 x264 project
*
* Authors: Phil Jensen <philj@csufresno.edu>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111, USA.
*
* This program is also available under a commercial proprietary license.
* For more information, contact us at licensing@x264.com.
*****************************************************************************/
! VIS optimized SAD for UltraSPARC
.text
.global x264_pixel_sad_8x8_vis
x264_pixel_sad_8x8_vis:
save %sp, -120, %sp
fzero %f12
alignaddr %i0, %g0, %l0
ldd [%l0], %f0
ldd [%l0+8], %f2
faligndata %f0, %f2, %f4
alignaddr %i2, %g0, %l2
ldd [%l2], %f6
ldd [%l2+8], %f8
faligndata %f6, %f8, %f10
add %i0, %i1, %i0
add %i2, %i3, %i2
pdist %f4, %f10, %f12
alignaddr %i0, %g0, %l0
ldd [%l0], %f0
ldd [%l0+8], %f2
faligndata %f0, %f2, %f4
alignaddr %i2, %g0, %l2
ldd [%l2], %f6
ldd [%l2+8], %f8
faligndata %f6, %f8, %f10
add %i0, %i1, %i0
add %i2, %i3, %i2
pdist %f4, %f10, %f12
alignaddr %i0, %g0, %l0
ldd [%l0], %f0
ldd [%l0+8], %f2
faligndata %f0, %f2, %f4
alignaddr %i2, %g0, %l2
ldd [%l2], %f6
ldd [%l2+8], %f8
faligndata %f6, %f8, %f10
add %i0, %i1, %i0
add %i2, %i3, %i2
pdist %f4, %f10, %f12
alignaddr %i0, %g0, %l0
ldd [%l0], %f0
ldd [%l0+8], %f2
faligndata %f0, %f2, %f4
alignaddr %i2, %g0, %l2
ldd [%l2], %f6
ldd [%l2+8], %f8
faligndata %f6, %f8, %f10
add %i0, %i1, %i0
add %i2, %i3, %i2
pdist %f4, %f10, %f12
alignaddr %i0, %g0, %l0
ldd [%l0], %f0
ldd [%l0+8], %f2
faligndata %f0, %f2, %f4
alignaddr %i2, %g0, %l2
ldd [%l2], %f6
ldd [%l2+8], %f8
faligndata %f6, %f8, %f10
add %i0, %i1, %i0
add %i2, %i3, %i2
pdist %f4, %f10, %f12
alignaddr %i0, %g0, %l0
ldd [%l0], %f0
ldd [%l0+8], %f2
faligndata %f0, %f2, %f4
alignaddr %i2, %g0, %l2
ldd [%l2], %f6
ldd [%l2+8], %f8
faligndata %f6, %f8, %f10
add %i0, %i1, %i0
add %i2, %i3, %i2
pdist %f4, %f10, %f12
alignaddr %i0, %g0, %l0
ldd [%l0], %f0
ldd [%l0+8], %f2
faligndata %f0, %f2, %f4
alignaddr %i2, %g0, %l2
ldd [%l2], %f6
ldd [%l2+8], %f8
faligndata %f6, %f8, %f10
add %i0, %i1, %i0
add %i2, %i3, %i2
pdist %f4, %f10, %f12
alignaddr %i0, %g0, %l0
ldd [%l0], %f0
ldd [%l0+8], %f2
faligndata %f0, %f2, %f4
alignaddr %i2, %g0, %l2
ldd [%l2], %f6
ldd [%l2+8], %f8
faligndata %f6, %f8, %f10
add %i0, %i1, %i0
add %i2, %i3, %i2
pdist %f4, %f10, %f12
std %f12, [%fp-24]
ld [%fp-20], %i0
ret
restore
.global x264_pixel_sad_8x16_vis
x264_pixel_sad_8x16_vis:
save %sp, -120, %sp
fzero %f12
alignaddr %i0, %g0, %l0
ldd [%l0], %f0
ldd [%l0+8], %f2
faligndata %f0, %f2, %f4
alignaddr %i2, %g0, %l2
ldd [%l2], %f6
ldd [%l2+8], %f8
faligndata %f6, %f8, %f10
add %i0, %i1, %i0
add %i2, %i3, %i2
pdist %f4, %f10, %f12
alignaddr %i0, %g0, %l0
ldd [%l0], %f0
ldd [%l0+8], %f2
faligndata %f0, %f2, %f4
alignaddr %i2, %g0, %l2
ldd [%l2], %f6
ldd [%l2+8], %f8
faligndata %f6, %f8, %f10
add %i0, %i1, %i0
add %i2, %i3, %i2
pdist %f4, %f10, %f12
alignaddr %i0, %g0, %l0
ldd [%l0], %f0
ldd [%l0+8], %f2
faligndata %f0, %f2, %f4
alignaddr %i2, %g0, %l2
ldd [%l2], %f6
ldd [%l2+8], %f8
faligndata %f6, %f8, %f10
add %i0, %i1, %i0
add %i2, %i3, %i2
pdist %f4, %f10, %f12
alignaddr %i0, %g0, %l0
ldd [%l0], %f0
ldd [%l0+8], %f2
faligndata %f0, %f2, %f4
alignaddr %i2, %g0, %l2
ldd [%l2], %f6
ldd [%l2+8], %f8
faligndata %f6, %f8, %f10
add %i0, %i1, %i0
add %i2, %i3, %i2
pdist %f4, %f10, %f12
alignaddr %i0, %g0, %l0
ldd [%l0], %f0
ldd [%l0+8], %f2
faligndata %f0, %f2, %f4
alignaddr %i2, %g0, %l2
ldd [%l2], %f6
ldd [%l2+8], %f8
faligndata %f6, %f8, %f10
add %i0, %i1, %i0
add %i2, %i3, %i2
pdist %f4, %f10, %f12
alignaddr %i0, %g0, %l0
ldd [%l0], %f0
ldd [%l0+8], %f2
faligndata %f0, %f2, %f4
alignaddr %i2, %g0, %l2
ldd [%l2], %f6
ldd [%l2+8], %f8
faligndata %f6, %f8, %f10
add %i0, %i1, %i0
add %i2, %i3, %i2
pdist %f4, %f10, %f12
alignaddr %i0, %g0, %l0
ldd [%l0], %f0
ldd [%l0+8], %f2
faligndata %f0, %f2, %f4
alignaddr %i2, %g0, %l2
ldd [%l2], %f6
ldd [%l2+8], %f8
faligndata %f6, %f8, %f10
add %i0, %i1, %i0
add %i2, %i3, %i2
pdist %f4, %f10, %f12
alignaddr %i0, %g0, %l0
ldd [%l0], %f0
ldd [%l0+8], %f2
faligndata %f0, %f2, %f4
alignaddr %i2, %g0, %l2
ldd [%l2], %f6
ldd [%l2+8], %f8
faligndata %f6, %f8, %f10
add %i0, %i1, %i0
add %i2, %i3, %i2
pdist %f4, %f10, %f12
alignaddr %i0, %g0, %l0
ldd [%l0], %f0
ldd [%l0+8], %f2
faligndata %f0, %f2, %f4
alignaddr %i2, %g0, %l2
ldd [%l2], %f6
ldd [%l2+8], %f8
faligndata %f6, %f8, %f10
add %i0, %i1, %i0
add %i2, %i3, %i2
pdist %f4, %f10, %f12
alignaddr %i0, %g0, %l0
ldd [%l0], %f0
ldd [%l0+8], %f2
faligndata %f0, %f2, %f4
alignaddr %i2, %g0, %l2
ldd [%l2], %f6
ldd [%l2+8], %f8
faligndata %f6, %f8, %f10
add %i0, %i1, %i0
add %i2, %i3, %i2
pdist %f4, %f10, %f12
alignaddr %i0, %g0, %l0
ldd [%l0], %f0
ldd [%l0+8], %f2
faligndata %f0, %f2, %f4
alignaddr %i2, %g0, %l2
ldd [%l2], %f6
ldd [%l2+8], %f8
faligndata %f6, %f8, %f10
add %i0, %i1, %i0
add %i2, %i3, %i2
pdist %f4, %f10, %f12
alignaddr %i0, %g0, %l0
ldd [%l0], %f0
ldd [%l0+8], %f2
faligndata %f0, %f2, %f4
alignaddr %i2, %g0, %l2
ldd [%l2], %f6
ldd [%l2+8], %f8
faligndata %f6, %f8, %f10
add %i0, %i1, %i0
add %i2, %i3, %i2
pdist %f4, %f10, %f12
alignaddr %i0, %g0, %l0
ldd [%l0], %f0
ldd [%l0+8], %f2
faligndata %f0, %f2, %f4
alignaddr %i2, %g0, %l2
ldd [%l2], %f6
ldd [%l2+8], %f8
faligndata %f6, %f8, %f10
add %i0, %i1, %i0
add %i2, %i3, %i2
pdist %f4, %f10, %f12
alignaddr %i0, %g0, %l0
ldd [%l0], %f0
ldd [%l0+8], %f2
faligndata %f0, %f2, %f4
alignaddr %i2, %g0, %l2
ldd [%l2], %f6
ldd [%l2+8], %f8
faligndata %f6, %f8, %f10
add %i0, %i1, %i0
add %i2, %i3, %i2
pdist %f4, %f10, %f12
alignaddr %i0, %g0, %l0
ldd [%l0], %f0
ldd [%l0+8], %f2
faligndata %f0, %f2, %f4
alignaddr %i2, %g0, %l2
ldd [%l2], %f6
ldd [%l2+8], %f8
faligndata %f6, %f8, %f10
add %i0, %i1, %i0
add %i2, %i3, %i2
pdist %f4, %f10, %f12
alignaddr %i0, %g0, %l0
ldd [%l0], %f0
ldd [%l0+8], %f2
faligndata %f0, %f2, %f4
alignaddr %i2, %g0, %l2
ldd [%l2], %f6
ldd [%l2+8], %f8
faligndata %f6, %f8, %f10
add %i0, %i1, %i0
add %i2, %i3, %i2
pdist %f4, %f10, %f12
std %f12, [%fp-24]
ld [%fp-20], %i0
ret
restore
.global x264_pixel_sad_16x8_vis
x264_pixel_sad_16x8_vis:
save %sp, -120, %sp
fzero %f12 ! zero out the accumulator used for pdist
sub %i1, 8, %i1 ! reduce stride by 8, since we are moving forward 8 each block
sub %i3, 8, %i3 ! same here, reduce stride by 8
alignaddr %i0, %g0, %l0
ldd [%l0], %f0
ldd [%l0+8], %f2
faligndata %f0, %f2, %f4
alignaddr %i2, %g0, %l2
ldd [%l2], %f6
ldd [%l2+8], %f8
faligndata %f6, %f8, %f10
add %i0, 8, %i0
add %i2, 8, %i2
pdist %f4, %f10, %f12
alignaddr %i0, %g0, %l0
ldd [%l0], %f0
ldd [%l0+8], %f2
faligndata %f0, %f2, %f4
alignaddr %i2, %g0, %l2
ldd [%l2], %f6
ldd [%l2+8], %f8
faligndata %f6, %f8, %f10
add %i0, %i1, %i0
add %i2, %i3, %i2
pdist %f4, %f10, %f12
alignaddr %i0, %g0, %l0
ldd [%l0], %f0
ldd [%l0+8], %f2
faligndata %f0, %f2, %f4
alignaddr %i2, %g0, %l2
ldd [%l2], %f6
ldd [%l2+8], %f8
faligndata %f6, %f8, %f10
add %i0, 8, %i0
add %i2, 8, %i2
pdist %f4, %f10, %f12
alignaddr %i0, %g0, %l0
ldd [%l0], %f0
ldd [%l0+8], %f2
faligndata %f0, %f2, %f4
alignaddr %i2, %g0, %l2
ldd [%l2], %f6
ldd [%l2+8], %f8
faligndata %f6, %f8, %f10
add %i0, %i1, %i0
add %i2, %i3, %i2
pdist %f4, %f10, %f12
alignaddr %i0, %g0, %l0
ldd [%l0], %f0
ldd [%l0+8], %f2
faligndata %f0, %f2, %f4
alignaddr %i2, %g0, %l2
ldd [%l2], %f6
ldd [%l2+8], %f8
faligndata %f6, %f8, %f10
add %i0, 8, %i0
add %i2, 8, %i2
pdist %f4, %f10, %f12
alignaddr %i0, %g0, %l0
ldd [%l0], %f0
ldd [%l0+8], %f2
faligndata %f0, %f2, %f4
alignaddr %i2, %g0, %l2
ldd [%l2], %f6
ldd [%l2+8], %f8
faligndata %f6, %f8, %f10
add %i0, %i1, %i0
add %i2, %i3, %i2
pdist %f4, %f10, %f12
alignaddr %i0, %g0, %l0
ldd [%l0], %f0
ldd [%l0+8], %f2
faligndata %f0, %f2, %f4
alignaddr %i2, %g0, %l2
ldd [%l2], %f6
ldd [%l2+8], %f8
faligndata %f6, %f8, %f10
add %i0, 8, %i0
add %i2, 8, %i2
pdist %f4, %f10, %f12
alignaddr %i0, %g0, %l0
ldd [%l0], %f0
ldd [%l0+8], %f2
faligndata %f0, %f2, %f4
alignaddr %i2, %g0, %l2
ldd [%l2], %f6
ldd [%l2+8], %f8
faligndata %f6, %f8, %f10
add %i0, %i1, %i0
add %i2, %i3, %i2
pdist %f4, %f10, %f12
alignaddr %i0, %g0, %l0
ldd [%l0], %f0
ldd [%l0+8], %f2
faligndata %f0, %f2, %f4
alignaddr %i2, %g0, %l2
ldd [%l2], %f6
ldd [%l2+8], %f8
faligndata %f6, %f8, %f10
add %i0, 8, %i0
add %i2, 8, %i2
pdist %f4, %f10, %f12
alignaddr %i0, %g0, %l0
ldd [%l0], %f0
ldd [%l0+8], %f2
faligndata %f0, %f2, %f4
alignaddr %i2, %g0, %l2
ldd [%l2], %f6
ldd [%l2+8], %f8
faligndata %f6, %f8, %f10
add %i0, %i1, %i0
add %i2, %i3, %i2
pdist %f4, %f10, %f12
alignaddr %i0, %g0, %l0
ldd [%l0], %f0
ldd [%l0+8], %f2
faligndata %f0, %f2, %f4
alignaddr %i2, %g0, %l2
ldd [%l2], %f6
ldd [%l2+8], %f8
faligndata %f6, %f8, %f10
add %i0, 8, %i0
add %i2, 8, %i2
pdist %f4, %f10, %f12
alignaddr %i0, %g0, %l0
ldd [%l0], %f0
ldd [%l0+8], %f2
faligndata %f0, %f2, %f4
alignaddr %i2, %g0, %l2
ldd [%l2], %f6
ldd [%l2+8], %f8
faligndata %f6, %f8, %f10
add %i0, %i1, %i0
add %i2, %i3, %i2
pdist %f4, %f10, %f12
alignaddr %i0, %g0, %l0
ldd [%l0], %f0
ldd [%l0+8], %f2
faligndata %f0, %f2, %f4
alignaddr %i2, %g0, %l2
ldd [%l2], %f6
ldd [%l2+8], %f8
faligndata %f6, %f8, %f10
add %i0, 8, %i0
add %i2, 8, %i2
pdist %f4, %f10, %f12
alignaddr %i0, %g0, %l0
ldd [%l0], %f0
ldd [%l0+8], %f2
faligndata %f0, %f2, %f4
alignaddr %i2, %g0, %l2
ldd [%l2], %f6
ldd [%l2+8], %f8
faligndata %f6, %f8, %f10
add %i0, %i1, %i0
add %i2, %i3, %i2
pdist %f4, %f10, %f12
alignaddr %i0, %g0, %l0
ldd [%l0], %f0
ldd [%l0+8], %f2
faligndata %f0, %f2, %f4
alignaddr %i2, %g0, %l2
ldd [%l2], %f6
ldd [%l2+8], %f8
faligndata %f6, %f8, %f10
add %i0, 8, %i0
add %i2, 8, %i2
pdist %f4, %f10, %f12
alignaddr %i0, %g0, %l0