vf_fingerprint: use aligned_alloc instead of posix_memalign

I was assuming posix_memalign was the most portable function to use, but
MinGW does not provide it for some reason. Switch to C11 aligned_alloc()
which someone suggested was provided by MinGW (but actually isn't,
someone probably confused it with the incompatible _aligned_malloc),
and add a configure check.

Even though it turned out that MinGW doesn't provide it, the function
is slightly more elegant than posix_memalign(), so stay with it.
This commit is contained in:
wm4
2019-09-19 22:26:52 +02:00
parent d75bdf070f
commit 7000d91cf8
2 changed files with 8 additions and 2 deletions

View File

@@ -213,6 +213,11 @@ main_dependencies = [
check_statement('stdatomic.h',
'atomic_int_least64_t test = ATOMIC_VAR_INIT(123);'
'atomic_fetch_add(&test, 1)'))
}, {
# C11; technically we still support C99
'name': 'aligned_alloc',
'desc': 'C11 aligned_alloc()',
'func': check_statement('stdlib.h', 'aligned_alloc(1, 1)'),
}, {
'name': 'atomics',
'desc': 'stdatomic.h support or slow emulation',
@@ -386,6 +391,7 @@ iconv support use --disable-iconv.",
'func': check_pkg_config('rubberband', '>= 1.8.0'),
}, {
'name': '--zimg',
'deps': 'aligned_alloc',
'desc': 'libzimg support (for vf_fingerprint)',
'func': check_pkg_config('zimg', '>= 2.9'),
}, {