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 }
|