Add multiplex case to webrtc_perf_tests

This CL adds two new tests to perf, covering I420 and I420A input to multiplex
codec. In order to have the correct input, it adds I420A case to
SquareGenerator and corresponding PSNR and SSIM calculations.

Bug: webrtc:7671
Change-Id: I9735d725bbfba457e804e29907cee55406ae5c8d
Reviewed-on: https://webrtc-review.googlesource.com/52180
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Niklas Enbom <niklas.enbom@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Commit-Queue: Emircan Uysaler <emircan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22330}
This commit is contained in:
Emircan Uysaler
2018-03-01 12:19:54 -08:00
committed by Commit Bot
parent 98bb968f7b
commit d90a7e8424
15 changed files with 263 additions and 75 deletions

View File

@ -12,7 +12,9 @@
#include <algorithm>
#include <string>
#include "media/engine/internaldecoderfactory.h"
#include "modules/video_coding/codecs/h264/include/h264.h"
#include "modules/video_coding/codecs/multiplex/include/multiplex_decoder_adapter.h"
#include "modules/video_coding/codecs/vp8/include/vp8.h"
#include "modules/video_coding/codecs/vp9/include/vp9.h"
#include "rtc_base/refcountedobject.h"
@ -102,6 +104,9 @@ VideoReceiveStream::Decoder CreateMatchingDecoder(
decoder.decoder = VP8Decoder::Create().release();
} else if (encoder_settings.payload_name == "VP9") {
decoder.decoder = VP9Decoder::Create().release();
} else if (encoder_settings.payload_name == "multiplex") {
decoder.decoder = new MultiplexDecoderAdapter(
new InternalDecoderFactory(), SdpVideoFormat(cricket::kVp9CodecName));
} else {
decoder.decoder = new FakeDecoder();
}