Allocate memory using appropriate expected alignment in unit tests.
Fixes crashes of test_libvpx on 32-bit Linux. Change-Id: If94e7628a86b788ca26c004861dee2f162e47ed6
This commit is contained in:
parent
98188e0e82
commit
ac6ea2ab91
@ -18,6 +18,7 @@
|
||||
#include "vpx/vpx_integer.h"
|
||||
#include "vpx_config.h"
|
||||
extern "C" {
|
||||
#include "vpx_mem/vpx_mem.h"
|
||||
#if CONFIG_VP8_ENCODER
|
||||
# include "vp8/common/variance.h"
|
||||
# include "vp8_rtcd.h"
|
||||
@ -205,17 +206,18 @@ class SubpelVarianceTest :
|
||||
|
||||
rnd(ACMRandom::DeterministicSeed());
|
||||
block_size_ = width_ * height_;
|
||||
src_ = new uint8_t[block_size_];
|
||||
sec_ = new uint8_t[block_size_];
|
||||
src_ = reinterpret_cast<uint8_t *>(vpx_memalign(16, block_size_));
|
||||
sec_ = reinterpret_cast<uint8_t *>(vpx_memalign(16, block_size_));
|
||||
ref_ = new uint8_t[block_size_ + width_ + height_ + 1];
|
||||
ASSERT_TRUE(src_ != NULL);
|
||||
ASSERT_TRUE(sec_ != NULL);
|
||||
ASSERT_TRUE(ref_ != NULL);
|
||||
}
|
||||
|
||||
virtual void TearDown() {
|
||||
delete[] src_;
|
||||
vpx_free(src_);
|
||||
delete[] ref_;
|
||||
delete[] sec_;
|
||||
vpx_free(sec_);
|
||||
}
|
||||
|
||||
protected:
|
||||
|
@ -16,6 +16,7 @@ extern "C" {
|
||||
#include "./vpx_config.h"
|
||||
#include "./vp9_rtcd.h"
|
||||
#include "vp9/common/vp9_blockd.h"
|
||||
#include "vpx_mem/vpx_mem.h"
|
||||
}
|
||||
|
||||
typedef void (*subtract_fn_t)(int rows, int cols,
|
||||
@ -42,9 +43,12 @@ TEST_P(VP9SubtractBlockTest, SimpleSubtract) {
|
||||
bsize = static_cast<BLOCK_SIZE_TYPE>(static_cast<int>(bsize) + 1)) {
|
||||
const int block_width = 4 << b_width_log2(bsize);
|
||||
const int block_height = 4 << b_height_log2(bsize);
|
||||
int16_t *diff = new int16_t[block_width * block_height * 2];
|
||||
uint8_t *pred = new uint8_t[block_width * block_height * 2];
|
||||
uint8_t *src = new uint8_t[block_width * block_height * 2];
|
||||
int16_t *diff = reinterpret_cast<int16_t *>(
|
||||
vpx_memalign(16, sizeof(*diff) * block_width * block_height * 2));
|
||||
uint8_t *pred = reinterpret_cast<uint8_t *>(
|
||||
vpx_memalign(16, block_width * block_height * 2));
|
||||
uint8_t *src = reinterpret_cast<uint8_t *>(
|
||||
vpx_memalign(16, block_width * block_height * 2));
|
||||
|
||||
for (int n = 0; n < 100; n++) {
|
||||
for (int r = 0; r < block_height; ++r) {
|
||||
@ -80,9 +84,9 @@ TEST_P(VP9SubtractBlockTest, SimpleSubtract) {
|
||||
}
|
||||
}
|
||||
}
|
||||
delete[] diff;
|
||||
delete[] pred;
|
||||
delete[] src;
|
||||
vpx_free(diff);
|
||||
vpx_free(pred);
|
||||
vpx_free(src);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user