[vlc-commits] picture: align pictures on 64 bytes

Steve Lhomme git at videolan.org
Mon Nov 12 18:44:15 CET 2018


vlc | branch: master | Steve Lhomme <robux4 at ycbcr.xyz> | Mon Oct  8 08:26:49 2018 +0200| [0667915e5ad073ca054eb22463d64af400da7ec5] | committer: Steve Lhomme

picture: align pictures on 64 bytes

Code relying on AVX-2 (like dav1d) cannot work without an alignment of 32 bytes
at least. Even avcodec has a requirement of 64 (likely to get at least 32 on all
planes). So it's probably time to upgrade.

picture_Setup ensures a horizontal alignment to 32 bytes and a vertical to 16
bytes. So for all buffers allocated by the core, we have a size multiple of 512
bytes.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=0667915e5ad073ca054eb22463d64af400da7ec5
---

 src/misc/picture.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/misc/picture.c b/src/misc/picture.c
index b373ebd21f..90c6bd7c8d 100644
--- a/src/misc/picture.c
+++ b/src/misc/picture.c
@@ -73,16 +73,16 @@ static void picture_Destroy(picture_t *pic)
 
 VLC_WEAK void *picture_Allocate(int *restrict fdp, size_t size)
 {
-    assert((size % 16) == 0);
+    assert((size % 64) == 0);
     *fdp = -1;
-    return aligned_alloc(16, size);
+    return aligned_alloc(64, size);
 }
 
 VLC_WEAK void picture_Deallocate(int fd, void *base, size_t size)
 {
     assert(fd == -1);
     aligned_free(base);
-    assert((size % 16) == 0);
+    assert((size % 64) == 0);
 }
 
 /*****************************************************************************



More information about the vlc-commits mailing list