Doxygen Source Code Documentation
jcomapi.c File Reference
#include "jinclude.h"
#include "jpeglib.h"
Go to the source code of this file.
Defines | |
#define | JPEG_INTERNALS |
Functions | |
jpeg_abort (j_common_ptr cinfo) | |
jpeg_destroy (j_common_ptr cinfo) | |
jpeg_alloc_quant_table (j_common_ptr cinfo) | |
jpeg_alloc_huff_table (j_common_ptr cinfo) |
Define Documentation
|
|
Function Documentation
|
Definition at line 29 of file jcomapi.c. References CSTATE_START, DSTATE_START, JPOOL_NUMPOOLS, and JPOOL_PERMANENT. Referenced by jpeg_abort_compress(), jpeg_abort_decompress(), jpeg_finish_compress(), jpeg_finish_decompress(), and jpeg_read_header().
00030 { 00031 int pool; 00032 00033 /* Do nothing if called on a not-initialized or destroyed JPEG object. */ 00034 if (cinfo->mem == NULL) 00035 return; 00036 00037 /* Releasing pools in reverse order might help avoid fragmentation 00038 * with some (brain-damaged) malloc libraries. 00039 */ 00040 for (pool = JPOOL_NUMPOOLS-1; pool > JPOOL_PERMANENT; pool--) { 00041 (*cinfo->mem->free_pool) (cinfo, pool); 00042 } 00043 00044 /* Reset overall state for possible reuse of object */ 00045 if (cinfo->is_decompressor) { 00046 cinfo->global_state = DSTATE_START; 00047 /* Try to keep application from accessing now-deleted marker list. 00048 * A bit kludgy to do it here, but this is the most central place. 00049 */ 00050 ((j_decompress_ptr) cinfo)->marker_list = NULL; 00051 } else { 00052 cinfo->global_state = CSTATE_START; 00053 } 00054 } |
|
Definition at line 98 of file jcomapi.c. References JPOOL_PERMANENT, JHUFF_TBL::sent_table, and SIZEOF. Referenced by add_huff_table(), finish_pass_gather(), finish_pass_gather_phuff(), and get_dht().
00099 { 00100 JHUFF_TBL *tbl; 00101 00102 tbl = (JHUFF_TBL *) 00103 (*cinfo->mem->alloc_small) (cinfo, JPOOL_PERMANENT, SIZEOF(JHUFF_TBL)); 00104 tbl->sent_table = FALSE; /* make sure this is false in any new table */ 00105 return tbl; 00106 } |
|
Definition at line 86 of file jcomapi.c. References JPOOL_PERMANENT, JQUANT_TBL::sent_table, and SIZEOF. Referenced by get_dqt(), jpeg_add_quant_table(), and jpeg_copy_critical_parameters().
00087 { 00088 JQUANT_TBL *tbl; 00089 00090 tbl = (JQUANT_TBL *) 00091 (*cinfo->mem->alloc_small) (cinfo, JPOOL_PERMANENT, SIZEOF(JQUANT_TBL)); 00092 tbl->sent_table = FALSE; /* make sure this is false in any new table */ 00093 return tbl; 00094 } |
|
Definition at line 69 of file jcomapi.c. Referenced by jpeg_destroy_compress(), and jpeg_destroy_decompress().
00070 { 00071 /* We need only tell the memory manager to release everything. */ 00072 /* NB: mem pointer is NULL if memory mgr failed to initialize. */ 00073 if (cinfo->mem != NULL) 00074 (*cinfo->mem->self_destruct) (cinfo); 00075 cinfo->mem = NULL; /* be safe if jpeg_destroy is called twice */ 00076 cinfo->global_state = 0; /* mark it destroyed */ 00077 } |