2 * Copyright (c) 2016 Google Inc.
4 * This file is part of FFmpeg.
6 * FFmpeg is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * FFmpeg is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with FFmpeg; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 #include "libavutil/aarch64/asm.S"
23 // All public functions in this file have the following signature:
24 // typedef void (*vp9_mc_func)(uint8_t *dst, ptrdiff_t dst_stride,
25 // const uint8_t *ref, ptrdiff_t ref_stride,
26 // int h, int mx, int my);
28 function ff_vp9_copy128_aarch64, export=1
33 ldp x9, x10, [x2, #32]
36 ldp x11, x12, [x2, #48]
37 stp x9, x10, [x0, #32]
38 stp x11, x12, [x0, #48]
42 ldp x9, x10, [x2, #96]
44 ldp x11, x12, [x2, #112]
45 stp x9, x10, [x0, #96]
46 stp x11, x12, [x0, #112]
53 function ff_vp9_copy64_aarch64, export=1
58 ldp x9, x10, [x2, #32]
61 ldp x11, x12, [x2, #48]
62 stp x9, x10, [x0, #32]
63 stp x11, x12, [x0, #48]
70 function ff_vp9_copy32_aarch64, export=1