FFmpeg
hpeldsp_mips.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2015 Parag Salasakar (Parag.Salasakar@imgtec.com)
3  * Copyright (c) 2016 Zhou Xiaoyong <zhouxiaoyong@loongson.cn>
4  *
5  * This file is part of FFmpeg.
6  *
7  * FFmpeg is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public
9  * License as published by the Free Software Foundation; either
10  * version 2.1 of the License, or (at your option) any later version.
11  *
12  * FFmpeg is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with FFmpeg; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20  */
21 
22 #ifndef AVCODEC_MIPS_HPELDSP_MIPS_H
23 #define AVCODEC_MIPS_HPELDSP_MIPS_H
24 
26 
27 void ff_put_pixels16_msa(uint8_t *block, const uint8_t *pixels,
28  ptrdiff_t line_size, int32_t h);
29 void ff_put_pixels16_x2_msa(uint8_t *block, const uint8_t *pixels,
30  ptrdiff_t line_size, int32_t h);
31 void ff_put_pixels16_y2_msa(uint8_t *block, const uint8_t *pixels,
32  ptrdiff_t line_size, int32_t h);
33 void ff_put_pixels16_xy2_msa(uint8_t *block, const uint8_t *pixels,
34  ptrdiff_t line_size, int32_t h);
35 void ff_put_pixels8_msa(uint8_t *block, const uint8_t *pixels,
36  ptrdiff_t line_size, int32_t h);
37 void ff_put_pixels8_x2_msa(uint8_t *block, const uint8_t *pixels,
38  ptrdiff_t line_size, int32_t h);
39 void ff_put_pixels8_y2_msa(uint8_t *block, const uint8_t *pixels,
40  ptrdiff_t line_size, int32_t h);
41 void ff_put_pixels8_xy2_msa(uint8_t *block, const uint8_t *pixels,
42  ptrdiff_t line_size, int32_t h);
43 void ff_put_pixels4_msa(uint8_t *block, const uint8_t *pixels,
44  ptrdiff_t line_size, int32_t h);
45 void ff_put_pixels4_x2_msa(uint8_t *block, const uint8_t *pixels,
46  ptrdiff_t line_size, int32_t h);
47 void ff_put_pixels4_y2_msa(uint8_t *block, const uint8_t *pixels,
48  ptrdiff_t line_size, int32_t h);
49 void ff_put_pixels4_xy2_msa(uint8_t *block, const uint8_t *pixels,
50  ptrdiff_t line_size, int32_t h);
52  ptrdiff_t line_size, int32_t h);
54  ptrdiff_t line_size, int32_t h);
56  ptrdiff_t line_size, int32_t h);
58  ptrdiff_t line_size, int32_t h);
60  ptrdiff_t line_size, int32_t h);
62  ptrdiff_t line_size, int32_t h);
63 void ff_avg_pixels16_msa(uint8_t *block, const uint8_t *pixels,
64  ptrdiff_t line_size, int32_t h);
65 void ff_avg_pixels16_x2_msa(uint8_t *block, const uint8_t *pixels,
66  ptrdiff_t line_size, int32_t h);
67 void ff_avg_pixels16_y2_msa(uint8_t *block, const uint8_t *pixels,
68  ptrdiff_t line_size, int32_t h);
69 void ff_avg_pixels16_xy2_msa(uint8_t *block, const uint8_t *pixels,
70  ptrdiff_t line_size, int32_t h);
71 void ff_avg_pixels8_msa(uint8_t *block, const uint8_t *pixels,
72  ptrdiff_t line_size, int32_t h);
73 void ff_avg_pixels8_x2_msa(uint8_t *block, const uint8_t *pixels,
74  ptrdiff_t line_size, int32_t h);
75 void ff_avg_pixels8_y2_msa(uint8_t *block, const uint8_t *pixels,
76  ptrdiff_t line_size, int32_t h);
77 void ff_avg_pixels8_xy2_msa(uint8_t *block, const uint8_t *pixels,
78  ptrdiff_t line_size, int32_t h);
79 void ff_avg_pixels4_msa(uint8_t *block, const uint8_t *pixels,
80  ptrdiff_t line_size, int32_t h);
81 void ff_avg_pixels4_x2_msa(uint8_t *block, const uint8_t *pixels,
82  ptrdiff_t line_size, int32_t h);
83 void ff_avg_pixels4_y2_msa(uint8_t *block, const uint8_t *pixels,
84  ptrdiff_t line_size, int32_t h);
85 void ff_avg_pixels4_xy2_msa(uint8_t *block, const uint8_t *pixels,
86  ptrdiff_t line_size, int32_t h);
87 
89  const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2,
90  int h);
92  const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2,
93  int h);
95  const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2,
96  int h);
98  const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2,
99  int h);
100 void ff_avg_pixels8_l2_8_mmi(uint8_t *dst, const uint8_t *src1,
101  const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2,
102  int h);
103 void ff_avg_pixels4_l2_8_mmi(uint8_t *dst, const uint8_t *src1,
104  const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2,
105  int h);
107  const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2,
108  int h);
110  const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2,
111  int h);
112 
113 void ff_put_pixels16_8_mmi(uint8_t *block, const uint8_t *pixels,
114  ptrdiff_t line_size, int32_t h);
115 void ff_put_pixels16_x2_8_mmi(uint8_t *block, const uint8_t *pixels,
116  ptrdiff_t line_size, int32_t h);
117 void ff_put_pixels16_y2_8_mmi(uint8_t *block, const uint8_t *pixels,
118  ptrdiff_t line_size, int32_t h);
119 void ff_put_pixels16_xy2_8_mmi(uint8_t *block, const uint8_t *pixels,
120  ptrdiff_t line_size, int32_t h);
121 void ff_put_pixels8_8_mmi(uint8_t *block, const uint8_t *pixels,
122  ptrdiff_t line_size, int32_t h);
123 void ff_put_pixels8_x2_8_mmi(uint8_t *block, const uint8_t *pixels,
124  ptrdiff_t line_size, int32_t h);
125 void ff_put_pixels8_y2_8_mmi(uint8_t *block, const uint8_t *pixels,
126  ptrdiff_t line_size, int32_t h);
127 void ff_put_pixels8_xy2_8_mmi(uint8_t *block, const uint8_t *pixels,
128  ptrdiff_t line_size, int32_t h);
129 void ff_put_pixels4_8_mmi(uint8_t *block, const uint8_t *pixels,
130  ptrdiff_t line_size, int32_t h);
131 void ff_put_pixels4_x2_8_mmi(uint8_t *block, const uint8_t *pixels,
132  ptrdiff_t line_size, int32_t h);
133 void ff_put_pixels4_y2_8_mmi(uint8_t *block, const uint8_t *pixels,
134  ptrdiff_t line_size, int32_t h);
135 void ff_put_pixels4_xy2_8_mmi(uint8_t *block, const uint8_t *pixels,
136  ptrdiff_t line_size, int32_t h);
138  ptrdiff_t line_size, int32_t h);
140  ptrdiff_t line_size, int32_t h);
142  ptrdiff_t line_size, int32_t h);
144  ptrdiff_t line_size, int32_t h);
146  ptrdiff_t line_size, int32_t h);
148  ptrdiff_t line_size, int32_t h);
149 void ff_avg_pixels16_8_mmi(uint8_t *block, const uint8_t *pixels,
150  ptrdiff_t line_size, int32_t h);
151 void ff_avg_pixels16_x2_8_mmi(uint8_t *block, const uint8_t *pixels,
152  ptrdiff_t line_size, int32_t h);
153 void ff_avg_pixels16_y2_8_mmi(uint8_t *block, const uint8_t *pixels,
154  ptrdiff_t line_size, int32_t h);
155 void ff_avg_pixels16_xy2_8_mmi(uint8_t *block, const uint8_t *pixels,
156  ptrdiff_t line_size, int32_t h);
157 void ff_avg_pixels8_8_mmi(uint8_t *block, const uint8_t *pixels,
158  ptrdiff_t line_size, int32_t h);
159 void ff_avg_pixels8_x2_8_mmi(uint8_t *block, const uint8_t *pixels,
160  ptrdiff_t line_size, int32_t h);
161 void ff_avg_pixels8_y2_8_mmi(uint8_t *block, const uint8_t *pixels,
162  ptrdiff_t line_size, int32_t h);
163 void ff_avg_pixels8_xy2_8_mmi(uint8_t *block, const uint8_t *pixels,
164  ptrdiff_t line_size, int32_t h);
165 void ff_avg_pixels4_8_mmi(uint8_t *block, const uint8_t *pixels,
166  ptrdiff_t line_size, int32_t h);
167 void ff_avg_pixels4_x2_8_mmi(uint8_t *block, const uint8_t *pixels,
168  ptrdiff_t line_size, int32_t h);
169 void ff_avg_pixels4_y2_8_mmi(uint8_t *block, const uint8_t *pixels,
170  ptrdiff_t line_size, int32_t h);
171 void ff_avg_pixels4_xy2_8_mmi(uint8_t *block, const uint8_t *pixels,
172  ptrdiff_t line_size, int32_t h);
173 
174 #endif // #ifndef AVCODEC_MIPS_HPELDSP_MIPS_H
void ff_avg_pixels4_y2_msa(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_put_pixels8_l2_8_mmi(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2, int h)
Definition: hpeldsp_mmi.c:346
void ff_avg_pixels4_x2_msa(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_avg_pixels4_msa(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_put_pixels16_l2_8_mmi(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2, int h)
Definition: hpeldsp_mmi.c:407
void ff_put_no_rnd_pixels8_y2_msa(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_put_pixels16_x2_8_mmi(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_put_pixels8_y2_msa(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_put_pixels16_y2_8_mmi(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
The exact code depends on how similar the blocks are and how related they are to the block
uint8_t
void ff_avg_pixels16_y2_8_mmi(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_avg_pixels16_xy2_8_mmi(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_put_pixels16_y2_msa(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_put_pixels16_x2_msa(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_put_pixels4_y2_msa(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_avg_pixels4_x2_8_mmi(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_put_pixels4_xy2_msa(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_put_no_rnd_pixels8_x2_msa(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_avg_pixels8_8_mmi(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_put_no_rnd_pixels8_l2_8_mmi(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2, int h)
Definition: hpeldsp_mmi.c:656
void ff_avg_pixels16_x2_8_mmi(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_avg_pixels4_l2_8_mmi(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2, int h)
Definition: hpeldsp_mmi.c:486
void ff_put_pixels4_x2_msa(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_put_pixels8_8_mmi(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_put_pixels16_msa(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_avg_pixels16_x2_msa(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_put_pixels16_xy2_8_mmi(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_put_pixels4_msa(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_avg_pixels16_l2_8_mmi(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2, int h)
Definition: hpeldsp_mmi.c:604
void ff_avg_pixels16_y2_msa(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_avg_pixels8_x2_8_mmi(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_put_no_rnd_pixels8_y2_8_mmi(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_avg_pixels4_xy2_8_mmi(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
int32_t
void ff_put_pixels8_y2_8_mmi(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_put_no_rnd_pixels16_y2_8_mmi(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_avg_pixels8_l2_8_mmi(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2, int h)
Definition: hpeldsp_mmi.c:532
#define src1
Definition: h264pred.c:139
void ff_put_pixels8_xy2_msa(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_put_no_rnd_pixels8_xy2_msa(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_put_pixels4_x2_8_mmi(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_put_no_rnd_pixels16_xy2_8_mmi(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_put_pixels4_y2_8_mmi(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_avg_pixels16_8_mmi(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_avg_pixels4_y2_8_mmi(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_put_pixels16_xy2_msa(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_avg_pixels4_xy2_msa(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_put_no_rnd_pixels16_x2_8_mmi(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_put_pixels4_xy2_8_mmi(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_put_pixels16_8_mmi(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_put_no_rnd_pixels16_xy2_msa(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_put_no_rnd_pixels16_y2_msa(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_avg_pixels8_xy2_msa(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_avg_pixels8_y2_msa(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_put_no_rnd_pixels8_xy2_8_mmi(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_put_pixels8_msa(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_avg_pixels8_msa(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_avg_pixels4_8_mmi(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_avg_pixels8_y2_8_mmi(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_avg_pixels8_x2_msa(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_put_pixels4_8_mmi(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_avg_pixels16_xy2_msa(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_put_pixels4_l2_8_mmi(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2, int h)
Definition: hpeldsp_mmi.c:303
void ff_avg_pixels8_xy2_8_mmi(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_put_pixels8_xy2_8_mmi(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_put_no_rnd_pixels16_l2_8_mmi(uint8_t *dst, const uint8_t *src1, const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2, int h)
void ff_put_pixels8_x2_msa(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_put_no_rnd_pixels8_x2_8_mmi(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_put_no_rnd_pixels16_x2_msa(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_avg_pixels16_msa(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)
void ff_put_pixels8_x2_8_mmi(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int32_t h)