blob: 9ead2bd954a3c92c1d6070340e87049665cc3ff0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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
|