// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef REMOTING_CODEC_CODEC_TEST_H_ #define REMOTING_CODEC_CODEC_TEST_H_ #include "base/memory/ref_counted.h" namespace webrtc { class DesktopSize; } namespace remoting { class VideoDecoder; class VideoEncoder; // Generate test data and test the encoder for a regular encoding sequence. // This will test encoder test and the sequence of messages sent. // // If |strict| is set to true then this routine will make sure the updated // rects match dirty rects. void TestVideoEncoder(VideoEncoder* encoder, bool strict); // Generate test data and test the encoder and decoder pair. // // If |strict| is set to true, this routine will make sure the updated rects // are correct. void TestVideoEncoderDecoder(VideoEncoder* encoder, VideoDecoder* decoder, bool strict); // Generate a frame containing a gradient, and test the encoder and decoder // pair. void TestVideoEncoderDecoderGradient(VideoEncoder* encoder, VideoDecoder* decoder, const webrtc::DesktopSize& screen_size, const webrtc::DesktopSize& view_size, double max_error_limit, double mean_error_limit); } // namespace remoting #endif // REMOTING_CODEC_CODEC_TEST_H_