summaryrefslogtreecommitdiff
path: root/fitz/res_pixmap.c
diff options
context:
space:
mode:
authorRobin Watts <robin.watts@artifex.com>2011-12-15 00:43:54 +0000
committerRobin Watts <robin.watts@artifex.com>2011-12-15 00:43:54 +0000
commitba4cca2c65677aeffb088117169abbc12ebec3fc (patch)
tree08379a140cd14f2164114d43a722fabf111a0fff /fitz/res_pixmap.c
parent313e8f82816c839b3de47e1137a91414bb95a327 (diff)
downloadmupdf-ba4cca2c65677aeffb088117169abbc12ebec3fc.tar.xz
Remove 'soft limit' on pixmaps in favour of fz_store.
Change the fz_store to be limited to 256 Megs. Remove the soft limit for pixmaps; the store will automatically throw old resources away to stay below the limit.
Diffstat (limited to 'fitz/res_pixmap.c')
-rw-r--r--fitz/res_pixmap.c21
1 files changed, 1 insertions, 20 deletions
diff --git a/fitz/res_pixmap.c b/fitz/res_pixmap.c
index c8ae7540..0f6e192d 100644
--- a/fitz/res_pixmap.c
+++ b/fitz/res_pixmap.c
@@ -1,8 +1,5 @@
#include "fitz.h"
-static int fz_memory_limit = 256 << 20;
-static int fz_memory_used = 0;
-
fz_pixmap *
fz_keep_pixmap(fz_pixmap *pix)
{
@@ -18,7 +15,6 @@ fz_drop_pixmap(fz_context *ctx, fz_pixmap *pix)
void
fz_free_pixmap_imp(fz_context *ctx, fz_pixmap *pix)
{
- fz_memory_used -= pix->w * pix->h * pix->n;
if (pix->mask)
fz_drop_pixmap(ctx, pix->mask);
if (pix->colorspace)
@@ -59,7 +55,6 @@ fz_new_pixmap_with_data(fz_context *ctx, fz_colorspace *colorspace, int w, int h
}
else
{
- fz_memory_used += pix->w * pix->h * pix->n;
pix->samples = fz_malloc_array(ctx, pix->h, pix->w * pix->n);
pix->free_samples = 1;
}
@@ -68,20 +63,6 @@ fz_new_pixmap_with_data(fz_context *ctx, fz_colorspace *colorspace, int w, int h
}
fz_pixmap *
-fz_new_pixmap_with_limit(fz_context *ctx, fz_colorspace *colorspace, int w, int h)
-{
- int n = colorspace ? colorspace->n + 1 : 1;
- int size = w * h * n;
- if (fz_memory_used + size > fz_memory_limit)
- {
- fz_warn(ctx, "pixmap memory exceeds soft limit %dM + %dM > %dM",
- fz_memory_used/(1<<20), size/(1<<20), fz_memory_limit/(1<<20));
- return NULL;
- }
- return fz_new_pixmap_with_data(ctx, colorspace, w, h, NULL);
-}
-
-fz_pixmap *
fz_new_pixmap(fz_context *ctx, fz_colorspace *colorspace, int w, int h)
{
return fz_new_pixmap_with_data(ctx, colorspace, w, h, NULL);
@@ -541,5 +522,5 @@ fz_pixmap_size(fz_pixmap * pix)
{
if (pix == NULL)
return 0;
- return sizeof(*pix) + pix->n * pix->x * pix->y;
+ return sizeof(*pix) + pix->n * pix->w * pix->h;
}