1 /* 2 * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved. 3 * 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 6 * tree. An additional intellectual property rights grant can be found 7 * in the file PATENTS. All contributing project authors may 8 * be found in the AUTHORS file in the root of the source tree. 9 */ 10 11 #ifndef WEBRTC_MODULES_VIDEO_CODING_TEST_CODEC_DATABASE_TEST_H_ 12 #define WEBRTC_MODULES_VIDEO_CODING_TEST_CODEC_DATABASE_TEST_H_ 13 14 #include "webrtc/modules/video_coding/main/interface/video_coding.h" 15 #include "webrtc/modules/video_coding/main/test/test_util.h" 16 17 #include <string.h> 18 19 /* 20 Test consists of: 21 1. Sanity chacks: Send and Receive side (bad input, etc. ) 22 2. Send-side control (encoder registration etc.) 23 3. Decoder-side control - encode with various encoders, and verify correct decoding 24 */ 25 26 class CodecDataBaseTest 27 { 28 public: 29 CodecDataBaseTest(webrtc::VideoCodingModule* vcm); 30 ~CodecDataBaseTest(); 31 static int RunTest(CmdArgs& args); 32 int32_t Perform(CmdArgs& args); 33 private: 34 void TearDown(); 35 void Setup(CmdArgs& args); 36 void Print(); 37 webrtc::VideoCodingModule* _vcm; 38 std::string _inname; 39 std::string _outname; 40 std::string _encodedName; 41 FILE* _sourceFile; 42 FILE* _decodedFile; 43 FILE* _encodedFile; 44 uint16_t _width; 45 uint16_t _height; 46 uint32_t _lengthSourceFrame; 47 uint32_t _timeStamp; 48 float _frameRate; 49 }; // end of codecDBTest class definition 50 51 #endif // WEBRTC_MODULES_VIDEO_CODING_TEST_CODEC_DATABASE_TEST_H_ 52