FFmpeg  4.0
vc1dsp_mips.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2016 Zhou Xiaoyong <zhouxiaoyong@loongson.cn>
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 #ifndef AVCODEC_MIPS_VC1DSP_MIPS_H
22 #define AVCODEC_MIPS_VC1DSP_MIPS_H
23 
24 #include "libavcodec/vc1dsp.h"
25 
27  ptrdiff_t stride, int rnd);
29  ptrdiff_t stride, int rnd);
31  ptrdiff_t stride, int rnd);
33  ptrdiff_t stride, int rnd);
35  ptrdiff_t stride, int rnd);
37  ptrdiff_t stride, int rnd);
39  ptrdiff_t stride, int rnd);
41  ptrdiff_t stride, int rnd);
43  ptrdiff_t stride, int rnd);
45  ptrdiff_t stride, int rnd);
47  ptrdiff_t stride, int rnd);
49  ptrdiff_t stride, int rnd);
51  ptrdiff_t stride, int rnd);
53  ptrdiff_t stride, int rnd);
55  ptrdiff_t stride, int rnd);
57  ptrdiff_t stride, int rnd);
58 
60  ptrdiff_t stride, int rnd);
62  ptrdiff_t stride, int rnd);
64  ptrdiff_t stride, int rnd);
66  ptrdiff_t stride, int rnd);
68  ptrdiff_t stride, int rnd);
70  ptrdiff_t stride, int rnd);
72  ptrdiff_t stride, int rnd);
74  ptrdiff_t stride, int rnd);
76  ptrdiff_t stride, int rnd);
78  ptrdiff_t stride, int rnd);
80  ptrdiff_t stride, int rnd);
82  ptrdiff_t stride, int rnd);
84  ptrdiff_t stride, int rnd);
86  ptrdiff_t stride, int rnd);
88  ptrdiff_t stride, int rnd);
90  ptrdiff_t stride, int rnd);
91 
92 
94  ptrdiff_t stride, int rnd);
96  ptrdiff_t stride, int rnd);
98  ptrdiff_t stride, int rnd);
100  ptrdiff_t stride, int rnd);
102  ptrdiff_t stride, int rnd);
104  ptrdiff_t stride, int rnd);
106  ptrdiff_t stride, int rnd);
108  ptrdiff_t stride, int rnd);
110  ptrdiff_t stride, int rnd);
112  ptrdiff_t stride, int rnd);
114  ptrdiff_t stride, int rnd);
116  ptrdiff_t stride, int rnd);
118  ptrdiff_t stride, int rnd);
120  ptrdiff_t stride, int rnd);
122  ptrdiff_t stride, int rnd);
124  ptrdiff_t stride, int rnd);
125 
127  ptrdiff_t stride, int rnd);
129  ptrdiff_t stride, int rnd);
131  ptrdiff_t stride, int rnd);
133  ptrdiff_t stride, int rnd);
135  ptrdiff_t stride, int rnd);
137  ptrdiff_t stride, int rnd);
139  ptrdiff_t stride, int rnd);
141  ptrdiff_t stride, int rnd);
143  ptrdiff_t stride, int rnd);
145  ptrdiff_t stride, int rnd);
147  ptrdiff_t stride, int rnd);
149  ptrdiff_t stride, int rnd);
151  ptrdiff_t stride, int rnd);
153  ptrdiff_t stride, int rnd);
155  ptrdiff_t stride, int rnd);
157  ptrdiff_t stride, int rnd);
158 
159 void ff_vc1_inv_trans_8x8_mmi(int16_t block[64]);
160 void ff_vc1_inv_trans_8x4_mmi(uint8_t *dest, ptrdiff_t linesize, int16_t *block);
161 void ff_vc1_inv_trans_4x8_mmi(uint8_t *dest, ptrdiff_t linesize, int16_t *block);
162 void ff_vc1_inv_trans_4x4_mmi(uint8_t *dest, ptrdiff_t linesize, int16_t *block);
163 
164 void ff_vc1_inv_trans_4x4_dc_mmi(uint8_t *dest, ptrdiff_t linesize, int16_t *block);
165 void ff_vc1_inv_trans_4x8_dc_mmi(uint8_t *dest, ptrdiff_t linesize, int16_t *block);
166 void ff_vc1_inv_trans_8x4_dc_mmi(uint8_t *dest, ptrdiff_t linesize, int16_t *block);
167 void ff_vc1_inv_trans_8x8_dc_mmi(uint8_t *dest, ptrdiff_t linesize, int16_t *block);
168 
171 void ff_vc1_v_s_overlap_mmi(int16_t *top, int16_t *bottom);
172 void ff_vc1_h_s_overlap_mmi(int16_t *left, int16_t *right);
173 
174 void ff_vc1_v_loop_filter4_mmi(uint8_t *src, int stride, int pq);
175 void ff_vc1_h_loop_filter4_mmi(uint8_t *src, int stride, int pq);
176 void ff_vc1_v_loop_filter8_mmi(uint8_t *src, int stride, int pq);
177 void ff_vc1_h_loop_filter8_mmi(uint8_t *src, int stride, int pq);
178 void ff_vc1_v_loop_filter16_mmi(uint8_t *src, int stride, int pq);
179 void ff_vc1_h_loop_filter16_mmi(uint8_t *src, int stride, int pq);
180 
181 void ff_put_no_rnd_vc1_chroma_mc8_mmi(uint8_t *dst /* align 8 */,
182  uint8_t *src /* align 1 */,
183  int stride, int h, int x, int y);
184 void ff_put_no_rnd_vc1_chroma_mc4_mmi(uint8_t *dst /* align 8 */,
185  uint8_t *src /* align 1 */,
186  int stride, int h, int x, int y);
187 void ff_avg_no_rnd_vc1_chroma_mc8_mmi(uint8_t *dst /* align 8 */,
188  uint8_t *src /* align 1 */,
189  int stride, int h, int x, int y);
190 void ff_avg_no_rnd_vc1_chroma_mc4_mmi(uint8_t *dst /* align 8 */,
191  uint8_t *src /* align 1 */,
192  int stride, int h, int x, int y);
193 
194 #endif /* AVCODEC_MIPS_VC1DSP_MIPS_H */
VC-1 and WMV3 decoder.
void ff_avg_vc1_mspel_mc33_16_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_put_vc1_mspel_mc22_16_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_vc1_inv_trans_8x4_mmi(uint8_t *dest, ptrdiff_t linesize, int16_t *block)
void ff_put_vc1_mspel_mc20_16_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_avg_vc1_mspel_mc13_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_avg_vc1_mspel_mc23_16_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_put_vc1_mspel_mc33_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_avg_vc1_mspel_mc00_16_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
Definition: vc1dsp_mmi.c:1217
void ff_vc1_h_loop_filter8_mmi(uint8_t *src, int stride, int pq)
Definition: vc1dsp_mmi.c:1187
void ff_put_vc1_mspel_mc32_16_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_avg_vc1_mspel_mc10_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
#define src
Definition: vp8dsp.c:254
int stride
Definition: mace.c:144
void ff_avg_vc1_mspel_mc03_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_avg_vc1_mspel_mc32_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_put_vc1_mspel_mc13_16_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_vc1_inv_trans_8x8_dc_mmi(uint8_t *dest, ptrdiff_t linesize, int16_t *block)
Definition: vc1dsp_mmi.c:144
static int16_t block[64]
Definition: dct.c:115
void ff_vc1_h_s_overlap_mmi(int16_t *left, int16_t *right)
Definition: vc1dsp_mmi.c:1022
uint8_t
void ff_put_vc1_mspel_mc00_16_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
Definition: vc1dsp_mmi.c:1207
void ff_put_vc1_mspel_mc01_16_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_put_vc1_mspel_mc22_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_vc1_h_loop_filter16_mmi(uint8_t *src, int stride, int pq)
Definition: vc1dsp_mmi.c:1197
void ff_avg_vc1_mspel_mc20_16_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_avg_vc1_mspel_mc20_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_avg_vc1_mspel_mc22_16_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_vc1_v_s_overlap_mmi(int16_t *top, int16_t *bottom)
Definition: vc1dsp_mmi.c:1072
void ff_put_no_rnd_vc1_chroma_mc8_mmi(uint8_t *dst, uint8_t *src, int stride, int h, int x, int y)
Definition: vc1dsp_mmi.c:1861
void ff_vc1_inv_trans_8x8_mmi(int16_t block[64])
void ff_avg_vc1_mspel_mc03_16_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_avg_vc1_mspel_mc11_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_avg_vc1_mspel_mc21_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_vc1_inv_trans_8x4_dc_mmi(uint8_t *dest, ptrdiff_t linesize, int16_t *block)
Definition: vc1dsp_mmi.c:371
void ff_avg_vc1_mspel_mc01_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_vc1_v_loop_filter8_mmi(uint8_t *src, int stride, int pq)
Definition: vc1dsp_mmi.c:1182
void ff_put_vc1_mspel_mc03_16_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_avg_vc1_mspel_mc12_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_put_vc1_mspel_mc31_16_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_avg_vc1_mspel_mc21_16_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_put_vc1_mspel_mc31_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_avg_vc1_mspel_mc10_16_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_vc1_inv_trans_4x4_mmi(uint8_t *dest, ptrdiff_t linesize, int16_t *block)
Definition: vc1dsp_mmi.c:889
void ff_avg_vc1_mspel_mc01_16_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_put_vc1_mspel_mc10_16_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_avg_vc1_mspel_mc02_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_avg_vc1_mspel_mc32_16_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_avg_vc1_mspel_mc31_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_avg_vc1_mspel_mc31_16_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_avg_vc1_mspel_mc02_16_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_put_vc1_mspel_mc20_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_avg_vc1_mspel_mc13_16_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_put_vc1_mspel_mc32_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_vc1_h_loop_filter4_mmi(uint8_t *src, int stride, int pq)
Definition: vc1dsp_mmi.c:1177
void ff_avg_vc1_mspel_mc23_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_put_no_rnd_vc1_chroma_mc4_mmi(uint8_t *dst, uint8_t *src, int stride, int h, int x, int y)
Definition: vc1dsp_mmi.c:1916
void ff_vc1_inv_trans_4x8_dc_mmi(uint8_t *dest, ptrdiff_t linesize, int16_t *block)
Definition: vc1dsp_mmi.c:602
void ff_put_vc1_mspel_mc23_16_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_put_vc1_mspel_mc13_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_avg_vc1_mspel_mc11_16_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_put_vc1_mspel_mc11_16_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_put_vc1_mspel_mc03_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_vc1_v_loop_filter4_mmi(uint8_t *src, int stride, int pq)
Definition: vc1dsp_mmi.c:1172
void ff_avg_vc1_mspel_mc12_16_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_vc1_v_overlap_mmi(uint8_t *src, int stride)
Definition: vc1dsp_mmi.c:1049
void ff_avg_vc1_mspel_mc33_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_put_vc1_mspel_mc11_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_avg_vc1_mspel_mc22_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_put_vc1_mspel_mc23_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_vc1_inv_trans_4x8_mmi(uint8_t *dest, ptrdiff_t linesize, int16_t *block)
void ff_vc1_inv_trans_4x4_dc_mmi(uint8_t *dest, ptrdiff_t linesize, int16_t *block)
Definition: vc1dsp_mmi.c:841
void ff_put_vc1_mspel_mc10_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_avg_vc1_mspel_mc30_16_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_put_vc1_mspel_mc12_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_put_vc1_mspel_mc21_16_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_put_vc1_mspel_mc02_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_put_vc1_mspel_mc01_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
#define rnd()
Definition: checkasm.h:100
void ff_avg_vc1_mspel_mc30_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_vc1_h_overlap_mmi(uint8_t *src, int stride)
Definition: vc1dsp_mmi.c:999
void ff_put_vc1_mspel_mc02_16_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_put_vc1_mspel_mc30_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_avg_no_rnd_vc1_chroma_mc4_mmi(uint8_t *dst, uint8_t *src, int stride, int h, int x, int y)
Definition: vc1dsp_mmi.c:2027
void ff_put_vc1_mspel_mc30_16_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_avg_no_rnd_vc1_chroma_mc8_mmi(uint8_t *dst, uint8_t *src, int stride, int h, int x, int y)
Definition: vc1dsp_mmi.c:1969
void ff_put_vc1_mspel_mc12_16_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_put_vc1_mspel_mc21_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
void ff_avg_vc1_mspel_mc00_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
Definition: vc1dsp_mmi.c:1212
void ff_vc1_v_loop_filter16_mmi(uint8_t *src, int stride, int pq)
Definition: vc1dsp_mmi.c:1192
void ff_put_vc1_mspel_mc00_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)
Definition: vc1dsp_mmi.c:1202
void ff_put_vc1_mspel_mc33_16_mmi(uint8_t *dst, const uint8_t *src, ptrdiff_t stride, int rnd)