]> granicus.if.org Git - imagemagick/blobdiff - coders/djvu.c
(no commit message)
[imagemagick] / coders / djvu.c
index 6503f00cba7a7d0f94c8904a7f721357919d15ef..5d8cb66dcbe5f4f9616ae7cb3a2bf7886fb009f8 100644 (file)
@@ -17,7 +17,7 @@
 %                                 July 1992                                   %
 %                                                                             %
 %                                                                             %
-%  Copyright 1999-2010 ImageMagick Studio LLC, a non-profit organization      %
+%  Copyright 1999-2011 ImageMagick Studio LLC, a non-profit organization      %
 %  dedicated to making software imaging solutions freely available.           %
 %                                                                             %
 %  You may not use this file except in compliance with the License.  You may  %
@@ -381,6 +381,7 @@ get_page_image(LoadContext *lc, ddjvu_page_t *page, int x, int y, int w, int h,
                                     format,
                                     stride, /* ?? */
                                     (char*)q);
+        (void) ret;
         ddjvu_format_release(format);
 
 
@@ -406,7 +407,7 @@ get_page_image(LoadContext *lc, ddjvu_page_t *page, int x, int y, int w, int h,
                                         {
                                                 if (bit == 0) byte= (size_t) q[(y * stride) + (x / 8)];
 
-                                                indexes[x]=(IndexPacket) (((byte & 0x01) != 0) ? 0x00 : 0x01);
+                                                SetIndexPixelComponent(indexes+x,(IndexPacket) (((byte & 0x01) != 0) ? 0x00 : 0x01));
                                                 bit++;
                                                 if (bit == 8)
                                                         bit=0;
@@ -415,7 +416,8 @@ get_page_image(LoadContext *lc, ddjvu_page_t *page, int x, int y, int w, int h,
                                 if (SyncAuthenticPixels(image,&image->exception) == MagickFalse)
                                         break;
                         }
-                SyncImage(image);
+                if (!image->ping)
+                  SyncImage(image);
         } else {
 #if DEBUG
                 printf("%s: expanding PHOTO page/image\n", __FUNCTION__);
@@ -435,13 +437,15 @@ get_page_image(LoadContext *lc, ddjvu_page_t *page, int x, int y, int w, int h,
                                if (i % 1000 == 0) printf("%d\n",i);
 #endif
                                r = QueueAuthenticPixels(lc->image,0,i,lc->image->columns,1,&image->exception);
+                               if (r == (PixelPacket *) NULL)
+                                 break;
 
-                                ImportQuantumPixels(lc->image,
+                               ImportQuantumPixels(lc->image,
                                                     (CacheView *) NULL,
                                                     quantum_info,
                                                     RGBQuantum, /*GrayQuantum*/
                                                     q+i*stride,&image->exception);
-                                SyncAuthenticPixels(lc->image,&image->exception);
+                              SyncAuthenticPixels(lc->image,&image->exception);
                         }
         }
         q=(unsigned char *) RelinquishMagickMemory(q);
@@ -578,6 +582,7 @@ static Image *ReadOneDJVUImage(LoadContext* lc,const int pagenum,
         /* register PixelPacket *q; */
 
         logging=LogMagickEvent(CoderEvent,GetMagickModule(), "  enter ReadOneDJVUImage()");
+        (void) logging;
 
 #if DEBUG
         printf("====  Loading the page %d\n", pagenum);
@@ -689,7 +694,8 @@ static Image *ReadOneDJVUImage(LoadContext* lc,const int pagenum,
           (double) image->rows);
 #endif
 
-        SyncImage(image);
+        if (!image->ping)
+          SyncImage(image);
         quantum_info=DestroyQuantumInfo(quantum_info);
         /* indexes=GetAuthenticIndexQueue(image); */
         /* mmc: ??? Convert PNM pixels to runlength-encoded MIFF packets. */
@@ -776,6 +782,7 @@ static Image *ReadDJVUImage(const ImageInfo *image_info,
 
 
   logging = LogMagickEvent(CoderEvent,GetMagickModule(),"enter ReadDJVUImage()");
+  (void) logging;
 
   image = AcquireImage(image_info); /* mmc: ?? */
 
@@ -799,7 +806,7 @@ static Image *ReadDJVUImage(const ImageInfo *image_info,
   /*
    * Allocate a LoadContext structure.
    */
-  lc = (LoadContext *) AcquireAlignedMemory(1,sizeof(*lc));
+  lc = (LoadContext *) AcquireMagickMemory(sizeof(*lc));
   if (lc == NULL)
     ThrowReaderException(ResourceLimitError,"MemoryAllocationFailed");