/* * Copyright (c) 2016, Alliance for Open Media. All rights reserved. * * This source code is subject to the terms of the BSD 2 Clause License and * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License * was not distributed with this source code in the LICENSE file, you can * obtain it at www.aomedia.org/license/software. If the Alliance for Open * Media Patent License 1.0 was not distributed with this source code in the * PATENTS file, you can obtain it at www.aomedia.org/license/patent. */ #ifndef AOM_TEST_VIDEO_SOURCE_H_ #define AOM_TEST_VIDEO_SOURCE_H_ #if defined(_WIN32) #undef NOMINMAX #define NOMINMAX #undef WIN32_LEAN_AND_MEAN #define WIN32_LEAN_AND_MEAN #include <windows.h> #endif #include <cstdio> #include <cstdlib> #include <cstring> #include <memory> #include <string> #include "aom/aom_encoder.h" #include "test/acm_random.h" #if !defined(_WIN32) #include "gtest/gtest.h" #endif namespace libaom_test { // Helper macros to ensure LIBAOM_TEST_DATA_PATH is a quoted string. // These are undefined right below GetDataPath // NOTE: LIBAOM_TEST_DATA_PATH MUST NOT be a quoted string before // Stringification or the GetDataPath will fail at runtime #define TO_STRING … #define STRINGIFY … // A simple function to encapsulate cross platform retrieval of test data path static std::string GetDataPath() { … } // Undefining stringification macros because they are not used elsewhere #undef TO_STRING #undef STRINGIFY inline FILE *OpenTestDataFile(const std::string &file_name) { … } static FILE *GetTempOutFile(std::string *file_name) { … } class TempOutFile { … }; // Abstract base class for test video sources, which provide a stream of // aom_image_t images with associated timestamps and duration. class VideoSource { … }; class DummyVideoSource : public VideoSource { … }; class RandomVideoSource : public DummyVideoSource { … }; // Abstract base class for test video sources, which provide a stream of // decompressed images to the decoder. class CompressedVideoSource { … }; } // namespace libaom_test #endif // AOM_TEST_VIDEO_SOURCE_H_