1 ;*****************************************************************************
2 ;* SIMD-optimized MPEG encoding functions
3 ;*****************************************************************************
4 ;* Copyright (c) 2000, 2001 Fabrice Bellard
5 ;* Copyright (c) 2002-2004 Michael Niedermayer <michaelni@gmx.at>
7 ;* This file is part of FFmpeg.
9 ;* FFmpeg is free software; you can redistribute it and/or
10 ;* modify it under the terms of the GNU Lesser General Public
11 ;* License as published by the Free Software Foundation; either
12 ;* version 2.1 of the License, or (at your option) any later version.
14 ;* FFmpeg is distributed in the hope that it will be useful,
15 ;* but WITHOUT ANY WARRANTY; without even the implied warranty of
16 ;* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 ;* Lesser General Public License for more details.
19 ;* You should have received a copy of the GNU Lesser General Public
20 ;* License along with FFmpeg; if not, write to the Free Software
21 ;* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22 ;*****************************************************************************
24 %include "libavutil/x86/x86util.asm"
31 ; int ff_pix_sum16_mmx(uint8_t *pix, int line_size)
32 ; %1 = number of loops
33 ; %2 = number of GPRs used
35 cglobal pix_sum16, 2, %2, 6
49 vphaddubq m2, [r0+r1*2]
74 %endif ; cpuflag(mmxext)
90 %elif notcpuflag(mmxext)
105 %if HAVE_XOP_EXTERNAL
110 ; int ff_pix_norm1_mmx(uint8_t *pix, int line_size)
111 ; %1 = number of xmm registers used
112 ; %2 = number of loops
114 cglobal pix_norm1, 2, 3, %1