mem.c File Reference

default memory allocator for libavutil More...

#include "config.h"
#include <limits.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include "avassert.h"
#include "avutil.h"
#include "intreadwrite.h"
#include "mem.h"
Include dependency graph for mem.c:

Go to the source code of this file.

Macros

#define _XOPEN_SOURCE   600
 
#define ALIGN   (HAVE_AVX ? 32 : 16)
 

Functions

void av_max_alloc (size_t max)
 Set the maximum size that may me allocated in one block. More...
 
voidav_malloc (size_t size)
 Allocate a block of size bytes with alignment suitable for all memory accesses (including vectors if available on the CPU). More...
 
voidav_realloc (void *ptr, size_t size)
 Allocate or reallocate a block of memory. More...
 
voidav_realloc_f (void *ptr, size_t nelem, size_t elsize)
 Allocate or reallocate a block of memory. More...
 
void av_free (void *ptr)
 Free a memory block which has been allocated with av_malloc(z)() or av_realloc(). More...
 
void av_freep (void *arg)
 Free a memory block which has been allocated with av_malloc(z)() or av_realloc() and set the pointer pointing to it to NULL. More...
 
voidav_mallocz (size_t size)
 Allocate a block of size bytes with alignment suitable for all memory accesses (including vectors if available on the CPU) and zero all the bytes of the block. More...
 
voidav_calloc (size_t nmemb, size_t size)
 Allocate a block of nmemb * size bytes with alignment suitable for all memory accesses (including vectors if available on the CPU) and zero all the bytes of the block. More...
 
char * av_strdup (const char *s)
 Duplicate the string s. More...
 
void av_dynarray_add (void *tab_ptr, int *nb_ptr, void *elem)
 Add an element to a dynamic array. More...
 
static void fill16 (uint8_t *dst, int len)
 
static void fill24 (uint8_t *dst, int len)
 
static void fill32 (uint8_t *dst, int len)
 
void av_memcpy_backptr (uint8_t *dst, int back, int cnt)
 deliberately overlapping memcpy implementation More...
 

Variables

static size_t max_alloc_size = INT_MAX
 

Detailed Description

default memory allocator for libavutil

Definition in file mem.c.

Macro Definition Documentation

#define _XOPEN_SOURCE   600

Definition at line 27 of file mem.c.

#define ALIGN   (HAVE_AVX ? 32 : 16)

Definition at line 60 of file mem.c.

Referenced by av_free(), av_malloc(), and av_realloc().

Function Documentation

static void fill16 ( uint8_t dst,
int  len 
)
static

Definition at line 253 of file mem.c.

Referenced by av_memcpy_backptr().

static void fill24 ( uint8_t dst,
int  len 
)
static

Definition at line 271 of file mem.c.

Referenced by av_memcpy_backptr().

static void fill32 ( uint8_t dst,
int  len 
)
static

Definition at line 311 of file mem.c.

Referenced by av_memcpy_backptr().

Variable Documentation

size_t max_alloc_size = INT_MAX
static

Definition at line 67 of file mem.c.

Referenced by av_malloc(), av_max_alloc(), and av_realloc().