Thanks to visit codestin.com
Credit goes to www.ffmpeg.org
FFmpeg
libavcodec
mips
hevc_macros_msa.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2015 - 2017 Manojkumar Bhosale (
[email protected]
)
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_HEVC_MACROS_MSA_H
22
#define AVCODEC_MIPS_HEVC_MACROS_MSA_H
23
24
#define HEVC_FILT_8TAP_SH(in0, in1, in2, in3, \
25
filt0, filt1, filt2, filt3) \
26
( { \
27
v8i16 out_m; \
28
\
29
out_m = __msa_dotp_s_h((v16i8) in0, (v16i8) filt0); \
30
out_m = __msa_dpadd_s_h(out_m, (v16i8) in1, (v16i8) filt1); \
31
DPADD_SB2_SH(in2, in3, filt2, filt3, out_m, out_m); \
32
out_m; \
33
} )
34
35
#define HEVC_FILT_8TAP(in0, in1, in2, in3, \
36
filt0, filt1, filt2, filt3) \
37
( { \
38
v4i32 out_m; \
39
\
40
out_m = __msa_dotp_s_w((v8i16) in0, (v8i16) filt0); \
41
out_m = __msa_dpadd_s_w(out_m, (v8i16) in1, (v8i16) filt1); \
42
DPADD_SH2_SW(in2, in3, filt2, filt3, out_m, out_m); \
43
out_m; \
44
} )
45
46
#define HEVC_FILT_4TAP_SH(in0, in1, filt0, filt1) \
47
( { \
48
v8i16 out_m; \
49
\
50
out_m = __msa_dotp_s_h((v16i8) in0, (v16i8) filt0); \
51
out_m = __msa_dpadd_s_h(out_m, (v16i8) in1, (v16i8) filt1); \
52
out_m; \
53
} )
54
55
#define HEVC_FILT_4TAP_SW(in0, in1, filt0, filt1) \
56
( { \
57
v4i32 out_m; \
58
\
59
out_m = __msa_dotp_s_w((v8i16) in0, (v8i16) filt0); \
60
out_m = __msa_dpadd_s_w(out_m, (v8i16) in1, (v8i16) filt1); \
61
out_m; \
62
} )
63
64
#define HEVC_FILT_4TAP(in0, in1, filt0, filt1) \
65
( { \
66
v4i32 out_m; \
67
\
68
out_m = __msa_dotp_s_w(in0, (v8i16) filt0); \
69
out_m = __msa_dpadd_s_w(out_m, in1, (v8i16) filt1); \
70
out_m; \
71
} )
72
73
#endif
/* AVCODEC_MIPS_HEVC_MACROS_MSA_H */
Generated on Tue May 12 2026 19:22:25 for FFmpeg by
1.8.17