mirror of
https://chromium.googlesource.com/libyuv/libyuv
synced 2026-04-30 19:09:18 +08:00
No need to cast ptrdiff_t src_stride to intptr_t
ptrdiff_t is the appropriate type for a buffer offset. intptr_t is intended for a different purpose. Change-Id: I475c548338b61f573fb11766c24cde6d31fbbed8 Reviewed-on: https://chromium-review.googlesource.com/c/libyuv/libyuv/+/7796559 Reviewed-by: Frank Barchard <fbarchard@google.com> Commit-Queue: Wan-Teh Chang <wtc@google.com>
This commit is contained in:
parent
4afb965416
commit
54d40344ca
@ -362,36 +362,35 @@ void ScaleRowDown4Box_C(const uint8_t* src_ptr,
|
||||
ptrdiff_t src_stride,
|
||||
uint8_t* dst,
|
||||
int dst_width) {
|
||||
intptr_t stride = src_stride;
|
||||
int x;
|
||||
for (x = 0; x < dst_width - 1; x += 2) {
|
||||
dst[0] = (src_ptr[0] + src_ptr[1] + src_ptr[2] + src_ptr[3] +
|
||||
src_ptr[stride + 0] + src_ptr[stride + 1] + src_ptr[stride + 2] +
|
||||
src_ptr[stride + 3] + src_ptr[stride * 2 + 0] +
|
||||
src_ptr[stride * 2 + 1] + src_ptr[stride * 2 + 2] +
|
||||
src_ptr[stride * 2 + 3] + src_ptr[stride * 3 + 0] +
|
||||
src_ptr[stride * 3 + 1] + src_ptr[stride * 3 + 2] +
|
||||
src_ptr[stride * 3 + 3] + 8) >>
|
||||
src_ptr[src_stride + 0] + src_ptr[src_stride + 1] +
|
||||
src_ptr[src_stride + 2] + src_ptr[src_stride + 3] +
|
||||
src_ptr[src_stride * 2 + 0] + src_ptr[src_stride * 2 + 1] +
|
||||
src_ptr[src_stride * 2 + 2] + src_ptr[src_stride * 2 + 3] +
|
||||
src_ptr[src_stride * 3 + 0] + src_ptr[src_stride * 3 + 1] +
|
||||
src_ptr[src_stride * 3 + 2] + src_ptr[src_stride * 3 + 3] + 8) >>
|
||||
4;
|
||||
dst[1] = (src_ptr[4] + src_ptr[5] + src_ptr[6] + src_ptr[7] +
|
||||
src_ptr[stride + 4] + src_ptr[stride + 5] + src_ptr[stride + 6] +
|
||||
src_ptr[stride + 7] + src_ptr[stride * 2 + 4] +
|
||||
src_ptr[stride * 2 + 5] + src_ptr[stride * 2 + 6] +
|
||||
src_ptr[stride * 2 + 7] + src_ptr[stride * 3 + 4] +
|
||||
src_ptr[stride * 3 + 5] + src_ptr[stride * 3 + 6] +
|
||||
src_ptr[stride * 3 + 7] + 8) >>
|
||||
src_ptr[src_stride + 4] + src_ptr[src_stride + 5] +
|
||||
src_ptr[src_stride + 6] + src_ptr[src_stride + 7] +
|
||||
src_ptr[src_stride * 2 + 4] + src_ptr[src_stride * 2 + 5] +
|
||||
src_ptr[src_stride * 2 + 6] + src_ptr[src_stride * 2 + 7] +
|
||||
src_ptr[src_stride * 3 + 4] + src_ptr[src_stride * 3 + 5] +
|
||||
src_ptr[src_stride * 3 + 6] + src_ptr[src_stride * 3 + 7] + 8) >>
|
||||
4;
|
||||
dst += 2;
|
||||
src_ptr += 8;
|
||||
}
|
||||
if (dst_width & 1) {
|
||||
dst[0] = (src_ptr[0] + src_ptr[1] + src_ptr[2] + src_ptr[3] +
|
||||
src_ptr[stride + 0] + src_ptr[stride + 1] + src_ptr[stride + 2] +
|
||||
src_ptr[stride + 3] + src_ptr[stride * 2 + 0] +
|
||||
src_ptr[stride * 2 + 1] + src_ptr[stride * 2 + 2] +
|
||||
src_ptr[stride * 2 + 3] + src_ptr[stride * 3 + 0] +
|
||||
src_ptr[stride * 3 + 1] + src_ptr[stride * 3 + 2] +
|
||||
src_ptr[stride * 3 + 3] + 8) >>
|
||||
src_ptr[src_stride + 0] + src_ptr[src_stride + 1] +
|
||||
src_ptr[src_stride + 2] + src_ptr[src_stride + 3] +
|
||||
src_ptr[src_stride * 2 + 0] + src_ptr[src_stride * 2 + 1] +
|
||||
src_ptr[src_stride * 2 + 2] + src_ptr[src_stride * 2 + 3] +
|
||||
src_ptr[src_stride * 3 + 0] + src_ptr[src_stride * 3 + 1] +
|
||||
src_ptr[src_stride * 3 + 2] + src_ptr[src_stride * 3 + 3] + 8) >>
|
||||
4;
|
||||
}
|
||||
}
|
||||
@ -400,36 +399,35 @@ void ScaleRowDown4Box_16_C(const uint16_t* src_ptr,
|
||||
ptrdiff_t src_stride,
|
||||
uint16_t* dst,
|
||||
int dst_width) {
|
||||
intptr_t stride = src_stride;
|
||||
int x;
|
||||
for (x = 0; x < dst_width - 1; x += 2) {
|
||||
dst[0] = (src_ptr[0] + src_ptr[1] + src_ptr[2] + src_ptr[3] +
|
||||
src_ptr[stride + 0] + src_ptr[stride + 1] + src_ptr[stride + 2] +
|
||||
src_ptr[stride + 3] + src_ptr[stride * 2 + 0] +
|
||||
src_ptr[stride * 2 + 1] + src_ptr[stride * 2 + 2] +
|
||||
src_ptr[stride * 2 + 3] + src_ptr[stride * 3 + 0] +
|
||||
src_ptr[stride * 3 + 1] + src_ptr[stride * 3 + 2] +
|
||||
src_ptr[stride * 3 + 3] + 8) >>
|
||||
src_ptr[src_stride + 0] + src_ptr[src_stride + 1] +
|
||||
src_ptr[src_stride + 2] + src_ptr[src_stride + 3] +
|
||||
src_ptr[src_stride * 2 + 0] + src_ptr[src_stride * 2 + 1] +
|
||||
src_ptr[src_stride * 2 + 2] + src_ptr[src_stride * 2 + 3] +
|
||||
src_ptr[src_stride * 3 + 0] + src_ptr[src_stride * 3 + 1] +
|
||||
src_ptr[src_stride * 3 + 2] + src_ptr[src_stride * 3 + 3] + 8) >>
|
||||
4;
|
||||
dst[1] = (src_ptr[4] + src_ptr[5] + src_ptr[6] + src_ptr[7] +
|
||||
src_ptr[stride + 4] + src_ptr[stride + 5] + src_ptr[stride + 6] +
|
||||
src_ptr[stride + 7] + src_ptr[stride * 2 + 4] +
|
||||
src_ptr[stride * 2 + 5] + src_ptr[stride * 2 + 6] +
|
||||
src_ptr[stride * 2 + 7] + src_ptr[stride * 3 + 4] +
|
||||
src_ptr[stride * 3 + 5] + src_ptr[stride * 3 + 6] +
|
||||
src_ptr[stride * 3 + 7] + 8) >>
|
||||
src_ptr[src_stride + 4] + src_ptr[src_stride + 5] +
|
||||
src_ptr[src_stride + 6] + src_ptr[src_stride + 7] +
|
||||
src_ptr[src_stride * 2 + 4] + src_ptr[src_stride * 2 + 5] +
|
||||
src_ptr[src_stride * 2 + 6] + src_ptr[src_stride * 2 + 7] +
|
||||
src_ptr[src_stride * 3 + 4] + src_ptr[src_stride * 3 + 5] +
|
||||
src_ptr[src_stride * 3 + 6] + src_ptr[src_stride * 3 + 7] + 8) >>
|
||||
4;
|
||||
dst += 2;
|
||||
src_ptr += 8;
|
||||
}
|
||||
if (dst_width & 1) {
|
||||
dst[0] = (src_ptr[0] + src_ptr[1] + src_ptr[2] + src_ptr[3] +
|
||||
src_ptr[stride + 0] + src_ptr[stride + 1] + src_ptr[stride + 2] +
|
||||
src_ptr[stride + 3] + src_ptr[stride * 2 + 0] +
|
||||
src_ptr[stride * 2 + 1] + src_ptr[stride * 2 + 2] +
|
||||
src_ptr[stride * 2 + 3] + src_ptr[stride * 3 + 0] +
|
||||
src_ptr[stride * 3 + 1] + src_ptr[stride * 3 + 2] +
|
||||
src_ptr[stride * 3 + 3] + 8) >>
|
||||
src_ptr[src_stride + 0] + src_ptr[src_stride + 1] +
|
||||
src_ptr[src_stride + 2] + src_ptr[src_stride + 3] +
|
||||
src_ptr[src_stride * 2 + 0] + src_ptr[src_stride * 2 + 1] +
|
||||
src_ptr[src_stride * 2 + 2] + src_ptr[src_stride * 2 + 3] +
|
||||
src_ptr[src_stride * 3 + 0] + src_ptr[src_stride * 3 + 1] +
|
||||
src_ptr[src_stride * 3 + 2] + src_ptr[src_stride * 3 + 3] + 8) >>
|
||||
4;
|
||||
}
|
||||
}
|
||||
@ -892,27 +890,26 @@ void ScaleRowDown38_3_Box_C(const uint8_t* src_ptr,
|
||||
ptrdiff_t src_stride,
|
||||
uint8_t* dst_ptr,
|
||||
int dst_width) {
|
||||
intptr_t stride = src_stride;
|
||||
int i;
|
||||
assert((dst_width % 3 == 0) && (dst_width > 0));
|
||||
for (i = 0; i < dst_width; i += 3) {
|
||||
dst_ptr[0] =
|
||||
(src_ptr[0] + src_ptr[1] + src_ptr[2] + src_ptr[stride + 0] +
|
||||
src_ptr[stride + 1] + src_ptr[stride + 2] + src_ptr[stride * 2 + 0] +
|
||||
src_ptr[stride * 2 + 1] + src_ptr[stride * 2 + 2]) *
|
||||
(65536 / 9) >>
|
||||
16;
|
||||
dst_ptr[1] =
|
||||
(src_ptr[3] + src_ptr[4] + src_ptr[5] + src_ptr[stride + 3] +
|
||||
src_ptr[stride + 4] + src_ptr[stride + 5] + src_ptr[stride * 2 + 3] +
|
||||
src_ptr[stride * 2 + 4] + src_ptr[stride * 2 + 5]) *
|
||||
(65536 / 9) >>
|
||||
16;
|
||||
dst_ptr[2] =
|
||||
(src_ptr[6] + src_ptr[7] + src_ptr[stride + 6] + src_ptr[stride + 7] +
|
||||
src_ptr[stride * 2 + 6] + src_ptr[stride * 2 + 7]) *
|
||||
(65536 / 6) >>
|
||||
16;
|
||||
dst_ptr[0] = (src_ptr[0] + src_ptr[1] + src_ptr[2] +
|
||||
src_ptr[src_stride + 0] + src_ptr[src_stride + 1] +
|
||||
src_ptr[src_stride + 2] + src_ptr[src_stride * 2 + 0] +
|
||||
src_ptr[src_stride * 2 + 1] + src_ptr[src_stride * 2 + 2]) *
|
||||
(65536 / 9) >>
|
||||
16;
|
||||
dst_ptr[1] = (src_ptr[3] + src_ptr[4] + src_ptr[5] +
|
||||
src_ptr[src_stride + 3] + src_ptr[src_stride + 4] +
|
||||
src_ptr[src_stride + 5] + src_ptr[src_stride * 2 + 3] +
|
||||
src_ptr[src_stride * 2 + 4] + src_ptr[src_stride * 2 + 5]) *
|
||||
(65536 / 9) >>
|
||||
16;
|
||||
dst_ptr[2] = (src_ptr[6] + src_ptr[7] + src_ptr[src_stride + 6] +
|
||||
src_ptr[src_stride + 7] + src_ptr[src_stride * 2 + 6] +
|
||||
src_ptr[src_stride * 2 + 7]) *
|
||||
(65536 / 6) >>
|
||||
16;
|
||||
src_ptr += 8;
|
||||
dst_ptr += 3;
|
||||
}
|
||||
@ -922,27 +919,26 @@ void ScaleRowDown38_3_Box_16_C(const uint16_t* src_ptr,
|
||||
ptrdiff_t src_stride,
|
||||
uint16_t* dst_ptr,
|
||||
int dst_width) {
|
||||
intptr_t stride = src_stride;
|
||||
int i;
|
||||
assert((dst_width % 3 == 0) && (dst_width > 0));
|
||||
for (i = 0; i < dst_width; i += 3) {
|
||||
dst_ptr[0] =
|
||||
(src_ptr[0] + src_ptr[1] + src_ptr[2] + src_ptr[stride + 0] +
|
||||
src_ptr[stride + 1] + src_ptr[stride + 2] + src_ptr[stride * 2 + 0] +
|
||||
src_ptr[stride * 2 + 1] + src_ptr[stride * 2 + 2]) *
|
||||
(65536u / 9u) >>
|
||||
16;
|
||||
dst_ptr[1] =
|
||||
(src_ptr[3] + src_ptr[4] + src_ptr[5] + src_ptr[stride + 3] +
|
||||
src_ptr[stride + 4] + src_ptr[stride + 5] + src_ptr[stride * 2 + 3] +
|
||||
src_ptr[stride * 2 + 4] + src_ptr[stride * 2 + 5]) *
|
||||
(65536u / 9u) >>
|
||||
16;
|
||||
dst_ptr[2] =
|
||||
(src_ptr[6] + src_ptr[7] + src_ptr[stride + 6] + src_ptr[stride + 7] +
|
||||
src_ptr[stride * 2 + 6] + src_ptr[stride * 2 + 7]) *
|
||||
(65536u / 6u) >>
|
||||
16;
|
||||
dst_ptr[0] = (src_ptr[0] + src_ptr[1] + src_ptr[2] +
|
||||
src_ptr[src_stride + 0] + src_ptr[src_stride + 1] +
|
||||
src_ptr[src_stride + 2] + src_ptr[src_stride * 2 + 0] +
|
||||
src_ptr[src_stride * 2 + 1] + src_ptr[src_stride * 2 + 2]) *
|
||||
(65536u / 9u) >>
|
||||
16;
|
||||
dst_ptr[1] = (src_ptr[3] + src_ptr[4] + src_ptr[5] +
|
||||
src_ptr[src_stride + 3] + src_ptr[src_stride + 4] +
|
||||
src_ptr[src_stride + 5] + src_ptr[src_stride * 2 + 3] +
|
||||
src_ptr[src_stride * 2 + 4] + src_ptr[src_stride * 2 + 5]) *
|
||||
(65536u / 9u) >>
|
||||
16;
|
||||
dst_ptr[2] = (src_ptr[6] + src_ptr[7] + src_ptr[src_stride + 6] +
|
||||
src_ptr[src_stride + 7] + src_ptr[src_stride * 2 + 6] +
|
||||
src_ptr[src_stride * 2 + 7]) *
|
||||
(65536u / 6u) >>
|
||||
16;
|
||||
src_ptr += 8;
|
||||
dst_ptr += 3;
|
||||
}
|
||||
@ -953,22 +949,23 @@ void ScaleRowDown38_2_Box_C(const uint8_t* src_ptr,
|
||||
ptrdiff_t src_stride,
|
||||
uint8_t* dst_ptr,
|
||||
int dst_width) {
|
||||
intptr_t stride = src_stride;
|
||||
int i;
|
||||
assert((dst_width % 3 == 0) && (dst_width > 0));
|
||||
for (i = 0; i < dst_width; i += 3) {
|
||||
dst_ptr[0] = (src_ptr[0] + src_ptr[1] + src_ptr[2] + src_ptr[stride + 0] +
|
||||
src_ptr[stride + 1] + src_ptr[stride + 2]) *
|
||||
(65536 / 6) >>
|
||||
16;
|
||||
dst_ptr[1] = (src_ptr[3] + src_ptr[4] + src_ptr[5] + src_ptr[stride + 3] +
|
||||
src_ptr[stride + 4] + src_ptr[stride + 5]) *
|
||||
(65536 / 6) >>
|
||||
16;
|
||||
dst_ptr[2] =
|
||||
(src_ptr[6] + src_ptr[7] + src_ptr[stride + 6] + src_ptr[stride + 7]) *
|
||||
(65536 / 4) >>
|
||||
dst_ptr[0] =
|
||||
(src_ptr[0] + src_ptr[1] + src_ptr[2] + src_ptr[src_stride + 0] +
|
||||
src_ptr[src_stride + 1] + src_ptr[src_stride + 2]) *
|
||||
(65536 / 6) >>
|
||||
16;
|
||||
dst_ptr[1] =
|
||||
(src_ptr[3] + src_ptr[4] + src_ptr[5] + src_ptr[src_stride + 3] +
|
||||
src_ptr[src_stride + 4] + src_ptr[src_stride + 5]) *
|
||||
(65536 / 6) >>
|
||||
16;
|
||||
dst_ptr[2] = (src_ptr[6] + src_ptr[7] + src_ptr[src_stride + 6] +
|
||||
src_ptr[src_stride + 7]) *
|
||||
(65536 / 4) >>
|
||||
16;
|
||||
src_ptr += 8;
|
||||
dst_ptr += 3;
|
||||
}
|
||||
@ -978,22 +975,23 @@ void ScaleRowDown38_2_Box_16_C(const uint16_t* src_ptr,
|
||||
ptrdiff_t src_stride,
|
||||
uint16_t* dst_ptr,
|
||||
int dst_width) {
|
||||
intptr_t stride = src_stride;
|
||||
int i;
|
||||
assert((dst_width % 3 == 0) && (dst_width > 0));
|
||||
for (i = 0; i < dst_width; i += 3) {
|
||||
dst_ptr[0] = (src_ptr[0] + src_ptr[1] + src_ptr[2] + src_ptr[stride + 0] +
|
||||
src_ptr[stride + 1] + src_ptr[stride + 2]) *
|
||||
(65536u / 6u) >>
|
||||
16;
|
||||
dst_ptr[1] = (src_ptr[3] + src_ptr[4] + src_ptr[5] + src_ptr[stride + 3] +
|
||||
src_ptr[stride + 4] + src_ptr[stride + 5]) *
|
||||
(65536u / 6u) >>
|
||||
16;
|
||||
dst_ptr[2] =
|
||||
(src_ptr[6] + src_ptr[7] + src_ptr[stride + 6] + src_ptr[stride + 7]) *
|
||||
(65536u / 4u) >>
|
||||
dst_ptr[0] =
|
||||
(src_ptr[0] + src_ptr[1] + src_ptr[2] + src_ptr[src_stride + 0] +
|
||||
src_ptr[src_stride + 1] + src_ptr[src_stride + 2]) *
|
||||
(65536u / 6u) >>
|
||||
16;
|
||||
dst_ptr[1] =
|
||||
(src_ptr[3] + src_ptr[4] + src_ptr[5] + src_ptr[src_stride + 3] +
|
||||
src_ptr[src_stride + 4] + src_ptr[src_stride + 5]) *
|
||||
(65536u / 6u) >>
|
||||
16;
|
||||
dst_ptr[2] = (src_ptr[6] + src_ptr[7] + src_ptr[src_stride + 6] +
|
||||
src_ptr[src_stride + 7]) *
|
||||
(65536u / 4u) >>
|
||||
16;
|
||||
src_ptr += 8;
|
||||
dst_ptr += 3;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user