FFmpeg
qpeldsp_init_mips.c
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2015 Parag Salasakar (Parag.Salasakar@imgtec.com)
3  *
4  * This file is part of FFmpeg.
5  *
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.
10  *
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.
15  *
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
19  */
20 
21 #include "libavutil/mips/cpu.h"
22 #include "qpeldsp_mips.h"
23 
25 {
27 
28  if (have_msa(cpu_flags)) {
29  c->put_qpel_pixels_tab[0][0] = ff_copy_16x16_msa;
30  c->put_qpel_pixels_tab[0][1] = ff_horiz_mc_qpel_aver_src0_16width_msa;
31  c->put_qpel_pixels_tab[0][2] = ff_horiz_mc_qpel_16width_msa;
32  c->put_qpel_pixels_tab[0][3] = ff_horiz_mc_qpel_aver_src1_16width_msa;
33  c->put_qpel_pixels_tab[0][4] = ff_vert_mc_qpel_aver_src0_16x16_msa;
34  c->put_qpel_pixels_tab[0][5] = ff_hv_mc_qpel_aver_hv_src00_16x16_msa;
35  c->put_qpel_pixels_tab[0][6] = ff_hv_mc_qpel_aver_v_src0_16x16_msa;
36  c->put_qpel_pixels_tab[0][7] = ff_hv_mc_qpel_aver_hv_src10_16x16_msa;
37  c->put_qpel_pixels_tab[0][8] = ff_vert_mc_qpel_16x16_msa;
38  c->put_qpel_pixels_tab[0][9] = ff_hv_mc_qpel_aver_h_src0_16x16_msa;
39  c->put_qpel_pixels_tab[0][10] = ff_hv_mc_qpel_16x16_msa;
40  c->put_qpel_pixels_tab[0][11] = ff_hv_mc_qpel_aver_h_src1_16x16_msa;
41  c->put_qpel_pixels_tab[0][12] = ff_vert_mc_qpel_aver_src1_16x16_msa;
42  c->put_qpel_pixels_tab[0][13] = ff_hv_mc_qpel_aver_hv_src01_16x16_msa;
43  c->put_qpel_pixels_tab[0][14] = ff_hv_mc_qpel_aver_v_src1_16x16_msa;
44  c->put_qpel_pixels_tab[0][15] = ff_hv_mc_qpel_aver_hv_src11_16x16_msa;
45 
46  c->put_qpel_pixels_tab[1][0] = ff_copy_8x8_msa;
47  c->put_qpel_pixels_tab[1][1] = ff_horiz_mc_qpel_aver_src0_8width_msa;
48  c->put_qpel_pixels_tab[1][2] = ff_horiz_mc_qpel_8width_msa;
49  c->put_qpel_pixels_tab[1][3] = ff_horiz_mc_qpel_aver_src1_8width_msa;
50  c->put_qpel_pixels_tab[1][4] = ff_vert_mc_qpel_aver_src0_8x8_msa;
51  c->put_qpel_pixels_tab[1][5] = ff_hv_mc_qpel_aver_hv_src00_8x8_msa;
52  c->put_qpel_pixels_tab[1][6] = ff_hv_mc_qpel_aver_v_src0_8x8_msa;
53  c->put_qpel_pixels_tab[1][7] = ff_hv_mc_qpel_aver_hv_src10_8x8_msa;
54  c->put_qpel_pixels_tab[1][8] = ff_vert_mc_qpel_8x8_msa;
55  c->put_qpel_pixels_tab[1][9] = ff_hv_mc_qpel_aver_h_src0_8x8_msa;
56  c->put_qpel_pixels_tab[1][10] = ff_hv_mc_qpel_8x8_msa;
57  c->put_qpel_pixels_tab[1][11] = ff_hv_mc_qpel_aver_h_src1_8x8_msa;
58  c->put_qpel_pixels_tab[1][12] = ff_vert_mc_qpel_aver_src1_8x8_msa;
59  c->put_qpel_pixels_tab[1][13] = ff_hv_mc_qpel_aver_hv_src01_8x8_msa;
60  c->put_qpel_pixels_tab[1][14] = ff_hv_mc_qpel_aver_v_src1_8x8_msa;
61  c->put_qpel_pixels_tab[1][15] = ff_hv_mc_qpel_aver_hv_src11_8x8_msa;
62 
63  c->put_no_rnd_qpel_pixels_tab[0][0] = ff_copy_16x16_msa;
64  c->put_no_rnd_qpel_pixels_tab[0][1] =
66  c->put_no_rnd_qpel_pixels_tab[0][2] = ff_horiz_mc_qpel_no_rnd_16width_msa;
67  c->put_no_rnd_qpel_pixels_tab[0][3] =
69  c->put_no_rnd_qpel_pixels_tab[0][4] =
71  c->put_no_rnd_qpel_pixels_tab[0][5] =
73  c->put_no_rnd_qpel_pixels_tab[0][6] =
75  c->put_no_rnd_qpel_pixels_tab[0][7] =
77  c->put_no_rnd_qpel_pixels_tab[0][8] = ff_vert_mc_qpel_no_rnd_16x16_msa;
78  c->put_no_rnd_qpel_pixels_tab[0][9] =
80  c->put_no_rnd_qpel_pixels_tab[0][10] = ff_hv_mc_qpel_no_rnd_16x16_msa;
81  c->put_no_rnd_qpel_pixels_tab[0][11] =
83  c->put_no_rnd_qpel_pixels_tab[0][12] =
85  c->put_no_rnd_qpel_pixels_tab[0][13] =
87  c->put_no_rnd_qpel_pixels_tab[0][14] =
89  c->put_no_rnd_qpel_pixels_tab[0][15] =
91 
92  c->put_no_rnd_qpel_pixels_tab[1][0] = ff_copy_8x8_msa;
93  c->put_no_rnd_qpel_pixels_tab[1][1] =
95  c->put_no_rnd_qpel_pixels_tab[1][2] = ff_horiz_mc_qpel_no_rnd_8width_msa;
96  c->put_no_rnd_qpel_pixels_tab[1][3] =
98  c->put_no_rnd_qpel_pixels_tab[1][4] =
100  c->put_no_rnd_qpel_pixels_tab[1][5] =
102  c->put_no_rnd_qpel_pixels_tab[1][6] =
104  c->put_no_rnd_qpel_pixels_tab[1][7] =
106  c->put_no_rnd_qpel_pixels_tab[1][8] = ff_vert_mc_qpel_no_rnd_8x8_msa;
107  c->put_no_rnd_qpel_pixels_tab[1][9] =
109  c->put_no_rnd_qpel_pixels_tab[1][10] = ff_hv_mc_qpel_no_rnd_8x8_msa;
110  c->put_no_rnd_qpel_pixels_tab[1][11] =
112  c->put_no_rnd_qpel_pixels_tab[1][12] =
114  c->put_no_rnd_qpel_pixels_tab[1][13] =
116  c->put_no_rnd_qpel_pixels_tab[1][14] =
118  c->put_no_rnd_qpel_pixels_tab[1][15] =
120 
121  c->avg_qpel_pixels_tab[0][0] = ff_avg_width16_msa;
122  c->avg_qpel_pixels_tab[0][1] =
124  c->avg_qpel_pixels_tab[0][2] = ff_horiz_mc_qpel_avg_dst_16width_msa;
125  c->avg_qpel_pixels_tab[0][3] =
127  c->avg_qpel_pixels_tab[0][4] = ff_vert_mc_qpel_avg_dst_aver_src0_16x16_msa;
128  c->avg_qpel_pixels_tab[0][5] =
130  c->avg_qpel_pixels_tab[0][6] = ff_hv_mc_qpel_avg_dst_aver_v_src0_16x16_msa;
131  c->avg_qpel_pixels_tab[0][7] =
133  c->avg_qpel_pixels_tab[0][8] = ff_vert_mc_qpel_avg_dst_16x16_msa;
134  c->avg_qpel_pixels_tab[0][9] = ff_hv_mc_qpel_avg_dst_aver_h_src0_16x16_msa;
135  c->avg_qpel_pixels_tab[0][10] = ff_hv_mc_qpel_avg_dst_16x16_msa;
136  c->avg_qpel_pixels_tab[0][11] = ff_hv_mc_qpel_avg_dst_aver_h_src1_16x16_msa;
137  c->avg_qpel_pixels_tab[0][12] = ff_vert_mc_qpel_avg_dst_aver_src1_16x16_msa;
138  c->avg_qpel_pixels_tab[0][13] =
140  c->avg_qpel_pixels_tab[0][14] = ff_hv_mc_qpel_avg_dst_aver_v_src1_16x16_msa;
141  c->avg_qpel_pixels_tab[0][15] =
143 
144  c->avg_qpel_pixels_tab[1][0] = ff_avg_width8_msa;
145  c->avg_qpel_pixels_tab[1][1] =
147  c->avg_qpel_pixels_tab[1][2] = ff_horiz_mc_qpel_avg_dst_8width_msa;
148  c->avg_qpel_pixels_tab[1][3] =
150  c->avg_qpel_pixels_tab[1][4] = ff_vert_mc_qpel_avg_dst_aver_src0_8x8_msa;
151  c->avg_qpel_pixels_tab[1][5] = ff_hv_mc_qpel_avg_dst_aver_hv_src00_8x8_msa;
152  c->avg_qpel_pixels_tab[1][6] = ff_hv_mc_qpel_avg_dst_aver_v_src0_8x8_msa;
153  c->avg_qpel_pixels_tab[1][7] = ff_hv_mc_qpel_avg_dst_aver_hv_src10_8x8_msa;
154  c->avg_qpel_pixels_tab[1][8] = ff_vert_mc_qpel_avg_dst_8x8_msa;
155  c->avg_qpel_pixels_tab[1][9] = ff_hv_mc_qpel_avg_dst_aver_h_src0_8x8_msa;
156  c->avg_qpel_pixels_tab[1][10] = ff_hv_mc_qpel_avg_dst_8x8_msa;
157  c->avg_qpel_pixels_tab[1][11] = ff_hv_mc_qpel_avg_dst_aver_h_src1_8x8_msa;
158  c->avg_qpel_pixels_tab[1][12] = ff_vert_mc_qpel_avg_dst_aver_src1_8x8_msa;
159  c->avg_qpel_pixels_tab[1][13] = ff_hv_mc_qpel_avg_dst_aver_hv_src01_8x8_msa;
160  c->avg_qpel_pixels_tab[1][14] = ff_hv_mc_qpel_avg_dst_aver_v_src1_8x8_msa;
161  c->avg_qpel_pixels_tab[1][15] = ff_hv_mc_qpel_avg_dst_aver_hv_src11_8x8_msa;
162  }
163 }
ff_hv_mc_qpel_avg_dst_aver_hv_src01_16x16_msa
void ff_hv_mc_qpel_avg_dst_aver_hv_src01_16x16_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6306
ff_vert_mc_qpel_8x8_msa
void ff_vert_mc_qpel_8x8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6007
ff_hv_mc_qpel_aver_h_src0_8x8_msa
void ff_hv_mc_qpel_aver_h_src0_8x8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6156
ff_hv_mc_qpel_avg_dst_aver_hv_src01_8x8_msa
void ff_hv_mc_qpel_avg_dst_aver_hv_src01_8x8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6313
ff_hv_mc_qpel_aver_v_src0_8x8_msa
void ff_hv_mc_qpel_aver_v_src0_8x8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6131
ff_vert_mc_qpel_avg_dst_8x8_msa
void ff_vert_mc_qpel_avg_dst_8x8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6085
ff_horiz_mc_qpel_avg_dst_aver_src0_8width_msa
void ff_horiz_mc_qpel_avg_dst_aver_src0_8width_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:5954
ff_copy_8x8_msa
void ff_copy_8x8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:5859
ff_vert_mc_qpel_avg_dst_16x16_msa
void ff_vert_mc_qpel_avg_dst_16x16_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6091
ff_hv_mc_qpel_avg_dst_aver_hv_src00_8x8_msa
void ff_hv_mc_qpel_avg_dst_aver_hv_src00_8x8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6231
ff_horiz_mc_qpel_no_rnd_aver_src0_8width_msa
void ff_horiz_mc_qpel_no_rnd_aver_src0_8width_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:5904
ff_vert_mc_qpel_no_rnd_8x8_msa
void ff_vert_mc_qpel_no_rnd_8x8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6045
ff_hv_mc_qpel_no_rnd_aver_h_src1_8x8_msa
void ff_hv_mc_qpel_no_rnd_aver_h_src1_8x8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6423
ff_hv_mc_qpel_aver_h_src1_8x8_msa
void ff_hv_mc_qpel_aver_h_src1_8x8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6180
ff_hv_mc_qpel_no_rnd_aver_hv_src10_16x16_msa
void ff_hv_mc_qpel_no_rnd_aver_hv_src10_16x16_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6376
ff_hv_mc_qpel_aver_v_src0_16x16_msa
void ff_hv_mc_qpel_aver_v_src0_16x16_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6125
ff_copy_16x16_msa
void ff_copy_16x16_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:5854
ff_hv_mc_qpel_avg_dst_aver_hv_src00_16x16_msa
void ff_hv_mc_qpel_avg_dst_aver_hv_src00_16x16_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6224
ff_horiz_mc_qpel_avg_dst_aver_src1_8width_msa
void ff_horiz_mc_qpel_avg_dst_aver_src1_8width_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:5980
ff_horiz_mc_qpel_aver_src1_16width_msa
void ff_horiz_mc_qpel_aver_src1_16width_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:5897
ff_hv_mc_qpel_8x8_msa
void ff_hv_mc_qpel_8x8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6168
av_get_cpu_flags
int av_get_cpu_flags(void)
Return the flags which specify extensions supported by the CPU.
Definition: cpu.c:98
ff_horiz_mc_qpel_aver_src1_8width_msa
void ff_horiz_mc_qpel_aver_src1_8width_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:5890
ff_horiz_mc_qpel_no_rnd_aver_src1_8width_msa
void ff_horiz_mc_qpel_no_rnd_aver_src1_8width_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:5930
ff_horiz_mc_qpel_8width_msa
void ff_horiz_mc_qpel_8width_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:5878
cpu_flags
static atomic_int cpu_flags
Definition: cpu.c:50
ff_vert_mc_qpel_avg_dst_aver_src1_16x16_msa
void ff_vert_mc_qpel_avg_dst_aver_src1_16x16_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6104
ff_hv_mc_qpel_avg_dst_aver_v_src0_16x16_msa
void ff_hv_mc_qpel_avg_dst_aver_v_src0_16x16_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6238
ff_hv_mc_qpel_avg_dst_aver_v_src0_8x8_msa
void ff_hv_mc_qpel_avg_dst_aver_v_src0_8x8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6245
ff_hv_mc_qpel_no_rnd_aver_hv_src01_8x8_msa
void ff_hv_mc_qpel_no_rnd_aver_hv_src01_8x8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6437
ff_hv_mc_qpel_aver_hv_src00_8x8_msa
void ff_hv_mc_qpel_aver_hv_src00_8x8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6119
ff_hv_mc_qpel_no_rnd_aver_v_src1_16x16_msa
void ff_hv_mc_qpel_no_rnd_aver_v_src1_16x16_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6444
ff_hv_mc_qpel_avg_dst_aver_h_src0_8x8_msa
void ff_hv_mc_qpel_avg_dst_aver_h_src0_8x8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6273
ff_vert_mc_qpel_aver_src0_8x8_msa
void ff_vert_mc_qpel_aver_src0_8x8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:5995
ff_hv_mc_qpel_aver_hv_src01_16x16_msa
void ff_hv_mc_qpel_aver_hv_src01_16x16_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6186
ff_hv_mc_qpel_aver_hv_src10_16x16_msa
void ff_hv_mc_qpel_aver_hv_src10_16x16_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6137
ff_vert_mc_qpel_no_rnd_aver_src0_16x16_msa
void ff_vert_mc_qpel_no_rnd_aver_src0_16x16_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6038
ff_hv_mc_qpel_no_rnd_aver_hv_src00_16x16_msa
void ff_hv_mc_qpel_no_rnd_aver_hv_src00_16x16_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6348
ff_horiz_mc_qpel_avg_dst_aver_src0_16width_msa
void ff_horiz_mc_qpel_avg_dst_aver_src0_16width_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:5961
ff_hv_mc_qpel_no_rnd_8x8_msa
void ff_hv_mc_qpel_no_rnd_8x8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6410
ff_hv_mc_qpel_avg_dst_aver_hv_src11_8x8_msa
void ff_hv_mc_qpel_avg_dst_aver_hv_src11_8x8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6341
ff_hv_mc_qpel_avg_dst_aver_v_src1_8x8_msa
void ff_hv_mc_qpel_avg_dst_aver_v_src1_8x8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6327
ff_vert_mc_qpel_no_rnd_aver_src0_8x8_msa
void ff_vert_mc_qpel_no_rnd_aver_src0_8x8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6031
ff_vert_mc_qpel_aver_src1_16x16_msa
void ff_vert_mc_qpel_aver_src1_16x16_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6025
ff_vert_mc_qpel_aver_src1_8x8_msa
void ff_vert_mc_qpel_aver_src1_8x8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6019
ff_hv_mc_qpel_avg_dst_aver_h_src1_8x8_msa
void ff_hv_mc_qpel_avg_dst_aver_h_src1_8x8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6299
ff_horiz_mc_qpel_no_rnd_8width_msa
void ff_horiz_mc_qpel_no_rnd_8width_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:5918
ff_vert_mc_qpel_avg_dst_aver_src0_16x16_msa
void ff_vert_mc_qpel_avg_dst_aver_src0_16x16_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6078
have_msa
#define have_msa(flags)
Definition: cpu.h:26
ff_horiz_mc_qpel_avg_dst_8width_msa
void ff_horiz_mc_qpel_avg_dst_8width_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:5968
ff_horiz_mc_qpel_avg_dst_16width_msa
void ff_horiz_mc_qpel_avg_dst_16width_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:5974
ff_hv_mc_qpel_avg_dst_16x16_msa
void ff_hv_mc_qpel_avg_dst_16x16_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6280
ff_hv_mc_qpel_aver_v_src1_16x16_msa
void ff_hv_mc_qpel_aver_v_src1_16x16_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6199
ff_vert_mc_qpel_no_rnd_16x16_msa
void ff_vert_mc_qpel_no_rnd_16x16_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6051
ff_horiz_mc_qpel_no_rnd_aver_src1_16width_msa
void ff_horiz_mc_qpel_no_rnd_aver_src1_16width_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:5937
ff_hv_mc_qpel_no_rnd_aver_h_src0_16x16_msa
void ff_hv_mc_qpel_no_rnd_aver_h_src0_16x16_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6390
ff_hv_mc_qpel_aver_hv_src01_8x8_msa
void ff_hv_mc_qpel_aver_hv_src01_8x8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6193
ff_hv_mc_qpel_no_rnd_aver_hv_src10_8x8_msa
void ff_hv_mc_qpel_no_rnd_aver_hv_src10_8x8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6383
ff_hv_mc_qpel_aver_h_src1_16x16_msa
void ff_hv_mc_qpel_aver_h_src1_16x16_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6174
ff_hv_mc_qpel_aver_hv_src11_8x8_msa
void ff_hv_mc_qpel_aver_hv_src11_8x8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6218
ff_horiz_mc_qpel_16width_msa
void ff_horiz_mc_qpel_16width_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:5884
ff_hv_mc_qpel_no_rnd_aver_v_src0_8x8_msa
void ff_hv_mc_qpel_no_rnd_aver_v_src0_8x8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6369
ff_hv_mc_qpel_no_rnd_aver_v_src0_16x16_msa
void ff_hv_mc_qpel_no_rnd_aver_v_src0_16x16_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6362
c
Undefined Behavior In the C some operations are like signed integer dereferencing freed accessing outside allocated Undefined Behavior must not occur in a C it is not safe even if the output of undefined operations is unused The unsafety may seem nit picking but Optimizing compilers have in fact optimized code on the assumption that no undefined Behavior occurs Optimizing code based on wrong assumptions can and has in some cases lead to effects beyond the output of computations The signed integer overflow problem in speed critical code Code which is highly optimized and works with signed integers sometimes has the problem that often the output of the computation does not c
Definition: undefined.txt:32
ff_horiz_mc_qpel_no_rnd_aver_src0_16width_msa
void ff_horiz_mc_qpel_no_rnd_aver_src0_16width_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:5911
qpeldsp_mips.h
ff_vert_mc_qpel_avg_dst_aver_src0_8x8_msa
void ff_vert_mc_qpel_avg_dst_aver_src0_8x8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6071
ff_vert_mc_qpel_aver_src0_16x16_msa
void ff_vert_mc_qpel_aver_src0_16x16_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6001
ff_hv_mc_qpel_no_rnd_aver_h_src0_8x8_msa
void ff_hv_mc_qpel_no_rnd_aver_h_src0_8x8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6397
ff_hv_mc_qpel_no_rnd_aver_hv_src11_16x16_msa
void ff_hv_mc_qpel_no_rnd_aver_hv_src11_16x16_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6458
ff_vert_mc_qpel_no_rnd_aver_src1_16x16_msa
void ff_vert_mc_qpel_no_rnd_aver_src1_16x16_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6064
ff_hv_mc_qpel_avg_dst_aver_h_src1_16x16_msa
void ff_hv_mc_qpel_avg_dst_aver_h_src1_16x16_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6292
ff_horiz_mc_qpel_aver_src0_16width_msa
void ff_horiz_mc_qpel_aver_src0_16width_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:5871
ff_hv_mc_qpel_aver_hv_src10_8x8_msa
void ff_hv_mc_qpel_aver_hv_src10_8x8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6144
ff_hv_mc_qpel_aver_h_src0_16x16_msa
void ff_hv_mc_qpel_aver_h_src0_16x16_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6150
ff_qpeldsp_init_mips
void ff_qpeldsp_init_mips(QpelDSPContext *c)
Definition: qpeldsp_init_mips.c:24
ff_hv_mc_qpel_aver_hv_src11_16x16_msa
void ff_hv_mc_qpel_aver_hv_src11_16x16_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6211
ff_hv_mc_qpel_no_rnd_aver_hv_src01_16x16_msa
void ff_hv_mc_qpel_no_rnd_aver_hv_src01_16x16_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6430
ff_vert_mc_qpel_16x16_msa
void ff_vert_mc_qpel_16x16_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6013
ff_horiz_mc_qpel_avg_dst_aver_src1_16width_msa
void ff_horiz_mc_qpel_avg_dst_aver_src1_16width_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:5987
ff_hv_mc_qpel_no_rnd_aver_h_src1_16x16_msa
void ff_hv_mc_qpel_no_rnd_aver_h_src1_16x16_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6416
QpelDSPContext
quarterpel DSP context
Definition: qpeldsp.h:72
ff_vert_mc_qpel_avg_dst_aver_src1_8x8_msa
void ff_vert_mc_qpel_avg_dst_aver_src1_8x8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6097
ff_vert_mc_qpel_no_rnd_aver_src1_8x8_msa
void ff_vert_mc_qpel_no_rnd_aver_src1_8x8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6057
ff_horiz_mc_qpel_no_rnd_16width_msa
void ff_horiz_mc_qpel_no_rnd_16width_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:5924
ff_hv_mc_qpel_avg_dst_aver_hv_src10_16x16_msa
void ff_hv_mc_qpel_avg_dst_aver_hv_src10_16x16_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6252
ff_hv_mc_qpel_aver_v_src1_8x8_msa
void ff_hv_mc_qpel_aver_v_src1_8x8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6205
ff_hv_mc_qpel_avg_dst_aver_hv_src11_16x16_msa
void ff_hv_mc_qpel_avg_dst_aver_hv_src11_16x16_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6334
ff_horiz_mc_qpel_aver_src0_8width_msa
void ff_horiz_mc_qpel_aver_src0_8width_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:5864
ff_hv_mc_qpel_aver_hv_src00_16x16_msa
void ff_hv_mc_qpel_aver_hv_src00_16x16_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6112
ff_hv_mc_qpel_no_rnd_16x16_msa
void ff_hv_mc_qpel_no_rnd_16x16_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6404
ff_hv_mc_qpel_no_rnd_aver_hv_src11_8x8_msa
void ff_hv_mc_qpel_no_rnd_aver_hv_src11_8x8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6465
cpu.h
ff_avg_width8_msa
void ff_avg_width8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:5944
ff_hv_mc_qpel_avg_dst_aver_h_src0_16x16_msa
void ff_hv_mc_qpel_avg_dst_aver_h_src0_16x16_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6266
ff_hv_mc_qpel_no_rnd_aver_v_src1_8x8_msa
void ff_hv_mc_qpel_no_rnd_aver_v_src1_8x8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6451
ff_hv_mc_qpel_16x16_msa
void ff_hv_mc_qpel_16x16_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6162
ff_hv_mc_qpel_avg_dst_aver_hv_src10_8x8_msa
void ff_hv_mc_qpel_avg_dst_aver_hv_src10_8x8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6259
ff_hv_mc_qpel_avg_dst_aver_v_src1_16x16_msa
void ff_hv_mc_qpel_avg_dst_aver_v_src1_16x16_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6320
ff_hv_mc_qpel_no_rnd_aver_hv_src00_8x8_msa
void ff_hv_mc_qpel_no_rnd_aver_hv_src00_8x8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6355
ff_hv_mc_qpel_avg_dst_8x8_msa
void ff_hv_mc_qpel_avg_dst_8x8_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:6286
ff_avg_width16_msa
void ff_avg_width16_msa(uint8_t *dst, const uint8_t *src, ptrdiff_t stride)
Definition: qpeldsp_msa.c:5949