• Home
  • History
  • Annotate
  • Raw
  • Download

Lines Matching +full:- +full:- +full:with +full:- +full:quantum +full:- +full:depth

20 %  Copyright 1999-2019 ImageMagick Studio LLC, a non-profit organization      %
23 % You may not use this file except in compliance with the License. You may %
45 #include "MagickCore/blob-private.h"
48 #include "MagickCore/color-private.h"
50 #include "MagickCore/colormap-private.h"
52 #include "MagickCore/colorspace-private.h"
54 #include "MagickCore/exception-private.h"
56 #include "MagickCore/image-private.h"
60 #include "MagickCore/memory-private.h"
62 #include "MagickCore/monitor-private.h"
63 #include "MagickCore/pixel-accessor.h"
64 #include "MagickCore/quantum-private.h"
120 % DecodeImage unpacks the packed image pixels into runlength-encoded pixel
162 while (((size_t) (p-compressed_pixels) < length) && in DecodeImage()
163 ((size_t) (q-pixels) < extent)) in DecodeImage()
171 Runlength-encoded packet: <count><byte>. in DecodeImage()
173 if (((size_t) (p-compressed_pixels) >= length)) in DecodeImage()
178 if (((size_t) (p-compressed_pixels) >= length)) in DecodeImage()
182 while ((count >= 0) && ((size_t) (q-pixels) < extent)) in DecodeImage()
185 count--; in DecodeImage()
189 return(((size_t) (q-pixels) == extent) ? MagickTrue : MagickFalse); in DecodeImage()
233 depth, in ReadSUNImage() member
252 register Quantum in ReadSUNImage()
267 quantum; in ReadSUNImage() local
284 assert(image_info->signature == MagickCoreSignature); in ReadSUNImage()
285 if (image_info->debug != MagickFalse) in ReadSUNImage()
287 image_info->filename); in ReadSUNImage()
289 assert(exception->signature == MagickCoreSignature); in ReadSUNImage()
311 sun_info.depth=ReadBlobMSBLong(image); in ReadSUNImage()
326 if ((sun_info.depth != 1) && (sun_info.depth != 8) && in ReadSUNImage()
327 (sun_info.depth != 24) && (sun_info.depth != 32)) in ReadSUNImage()
332 image->columns=sun_info.width; in ReadSUNImage()
333 image->rows=sun_info.height; in ReadSUNImage()
334 image->depth=sun_info.depth <= 8 ? sun_info.depth : in ReadSUNImage()
336 if (sun_info.depth < 24) in ReadSUNImage()
341 image->colors=sun_info.maplength; in ReadSUNImage()
344 image->colors=one << sun_info.depth; in ReadSUNImage()
346 image->colors=sun_info.maplength/3; in ReadSUNImage()
347 if (image->colors == 0) in ReadSUNImage()
349 if (AcquireImageColormap(image,image->colors,exception) == MagickFalse) in ReadSUNImage()
364 sun_colormap=(unsigned char *) AcquireQuantumMemory(image->colors, in ReadSUNImage()
368 count=ReadBlob(image,image->colors,sun_colormap); in ReadSUNImage()
369 if (count != (ssize_t) image->colors) in ReadSUNImage()
374 for (i=0; i < (ssize_t) image->colors; i++) in ReadSUNImage()
375 image->colormap[i].red=(MagickRealType) ScaleCharToQuantum( in ReadSUNImage()
377 count=ReadBlob(image,image->colors,sun_colormap); in ReadSUNImage()
378 if (count != (ssize_t) image->colors) in ReadSUNImage()
383 for (i=0; i < (ssize_t) image->colors; i++) in ReadSUNImage()
384 image->colormap[i].green=(MagickRealType) ScaleCharToQuantum( in ReadSUNImage()
386 count=ReadBlob(image,image->colors,sun_colormap); in ReadSUNImage()
387 if (count != (ssize_t) image->colors) in ReadSUNImage()
392 for (i=0; i < (ssize_t) image->colors; i++) in ReadSUNImage()
393 image->colormap[i].blue=(MagickRealType) ScaleCharToQuantum( in ReadSUNImage()
419 image->alpha_trait=sun_info.depth == 32 ? BlendPixelTrait : in ReadSUNImage()
421 image->columns=sun_info.width; in ReadSUNImage()
422 image->rows=sun_info.height; in ReadSUNImage()
423 if (image_info->ping != MagickFalse) in ReadSUNImage()
428 status=SetImageExtent(image,image->columns,image->rows,exception); in ReadSUNImage()
433 number_pixels=(MagickSizeType) (image->columns*image->rows); in ReadSUNImage()
435 ((number_pixels*sun_info.depth) > (8UL*sun_info.length))) in ReadSUNImage()
437 if (HeapOverflowSanityCheck(sun_info.width,sun_info.depth) != MagickFalse) in ReadSUNImage()
439 bytes_per_line=sun_info.width*sun_info.depth; in ReadSUNImage()
453 if ((height == 0) || (sun_info.width == 0) || (sun_info.depth == 0) || in ReadSUNImage()
454 ((bytes_per_line/sun_info.depth) != sun_info.width)) in ReadSUNImage()
459 quantum=sun_info.depth == 1 ? 15 : 7; in ReadSUNImage()
460 bytes_per_line+=quantum; in ReadSUNImage()
462 if ((bytes_per_line >> 1) != (sun_info.width*sun_info.depth+quantum)) in ReadSUNImage()
474 sun_pixels=(unsigned char *) AcquireQuantumMemory(pixels_length+image->rows, in ReadSUNImage()
481 (void) memset(sun_pixels,0,(pixels_length+image->rows)* in ReadSUNImage()
508 if (sun_info.depth == 1) in ReadSUNImage()
509 for (y=0; y < (ssize_t) image->rows; y++) in ReadSUNImage()
511 q=QueueAuthenticPixels(image,0,y,image->columns,1,exception); in ReadSUNImage()
512 if (q == (Quantum *) NULL) in ReadSUNImage()
514 for (x=0; x < ((ssize_t) image->columns-7); x+=8) in ReadSUNImage()
516 for (bit=7; bit >= 0; bit--) in ReadSUNImage()
518 SetPixelIndex(image,(Quantum) ((*p) & (0x01 << bit) ? 0x00 : 0x01), in ReadSUNImage()
524 if ((image->columns % 8) != 0) in ReadSUNImage()
526 for (bit=7; bit >= (int) (8-(image->columns % 8)); bit--) in ReadSUNImage()
528 SetPixelIndex(image,(Quantum) ((*p) & (0x01 << bit) ? 0x00 : in ReadSUNImage()
534 if ((((image->columns/8)+(image->columns % 8 ? 1 : 0)) % 2) != 0) in ReadSUNImage()
538 if (image->previous == (Image *) NULL) in ReadSUNImage()
541 image->rows); in ReadSUNImage()
547 if (image->storage_class == PseudoClass) in ReadSUNImage()
549 for (y=0; y < (ssize_t) image->rows; y++) in ReadSUNImage()
551 q=QueueAuthenticPixels(image,0,y,image->columns,1,exception); in ReadSUNImage()
552 if (q == (Quantum *) NULL) in ReadSUNImage()
554 for (x=0; x < (ssize_t) image->columns; x++) in ReadSUNImage()
560 if ((image->columns % 2) != 0) in ReadSUNImage()
564 if (image->previous == (Image *) NULL) in ReadSUNImage()
567 image->rows); in ReadSUNImage()
579 if (image->alpha_trait != UndefinedPixelTrait) in ReadSUNImage()
582 bytes_per_line=bytes_per_pixel*image->columns; in ReadSUNImage()
583 for (y=0; y < (ssize_t) image->rows; y++) in ReadSUNImage()
585 q=QueueAuthenticPixels(image,0,y,image->columns,1,exception); in ReadSUNImage()
586 if (q == (Quantum *) NULL) in ReadSUNImage()
588 for (x=0; x < (ssize_t) image->columns; x++) in ReadSUNImage()
590 if (image->alpha_trait != UndefinedPixelTrait) in ReadSUNImage()
604 if (image->colors != 0) in ReadSUNImage()
606 SetPixelRed(image,ClampToQuantum(image->colormap[(ssize_t) in ReadSUNImage()
608 SetPixelGreen(image,ClampToQuantum(image->colormap[(ssize_t) in ReadSUNImage()
610 SetPixelBlue(image,ClampToQuantum(image->colormap[(ssize_t) in ReadSUNImage()
615 if (((bytes_per_pixel*image->columns) % 2) != 0) in ReadSUNImage()
619 if (image->previous == (Image *) NULL) in ReadSUNImage()
622 image->rows); in ReadSUNImage()
628 if (image->storage_class == PseudoClass) in ReadSUNImage()
634 image->filename); in ReadSUNImage()
640 if (image_info->number_scenes != 0) in ReadSUNImage()
641 if (image->scene >= (image_info->scene+image_info->number_scenes-1)) in ReadSUNImage()
683 % whether the format supports native in-memory I/O, and a brief
697 entry->decoder=(DecodeImageHandler *) ReadSUNImage; in RegisterSUNImage()
698 entry->encoder=(EncodeImageHandler *) WriteSUNImage; in RegisterSUNImage()
699 entry->magick=(IsImageFormatHandler *) IsSUN; in RegisterSUNImage()
700 entry->flags|=CoderDecoderSeekableStreamFlag; in RegisterSUNImage()
703 entry->decoder=(DecodeImageHandler *) ReadSUNImage; in RegisterSUNImage()
704 entry->encoder=(EncodeImageHandler *) WriteSUNImage; in RegisterSUNImage()
705 entry->flags|=CoderDecoderSeekableStreamFlag; in RegisterSUNImage()
777 depth, in WriteSUNImage() member
793 register const Quantum in WriteSUNImage()
813 assert(image_info->signature == MagickCoreSignature); in WriteSUNImage()
815 assert(image->signature == MagickCoreSignature); in WriteSUNImage()
816 if (image->debug != MagickFalse) in WriteSUNImage()
817 (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); in WriteSUNImage()
819 assert(exception->signature == MagickCoreSignature); in WriteSUNImage()
832 if ((image->columns != (unsigned int) image->columns) || in WriteSUNImage()
833 (image->rows != (unsigned int) image->rows)) in WriteSUNImage()
835 sun_info.width=(unsigned int) image->columns; in WriteSUNImage()
836 sun_info.height=(unsigned int) image->rows; in WriteSUNImage()
838 (image->storage_class == DirectClass ? RT_FORMAT_RGB : RT_STANDARD); in WriteSUNImage()
841 number_pixels=(MagickSizeType) image->columns*image->rows; in WriteSUNImage()
844 if (image->storage_class == DirectClass) in WriteSUNImage()
849 sun_info.depth=(unsigned int) image->alpha_trait != in WriteSUNImage()
851 sun_info.length=(unsigned int) ((image->alpha_trait != in WriteSUNImage()
853 sun_info.length+=sun_info.length & 0x01 ? (unsigned int) image->rows : in WriteSUNImage()
862 sun_info.depth=1; in WriteSUNImage()
863 sun_info.length=(unsigned int) (((image->columns+7) >> 3)* in WriteSUNImage()
864 image->rows); in WriteSUNImage()
865 sun_info.length+=(unsigned int) (((image->columns/8)+(image->columns % in WriteSUNImage()
866 8 ? 1 : 0)) % 2 ? image->rows : 0); in WriteSUNImage()
873 sun_info.depth=8; in WriteSUNImage()
875 sun_info.length+=(unsigned int) (image->columns & 0x01 ? image->rows : in WriteSUNImage()
878 sun_info.maplength=(unsigned int) (3*image->colors); in WriteSUNImage()
886 (void) WriteBlobMSBLong(image,sun_info.depth); in WriteSUNImage()
896 if (image->storage_class == DirectClass) in WriteSUNImage()
912 if (image->alpha_trait != UndefinedPixelTrait) in WriteSUNImage()
914 length=image->columns; in WriteSUNImage()
921 for (y=0; y < (ssize_t) image->rows; y++) in WriteSUNImage()
923 p=GetVirtualPixels(image,0,y,image->columns,1,exception); in WriteSUNImage()
924 if (p == (const Quantum *) NULL) in WriteSUNImage()
927 for (x=0; x < (ssize_t) image->columns; x++) in WriteSUNImage()
929 if (image->alpha_trait != UndefinedPixelTrait) in WriteSUNImage()
936 if (((bytes_per_pixel*image->columns) & 0x01) != 0) in WriteSUNImage()
938 (void) WriteBlob(image,(size_t) (q-pixels),pixels); in WriteSUNImage()
939 if (image->previous == (Image *) NULL) in WriteSUNImage()
942 image->rows); in WriteSUNImage()
960 for (y=0; y < (ssize_t) image->rows; y++) in WriteSUNImage()
962 p=GetVirtualPixels(image,0,y,image->columns,1,exception); in WriteSUNImage()
963 if (p == (const Quantum *) NULL) in WriteSUNImage()
967 for (x=0; x < (ssize_t) image->columns; x++) in WriteSUNImage()
982 (void) WriteBlobByte(image,(unsigned char) (byte << (8-bit))); in WriteSUNImage()
983 if ((((image->columns/8)+ in WriteSUNImage()
984 (image->columns % 8 ? 1 : 0)) % 2) != 0) in WriteSUNImage()
986 if (image->previous == (Image *) NULL) in WriteSUNImage()
989 image->rows); in WriteSUNImage()
1000 for (i=0; i < (ssize_t) image->colors; i++) in WriteSUNImage()
1002 ClampToQuantum(image->colormap[i].red))); in WriteSUNImage()
1003 for (i=0; i < (ssize_t) image->colors; i++) in WriteSUNImage()
1005 ClampToQuantum(image->colormap[i].green))); in WriteSUNImage()
1006 for (i=0; i < (ssize_t) image->colors; i++) in WriteSUNImage()
1008 ClampToQuantum(image->colormap[i].blue))); in WriteSUNImage()
1012 for (y=0; y < (ssize_t) image->rows; y++) in WriteSUNImage()
1014 p=GetVirtualPixels(image,0,y,image->columns,1,exception); in WriteSUNImage()
1015 if (p == (const Quantum *) NULL) in WriteSUNImage()
1017 for (x=0; x < (ssize_t) image->columns; x++) in WriteSUNImage()
1023 if (image->columns & 0x01) in WriteSUNImage()
1025 if (image->previous == (Image *) NULL) in WriteSUNImage()
1028 image->rows); in WriteSUNImage()
1040 } while (image_info->adjoin != MagickFalse); in WriteSUNImage()