#include <stdio.h>
#include <string>
#include "api/scoped_refptr.h"
#include "api/video/i420_buffer.h"
#include "common_video/libyuv/include/webrtc_libyuv.h"
#include "rtc_base/logging.h"
#include "test/frame_utils.h"
#include "test/testsupport/file_utils.h"
#include "test/testsupport/frame_reader.h"
namespace webrtc {
namespace test {
namespace {
RepeatMode;
int WrapFrameNum(int frame_num, int num_frames, RepeatMode mode) { … }
rtc::scoped_refptr<I420Buffer> Scale(rtc::scoped_refptr<I420Buffer> buffer,
Resolution resolution) { … }
}
int YuvFrameReaderImpl::RateScaler::Skip(Ratio framerate_scale) { … }
YuvFrameReaderImpl::YuvFrameReaderImpl(std::string filepath,
Resolution resolution,
RepeatMode repeat_mode)
: … { … }
YuvFrameReaderImpl::~YuvFrameReaderImpl() { … }
void YuvFrameReaderImpl::Init() { … }
rtc::scoped_refptr<I420Buffer> YuvFrameReaderImpl::PullFrame() { … }
rtc::scoped_refptr<I420Buffer> YuvFrameReaderImpl::PullFrame(int* frame_num) { … }
rtc::scoped_refptr<I420Buffer> YuvFrameReaderImpl::PullFrame(
int* frame_num,
Resolution resolution,
Ratio framerate_scale) { … }
rtc::scoped_refptr<I420Buffer> YuvFrameReaderImpl::ReadFrame(int frame_num) { … }
rtc::scoped_refptr<I420Buffer> YuvFrameReaderImpl::ReadFrame(
int frame_num,
Resolution resolution) { … }
std::unique_ptr<FrameReader> CreateYuvFrameReader(std::string filepath,
Resolution resolution) { … }
std::unique_ptr<FrameReader> CreateYuvFrameReader(
std::string filepath,
Resolution resolution,
YuvFrameReaderImpl::RepeatMode repeat_mode) { … }
}
}