diff options
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 |