diff options
author | Kennan Gumbs <kennangumbs@google.com> | 2021-08-10 18:46:42 -0400 |
---|---|---|
committer | Openscreen LUCI CQ <openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2021-08-11 17:02:39 +0000 |
commit | 65bcc6e2e999734396ed5abef202b1bfe4228e21 (patch) | |
tree | 521c5027f7d80f248994d3240b51d9210b3df251 /cast/standalone_sender/streaming_encoder_util.cc | |
parent | 8b2ec3ddc163fe9c5216d4869d3b5f0c7efd33b1 (diff) | |
download | openscreen-65bcc6e2e999734396ed5abef202b1bfe4228e21.tar.gz |
Enable AV1 codec in standalone sender and receiver
This patch adds support for AV1 using libaom. It also adds
documentation for compiling libaom from source, since the version
provided by the Linux package manager is too slow for realistic use.
Change-Id: Icd0bb3001a1107087749de9e24a9781b3b8b04d4
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/3066030
Commit-Queue: Jordan Bayles <jophba@chromium.org>
Reviewed-by: Jordan Bayles <jophba@chromium.org>
Diffstat (limited to 'cast/standalone_sender/streaming_encoder_util.cc')
-rw-r--r-- | cast/standalone_sender/streaming_encoder_util.cc | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/cast/standalone_sender/streaming_encoder_util.cc b/cast/standalone_sender/streaming_encoder_util.cc new file mode 100644 index 00000000..9ead2bd9 --- /dev/null +++ b/cast/standalone_sender/streaming_encoder_util.cc @@ -0,0 +1,30 @@ +// Copyright 2021 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "cast/standalone_sender/streaming_encoder_util.h" + +#include <string.h> + +#include <algorithm> + +namespace openscreen { +namespace cast { +void CopyPlane(const uint8_t* src, + int src_stride, + int num_rows, + uint8_t* dst, + int dst_stride) { + if (src_stride == dst_stride) { + memcpy(dst, src, src_stride * num_rows); + return; + } + const int bytes_per_row = std::min(src_stride, dst_stride); + while (--num_rows >= 0) { + memcpy(dst, src, bytes_per_row); + dst += dst_stride; + src += src_stride; + } +} +} // namespace cast +} // namespace openscreen |