Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
52868 views
1
/*****************************************************************************
2
* predict.h: x86 intra prediction
3
*****************************************************************************
4
* Copyright (C) 2003-2016 x264 project
5
*
6
* Authors: Laurent Aimar <[email protected]>
7
* Loren Merritt <[email protected]>
8
*
9
* This program is free software; you can redistribute it and/or modify
10
* it under the terms of the GNU General Public License as published by
11
* the Free Software Foundation; either version 2 of the License, or
12
* (at your option) any later version.
13
*
14
* This program is distributed in the hope that it will be useful,
15
* but WITHOUT ANY WARRANTY; without even the implied warranty of
16
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
* GNU General Public License for more details.
18
*
19
* You should have received a copy of the GNU General Public License
20
* along with this program; if not, write to the Free Software
21
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111, USA.
22
*
23
* This program is also available under a commercial proprietary license.
24
* For more information, contact us at [email protected].
25
*****************************************************************************/
26
27
#ifndef X264_I386_PREDICT_H
28
#define X264_I386_PREDICT_H
29
30
void x264_predict_16x16_init_mmx ( int cpu, x264_predict_t pf[7] );
31
void x264_predict_8x16c_init_mmx ( int cpu, x264_predict_t pf[7] );
32
void x264_predict_8x8c_init_mmx ( int cpu, x264_predict_t pf[7] );
33
void x264_predict_4x4_init_mmx ( int cpu, x264_predict_t pf[12] );
34
void x264_predict_8x8_init_mmx ( int cpu, x264_predict8x8_t pf[12], x264_predict_8x8_filter_t *predict_8x8_filter );
35
36
void x264_predict_16x16_v_mmx2( pixel *src );
37
void x264_predict_16x16_v_sse ( pixel *src );
38
void x264_predict_16x16_v_avx ( uint16_t *src );
39
void x264_predict_16x16_h_mmx2( pixel *src );
40
void x264_predict_16x16_h_sse2( uint16_t *src );
41
void x264_predict_16x16_h_ssse3( uint8_t *src );
42
void x264_predict_16x16_h_avx2( uint16_t *src );
43
void x264_predict_16x16_dc_mmx2( pixel *src );
44
void x264_predict_16x16_dc_sse2( pixel *src );
45
void x264_predict_16x16_dc_core_mmx2( pixel *src, int i_dc_left );
46
void x264_predict_16x16_dc_core_sse2( pixel *src, int i_dc_left );
47
void x264_predict_16x16_dc_core_avx2( pixel *src, int i_dc_left );
48
void x264_predict_16x16_dc_left_core_mmx2( pixel *src, int i_dc_left );
49
void x264_predict_16x16_dc_left_core_sse2( pixel *src, int i_dc_left );
50
void x264_predict_16x16_dc_left_core_avx2( pixel *src, int i_dc_left );
51
void x264_predict_16x16_dc_top_mmx2( pixel *src );
52
void x264_predict_16x16_dc_top_sse2( pixel *src );
53
void x264_predict_16x16_dc_top_avx2( pixel *src );
54
void x264_predict_16x16_p_core_mmx2( uint8_t *src, int i00, int b, int c );
55
void x264_predict_16x16_p_core_sse2( pixel *src, int i00, int b, int c );
56
void x264_predict_16x16_p_core_avx( pixel *src, int i00, int b, int c );
57
void x264_predict_16x16_p_core_avx2( pixel *src, int i00, int b, int c );
58
void x264_predict_8x16c_dc_mmx2( pixel *src );
59
void x264_predict_8x16c_dc_sse2( uint16_t *src );
60
void x264_predict_8x16c_dc_top_mmx2( uint8_t *src );
61
void x264_predict_8x16c_dc_top_sse2( uint16_t *src );
62
void x264_predict_8x16c_v_mmx( uint8_t *src );
63
void x264_predict_8x16c_v_sse( uint16_t *src );
64
void x264_predict_8x16c_h_mmx2( pixel *src );
65
void x264_predict_8x16c_h_sse2( uint16_t *src );
66
void x264_predict_8x16c_h_ssse3( uint8_t *src );
67
void x264_predict_8x16c_h_avx2( uint16_t *src );
68
void x264_predict_8x16c_p_core_mmx2( uint8_t *src, int i00, int b, int c );
69
void x264_predict_8x16c_p_core_sse2( pixel *src, int i00, int b, int c );
70
void x264_predict_8x16c_p_core_avx ( pixel *src, int i00, int b, int c );
71
void x264_predict_8x16c_p_core_avx2( pixel *src, int i00, int b, int c );
72
void x264_predict_8x8c_p_core_mmx2( uint8_t *src, int i00, int b, int c );
73
void x264_predict_8x8c_p_core_sse2( pixel *src, int i00, int b, int c );
74
void x264_predict_8x8c_p_core_avx ( pixel *src, int i00, int b, int c );
75
void x264_predict_8x8c_p_core_avx2( pixel *src, int i00, int b, int c );
76
void x264_predict_8x8c_dc_mmx2( pixel *src );
77
void x264_predict_8x8c_dc_sse2( uint16_t *src );
78
void x264_predict_8x8c_dc_top_mmx2( uint8_t *src );
79
void x264_predict_8x8c_dc_top_sse2( uint16_t *src );
80
void x264_predict_8x8c_v_mmx( pixel *src );
81
void x264_predict_8x8c_v_sse( uint16_t *src );
82
void x264_predict_8x8c_h_mmx2( pixel *src );
83
void x264_predict_8x8c_h_sse2( uint16_t *src );
84
void x264_predict_8x8c_h_ssse3( uint8_t *src );
85
void x264_predict_8x8c_h_avx2( uint16_t *src );
86
void x264_predict_8x8_v_mmx2( uint8_t *src, uint8_t edge[36] );
87
void x264_predict_8x8_v_sse ( uint16_t *src, uint16_t edge[36] );
88
void x264_predict_8x8_h_mmx2( uint8_t *src, uint8_t edge[36] );
89
void x264_predict_8x8_h_sse2( uint16_t *src, uint16_t edge[36] );
90
void x264_predict_8x8_hd_mmx2( uint8_t *src, uint8_t edge[36] );
91
void x264_predict_8x8_hu_mmx2( uint8_t *src, uint8_t edge[36] );
92
void x264_predict_8x8_dc_mmx2( uint8_t *src, uint8_t edge[36] );
93
void x264_predict_8x8_dc_sse2( uint16_t *src, uint16_t edge[36] );
94
void x264_predict_8x8_dc_top_mmx2( uint8_t *src, uint8_t edge[36] );
95
void x264_predict_8x8_dc_top_sse2( uint16_t *src, uint16_t edge[36] );
96
void x264_predict_8x8_dc_left_mmx2( uint8_t *src, uint8_t edge[36] );
97
void x264_predict_8x8_dc_left_sse2( uint16_t *src, uint16_t edge[36] );
98
void x264_predict_8x8_ddl_mmx2( uint8_t *src, uint8_t edge[36] );
99
void x264_predict_8x8_ddl_sse2( pixel *src, pixel edge[36] );
100
void x264_predict_8x8_ddl_ssse3( pixel *src, pixel edge[36] );
101
void x264_predict_8x8_ddl_ssse3_cache64( pixel *src, pixel edge[36] );
102
void x264_predict_8x8_ddl_avx( pixel *src, pixel edge[36] );
103
void x264_predict_8x8_ddr_mmx2( uint8_t *src, uint8_t edge[36] );
104
void x264_predict_8x8_ddr_sse2( pixel *src, pixel edge[36] );
105
void x264_predict_8x8_ddr_ssse3( pixel *src, pixel edge[36] );
106
void x264_predict_8x8_ddr_ssse3_cache64( pixel *src, pixel edge[36] );
107
void x264_predict_8x8_ddr_avx( pixel *src, pixel edge[36] );
108
void x264_predict_8x8_vl_sse2( pixel *src, pixel edge[36] );
109
void x264_predict_8x8_vl_ssse3( pixel *src, pixel edge[36] );
110
void x264_predict_8x8_vl_avx( pixel *src, pixel edge[36] );
111
void x264_predict_8x8_vl_mmx2( uint8_t *src, uint8_t edge[36] );
112
void x264_predict_8x8_vr_mmx2( uint8_t *src, uint8_t edge[36] );
113
void x264_predict_8x8_vr_sse2( pixel *src, pixel edge[36] );
114
void x264_predict_8x8_vr_ssse3( pixel *src, pixel edge[36] );
115
void x264_predict_8x8_vr_avx( pixel *src, pixel edge[36] );
116
void x264_predict_8x8_hu_sse2( pixel *src, pixel edge[36] );
117
void x264_predict_8x8_hu_ssse3( pixel *src, pixel edge[36] );
118
void x264_predict_8x8_hu_avx( pixel *src, pixel edge[36] );
119
void x264_predict_8x8_hd_sse2( pixel *src, pixel edge[36] );
120
void x264_predict_8x8_hd_ssse3( pixel *src, pixel edge[36] );
121
void x264_predict_8x8_hd_avx( pixel *src, pixel edge[36] );
122
void x264_predict_8x8_filter_mmx2( uint8_t *src, uint8_t edge[36], int i_neighbor, int i_filters );
123
void x264_predict_8x8_filter_sse2( uint16_t *src, uint16_t edge[36], int i_neighbor, int i_filters );
124
void x264_predict_8x8_filter_ssse3( pixel *src, pixel edge[36], int i_neighbor, int i_filters );
125
void x264_predict_8x8_filter_avx( uint16_t *src, uint16_t edge[36], int i_neighbor, int i_filters );
126
void x264_predict_4x4_h_avx2( uint16_t *src );
127
void x264_predict_4x4_ddl_mmx2( pixel *src );
128
void x264_predict_4x4_ddl_sse2( uint16_t *src );
129
void x264_predict_4x4_ddl_avx( uint16_t *src );
130
void x264_predict_4x4_ddr_mmx2( pixel *src );
131
void x264_predict_4x4_vl_mmx2( pixel *src );
132
void x264_predict_4x4_vl_sse2( uint16_t *src );
133
void x264_predict_4x4_vl_avx( uint16_t *src );
134
void x264_predict_4x4_vr_mmx2( uint8_t *src );
135
void x264_predict_4x4_vr_sse2( uint16_t *src );
136
void x264_predict_4x4_vr_ssse3( pixel *src );
137
void x264_predict_4x4_vr_ssse3_cache64( uint8_t *src );
138
void x264_predict_4x4_vr_avx( uint16_t *src );
139
void x264_predict_4x4_hd_mmx2( pixel *src );
140
void x264_predict_4x4_hd_sse2( uint16_t *src );
141
void x264_predict_4x4_hd_ssse3( pixel *src );
142
void x264_predict_4x4_hd_avx( uint16_t *src );
143
void x264_predict_4x4_dc_mmx2( pixel *src );
144
void x264_predict_4x4_ddr_sse2( uint16_t *src );
145
void x264_predict_4x4_ddr_ssse3( pixel *src );
146
void x264_predict_4x4_ddr_avx( uint16_t *src );
147
void x264_predict_4x4_hu_mmx2( pixel *src );
148
149
#endif
150
151