| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2014 The WebM project authors. All Rights Reserved. | 2 * Copyright (c) 2014 The WebM project authors. All Rights Reserved. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
| 5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
| 6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
| 7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
| 8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
| 9 */ | 9 */ |
| 10 | 10 |
| (...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 127 RunTest(left_col, above_data, dst, ref_dst); | 127 RunTest(left_col, above_data, dst, ref_dst); |
| 128 } | 128 } |
| 129 | 129 |
| 130 using std::tr1::make_tuple; | 130 using std::tr1::make_tuple; |
| 131 | 131 |
| 132 #if HAVE_SSE2 | 132 #if HAVE_SSE2 |
| 133 #if CONFIG_VP9_HIGHBITDEPTH | 133 #if CONFIG_VP9_HIGHBITDEPTH |
| 134 #if ARCH_X86_64 | 134 #if ARCH_X86_64 |
| 135 INSTANTIATE_TEST_CASE_P(SSE2_TO_C_8, VP9IntraPredTest, | 135 INSTANTIATE_TEST_CASE_P(SSE2_TO_C_8, VP9IntraPredTest, |
| 136 ::testing::Values( | 136 ::testing::Values( |
| 137 make_tuple(&vp9_high_dc_predictor_32x32_sse2, | 137 make_tuple(&vp9_highbd_dc_predictor_32x32_sse2, |
| 138 &vp9_high_dc_predictor_32x32_c, 32, 8), | 138 &vp9_highbd_dc_predictor_32x32_c, 32, 8), |
| 139 make_tuple(&vp9_high_tm_predictor_16x16_sse2, | 139 make_tuple(&vp9_highbd_tm_predictor_16x16_sse2, |
| 140 &vp9_high_tm_predictor_16x16_c, 16, 8), | 140 &vp9_highbd_tm_predictor_16x16_c, 16, 8), |
| 141 make_tuple(&vp9_high_tm_predictor_32x32_sse2, | 141 make_tuple(&vp9_highbd_tm_predictor_32x32_sse2, |
| 142 &vp9_high_tm_predictor_32x32_c, 32, 8), | 142 &vp9_highbd_tm_predictor_32x32_c, 32, 8), |
| 143 make_tuple(&vp9_high_dc_predictor_4x4_sse, | 143 make_tuple(&vp9_highbd_dc_predictor_4x4_sse, |
| 144 &vp9_high_dc_predictor_4x4_c, 4, 8), | 144 &vp9_highbd_dc_predictor_4x4_c, 4, 8), |
| 145 make_tuple(&vp9_high_dc_predictor_8x8_sse2, | 145 make_tuple(&vp9_highbd_dc_predictor_8x8_sse2, |
| 146 &vp9_high_dc_predictor_8x8_c, 8, 8), | 146 &vp9_highbd_dc_predictor_8x8_c, 8, 8), |
| 147 make_tuple(&vp9_high_dc_predictor_16x16_sse2, | 147 make_tuple(&vp9_highbd_dc_predictor_16x16_sse2, |
| 148 &vp9_high_dc_predictor_16x16_c, 16, 8), | 148 &vp9_highbd_dc_predictor_16x16_c, 16, 8), |
| 149 make_tuple(&vp9_high_v_predictor_4x4_sse, | 149 make_tuple(&vp9_highbd_v_predictor_4x4_sse, |
| 150 &vp9_high_v_predictor_4x4_c, 4, 8), | 150 &vp9_highbd_v_predictor_4x4_c, 4, 8), |
| 151 make_tuple(&vp9_high_v_predictor_8x8_sse2, | 151 make_tuple(&vp9_highbd_v_predictor_8x8_sse2, |
| 152 &vp9_high_v_predictor_8x8_c, 8, 8), | 152 &vp9_highbd_v_predictor_8x8_c, 8, 8), |
| 153 make_tuple(&vp9_high_v_predictor_16x16_sse2, | 153 make_tuple(&vp9_highbd_v_predictor_16x16_sse2, |
| 154 &vp9_high_v_predictor_16x16_c, 16, 8), | 154 &vp9_highbd_v_predictor_16x16_c, 16, 8), |
| 155 make_tuple(&vp9_high_v_predictor_32x32_sse2, | 155 make_tuple(&vp9_highbd_v_predictor_32x32_sse2, |
| 156 &vp9_high_v_predictor_32x32_c, 32, 8), | 156 &vp9_highbd_v_predictor_32x32_c, 32, 8), |
| 157 make_tuple(&vp9_high_tm_predictor_4x4_sse, | 157 make_tuple(&vp9_highbd_tm_predictor_4x4_sse, |
| 158 &vp9_high_tm_predictor_4x4_c, 4, 8), | 158 &vp9_highbd_tm_predictor_4x4_c, 4, 8), |
| 159 make_tuple(&vp9_high_tm_predictor_8x8_sse2, | 159 make_tuple(&vp9_highbd_tm_predictor_8x8_sse2, |
| 160 &vp9_high_tm_predictor_8x8_c, 8, 8))); | 160 &vp9_highbd_tm_predictor_8x8_c, 8, 8))); |
| 161 #else | 161 #else |
| 162 INSTANTIATE_TEST_CASE_P(SSE2_TO_C_8, VP9IntraPredTest, | 162 INSTANTIATE_TEST_CASE_P(SSE2_TO_C_8, VP9IntraPredTest, |
| 163 ::testing::Values( | 163 ::testing::Values( |
| 164 make_tuple(&vp9_high_dc_predictor_4x4_sse, | 164 make_tuple(&vp9_highbd_dc_predictor_4x4_sse, |
| 165 &vp9_high_dc_predictor_4x4_c, 4, 8), | 165 &vp9_highbd_dc_predictor_4x4_c, 4, 8), |
| 166 make_tuple(&vp9_high_dc_predictor_8x8_sse2, | 166 make_tuple(&vp9_highbd_dc_predictor_8x8_sse2, |
| 167 &vp9_high_dc_predictor_8x8_c, 8, 8), | 167 &vp9_highbd_dc_predictor_8x8_c, 8, 8), |
| 168 make_tuple(&vp9_high_dc_predictor_16x16_sse2, | 168 make_tuple(&vp9_highbd_dc_predictor_16x16_sse2, |
| 169 &vp9_high_dc_predictor_16x16_c, 16, 8), | 169 &vp9_highbd_dc_predictor_16x16_c, 16, 8), |
| 170 make_tuple(&vp9_high_v_predictor_4x4_sse, | 170 make_tuple(&vp9_highbd_v_predictor_4x4_sse, |
| 171 &vp9_high_v_predictor_4x4_c, 4, 8), | 171 &vp9_highbd_v_predictor_4x4_c, 4, 8), |
| 172 make_tuple(&vp9_high_v_predictor_8x8_sse2, | 172 make_tuple(&vp9_highbd_v_predictor_8x8_sse2, |
| 173 &vp9_high_v_predictor_8x8_c, 8, 8), | 173 &vp9_highbd_v_predictor_8x8_c, 8, 8), |
| 174 make_tuple(&vp9_high_v_predictor_16x16_sse2, | 174 make_tuple(&vp9_highbd_v_predictor_16x16_sse2, |
| 175 &vp9_high_v_predictor_16x16_c, 16, 8), | 175 &vp9_highbd_v_predictor_16x16_c, 16, 8), |
| 176 make_tuple(&vp9_high_v_predictor_32x32_sse2, | 176 make_tuple(&vp9_highbd_v_predictor_32x32_sse2, |
| 177 &vp9_high_v_predictor_32x32_c, 32, 8), | 177 &vp9_highbd_v_predictor_32x32_c, 32, 8), |
| 178 make_tuple(&vp9_high_tm_predictor_4x4_sse, | 178 make_tuple(&vp9_highbd_tm_predictor_4x4_sse, |
| 179 &vp9_high_tm_predictor_4x4_c, 4, 8), | 179 &vp9_highbd_tm_predictor_4x4_c, 4, 8), |
| 180 make_tuple(&vp9_high_tm_predictor_8x8_sse2, | 180 make_tuple(&vp9_highbd_tm_predictor_8x8_sse2, |
| 181 &vp9_high_tm_predictor_8x8_c, 8, 8))); | 181 &vp9_highbd_tm_predictor_8x8_c, 8, 8))); |
| 182 #endif | 182 #endif |
| 183 #if ARCH_X86_64 | 183 #if ARCH_X86_64 |
| 184 INSTANTIATE_TEST_CASE_P(SSE2_TO_C_10, VP9IntraPredTest, | 184 INSTANTIATE_TEST_CASE_P(SSE2_TO_C_10, VP9IntraPredTest, |
| 185 ::testing::Values( | 185 ::testing::Values( |
| 186 make_tuple(&vp9_high_dc_predictor_32x32_sse2, | 186 make_tuple(&vp9_highbd_dc_predictor_32x32_sse2, |
| 187 &vp9_high_dc_predictor_32x32_c, 32, 10), | 187 &vp9_highbd_dc_predictor_32x32_c, 32, |
| 188 make_tuple(&vp9_high_tm_predictor_16x16_sse2, | 188 10), |
| 189 &vp9_high_tm_predictor_16x16_c, 16, 10), | 189 make_tuple(&vp9_highbd_tm_predictor_16x16_sse2, |
| 190 make_tuple(&vp9_high_tm_predictor_32x32_sse2, | 190 &vp9_highbd_tm_predictor_16x16_c, 16, |
| 191 &vp9_high_tm_predictor_32x32_c, 32, 10), | 191 10), |
| 192 make_tuple(&vp9_high_dc_predictor_4x4_sse, | 192 make_tuple(&vp9_highbd_tm_predictor_32x32_sse2, |
| 193 &vp9_high_dc_predictor_4x4_c, 4, 10), | 193 &vp9_highbd_tm_predictor_32x32_c, 32, |
| 194 make_tuple(&vp9_high_dc_predictor_8x8_sse2, | 194 10), |
| 195 &vp9_high_dc_predictor_8x8_c, 8, 10), | 195 make_tuple(&vp9_highbd_dc_predictor_4x4_sse, |
| 196 make_tuple(&vp9_high_dc_predictor_16x16_sse2, | 196 &vp9_highbd_dc_predictor_4x4_c, 4, 10), |
| 197 &vp9_high_dc_predictor_16x16_c, 16, 10), | 197 make_tuple(&vp9_highbd_dc_predictor_8x8_sse2, |
| 198 make_tuple(&vp9_high_v_predictor_4x4_sse, | 198 &vp9_highbd_dc_predictor_8x8_c, 8, 10), |
| 199 &vp9_high_v_predictor_4x4_c, 4, 10), | 199 make_tuple(&vp9_highbd_dc_predictor_16x16_sse2, |
| 200 make_tuple(&vp9_high_v_predictor_8x8_sse2, | 200 &vp9_highbd_dc_predictor_16x16_c, 16, |
| 201 &vp9_high_v_predictor_8x8_c, 8, 10), | 201 10), |
| 202 make_tuple(&vp9_high_v_predictor_16x16_sse2, | 202 make_tuple(&vp9_highbd_v_predictor_4x4_sse, |
| 203 &vp9_high_v_predictor_16x16_c, 16, 10), | 203 &vp9_highbd_v_predictor_4x4_c, 4, 10), |
| 204 make_tuple(&vp9_high_v_predictor_32x32_sse2, | 204 make_tuple(&vp9_highbd_v_predictor_8x8_sse2, |
| 205 &vp9_high_v_predictor_32x32_c, 32, 10), | 205 &vp9_highbd_v_predictor_8x8_c, 8, 10), |
| 206 make_tuple(&vp9_high_tm_predictor_4x4_sse, | 206 make_tuple(&vp9_highbd_v_predictor_16x16_sse2, |
| 207 &vp9_high_tm_predictor_4x4_c, 4, 10), | 207 &vp9_highbd_v_predictor_16x16_c, 16, |
| 208 make_tuple(&vp9_high_tm_predictor_8x8_sse2, | 208 10), |
| 209 &vp9_high_tm_predictor_8x8_c, 8, 10))); | 209 make_tuple(&vp9_highbd_v_predictor_32x32_sse2, |
| 210 &vp9_highbd_v_predictor_32x32_c, 32, |
| 211 10), |
| 212 make_tuple(&vp9_highbd_tm_predictor_4x4_sse, |
| 213 &vp9_highbd_tm_predictor_4x4_c, 4, 10), |
| 214 make_tuple(&vp9_highbd_tm_predictor_8x8_sse2, |
| 215 &vp9_highbd_tm_predictor_8x8_c, 8, 10))); |
| 210 #else | 216 #else |
| 211 INSTANTIATE_TEST_CASE_P(SSE2_TO_C_10, VP9IntraPredTest, | 217 INSTANTIATE_TEST_CASE_P(SSE2_TO_C_10, VP9IntraPredTest, |
| 212 ::testing::Values( | 218 ::testing::Values( |
| 213 make_tuple(&vp9_high_dc_predictor_4x4_sse, | 219 make_tuple(&vp9_highbd_dc_predictor_4x4_sse, |
| 214 &vp9_high_dc_predictor_4x4_c, 4, 10), | 220 &vp9_highbd_dc_predictor_4x4_c, 4, 10), |
| 215 make_tuple(&vp9_high_dc_predictor_8x8_sse2, | 221 make_tuple(&vp9_highbd_dc_predictor_8x8_sse2, |
| 216 &vp9_high_dc_predictor_8x8_c, 8, 10), | 222 &vp9_highbd_dc_predictor_8x8_c, 8, 10), |
| 217 make_tuple(&vp9_high_dc_predictor_16x16_sse2, | 223 make_tuple(&vp9_highbd_dc_predictor_16x16_sse2, |
| 218 &vp9_high_dc_predictor_16x16_c, 16, 10), | 224 &vp9_highbd_dc_predictor_16x16_c, 16, |
| 219 make_tuple(&vp9_high_v_predictor_4x4_sse, | 225 10), |
| 220 &vp9_high_v_predictor_4x4_c, 4, 10), | 226 make_tuple(&vp9_highbd_v_predictor_4x4_sse, |
| 221 make_tuple(&vp9_high_v_predictor_8x8_sse2, | 227 &vp9_highbd_v_predictor_4x4_c, 4, 10), |
| 222 &vp9_high_v_predictor_8x8_c, 8, 10), | 228 make_tuple(&vp9_highbd_v_predictor_8x8_sse2, |
| 223 make_tuple(&vp9_high_v_predictor_16x16_sse2, | 229 &vp9_highbd_v_predictor_8x8_c, 8, 10), |
| 224 &vp9_high_v_predictor_16x16_c, 16, 10), | 230 make_tuple(&vp9_highbd_v_predictor_16x16_sse2, |
| 225 make_tuple(&vp9_high_v_predictor_32x32_sse2, | 231 &vp9_highbd_v_predictor_16x16_c, 16, 10), |
| 226 &vp9_high_v_predictor_32x32_c, 32, 10), | 232 make_tuple(&vp9_highbd_v_predictor_32x32_sse2, |
| 227 make_tuple(&vp9_high_tm_predictor_4x4_sse, | 233 &vp9_highbd_v_predictor_32x32_c, 32, 10), |
| 228 &vp9_high_tm_predictor_4x4_c, 4, 10), | 234 make_tuple(&vp9_highbd_tm_predictor_4x4_sse, |
| 229 make_tuple(&vp9_high_tm_predictor_8x8_sse2, | 235 &vp9_highbd_tm_predictor_4x4_c, 4, 10), |
| 230 &vp9_high_tm_predictor_8x8_c, 8, 10))); | 236 make_tuple(&vp9_highbd_tm_predictor_8x8_sse2, |
| 237 &vp9_highbd_tm_predictor_8x8_c, 8, 10))); |
| 231 #endif | 238 #endif |
| 232 | 239 |
| 233 #if ARCH_X86_64 | 240 #if ARCH_X86_64 |
| 234 INSTANTIATE_TEST_CASE_P(SSE2_TO_C_12, VP9IntraPredTest, | 241 INSTANTIATE_TEST_CASE_P(SSE2_TO_C_12, VP9IntraPredTest, |
| 235 ::testing::Values( | 242 ::testing::Values( |
| 236 make_tuple(&vp9_high_dc_predictor_32x32_sse2, | 243 make_tuple(&vp9_highbd_dc_predictor_32x32_sse2, |
| 237 &vp9_high_dc_predictor_32x32_c, 32, 12), | 244 &vp9_highbd_dc_predictor_32x32_c, 32, |
| 238 make_tuple(&vp9_high_tm_predictor_16x16_sse2, | 245 12), |
| 239 &vp9_high_tm_predictor_16x16_c, 16, 12), | 246 make_tuple(&vp9_highbd_tm_predictor_16x16_sse2, |
| 240 make_tuple(&vp9_high_tm_predictor_32x32_sse2, | 247 &vp9_highbd_tm_predictor_16x16_c, 16, |
| 241 &vp9_high_tm_predictor_32x32_c, 32, 12), | 248 12), |
| 242 make_tuple(&vp9_high_dc_predictor_4x4_sse, | 249 make_tuple(&vp9_highbd_tm_predictor_32x32_sse2, |
| 243 &vp9_high_dc_predictor_4x4_c, 4, 12), | 250 &vp9_highbd_tm_predictor_32x32_c, 32, |
| 244 make_tuple(&vp9_high_dc_predictor_8x8_sse2, | 251 12), |
| 245 &vp9_high_dc_predictor_8x8_c, 8, 12), | 252 make_tuple(&vp9_highbd_dc_predictor_4x4_sse, |
| 246 make_tuple(&vp9_high_dc_predictor_16x16_sse2, | 253 &vp9_highbd_dc_predictor_4x4_c, 4, 12), |
| 247 &vp9_high_dc_predictor_16x16_c, 16, 12), | 254 make_tuple(&vp9_highbd_dc_predictor_8x8_sse2, |
| 248 make_tuple(&vp9_high_v_predictor_4x4_sse, | 255 &vp9_highbd_dc_predictor_8x8_c, 8, 12), |
| 249 &vp9_high_v_predictor_4x4_c, 4, 12), | 256 make_tuple(&vp9_highbd_dc_predictor_16x16_sse2, |
| 250 make_tuple(&vp9_high_v_predictor_8x8_sse2, | 257 &vp9_highbd_dc_predictor_16x16_c, 16, |
| 251 &vp9_high_v_predictor_8x8_c, 8, 12), | 258 12), |
| 252 make_tuple(&vp9_high_v_predictor_16x16_sse2, | 259 make_tuple(&vp9_highbd_v_predictor_4x4_sse, |
| 253 &vp9_high_v_predictor_16x16_c, 16, 12), | 260 &vp9_highbd_v_predictor_4x4_c, 4, 12), |
| 254 make_tuple(&vp9_high_v_predictor_32x32_sse2, | 261 make_tuple(&vp9_highbd_v_predictor_8x8_sse2, |
| 255 &vp9_high_v_predictor_32x32_c, 32, 12), | 262 &vp9_highbd_v_predictor_8x8_c, 8, 12), |
| 256 make_tuple(&vp9_high_tm_predictor_4x4_sse, | 263 make_tuple(&vp9_highbd_v_predictor_16x16_sse2, |
| 257 &vp9_high_tm_predictor_4x4_c, 4, 12), | 264 &vp9_highbd_v_predictor_16x16_c, 16, |
| 258 make_tuple(&vp9_high_tm_predictor_8x8_sse2, | 265 12), |
| 259 &vp9_high_tm_predictor_8x8_c, 8, 12))); | 266 make_tuple(&vp9_highbd_v_predictor_32x32_sse2, |
| 267 &vp9_highbd_v_predictor_32x32_c, 32, |
| 268 12), |
| 269 make_tuple(&vp9_highbd_tm_predictor_4x4_sse, |
| 270 &vp9_highbd_tm_predictor_4x4_c, 4, 12), |
| 271 make_tuple(&vp9_highbd_tm_predictor_8x8_sse2, |
| 272 &vp9_highbd_tm_predictor_8x8_c, 8, 12))); |
| 260 #else | 273 #else |
| 261 INSTANTIATE_TEST_CASE_P(SSE2_TO_C_12, VP9IntraPredTest, | 274 INSTANTIATE_TEST_CASE_P(SSE2_TO_C_12, VP9IntraPredTest, |
| 262 ::testing::Values( | 275 ::testing::Values( |
| 263 make_tuple(&vp9_high_dc_predictor_4x4_sse, | 276 make_tuple(&vp9_highbd_dc_predictor_4x4_sse, |
| 264 &vp9_high_dc_predictor_4x4_c, 4, 12), | 277 &vp9_highbd_dc_predictor_4x4_c, 4, 12), |
| 265 make_tuple(&vp9_high_dc_predictor_8x8_sse2, | 278 make_tuple(&vp9_highbd_dc_predictor_8x8_sse2, |
| 266 &vp9_high_dc_predictor_8x8_c, 8, 12), | 279 &vp9_highbd_dc_predictor_8x8_c, 8, 12), |
| 267 make_tuple(&vp9_high_dc_predictor_16x16_sse2, | 280 make_tuple(&vp9_highbd_dc_predictor_16x16_sse2, |
| 268 &vp9_high_dc_predictor_16x16_c, 16, 12), | 281 &vp9_highbd_dc_predictor_16x16_c, 16, |
| 269 make_tuple(&vp9_high_v_predictor_4x4_sse, | 282 12), |
| 270 &vp9_high_v_predictor_4x4_c, 4, 12), | 283 make_tuple(&vp9_highbd_v_predictor_4x4_sse, |
| 271 make_tuple(&vp9_high_v_predictor_8x8_sse2, | 284 &vp9_highbd_v_predictor_4x4_c, 4, 12), |
| 272 &vp9_high_v_predictor_8x8_c, 8, 12), | 285 make_tuple(&vp9_highbd_v_predictor_8x8_sse2, |
| 273 make_tuple(&vp9_high_v_predictor_16x16_sse2, | 286 &vp9_highbd_v_predictor_8x8_c, 8, 12), |
| 274 &vp9_high_v_predictor_16x16_c, 16, 12), | 287 make_tuple(&vp9_highbd_v_predictor_16x16_sse2, |
| 275 make_tuple(&vp9_high_v_predictor_32x32_sse2, | 288 &vp9_highbd_v_predictor_16x16_c, 16, 12), |
| 276 &vp9_high_v_predictor_32x32_c, 32, 12), | 289 make_tuple(&vp9_highbd_v_predictor_32x32_sse2, |
| 277 make_tuple(&vp9_high_tm_predictor_4x4_sse, | 290 &vp9_highbd_v_predictor_32x32_c, 32, 12), |
| 278 &vp9_high_tm_predictor_4x4_c, 4, 12), | 291 make_tuple(&vp9_highbd_tm_predictor_4x4_sse, |
| 279 make_tuple(&vp9_high_tm_predictor_8x8_sse2, | 292 &vp9_highbd_tm_predictor_4x4_c, 4, 12), |
| 280 &vp9_high_tm_predictor_8x8_c, 8, 12))); | 293 make_tuple(&vp9_highbd_tm_predictor_8x8_sse2, |
| 294 &vp9_highbd_tm_predictor_8x8_c, 8, 12))); |
| 281 #endif | 295 #endif |
| 282 #endif // CONFIG_VP9_HIGHBITDEPTH | 296 #endif // CONFIG_VP9_HIGHBITDEPTH |
| 283 #endif // HAVE_SSE2 | 297 #endif // HAVE_SSE2 |
| 284 } // namespace | 298 } // namespace |
| OLD | NEW |