void reference_minmax(const uint8_t *a, int a_stride, const uint8_t *b,
int b_stride, int *min_ret, int *max_ret) {
int min = 255;
int max = 0;
for (int i = 0; i < 8; i++) {
for (int j = 0; j < 8; j++) { const int diff = abs(a[i * a_stride + j] - b[i * b_stride + j]);
if (min > diff) min = diff;
if (max < diff) max = diff;
}
}
*min_ret = min;
*max_ret = max;
}
TEST_P(MinMaxTest, MinValue) {
for (int i = 0; i < 64; i++) {
uint8_t a[64], b[64];
memset(a, 0, sizeof(a));
memset(b, 255, sizeof(b));
b[i] = i; // Set a minimum difference of i.
TEST_P(MinMaxTest, MaxValue) {
for (int i = 0; i < 64; i++) {
uint8_t a[64], b[64];
memset(a, 0, sizeof(a));
memset(b, 0, sizeof(b));
b[i] = i; // Set a maximum difference of i.
void highbd_reference_minmax(const uint8_t *a, int a_stride, const uint8_t *b,
int b_stride, int *min_ret, int *max_ret) {
int min = 65535;
int max = 0; const uint16_t *a_ptr = CONVERT_TO_SHORTPTR(a); const uint16_t *b_ptr = CONVERT_TO_SHORTPTR(b);
for (int i = 0; i < 8; i++) {
for (int j = 0; j < 8; j++) { const int diff = abs(a_ptr[i * a_stride + j] - b_ptr[i * b_stride + j]);
if (min > diff) min = diff;
if (max < diff) max = diff;
}
}
*min_ret = min;
*max_ret = max;
}
TEST_P(HBDMinMaxTest, MinValue) {
uint8_t *a = CONVERT_TO_BYTEPTR( reinterpret_cast<uint16_t *>(vpx_malloc(64 * sizeof(uint16_t))));
uint8_t *b = CONVERT_TO_BYTEPTR( reinterpret_cast<uint16_t *>(vpx_malloc(64 * sizeof(uint16_t))));
for (int i = 0; i < 64; i++) {
vpx_memset16(CONVERT_TO_SHORTPTR(a), 0, 64);
vpx_memset16(CONVERT_TO_SHORTPTR(b), 65535, 64);
CONVERT_TO_SHORTPTR(b)[i] = i; // Set a minimum difference of i.
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.