Home | History | Annotate | Download | only in codec
      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