
Trying to submit all changes at once proved impossible since there were too many changes in too many files. The changes to PRESUBMIT.py will be uploaded in the last CL. (original CL: https://codereview.webrtc.org/1528503003/) BUG=webrtc:5309 TBR=mflodman@webrtc.org Review URL: https://codereview.webrtc.org/1540243002 Cr-Commit-Position: refs/heads/master@{#11105}
86 lines
2.7 KiB
C++
86 lines
2.7 KiB
C++
/*
|
|
* Copyright (c) 2012 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.
|
|
*/
|
|
|
|
#ifndef WEBRTC_MODULES_VIDEO_CODING_TEST_VIDEO_SOURCE_H_
|
|
#define WEBRTC_MODULES_VIDEO_CODING_TEST_VIDEO_SOURCE_H_
|
|
|
|
#include <string>
|
|
|
|
#include "webrtc/common_video/libyuv/include/webrtc_libyuv.h"
|
|
#include "webrtc/typedefs.h"
|
|
|
|
enum VideoSize {
|
|
kUndefined,
|
|
kSQCIF, // 128*96 = 12 288
|
|
kQQVGA, // 160*120 = 19 200
|
|
kQCIF, // 176*144 = 25 344
|
|
kCGA, // 320*200 = 64 000
|
|
kQVGA, // 320*240 = 76 800
|
|
kSIF, // 352*240 = 84 480
|
|
kWQVGA, // 400*240 = 96 000
|
|
kCIF, // 352*288 = 101 376
|
|
kW288p, // 512*288 = 147 456 (WCIF)
|
|
k448p, // 576*448 = 281 088
|
|
kVGA, // 640*480 = 307 200
|
|
k432p, // 720*432 = 311 040
|
|
kW432p, // 768*432 = 331 776
|
|
k4SIF, // 704*480 = 337 920
|
|
kW448p, // 768*448 = 344 064
|
|
kNTSC, // 720*480 = 345 600
|
|
kFW448p, // 800*448 = 358 400
|
|
kWVGA, // 800*480 = 384 000
|
|
k4CIF, // 704*576 = 405 504
|
|
kSVGA, // 800*600 = 480 000
|
|
kW544p, // 960*544 = 522 240
|
|
kW576p, // 1024*576 = 589 824 (W4CIF)
|
|
kHD, // 960*720 = 691 200
|
|
kXGA, // 1024*768 = 786 432
|
|
kWHD, // 1280*720 = 921 600
|
|
kFullHD, // 1440*1080 = 1 555 200
|
|
kWFullHD, // 1920*1080 = 2 073 600
|
|
|
|
kNumberOfVideoSizes
|
|
};
|
|
|
|
class VideoSource {
|
|
public:
|
|
VideoSource();
|
|
VideoSource(std::string fileName,
|
|
VideoSize size,
|
|
float frameRate,
|
|
webrtc::VideoType type = webrtc::kI420);
|
|
VideoSource(std::string fileName,
|
|
uint16_t width,
|
|
uint16_t height,
|
|
float frameRate = 30,
|
|
webrtc::VideoType type = webrtc::kI420);
|
|
|
|
std::string GetFileName() const { return _fileName; }
|
|
uint16_t GetWidth() const { return _width; }
|
|
uint16_t GetHeight() const { return _height; }
|
|
webrtc::VideoType GetType() const { return _type; }
|
|
float GetFrameRate() const { return _frameRate; }
|
|
int GetWidthHeight(VideoSize size);
|
|
|
|
// Returns the filename with the path (including the leading slash) removed.
|
|
std::string GetName() const;
|
|
|
|
size_t GetFrameLength() const;
|
|
|
|
private:
|
|
std::string _fileName;
|
|
uint16_t _width;
|
|
uint16_t _height;
|
|
webrtc::VideoType _type;
|
|
float _frameRate;
|
|
};
|
|
|
|
#endif // WEBRTC_MODULES_VIDEO_CODING_TEST_VIDEO_SOURCE_H_
|