Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(604)

Side by Side Diff: source/libvpx/test/sixtap_predict_test.cc

Issue 11974002: libvpx: Pull from upstream (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/third_party/libvpx/
Patch Set: Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « source/libvpx/test/sad_test.cc ('k') | source/libvpx/test/subtract_test.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2012 The WebM project authors. All Rights Reserved. 2 * Copyright (c) 2012 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
11 #include <math.h> 11 #include <math.h>
12 #include <stdlib.h> 12 #include <stdlib.h>
13 #include <string.h> 13 #include <string.h>
14 #include "test/acm_random.h" 14 #include "test/acm_random.h"
15 #include "test/register_state_check.h"
15 #include "test/util.h" 16 #include "test/util.h"
16 #include "third_party/googletest/src/include/gtest/gtest.h" 17 #include "third_party/googletest/src/include/gtest/gtest.h"
17 extern "C" { 18 extern "C" {
18 #include "./vpx_config.h" 19 #include "./vpx_config.h"
19 #include "./vp8_rtcd.h" 20 #include "./vp8_rtcd.h"
20 #include "vpx/vpx_integer.h" 21 #include "vpx/vpx_integer.h"
21 #include "vpx_mem/vpx_mem.h" 22 #include "vpx_mem/vpx_mem.h"
22 } 23 }
23 24
24 namespace { 25 namespace {
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
129 161, 81, 106, 72, 135, 222, 234, 137, 66, 137, 106, 243, 210, 147, 95, 130 161, 81, 106, 72, 135, 222, 234, 137, 66, 137, 106, 243, 210, 147, 95,
130 15, 137, 110, 85, 66, 16, 96, 167, 147, 150, 173, 203, 140, 118, 196, 131 15, 137, 110, 85, 66, 16, 96, 167, 147, 150, 173, 203, 140, 118, 196,
131 84, 147, 160, 19, 95, 101, 123, 74, 132, 202, 82, 166, 12, 131, 166, 132 84, 147, 160, 19, 95, 101, 123, 74, 132, 202, 82, 166, 12, 131, 166,
132 189, 170, 159, 85, 79, 66, 57, 152, 132, 203, 194, 0, 1, 56, 146, 180, 133 189, 170, 159, 85, 79, 66, 57, 152, 132, 203, 194, 0, 1, 56, 146, 180,
133 224, 156, 28, 83, 181, 79, 76, 80, 46, 160, 175, 59, 106, 43, 87, 75, 134 224, 156, 28, 83, 181, 79, 76, 80, 46, 160, 175, 59, 106, 43, 87, 75,
134 136, 85, 189, 46, 71, 200, 90 135 136, 85, 189, 46, 71, 200, 90
135 }; 136 };
136 137
137 uint8_t *src = const_cast<uint8_t*>(test_data); 138 uint8_t *src = const_cast<uint8_t*>(test_data);
138 139
139 sixtap_predict_(&src[kSrcStride * 2 + 2 + 1], kSrcStride, 140 REGISTER_STATE_CHECK(sixtap_predict_(&src[kSrcStride * 2 + 2 + 1], kSrcStride,
140 2, 2, dst_, kDstStride); 141 2, 2, dst_, kDstStride));
141 142
142 for (int i = 0; i < height_; ++i) 143 for (int i = 0; i < height_; ++i)
143 for (int j = 0; j < width_; ++j) 144 for (int j = 0; j < width_; ++j)
144 ASSERT_EQ(expected_dst[i * kDstStride + j], dst_[i * kDstStride + j]) 145 ASSERT_EQ(expected_dst[i * kDstStride + j], dst_[i * kDstStride + j])
145 << "i==" << (i * width_ + j); 146 << "i==" << (i * width_ + j);
146 } 147 }
147 148
148 using libvpx_test::ACMRandom; 149 using libvpx_test::ACMRandom;
149 150
150 TEST_P(SixtapPredictTest, TestWithRandomData) { 151 TEST_P(SixtapPredictTest, TestWithRandomData) {
151 ACMRandom rnd(ACMRandom::DeterministicSeed()); 152 ACMRandom rnd(ACMRandom::DeterministicSeed());
152 for (int i = 0; i < kSrcSize; ++i) 153 for (int i = 0; i < kSrcSize; ++i)
153 src_[i] = rnd.Rand8(); 154 src_[i] = rnd.Rand8();
154 155
155 // Run tests for all possible offsets. 156 // Run tests for all possible offsets.
156 for (int xoffset = 0; xoffset < 8; ++xoffset) { 157 for (int xoffset = 0; xoffset < 8; ++xoffset) {
157 for (int yoffset = 0; yoffset < 8; ++yoffset) { 158 for (int yoffset = 0; yoffset < 8; ++yoffset) {
158 // Call c reference function. 159 // Call c reference function.
159 // Move start point to next pixel to test if the function reads 160 // Move start point to next pixel to test if the function reads
160 // unaligned data correctly. 161 // unaligned data correctly.
161 vp8_sixtap_predict16x16_c(&src_[kSrcStride * 2 + 2 + 1], kSrcStride, 162 vp8_sixtap_predict16x16_c(&src_[kSrcStride * 2 + 2 + 1], kSrcStride,
162 xoffset, yoffset, dst_c_, kDstStride); 163 xoffset, yoffset, dst_c_, kDstStride);
163 164
164 // Run test. 165 // Run test.
165 sixtap_predict_(&src_[kSrcStride * 2 + 2 + 1], kSrcStride, 166 REGISTER_STATE_CHECK(
166 xoffset, yoffset, dst_, kDstStride); 167 sixtap_predict_(&src_[kSrcStride * 2 + 2 + 1], kSrcStride,
168 xoffset, yoffset, dst_, kDstStride));
167 169
168 for (int i = 0; i < height_; ++i) 170 for (int i = 0; i < height_; ++i)
169 for (int j = 0; j < width_; ++j) 171 for (int j = 0; j < width_; ++j)
170 ASSERT_EQ(dst_c_[i * kDstStride + j], dst_[i * kDstStride + j]) 172 ASSERT_EQ(dst_c_[i * kDstStride + j], dst_[i * kDstStride + j])
171 << "i==" << (i * width_ + j); 173 << "i==" << (i * width_ + j);
172 } 174 }
173 } 175 }
174 } 176 }
175 177
176 using std::tr1::make_tuple; 178 using std::tr1::make_tuple;
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
213 const sixtap_predict_fn_t sixtap_8x4_ssse3 = vp8_sixtap_predict8x4_ssse3; 215 const sixtap_predict_fn_t sixtap_8x4_ssse3 = vp8_sixtap_predict8x4_ssse3;
214 const sixtap_predict_fn_t sixtap_4x4_ssse3 = vp8_sixtap_predict4x4_ssse3; 216 const sixtap_predict_fn_t sixtap_4x4_ssse3 = vp8_sixtap_predict4x4_ssse3;
215 INSTANTIATE_TEST_CASE_P( 217 INSTANTIATE_TEST_CASE_P(
216 SSSE3, SixtapPredictTest, ::testing::Values( 218 SSSE3, SixtapPredictTest, ::testing::Values(
217 make_tuple(16, 16, sixtap_16x16_ssse3), 219 make_tuple(16, 16, sixtap_16x16_ssse3),
218 make_tuple(8, 8, sixtap_8x8_ssse3), 220 make_tuple(8, 8, sixtap_8x8_ssse3),
219 make_tuple(8, 4, sixtap_8x4_ssse3), 221 make_tuple(8, 4, sixtap_8x4_ssse3),
220 make_tuple(4, 4, sixtap_4x4_ssse3))); 222 make_tuple(4, 4, sixtap_4x4_ssse3)));
221 #endif 223 #endif
222 } // namespace 224 } // namespace
OLDNEW
« no previous file with comments | « source/libvpx/test/sad_test.cc ('k') | source/libvpx/test/subtract_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698