Message ID | 20171109115837.32618-5-jdarnley@obe.tv |
---|---|
State | Superseded |
Headers | show |
On 11/9/2017 8:58 AM, James Darnley wrote: > --- > This patch gained the alignmnet increase in mem.c > > libavutil/mem.c | 2 +- > libavutil/x86/cpu.c | 2 ++ > 2 files changed, 3 insertions(+), 1 deletion(-) > > diff --git a/libavutil/mem.c b/libavutil/mem.c > index 6ad409daf4..cdf539306f 100644 > --- a/libavutil/mem.c > +++ b/libavutil/mem.c > @@ -61,7 +61,7 @@ void free(void *ptr); > > #include "mem_internal.h" > > -#define ALIGN (HAVE_AVX ? 32 : 16) > +#define ALIGN (HAVE_AVX512 ? 64 : HAVE_AVX ? 32 : 16) Wrap the second ternary conditional operation with brackets, just to be safe. > > /* NOTE: if you want to override these functions with your own > * implementations (not recommended) you have to link libav* as > diff --git a/libavutil/x86/cpu.c b/libavutil/x86/cpu.c > index 589fdef7da..01b3c39c1e 100644 > --- a/libavutil/x86/cpu.c > +++ b/libavutil/x86/cpu.c > @@ -246,6 +246,8 @@ size_t ff_get_cpu_max_align_x86(void) > { > int flags = av_get_cpu_flags(); > > + if (flags & AV_CPU_FLAG_AVX512) > + return 64; > if (flags & (AV_CPU_FLAG_AVX2 | > AV_CPU_FLAG_AVX | > AV_CPU_FLAG_XOP | > LGTM if all the align functions used in mem.c accept the value 64.
diff --git a/libavutil/mem.c b/libavutil/mem.c index 6ad409daf4..cdf539306f 100644 --- a/libavutil/mem.c +++ b/libavutil/mem.c @@ -61,7 +61,7 @@ void free(void *ptr); #include "mem_internal.h" -#define ALIGN (HAVE_AVX ? 32 : 16) +#define ALIGN (HAVE_AVX512 ? 64 : HAVE_AVX ? 32 : 16) /* NOTE: if you want to override these functions with your own * implementations (not recommended) you have to link libav* as diff --git a/libavutil/x86/cpu.c b/libavutil/x86/cpu.c index 589fdef7da..01b3c39c1e 100644 --- a/libavutil/x86/cpu.c +++ b/libavutil/x86/cpu.c @@ -246,6 +246,8 @@ size_t ff_get_cpu_max_align_x86(void) { int flags = av_get_cpu_flags(); + if (flags & AV_CPU_FLAG_AVX512) + return 64; if (flags & (AV_CPU_FLAG_AVX2 | AV_CPU_FLAG_AVX | AV_CPU_FLAG_XOP |