- add sources.
[platform/framework/web/crosswalk.git] / src / remoting / codec / codec_test.h
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef REMOTING_CODEC_CODEC_TEST_H_
6 #define REMOTING_CODEC_CODEC_TEST_H_
7
8 #include "base/memory/ref_counted.h"
9
10 namespace webrtc {
11 class DesktopSize;
12 }
13
14 namespace remoting {
15
16 class VideoDecoder;
17 class VideoEncoder;
18
19 // Generate test data and test the encoder for a regular encoding sequence.
20 // This will test encoder test and the sequence of messages sent.
21 //
22 // If |strict| is set to true then this routine will make sure the updated
23 // rects match dirty rects.
24 void TestVideoEncoder(VideoEncoder* encoder, bool strict);
25
26 // Generate test data and test the encoder and decoder pair.
27 //
28 // If |strict| is set to true, this routine will make sure the updated rects
29 // are correct.
30 void TestVideoEncoderDecoder(VideoEncoder* encoder,
31                              VideoDecoder* decoder,
32                              bool strict);
33
34 // Generate a frame containing a gradient, and test the encoder and decoder
35 // pair.
36 void TestVideoEncoderDecoderGradient(VideoEncoder* encoder,
37                                      VideoDecoder* decoder,
38                                      const webrtc::DesktopSize& screen_size,
39                                      const webrtc::DesktopSize& view_size,
40                                      double max_error_limit,
41                                      double mean_error_limit);
42
43 }  // namespace remoting
44
45 #endif  // REMOTING_CODEC_CODEC_TEST_H_