summaryrefslogtreecommitdiff
path: root/libs/ffvpx/libavutil/imgutils.c
diff options
context:
space:
mode:
authorMatt A. Tobin <email@mattatobin.com>2022-06-07 20:20:19 -0500
committerMatt A. Tobin <email@mattatobin.com>2022-06-07 20:20:19 -0500
commit878ab758d5d4c1ef7badf2bc20ebc7c67dc2165b (patch)
tree3683d6df35e3618c0e7b456de7c749ca4c8c21a6 /libs/ffvpx/libavutil/imgutils.c
parenta621951327b0c19c0c24dfd9fd973f7bd13ae68f (diff)
parentcfb9884423faf741de03c5fcc72bf9ac8c6ada4d (diff)
downloadaura-central-878ab758d5d4c1ef7badf2bc20ebc7c67dc2165b.tar.gz
Merge branch 'TRUNK' into ARE-5.0
Diffstat (limited to 'libs/ffvpx/libavutil/imgutils.c')
-rw-r--r--libs/ffvpx/libavutil/imgutils.c31
1 files changed, 7 insertions, 24 deletions
diff --git a/libs/ffvpx/libavutil/imgutils.c b/libs/ffvpx/libavutil/imgutils.c
index 4938a7ef6..c733cb5cf 100644
--- a/libs/ffvpx/libavutil/imgutils.c
+++ b/libs/ffvpx/libavutil/imgutils.c
@@ -311,8 +311,8 @@ static void image_copy_plane(uint8_t *dst, ptrdiff_t dst_linesize,
{
if (!dst || !src)
return;
- av_assert0(abs(src_linesize) >= bytewidth);
- av_assert0(abs(dst_linesize) >= bytewidth);
+ av_assert0(FFABS(src_linesize) >= bytewidth);
+ av_assert0(FFABS(dst_linesize) >= bytewidth);
for (;height > 0; height--) {
memcpy(dst, src, bytewidth);
dst += dst_linesize;
@@ -501,7 +501,6 @@ int av_image_copy_to_buffer(uint8_t *dst, int dst_size,
static void memset_bytes(uint8_t *dst, size_t dst_size, uint8_t *clear,
size_t clear_size)
{
- size_t pos = 0;
int same = 1;
int i;
@@ -521,28 +520,12 @@ static void memset_bytes(uint8_t *dst, size_t dst_size, uint8_t *clear,
if (clear_size == 1) {
memset(dst, clear[0], dst_size);
dst_size = 0;
- } else if (clear_size == 2) {
- uint16_t val = AV_RN16(clear);
- for (; dst_size >= 2; dst_size -= 2) {
- AV_WN16(dst, val);
- dst += 2;
- }
- } else if (clear_size == 4) {
- uint32_t val = AV_RN32(clear);
- for (; dst_size >= 4; dst_size -= 4) {
- AV_WN32(dst, val);
- dst += 4;
- }
- } else if (clear_size == 8) {
- uint32_t val = AV_RN64(clear);
- for (; dst_size >= 8; dst_size -= 8) {
- AV_WN64(dst, val);
- dst += 8;
- }
+ } else {
+ if (clear_size > dst_size)
+ clear_size = dst_size;
+ memcpy(dst, clear, clear_size);
+ av_memcpy_backptr(dst + clear_size, clear_size, dst_size - clear_size);
}
-
- for (; dst_size; dst_size--)
- *dst++ = clear[pos++ % clear_size];
}
// Maximum size in bytes of a plane element (usually a pixel, or multiple pixels