1 ;******************************************************************************
2 ;* TAK DSP SIMD optimizations
4 ;* Copyright (C) 2015 Paul B Mahol
6 ;* This file is part of FFmpeg.
8 ;* FFmpeg is free software; you can redistribute it and/or
9 ;* modify it under the terms of the GNU Lesser General Public
10 ;* License as published by the Free Software Foundation; either
11 ;* version 2.1 of the License, or (at your option) any later version.
13 ;* FFmpeg is distributed in the hope that it will be useful,
14 ;* but WITHOUT ANY WARRANTY; without even the implied warranty of
15 ;* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 ;* Lesser General Public License for more details.
18 ;* You should have received a copy of the GNU Lesser General Public
19 ;* License along with FFmpeg; if not, write to the Free Software
20 ;* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 ;******************************************************************************
23 %include "libavutil/x86/x86util.asm"
27 pd_128: times 4 dd 128
32 cglobal tak_decorrelate_ls, 3, 3, 2, p1, p2, length
38 mova m0, [p1q+lengthq+mmsize*0]
39 mova m1, [p1q+lengthq+mmsize*1]
40 paddd m0, [p2q+lengthq+mmsize*0]
41 paddd m1, [p2q+lengthq+mmsize*1]
42 mova [p2q+lengthq+mmsize*0], m0
43 mova [p2q+lengthq+mmsize*1], m1
48 cglobal tak_decorrelate_sr, 3, 3, 2, p1, p2, length
55 mova m0, [p2q+lengthq+mmsize*0]
56 mova m1, [p2q+lengthq+mmsize*1]
57 psubd m0, [p1q+lengthq+mmsize*0]
58 psubd m1, [p1q+lengthq+mmsize*1]
59 mova [p1q+lengthq+mmsize*0], m0
60 mova [p1q+lengthq+mmsize*1], m1
65 cglobal tak_decorrelate_sm, 3, 3, 6, p1, p2, length
72 mova m0, [p1q+lengthq]
73 mova m1, [p2q+lengthq]
74 mova m3, [p1q+lengthq+mmsize]
75 mova m4, [p2q+lengthq+mmsize]
84 mova [p1q+lengthq], m0
85 mova [p2q+lengthq], m1
86 mova [p1q+lengthq+mmsize], m3
87 mova [p2q+lengthq+mmsize], m4
93 cglobal tak_decorrelate_sf, 3, 3, 5, p1, p2, length, dshift, dfactor
105 mova m0, [p1q+lengthq]
106 mova m1, [p2q+lengthq]
113 mova [p1q+lengthq], m1