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_ 46