diff --git a/sw/airborne/modules/computer_vision/lib/vision/image.c b/sw/airborne/modules/computer_vision/lib/vision/image.c index c35423fb3f..624084e95e 100644 --- a/sw/airborne/modules/computer_vision/lib/vision/image.c +++ b/sw/airborne/modules/computer_vision/lib/vision/image.c @@ -60,8 +60,12 @@ void image_create(struct image_t *img, uint16_t width, uint16_t height, enum ima img->buf_size = sizeof(uint8_t) * width * height; } +#if __GLIBC__ > 2 || (__GLIBC__ >= 2 && __GLIBC_MINOR__ >= 16) // aligned memory slightly speeds up any later copies img->buf = aligned_alloc(CACHE_LINE_LENGTH, img->buf_size + (CACHE_LINE_LENGTH - img->buf_size % CACHE_LINE_LENGTH) % CACHE_LINE_LENGTH); +#else + img->buf = malloc(img->buf_size); +#endif } /**