diff options
author | Darren Salt <linux@youmustbejoking.demon.co.uk> | 2009-01-12 20:23:42 +0000 |
---|---|---|
committer | Darren Salt <linux@youmustbejoking.demon.co.uk> | 2009-01-12 20:23:42 +0000 |
commit | 5574ccbb47739ee876dcd49bf8d9f0cfc2528d2a (patch) | |
tree | c527f49a7670a0b72c489f79f2b42128944fde3a /src/video_dec/libmpeg2new/libmpeg2/alloc.c | |
parent | 116675a95386a5f905e30bb1b87fa7302edd1c06 (diff) | |
download | xine-lib-5574ccbb47739ee876dcd49bf8d9f0cfc2528d2a.tar.gz xine-lib-5574ccbb47739ee876dcd49bf8d9f0cfc2528d2a.tar.bz2 |
Move libmpeg2new into src/video_dec.
--HG--
rename : src/libmpeg2new/Makefile.am => src/video_dec/libmpeg2new/Makefile.am
rename : src/libmpeg2new/include/Makefile.am => src/video_dec/libmpeg2new/include/Makefile.am
rename : src/libmpeg2new/include/alpha_asm.h => src/video_dec/libmpeg2new/include/alpha_asm.h
rename : src/libmpeg2new/include/attributes.h => src/video_dec/libmpeg2new/include/attributes.h
rename : src/libmpeg2new/include/mmx.h => src/video_dec/libmpeg2new/include/mmx.h
rename : src/libmpeg2new/include/mpeg2.h => src/video_dec/libmpeg2new/include/mpeg2.h
rename : src/libmpeg2new/include/mpeg2convert.h => src/video_dec/libmpeg2new/include/mpeg2convert.h
rename : src/libmpeg2new/include/sse.h => src/video_dec/libmpeg2new/include/sse.h
rename : src/libmpeg2new/include/tendra.h => src/video_dec/libmpeg2new/include/tendra.h
rename : src/libmpeg2new/include/video_out.h => src/video_dec/libmpeg2new/include/video_out.h
rename : src/libmpeg2new/include/vis.h => src/video_dec/libmpeg2new/include/vis.h
rename : src/libmpeg2new/libmpeg2/Makefile.am => src/video_dec/libmpeg2new/libmpeg2/Makefile.am
rename : src/libmpeg2new/libmpeg2/alloc.c => src/video_dec/libmpeg2new/libmpeg2/alloc.c
rename : src/libmpeg2new/libmpeg2/configure.incl => src/video_dec/libmpeg2new/libmpeg2/configure.incl
rename : src/libmpeg2new/libmpeg2/convert_internal.h => src/video_dec/libmpeg2new/libmpeg2/convert_internal.h
rename : src/libmpeg2new/libmpeg2/cpu_accel.c => src/video_dec/libmpeg2new/libmpeg2/cpu_accel.c
rename : src/libmpeg2new/libmpeg2/cpu_state.c => src/video_dec/libmpeg2new/libmpeg2/cpu_state.c
rename : src/libmpeg2new/libmpeg2/decode.c => src/video_dec/libmpeg2new/libmpeg2/decode.c
rename : src/libmpeg2new/libmpeg2/header.c => src/video_dec/libmpeg2new/libmpeg2/header.c
rename : src/libmpeg2new/libmpeg2/idct.c => src/video_dec/libmpeg2new/libmpeg2/idct.c
rename : src/libmpeg2new/libmpeg2/idct_alpha.c => src/video_dec/libmpeg2new/libmpeg2/idct_alpha.c
rename : src/libmpeg2new/libmpeg2/idct_altivec.c => src/video_dec/libmpeg2new/libmpeg2/idct_altivec.c
rename : src/libmpeg2new/libmpeg2/idct_mlib.c => src/video_dec/libmpeg2new/libmpeg2/idct_mlib.c
rename : src/libmpeg2new/libmpeg2/idct_mmx.c => src/video_dec/libmpeg2new/libmpeg2/idct_mmx.c
rename : src/libmpeg2new/libmpeg2/libmpeg2.pc.in => src/video_dec/libmpeg2new/libmpeg2/libmpeg2.pc.in
rename : src/libmpeg2new/libmpeg2/libmpeg2convert.pc.in => src/video_dec/libmpeg2new/libmpeg2/libmpeg2convert.pc.in
rename : src/libmpeg2new/libmpeg2/motion_comp.c => src/video_dec/libmpeg2new/libmpeg2/motion_comp.c
rename : src/libmpeg2new/libmpeg2/motion_comp_alpha.c => src/video_dec/libmpeg2new/libmpeg2/motion_comp_alpha.c
rename : src/libmpeg2new/libmpeg2/motion_comp_altivec.c => src/video_dec/libmpeg2new/libmpeg2/motion_comp_altivec.c
rename : src/libmpeg2new/libmpeg2/motion_comp_mlib.c => src/video_dec/libmpeg2new/libmpeg2/motion_comp_mlib.c
rename : src/libmpeg2new/libmpeg2/motion_comp_mmx.c => src/video_dec/libmpeg2new/libmpeg2/motion_comp_mmx.c
rename : src/libmpeg2new/libmpeg2/motion_comp_vis.c => src/video_dec/libmpeg2new/libmpeg2/motion_comp_vis.c
rename : src/libmpeg2new/libmpeg2/mpeg2_internal.h => src/video_dec/libmpeg2new/libmpeg2/mpeg2_internal.h
rename : src/libmpeg2new/libmpeg2/rgb.c => src/video_dec/libmpeg2new/libmpeg2/rgb.c
rename : src/libmpeg2new/libmpeg2/rgb_mmx.c => src/video_dec/libmpeg2new/libmpeg2/rgb_mmx.c
rename : src/libmpeg2new/libmpeg2/rgb_vis.c => src/video_dec/libmpeg2new/libmpeg2/rgb_vis.c
rename : src/libmpeg2new/libmpeg2/slice.c => src/video_dec/libmpeg2new/libmpeg2/slice.c
rename : src/libmpeg2new/libmpeg2/uyvy.c => src/video_dec/libmpeg2new/libmpeg2/uyvy.c
rename : src/libmpeg2new/libmpeg2/vlc.h => src/video_dec/libmpeg2new/libmpeg2/vlc.h
rename : src/libmpeg2new/xine_mpeg2new_decoder.c => src/video_dec/libmpeg2new/xine_mpeg2new_decoder.c
Diffstat (limited to 'src/video_dec/libmpeg2new/libmpeg2/alloc.c')
-rw-r--r-- | src/video_dec/libmpeg2new/libmpeg2/alloc.c | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/src/video_dec/libmpeg2new/libmpeg2/alloc.c b/src/video_dec/libmpeg2new/libmpeg2/alloc.c new file mode 100644 index 000000000..f1a7afa1c --- /dev/null +++ b/src/video_dec/libmpeg2new/libmpeg2/alloc.c @@ -0,0 +1,70 @@ +/* + * alloc.c + * Copyright (C) 2000-2003 Michel Lespinasse <walken@zoy.org> + * Copyright (C) 1999-2000 Aaron Holtzman <aholtzma@ess.engr.uvic.ca> + * + * This file is part of mpeg2dec, a free MPEG-2 video stream decoder. + * See http://libmpeg2.sourceforge.net/ for updates. + * + * mpeg2dec is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * mpeg2dec is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#include <stdlib.h> +#include <inttypes.h> + +#include "../include/mpeg2.h" + +static void * (* malloc_hook) (unsigned size, mpeg2_alloc_t reason) = NULL; +static int (* free_hook) (void * buf) = NULL; + +void * mpeg2_malloc (unsigned size, mpeg2_alloc_t reason) +{ + char * buf; + + if (malloc_hook) { + buf = (char *) malloc_hook (size, reason); + if (buf) + return buf; + } + + if (size) { + buf = (char *) malloc (size + 63 + sizeof (void **)); + if (buf) { + char * align_buf; + + align_buf = buf + 63 + sizeof (void **); + align_buf -= (long)align_buf & 63; + *(((void **)align_buf) - 1) = buf; + return align_buf; + } + } + return NULL; +} + +void mpeg2_free (void * buf) +{ + if (free_hook && free_hook (buf)) + return; + + if (buf) + free (*(((void **)buf) - 1)); +} + +void mpeg2_malloc_hooks (void * malloc (unsigned, mpeg2_alloc_t), + int free (void *)) +{ + malloc_hook = malloc; + free_hook = free; +} |