]> git.sesse.net Git - ffmpeg/blob - libavcodec/mips/hpeldsp_mips.h
Merge commit '78fa0b9033c0834c049e2aedf71a8c613fed87ab'
[ffmpeg] / libavcodec / mips / hpeldsp_mips.h
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
25 #include "libavcodec/bit_depth_template.c"
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);
51 void ff_put_no_rnd_pixels16_x2_msa(uint8_t *block, const uint8_t *pixels,
52                                    ptrdiff_t line_size, int32_t h);
53 void ff_put_no_rnd_pixels16_y2_msa(uint8_t *block, const uint8_t *pixels,
54                                    ptrdiff_t line_size, int32_t h);
55 void ff_put_no_rnd_pixels16_xy2_msa(uint8_t *block, const uint8_t *pixels,
56                                     ptrdiff_t line_size, int32_t h);
57 void ff_put_no_rnd_pixels8_x2_msa(uint8_t *block, const uint8_t *pixels,
58                                   ptrdiff_t line_size, int32_t h);
59 void ff_put_no_rnd_pixels8_y2_msa(uint8_t *block, const uint8_t *pixels,
60                                   ptrdiff_t line_size, int32_t h);
61 void ff_put_no_rnd_pixels8_xy2_msa(uint8_t *block, const uint8_t *pixels,
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
88 void ff_put_pixels16_l2_8_mmi(uint8_t *dst, const uint8_t *src1,
89     const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2,
90     int h);
91 void ff_put_pixels8_l2_8_mmi(uint8_t *dst, const uint8_t *src1,
92     const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2,
93     int h);
94 void ff_put_pixels4_l2_8_mmi(uint8_t *dst, const uint8_t *src1,
95     const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2,
96     int h);
97 void ff_avg_pixels16_l2_8_mmi(uint8_t *dst, const uint8_t *src1,
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);
106 void ff_put_no_rnd_pixels16_l2_8_mmi(uint8_t *dst, const uint8_t *src1,
107     const uint8_t *src2, int dst_stride, int src_stride1, int src_stride2,
108     int h);
109 void ff_put_no_rnd_pixels8_l2_8_mmi(uint8_t *dst, const uint8_t *src1,
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);
137 void ff_put_no_rnd_pixels16_x2_8_mmi(uint8_t *block, const uint8_t *pixels,
138     ptrdiff_t line_size, int32_t h);
139 void ff_put_no_rnd_pixels16_y2_8_mmi(uint8_t *block, const uint8_t *pixels,
140     ptrdiff_t line_size, int32_t h);
141 void ff_put_no_rnd_pixels16_xy2_8_mmi(uint8_t *block, const uint8_t *pixels,
142     ptrdiff_t line_size, int32_t h);
143 void ff_put_no_rnd_pixels8_x2_8_mmi(uint8_t *block, const uint8_t *pixels,
144     ptrdiff_t line_size, int32_t h);
145 void ff_put_no_rnd_pixels8_y2_8_mmi(uint8_t *block, const uint8_t *pixels,
146     ptrdiff_t line_size, int32_t h);
147 void ff_put_no_rnd_pixels8_xy2_8_mmi(uint8_t *block, const uint8_t *pixels,
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