/* * jmemnobs.c * * This file was part of the Independent JPEG Group's software: * Copyright (C) 1992-1996, Thomas G. Lane. * libjpeg-turbo Modifications: * Copyright (C) 2017-2018, 2024, D. R. Commander. * For conditions of distribution and use, see the accompanying README.ijg * file. * * This file provides a really simple implementation of the system- * dependent portion of the JPEG memory manager. This implementation * assumes that no backing-store files are needed: all required space * can be obtained from malloc(). * This is very portable in the sense that it'll compile on almost anything, * but you'd better have lots of main memory (or virtual memory) if you want * to process big images.
*/
#define JPEG_INTERNALS #include"jinclude.h" #include"jpeglib.h" #include"jmemsys.h"/* import the system-dependent declarations */
/* * Memory allocation and freeing are controlled by the regular library * routines malloc() and free().
*/
/* * This routine computes the total memory space available for allocation.
*/
GLOBAL(size_t)
jpeg_mem_available(j_common_ptr cinfo, size_t min_bytes_needed,
size_t max_bytes_needed, size_t already_allocated)
{ if (cinfo->mem->max_memory_to_use) { if ((size_t)cinfo->mem->max_memory_to_use > already_allocated) return cinfo->mem->max_memory_to_use - already_allocated; else return 0;
} else { /* Here we always say, "we got all you want bud!" */ return max_bytes_needed;
}
}
/* * Backing store (temporary file) management. * Since jpeg_mem_available always promised the moon, * this should never be called and we can just error out.
*/
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.