Splits vp9_impl into libvpx_vp9_encoder and libvpx_vp9_decoder.

Also moves the LibvpxVp8Interface from codec/vp8 to codec/interface and
drops vp8 from the name.

Follow-up CLs will wire up actual usage in the new classes through the
interface so that we can unit test them more easily.

Bug: webrtc:12274
Change-Id: I95f66e90245d9320e5fc23cdc845fbeb2648b38b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/196522
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Sergey Silkin <ssilkin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#32816}
This commit is contained in:
Erik Språng
2020-12-09 20:58:21 +01:00
committed by Commit Bot
parent 370e60098c
commit 0186d2d626
12 changed files with 602 additions and 507 deletions

View File

@ -177,13 +177,13 @@ absl::optional<int> GetRequestedResolutionAlignmentOverride() {
} // namespace
std::unique_ptr<VideoEncoder> VP8Encoder::Create() {
return std::make_unique<LibvpxVp8Encoder>(LibvpxInterface::CreateEncoder(),
return std::make_unique<LibvpxVp8Encoder>(LibvpxInterface::Create(),
VP8Encoder::Settings());
}
std::unique_ptr<VideoEncoder> VP8Encoder::Create(
VP8Encoder::Settings settings) {
return std::make_unique<LibvpxVp8Encoder>(LibvpxInterface::CreateEncoder(),
return std::make_unique<LibvpxVp8Encoder>(LibvpxInterface::Create(),
std::move(settings));
}
@ -193,7 +193,7 @@ std::unique_ptr<VideoEncoder> VP8Encoder::Create(
VP8Encoder::Settings settings;
settings.frame_buffer_controller_factory =
std::move(frame_buffer_controller_factory);
return std::make_unique<LibvpxVp8Encoder>(LibvpxInterface::CreateEncoder(),
return std::make_unique<LibvpxVp8Encoder>(LibvpxInterface::Create(),
std::move(settings));
}