diff --git a/src/modules/video_coding/main/test/resampler_test.cc b/src/modules/video_coding/main/test/resampler_test.cc deleted file mode 100644 index adcee17237..0000000000 --- a/src/modules/video_coding/main/test/resampler_test.cc +++ /dev/null @@ -1,241 +0,0 @@ -/* - * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved. - * - * Use of this source code is governed by a BSD-style license - * that can be found in the LICENSE file in the root of the source - * tree. An additional intellectual property rights grant can be found - * in the file PATENTS. All contributing project authors may - * be found in the AUTHORS file in the root of the source tree. - */ - -#include "ResamplerTest.h" -#include "video_coding.h" -#include "tick_time.h" -#include "../source/event.h" -#include "VCMSpatialResampler.h" - -#include -#include - -using namespace webrtc; - -int ResamplerTest() -{ - VideoCodingModule* vcm = VideoCodingModule::Create(1); - class ResamplerTest test(vcm); - int ret = test.Perform(); - VideoCodingModule::Destroy(vcm); - - return ret; -} - -ResamplerTest::ResamplerTest(VideoCodingModule* vcm): -_width(0), -_height(0), -_timeStamp(0), -_lengthSourceFrame(0), -_vcmMacrosTests(0), -_vcmMacrosErrors(0), -_vcm(vcm) -{ - // -} -ResamplerTest::~ResamplerTest() -{ - // -} -void -ResamplerTest::Setup() -{ - _inname= "../../../../../codecs_video/testFiles/foreman.yuv"; - _width = 352; - _height = 288; - _frameRate = 30; - _lengthSourceFrame = 3*_width*_height/2; - _encodedName = "../ResamplerTest_encoded.yuv"; - - if ((_sourceFile = fopen(_inname.c_str(), "rb")) == NULL) - { - printf("Cannot read file %s.\n", _inname.c_str()); - exit(1); - } - - if ((_encodedFile = fopen(_encodedName.c_str(), "wb")) == NULL) - { - printf("Cannot write encoded file.\n"); - exit(1); - } - - return; -} - -WebRtc_Word32 ResamplerTest::Perform() -{ - // Make sure this test isn't executed without simulated clocks -#if !defined(TICK_TIME_DEBUG) || !defined(EVENT_DEBUG) - return -1; -#endif - - // Setup test - Setup(); - - ResamplerStandAloneTest(); - - ResamplerVCMTest(); - - TearDown(); - return 0; -} - -void -ResamplerTest::ResamplerVCMTest() -{ - // Create the input frame and read a frame from file - VideoFrame sourceFrame; - sourceFrame.VerifyAndAllocate(_lengthSourceFrame); - fread(sourceFrame.Buffer(), 1, _lengthSourceFrame, _sourceFile); - sourceFrame.SetLength(_lengthSourceFrame); - sourceFrame.SetHeight(_height); - sourceFrame.SetWidth(_width); - - TEST_EXIT_ON_FAIL(_vcm->InitializeReceiver() == VCM_OK); - TEST_EXIT_ON_FAIL(_vcm->InitializeSender() == VCM_OK); - - TEST_EXIT_ON_FAIL(_vcm->EnableInputFrameInterpolation(true) == VCM_OK); - - TestSizeVCM(sourceFrame, 128, 80); // Cut, decimation 1x, interpolate - TestSizeVCM(sourceFrame, 352/2, 288/2); // Even decimation - TestSizeVCM(sourceFrame, 352, 288); // No resampling - TestSizeVCM(sourceFrame, 2*352, 2*288); // Upsampling 2x - TestSizeVCM(sourceFrame, 400, 256); // Upsampling 1.5x and cut - TestSizeVCM(sourceFrame, 960, 720); // Upsampling 3.5x and cut - - TEST_EXIT_ON_FAIL(_vcm->EnableInputFrameInterpolation(false) == VCM_OK); - - TestSizeVCM(sourceFrame, 320, 240); // Cropped - TestSizeVCM(sourceFrame, 1280, 720); // Padded -} - -void -ResamplerTest::TestSizeVCM(VideoFrame& sourceFrame, WebRtc_UWord32 targetWidth, WebRtc_UWord32 targetHeight) -{ - assert(false); - /* - std::ostringstream filename; - filename << "../VCM_Resampler_" << targetWidth << "x" << targetHeight << "_30Hz_P420.yuv"; - std::cout << "Watch " << filename.str() << " and verify that it is okay." << std::endl; - FILE* decodedFile = fopen(filename.str().c_str(), "wb"); - - _timeStamp += (WebRtc_UWord32)(9e4 / _frameRate); - sourceFrame.SetTimeStamp(_timeStamp); - - VCMDecodeCompleteCallback decodeCallback(decodedFile); - VCMEncodeCompleteCallback encodeCompleteCallback(_encodedFile); - TEST_EXIT_ON_FAIL(_vcm->RegisterReceiveCallback(&decodeCallback) == VCM_OK); - TEST_EXIT_ON_FAIL(_vcm->RegisterTransportCallback(&encodeCompleteCallback) == VCM_OK); - encodeCompleteCallback.RegisterReceiverVCM(_vcm); - encodeCompleteCallback.SetCodecType(webrtc::VideoCodecVP8); - - RegisterCodec(targetWidth, targetHeight); - encodeCompleteCallback.SetFrameDimensions(targetWidth, targetHeight); - TEST(_vcm->AddVideoFrame(sourceFrame) == VCM_OK); - TEST(_vcm->Decode() == VCM_OK); - - fclose(decodedFile); - */ -} - -void -ResamplerTest::RegisterCodec(WebRtc_UWord32 width, WebRtc_UWord32 height) -{ - // Register codecs - assert(false); - /* - VideoCodec codec; - VideoCodingModule::Codec(webrtc::kVideoCodecVP8, &codec); - codec.width = static_cast(width); - codec.height = static_cast(height); - TEST(_vcm->RegisterSendCodec(&codec, 1, 1440) == VCM_OK); - TEST(_vcm->RegisterReceiveCodec(&codec, 1) == VCM_OK); - TEST(_vcm->SetChannelParameters(2000, 0, 0) == VCM_OK); - */ -} - -WebRtc_Word32 -ResamplerTest::ResamplerStandAloneTest() -{ - // Create the input frame and read a frame from file - VideoFrame sourceFrame; - sourceFrame.VerifyAndAllocate(_lengthSourceFrame); - fread(sourceFrame.Buffer(), 1, _lengthSourceFrame, _sourceFile); - sourceFrame.SetLength(_lengthSourceFrame); - sourceFrame.SetHeight(_height); - sourceFrame.SetWidth(_width); - - TestSize(sourceFrame, 100, 50); // Cut, decimation 1x, interpolate - TestSize(sourceFrame, 352/2, 288/2); // Even decimation - TestSize(sourceFrame, 352, 288); // No resampling - TestSize(sourceFrame, 2*352, 2*288); // Even upsampling - TestSize(sourceFrame, 400, 256); // Upsampling 1.5x and cut - TestSize(sourceFrame, 960, 720); // Upsampling 3.5x and cut - TestSize(sourceFrame, 1280, 720); // Upsampling 4x and cut - - sourceFrame.Free(); - return 0; -} - -void -ResamplerTest::TestSize(VideoFrame& sourceFrame, WebRtc_UWord32 targetWidth, WebRtc_UWord32 targetHeight) -{ - VCMSimpleSpatialResampler resampler; - VideoFrame outFrame; - std::ostringstream filename; - filename << "../Resampler_" << targetWidth << "x" << targetHeight << "_30Hz_P420.yuv"; - std::cout << "Watch " << filename.str() << " and verify that it is okay." << std::endl; - FILE* standAloneFile = fopen(filename.str().c_str(), "wb"); - //resampler.EnableUpSampling(true); - resampler.EnableInterpolation(true); - TEST(resampler.SetTargetFrameSize(targetWidth, targetHeight) == VCM_OK); - TEST(resampler.ResampleFrame(sourceFrame, outFrame) == VCM_OK); - TEST(outFrame.Buffer() != NULL); - TEST(outFrame.Length() == (targetWidth * targetHeight * 3 / 2)); - - // Write to file for visual inspection - fwrite(outFrame.Buffer(), 1, outFrame.Length(), standAloneFile); - - outFrame.Free(); - fclose(standAloneFile); -} - -void -ResamplerTest::Print() -{ - printf("\nVCM Resampler Test: \n\n%i tests completed\n", _vcmMacrosTests); - if (_vcmMacrosErrors > 0) - { - printf("%i FAILED\n\n", _vcmMacrosErrors); - } - else - { - printf("ALL PASSED\n\n"); - } -} - -void -ResamplerTest::TearDown() -{ - fclose(_sourceFile); - fclose(_encodedFile); - return; -} - -void -ResamplerTest::IncrementDebugClock(float frameRate) -{ - for (int t= 0; t < 1000/frameRate; t++) - { - VCMTickTime::IncrementDebugClock(); - } - return; -} -