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

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

Issue 232133009: libvpx: Pull from upstream (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/third_party/libvpx/
Patch Set: Created 6 years, 8 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/error_resilience_test.cc ('k') | source/libvpx/test/intrapred_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) 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 192 matching lines...) Expand 10 before | Expand all | Expand 10 after
203 } 203 }
204 204
205 virtual void PreDecodeFrameHook( 205 virtual void PreDecodeFrameHook(
206 const libvpx_test::CompressedVideoSource &video, 206 const libvpx_test::CompressedVideoSource &video,
207 libvpx_test::Decoder *decoder) { 207 libvpx_test::Decoder *decoder) {
208 if (num_buffers_ > 0 && video.frame_number() == 0) { 208 if (num_buffers_ > 0 && video.frame_number() == 0) {
209 // Have libvpx use frame buffers we create. 209 // Have libvpx use frame buffers we create.
210 ASSERT_TRUE(fb_list_.CreateBufferList(num_buffers_)); 210 ASSERT_TRUE(fb_list_.CreateBufferList(num_buffers_));
211 ASSERT_EQ(VPX_CODEC_OK, 211 ASSERT_EQ(VPX_CODEC_OK,
212 decoder->SetFrameBufferFunctions( 212 decoder->SetFrameBufferFunctions(
213 GetVp9FrameBuffer, ReleaseVP9FrameBuffer, this)); 213 GetVP9FrameBuffer, ReleaseVP9FrameBuffer, this));
214 } 214 }
215 } 215 }
216 216
217 void OpenMD5File(const std::string &md5_file_name_) { 217 void OpenMD5File(const std::string &md5_file_name_) {
218 md5_file_ = libvpx_test::OpenTestDataFile(md5_file_name_); 218 md5_file_ = libvpx_test::OpenTestDataFile(md5_file_name_);
219 ASSERT_TRUE(md5_file_ != NULL) << "Md5 file open failed. Filename: " 219 ASSERT_TRUE(md5_file_ != NULL) << "Md5 file open failed. Filename: "
220 << md5_file_name_; 220 << md5_file_name_;
221 } 221 }
222 222
223 virtual void DecompressedFrameHook(const vpx_image_t &img, 223 virtual void DecompressedFrameHook(const vpx_image_t &img,
(...skipping 11 matching lines...) Expand all
235 md5_res.Add(&img); 235 md5_res.Add(&img);
236 const char *const actual_md5 = md5_res.Get(); 236 const char *const actual_md5 = md5_res.Get();
237 237
238 // Check md5 match. 238 // Check md5 match.
239 ASSERT_STREQ(expected_md5, actual_md5) 239 ASSERT_STREQ(expected_md5, actual_md5)
240 << "Md5 checksums don't match: frame number = " << frame_number; 240 << "Md5 checksums don't match: frame number = " << frame_number;
241 } 241 }
242 242
243 // Callback to get a free external frame buffer. Return value < 0 is an 243 // Callback to get a free external frame buffer. Return value < 0 is an
244 // error. 244 // error.
245 static int GetVp9FrameBuffer(void *user_priv, size_t min_size, 245 static int GetVP9FrameBuffer(void *user_priv, size_t min_size,
246 vpx_codec_frame_buffer_t *fb) { 246 vpx_codec_frame_buffer_t *fb) {
247 ExternalFrameBufferMD5Test *const md5Test = 247 ExternalFrameBufferMD5Test *const md5Test =
248 reinterpret_cast<ExternalFrameBufferMD5Test*>(user_priv); 248 reinterpret_cast<ExternalFrameBufferMD5Test*>(user_priv);
249 return md5Test->fb_list_.GetFreeFrameBuffer(min_size, fb); 249 return md5Test->fb_list_.GetFreeFrameBuffer(min_size, fb);
250 } 250 }
251 251
252 // Callback to release an external frame buffer. Return value < 0 is an 252 // Callback to release an external frame buffer. Return value < 0 is an
253 // error. 253 // error.
254 static int ReleaseVP9FrameBuffer(void *user_priv, 254 static int ReleaseVP9FrameBuffer(void *user_priv,
255 vpx_codec_frame_buffer_t *fb) { 255 vpx_codec_frame_buffer_t *fb) {
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after
455 455
456 TEST_F(ExternalFrameBufferTest, SetAfterDecode) { 456 TEST_F(ExternalFrameBufferTest, SetAfterDecode) {
457 const int num_buffers = VP9_MAXIMUM_REF_BUFFERS + VPX_MAXIMUM_WORK_BUFFERS; 457 const int num_buffers = VP9_MAXIMUM_REF_BUFFERS + VPX_MAXIMUM_WORK_BUFFERS;
458 ASSERT_EQ(VPX_CODEC_OK, DecodeOneFrame()); 458 ASSERT_EQ(VPX_CODEC_OK, DecodeOneFrame());
459 ASSERT_EQ(VPX_CODEC_ERROR, 459 ASSERT_EQ(VPX_CODEC_ERROR,
460 SetFrameBufferFunctions( 460 SetFrameBufferFunctions(
461 num_buffers, get_vp9_frame_buffer, release_vp9_frame_buffer)); 461 num_buffers, get_vp9_frame_buffer, release_vp9_frame_buffer));
462 } 462 }
463 463
464 VP9_INSTANTIATE_TEST_CASE(ExternalFrameBufferMD5Test, 464 VP9_INSTANTIATE_TEST_CASE(ExternalFrameBufferMD5Test,
465 ::testing::ValuesIn(libvpx_test::kVP9TestVectors)); 465 ::testing::ValuesIn(libvpx_test::kVP9TestVectors,
466 libvpx_test::kVP9TestVectors +
467 libvpx_test::kNumVP9TestVectors));
466 } // namespace 468 } // namespace
OLDNEW
« no previous file with comments | « source/libvpx/test/error_resilience_test.cc ('k') | source/libvpx/test/intrapred_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698