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

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

Issue 478033002: libvpx: Pull from upstream (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/third_party/libvpx/
Patch Set: Created 6 years, 4 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/decode_perf_test.cc ('k') | source/libvpx/test/decode_to_md5.sh » ('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 #include "test/codec_factory.h" 10 #include "test/codec_factory.h"
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 * data passed to it isn't a valid Vp9 chunk. */ 60 * data passed to it isn't a valid Vp9 chunk. */
61 ASSERT_EQ(VPX_CODEC_OK, res_peek) << "Peek return failed: " 61 ASSERT_EQ(VPX_CODEC_OK, res_peek) << "Peek return failed: "
62 << vpx_codec_err_to_string(res_peek); 62 << vpx_codec_err_to_string(res_peek);
63 } 63 }
64 } 64 }
65 65
66 void DecoderTest::RunLoop(CompressedVideoSource *video, 66 void DecoderTest::RunLoop(CompressedVideoSource *video,
67 const vpx_codec_dec_cfg_t &dec_cfg) { 67 const vpx_codec_dec_cfg_t &dec_cfg) {
68 Decoder* const decoder = codec_->CreateDecoder(dec_cfg, 0); 68 Decoder* const decoder = codec_->CreateDecoder(dec_cfg, 0);
69 ASSERT_TRUE(decoder != NULL); 69 ASSERT_TRUE(decoder != NULL);
70 bool end_of_file = false;
70 71
71 // Decode frames. 72 // Decode frames.
72 for (video->Begin(); !::testing::Test::HasFailure() && video->cxdata(); 73 for (video->Begin(); !::testing::Test::HasFailure() && !end_of_file;
73 video->Next()) { 74 video->Next()) {
74 PreDecodeFrameHook(*video, decoder); 75 PreDecodeFrameHook(*video, decoder);
75 76
76 vpx_codec_stream_info_t stream_info; 77 vpx_codec_stream_info_t stream_info;
77 stream_info.sz = sizeof(stream_info); 78 stream_info.sz = sizeof(stream_info);
78 const vpx_codec_err_t res_peek = decoder->PeekStream(video->cxdata(),
79 video->frame_size(),
80 &stream_info);
81 HandlePeekResult(decoder, video, res_peek);
82 ASSERT_FALSE(::testing::Test::HasFailure());
83 79
84 vpx_codec_err_t res_dec = decoder->DecodeFrame(video->cxdata(), 80 if (video->cxdata() != NULL) {
85 video->frame_size()); 81 const vpx_codec_err_t res_peek = decoder->PeekStream(video->cxdata(),
86 if (!HandleDecodeResult(res_dec, *video, decoder)) 82 video->frame_size(),
87 break; 83 &stream_info);
84 HandlePeekResult(decoder, video, res_peek);
85 ASSERT_FALSE(::testing::Test::HasFailure());
86
87 vpx_codec_err_t res_dec = decoder->DecodeFrame(video->cxdata(),
88 video->frame_size());
89 if (!HandleDecodeResult(res_dec, *video, decoder))
90 break;
91 } else {
92 // Signal end of the file to the decoder.
93 const vpx_codec_err_t res_dec = decoder->DecodeFrame(NULL, 0);
94 ASSERT_EQ(VPX_CODEC_OK, res_dec) << decoder->DecodeError();
95 end_of_file = true;
96 }
88 97
89 DxDataIterator dec_iter = decoder->GetDxData(); 98 DxDataIterator dec_iter = decoder->GetDxData();
90 const vpx_image_t *img = NULL; 99 const vpx_image_t *img = NULL;
91 100
92 // Get decompressed data 101 // Get decompressed data
93 while ((img = dec_iter.Next())) 102 while ((img = dec_iter.Next()))
94 DecompressedFrameHook(*img, video->frame_number()); 103 DecompressedFrameHook(*img, video->frame_number());
95 } 104 }
96 delete decoder; 105 delete decoder;
97 } 106 }
98 107
99 void DecoderTest::RunLoop(CompressedVideoSource *video) { 108 void DecoderTest::RunLoop(CompressedVideoSource *video) {
100 vpx_codec_dec_cfg_t dec_cfg = {0}; 109 vpx_codec_dec_cfg_t dec_cfg = {0};
101 RunLoop(video, dec_cfg); 110 RunLoop(video, dec_cfg);
102 } 111 }
103 112
104 } // namespace libvpx_test 113 } // namespace libvpx_test
OLDNEW
« no previous file with comments | « source/libvpx/test/decode_perf_test.cc ('k') | source/libvpx/test/decode_to_md5.sh » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698