/*****************************************************************************
Copyright (c) 2000-2004 Analog Devices.  All Rights Reserved.

Developed by Analog Devices Australia - Unit 3, 97 Lewis Road,
Wantirna, Victoria, Australia, 3152.  Email: ada.info@analog.com

THIS SOFTWARE IS PROPRIETARY & CONFIDENTIAL.  By using this module you
agree to the terms of the associated Analog Devices License Agreement.
******************************************************************************

$RCSfile: JPEG_memalloc.h,v $
$Revision: 1.1 $
$Date: 2008/03/17 14:56:38 $

Project:	JPEG IMAGE CODEC
Title:		Memalloc Typedefs
Author(s):	S. To
Revised by:	

Description:
Header for all user-defined modules requiring memory allocation.

The data structures defined here are ONLY referenced directly in the user-defined 
modules: memalloc.c .

References:
	
******************************************************************************
Tab Setting:			4
Target Processor:		Blackfin
Target Tools Revision:	VDSP++ 3.5
******************************************************************************

Modification History:
====================
$Log: JPEG_memalloc.h,v $
Revision 1.1  2008/03/17 14:56:38  gstephan
Updates for SDK 3.00

Revision 1.3  2004/08/30 02:17:18  sto
Checkin of all decoder related files from Conrad Jakob

Revision 1.2  2004/05/27 22:43:14  sto
debugged for encoder operation - much cleanup carried out

Revision 1.1  2004/05/24 01:27:05  sto
added BF561 build, some header files moved from decoder/lib to common/lib


******************************************************************************/

#ifndef MEMALLOC_H
#define MEMALLOC_H

/* Structure for Memory Alloc Object (user definable) */
typedef struct
{
	void		*MemoryAllocated;
} MemObjHandle;


/* Memory Types to pass to JPEG_MemAlloc_NEW() - these are fixed and cannot be changed */
typedef enum{
    MEM_TYPE_DATA,
    MEM_TYPE_TABLE,
    MEM_TYPE_OBJECT
} Mem_type;


/* Function prototypes - these are fixed and cannot be changed */
extern MemObjHandle		*JPEG_MemAlloc_NEW (int N_element, int size, Mem_type attr);
extern void				JPEG_MemAlloc_DELETE (MemObjHandle *mem_obj);
extern void				*JPEG_MemAlloc_ADDRESS (MemObjHandle *mem_obj);


#endif
