Add support for H.264 constrained high profile in VideoProcessor.

BUG=webrtc:8448

Change-Id: I968d6cd78dd4f3c19a7944ae4cc73c5eddb9a949
Reviewed-on: https://webrtc-review.googlesource.com/16160
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20466}
This commit is contained in:
Rasmus Brandt
2017-10-27 14:51:46 +02:00
committed by Commit Bot
parent 3ebed36b01
commit fb1a8661db
8 changed files with 97 additions and 13 deletions

View File

@ -56,6 +56,7 @@ struct TestConfig {
int TemporalLayerForFrame(int frame_idx) const;
std::vector<FrameType> FrameTypeForFrame(int frame_idx) const;
std::string ToString() const;
std::string CodecName() const;
// Plain name of YUV file to process without file extension.
std::string filename;
@ -99,6 +100,13 @@ struct TestConfig {
// Codec settings to use.
webrtc::VideoCodec codec_settings;
// H.264 specific settings.
struct H264CodecSettings {
H264::Profile profile = H264::kProfileConstrainedBaseline;
H264PacketizationMode packetization_mode =
webrtc::H264PacketizationMode::NonInterleaved;
} h264_codec_settings;
// Should hardware accelerated codecs be used?
bool hw_encoder = false;
bool hw_decoder = false;
@ -107,10 +115,6 @@ struct TestConfig {
bool sw_fallback_encoder = false;
bool sw_fallback_decoder = false;
// RTP H264 packetization mode.
H264PacketizationMode packetization_mode =
webrtc::H264PacketizationMode::NonInterleaved;
// Custom checker that will be called for each frame.
const EncodedFrameChecker* encoded_frame_checker = nullptr;
};