]> git.sesse.net Git - vlc/commitdiff
Used vlc_memalign for vaapi/dxva2 copy buffer
authorLaurent Aimar <fenrir@videolan.org>
Sun, 9 May 2010 14:02:31 +0000 (16:02 +0200)
committerLaurent Aimar <fenrir@videolan.org>
Sun, 9 May 2010 14:18:40 +0000 (16:18 +0200)
modules/codec/avcodec/copy.c
modules/codec/avcodec/copy.h

index 6bc0d8207c72279caee68c44f18b48e912159589..4375c971a577dd4f1ef832fce1fef543f6439283 100644 (file)
@@ -297,12 +297,9 @@ static void SplitPlanes(uint8_t *dstu, size_t dstu_pitch,
 int CopyInitCache(copy_cache_t *cache, unsigned width)
 {
     cache->size = __MAX((width + 0x0f) & ~ 0x0f, 4096);
-    cache->base = malloc(16 + cache->size);
-    if (cache->base == NULL) {
-        cache->buffer = NULL;
+    cache->buffer = vlc_memalign(&cache->base, 16, cache->size);
+    if (!cache->base)
         return VLC_EGENERIC;
-    }
-    cache->buffer = &cache->base[16 - ((intptr_t)cache->base & 0x0f)];
     return VLC_SUCCESS;
 }
 void CopyCleanCache(copy_cache_t *cache)
index 312bf4c4f3417ea48fa02a9e6d14161ae96a761c..93d246af5a131ea004a20b0afac782d955ea74b5 100644 (file)
@@ -25,7 +25,7 @@
 #define _VLC_AVCODEC_COPY_H 1
 
 typedef struct {
-    uint8_t *base;
+    void    *base;
     uint8_t *buffer;
     size_t  size;
 } copy_cache_t;