• Home
  • Raw
  • Download

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

20 %  Copyright 1999-2021 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"
61 #include "MagickCore/monitor-private.h"
62 #include "MagickCore/pixel-accessor.h"
63 #include "MagickCore/quantum-private.h"
119 % DecodeImage unpacks the packed image pixels into runlength-encoded pixel
161 while (((size_t) (p-compressed_pixels) < length) && in DecodeImage()
162 ((size_t) (q-pixels) < extent)) in DecodeImage()
170 Runlength-encoded packet: <count><byte>. in DecodeImage()
172 if (((size_t) (p-compressed_pixels) >= length)) in DecodeImage()
177 if (((size_t) (p-compressed_pixels) >= length)) in DecodeImage()
181 while ((count >= 0) && ((size_t) (q-pixels) < extent)) in DecodeImage()
184 count--; in DecodeImage()
188 return(((size_t) (q-pixels) == extent) ? MagickTrue : MagickFalse); in DecodeImage()
232 depth, in ReadSUNImage() member
251 Quantum in ReadSUNImage()
266 quantum; in ReadSUNImage() local
283 assert(image_info->signature == MagickCoreSignature); in ReadSUNImage()
284 if (image_info->debug != MagickFalse) in ReadSUNImage()
286 image_info->filename); in ReadSUNImage()
288 assert(exception->signature == MagickCoreSignature); in ReadSUNImage()
310 sun_info.depth=ReadBlobMSBLong(image); in ReadSUNImage()
325 if ((sun_info.depth != 1) && (sun_info.depth != 8) && in ReadSUNImage()
326 (sun_info.depth != 24) && (sun_info.depth != 32)) in ReadSUNImage()
331 image->columns=sun_info.width; in ReadSUNImage()
332 image->rows=sun_info.height; in ReadSUNImage()
333 image->depth=sun_info.depth <= 8 ? sun_info.depth : in ReadSUNImage()
335 if (sun_info.depth < 24) in ReadSUNImage()
340 image->colors=sun_info.maplength; in ReadSUNImage()
343 image->colors=one << sun_info.depth; in ReadSUNImage()
345 image->colors=sun_info.maplength/3; in ReadSUNImage()
346 if (image->colors == 0) in ReadSUNImage()
348 if (AcquireImageColormap(image,image->colors,exception) == MagickFalse) in ReadSUNImage()
363 sun_colormap=(unsigned char *) AcquireQuantumMemory(image->colors, in ReadSUNImage()
367 count=ReadBlob(image,image->colors,sun_colormap); in ReadSUNImage()
368 if (count != (ssize_t) image->colors) in ReadSUNImage()
373 for (i=0; i < (ssize_t) image->colors; i++) in ReadSUNImage()
374 image->colormap[i].red=(MagickRealType) ScaleCharToQuantum( in ReadSUNImage()
376 count=ReadBlob(image,image->colors,sun_colormap); in ReadSUNImage()
377 if (count != (ssize_t) image->colors) in ReadSUNImage()
382 for (i=0; i < (ssize_t) image->colors; i++) in ReadSUNImage()
383 image->colormap[i].green=(MagickRealType) ScaleCharToQuantum( in ReadSUNImage()
385 count=ReadBlob(image,image->colors,sun_colormap); in ReadSUNImage()
386 if (count != (ssize_t) image->colors) in ReadSUNImage()
391 for (i=0; i < (ssize_t) image->colors; i++) in ReadSUNImage()
392 image->colormap[i].blue=(MagickRealType) ScaleCharToQuantum( in ReadSUNImage()
418 image->alpha_trait=sun_info.depth == 32 ? BlendPixelTrait : in ReadSUNImage()
420 image->columns=sun_info.width; in ReadSUNImage()
421 image->rows=sun_info.height; in ReadSUNImage()
422 if (image_info->ping != MagickFalse) in ReadSUNImage()
427 status=SetImageExtent(image,image->columns,image->rows,exception); in ReadSUNImage()
432 number_pixels=(MagickSizeType) (image->columns*image->rows); in ReadSUNImage()
434 ((number_pixels*sun_info.depth) > (8UL*sun_info.length))) in ReadSUNImage()
436 … if (HeapOverflowSanityCheckGetSize(sun_info.width,sun_info.depth,&bytes_per_line) != MagickFalse) in ReadSUNImage()
452 if ((height == 0) || (sun_info.width == 0) || (sun_info.depth == 0) || in ReadSUNImage()
453 ((bytes_per_line/sun_info.depth) != sun_info.width)) in ReadSUNImage()
458 quantum=sun_info.depth == 1 ? 15 : 7; in ReadSUNImage()
459 bytes_per_line+=quantum; in ReadSUNImage()
461 if ((bytes_per_line >> 1) != ((size_t) sun_info.width*sun_info.depth+quantum)) in ReadSUNImage()
472 sun_pixels=(unsigned char *) AcquireQuantumMemory(pixels_length+image->rows, in ReadSUNImage()
479 (void) memset(sun_pixels,0,(pixels_length+image->rows)*sizeof(*sun_pixels)); in ReadSUNImage()
495 image->filename); in ReadSUNImage()
498 if (sun_info.length > (pixels_length+image->rows)) in ReadSUNImage()
511 if (sun_info.depth == 1) in ReadSUNImage()
512 for (y=0; y < (ssize_t) image->rows; y++) in ReadSUNImage()
514 q=QueueAuthenticPixels(image,0,y,image->columns,1,exception); in ReadSUNImage()
515 if (q == (Quantum *) NULL) in ReadSUNImage()
517 for (x=0; x < ((ssize_t) image->columns-7); x+=8) in ReadSUNImage()
519 for (bit=7; bit >= 0; bit--) in ReadSUNImage()
521 SetPixelIndex(image,(Quantum) ((*p) & (0x01 << bit) ? 0x00 : 0x01), in ReadSUNImage()
527 if ((image->columns % 8) != 0) in ReadSUNImage()
529 for (bit=7; bit >= (int) (8-(image->columns % 8)); bit--) in ReadSUNImage()
531 SetPixelIndex(image,(Quantum) ((*p) & (0x01 << bit) ? 0x00 : in ReadSUNImage()
537 if ((((image->columns/8)+(image->columns % 8 ? 1 : 0)) % 2) != 0) in ReadSUNImage()
541 if (image->previous == (Image *) NULL) in ReadSUNImage()
544 image->rows); in ReadSUNImage()
550 if (image->storage_class == PseudoClass) in ReadSUNImage()
552 for (y=0; y < (ssize_t) image->rows; y++) in ReadSUNImage()
554 q=QueueAuthenticPixels(image,0,y,image->columns,1,exception); in ReadSUNImage()
555 if (q == (Quantum *) NULL) in ReadSUNImage()
557 for (x=0; x < (ssize_t) image->columns; x++) in ReadSUNImage()
563 if ((image->columns % 2) != 0) in ReadSUNImage()
567 if (image->previous == (Image *) NULL) in ReadSUNImage()
570 image->rows); in ReadSUNImage()
582 if (image->alpha_trait != UndefinedPixelTrait) in ReadSUNImage()
585 bytes_per_line=bytes_per_pixel*image->columns; in ReadSUNImage()
586 for (y=0; y < (ssize_t) image->rows; y++) in ReadSUNImage()
588 q=QueueAuthenticPixels(image,0,y,image->columns,1,exception); in ReadSUNImage()
589 if (q == (Quantum *) NULL) in ReadSUNImage()
591 for (x=0; x < (ssize_t) image->columns; x++) in ReadSUNImage()
593 if (image->alpha_trait != UndefinedPixelTrait) in ReadSUNImage()
607 if (image->colors != 0) in ReadSUNImage()
609 SetPixelRed(image,ClampToQuantum(image->colormap[(ssize_t) in ReadSUNImage()
611 SetPixelGreen(image,ClampToQuantum(image->colormap[(ssize_t) in ReadSUNImage()
613 SetPixelBlue(image,ClampToQuantum(image->colormap[(ssize_t) in ReadSUNImage()
618 if (((bytes_per_pixel*image->columns) % 2) != 0) in ReadSUNImage()
622 if (image->previous == (Image *) NULL) in ReadSUNImage()
625 image->rows); in ReadSUNImage()
631 if (image->storage_class == PseudoClass) in ReadSUNImage()
637 if (image_info->number_scenes != 0) in ReadSUNImage()
638 if (image->scene >= (image_info->scene+image_info->number_scenes-1)) in ReadSUNImage()
680 % whether the format supports native in-memory I/O, and a brief
694 entry->decoder=(DecodeImageHandler *) ReadSUNImage; in RegisterSUNImage()
695 entry->encoder=(EncodeImageHandler *) WriteSUNImage; in RegisterSUNImage()
696 entry->magick=(IsImageFormatHandler *) IsSUN; in RegisterSUNImage()
697 entry->flags|=CoderDecoderSeekableStreamFlag; in RegisterSUNImage()
700 entry->decoder=(DecodeImageHandler *) ReadSUNImage; in RegisterSUNImage()
701 entry->encoder=(EncodeImageHandler *) WriteSUNImage; in RegisterSUNImage()
702 entry->flags|=CoderDecoderSeekableStreamFlag; in RegisterSUNImage()
774 depth, in WriteSUNImage() member
790 const Quantum in WriteSUNImage()
810 assert(image_info->signature == MagickCoreSignature); in WriteSUNImage()
812 assert(image->signature == MagickCoreSignature); in WriteSUNImage()
813 if (image->debug != MagickFalse) in WriteSUNImage()
814 (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename); in WriteSUNImage()
816 assert(exception->signature == MagickCoreSignature); in WriteSUNImage()
829 if ((image->columns != (unsigned int) image->columns) || in WriteSUNImage()
830 (image->rows != (unsigned int) image->rows)) in WriteSUNImage()
832 sun_info.width=(unsigned int) image->columns; in WriteSUNImage()
833 sun_info.height=(unsigned int) image->rows; in WriteSUNImage()
835 (image->storage_class == DirectClass ? RT_FORMAT_RGB : RT_STANDARD); in WriteSUNImage()
838 number_pixels=(MagickSizeType) image->columns*image->rows; in WriteSUNImage()
841 if (image->storage_class == DirectClass) in WriteSUNImage()
846 sun_info.depth=(unsigned int) image->alpha_trait != in WriteSUNImage()
848 sun_info.length=(unsigned int) ((image->alpha_trait != in WriteSUNImage()
850 sun_info.length+=sun_info.length & 0x01 ? (unsigned int) image->rows : in WriteSUNImage()
859 sun_info.depth=1; in WriteSUNImage()
860 sun_info.length=(unsigned int) (((image->columns+7) >> 3)* in WriteSUNImage()
861 image->rows); in WriteSUNImage()
862 sun_info.length+=(unsigned int) (((image->columns/8)+(image->columns % in WriteSUNImage()
863 8 ? 1 : 0)) % 2 ? image->rows : 0); in WriteSUNImage()
870 sun_info.depth=8; in WriteSUNImage()
872 sun_info.length+=(unsigned int) (image->columns & 0x01 ? image->rows : in WriteSUNImage()
875 sun_info.maplength=(unsigned int) (3*image->colors); in WriteSUNImage()
883 (void) WriteBlobMSBLong(image,sun_info.depth); in WriteSUNImage()
893 if (image->storage_class == DirectClass) in WriteSUNImage()
909 if (image->alpha_trait != UndefinedPixelTrait) in WriteSUNImage()
911 length=image->columns; in WriteSUNImage()
918 for (y=0; y < (ssize_t) image->rows; y++) in WriteSUNImage()
920 p=GetVirtualPixels(image,0,y,image->columns,1,exception); in WriteSUNImage()
921 if (p == (const Quantum *) NULL) in WriteSUNImage()
924 for (x=0; x < (ssize_t) image->columns; x++) in WriteSUNImage()
926 if (image->alpha_trait != UndefinedPixelTrait) in WriteSUNImage()
933 if (((bytes_per_pixel*image->columns) & 0x01) != 0) in WriteSUNImage()
935 (void) WriteBlob(image,(size_t) (q-pixels),pixels); in WriteSUNImage()
936 if (image->previous == (Image *) NULL) in WriteSUNImage()
939 image->rows); in WriteSUNImage()
957 for (y=0; y < (ssize_t) image->rows; y++) in WriteSUNImage()
959 p=GetVirtualPixels(image,0,y,image->columns,1,exception); in WriteSUNImage()
960 if (p == (const Quantum *) NULL) in WriteSUNImage()
964 for (x=0; x < (ssize_t) image->columns; x++) in WriteSUNImage()
979 (void) WriteBlobByte(image,(unsigned char) (byte << (8-bit))); in WriteSUNImage()
980 if ((((image->columns/8)+ in WriteSUNImage()
981 (image->columns % 8 ? 1 : 0)) % 2) != 0) in WriteSUNImage()
983 if (image->previous == (Image *) NULL) in WriteSUNImage()
986 image->rows); in WriteSUNImage()
997 for (i=0; i < (ssize_t) image->colors; i++) in WriteSUNImage()
999 ClampToQuantum(image->colormap[i].red))); in WriteSUNImage()
1000 for (i=0; i < (ssize_t) image->colors; i++) in WriteSUNImage()
1002 ClampToQuantum(image->colormap[i].green))); in WriteSUNImage()
1003 for (i=0; i < (ssize_t) image->colors; i++) in WriteSUNImage()
1005 ClampToQuantum(image->colormap[i].blue))); in WriteSUNImage()
1009 for (y=0; y < (ssize_t) image->rows; y++) in WriteSUNImage()
1011 p=GetVirtualPixels(image,0,y,image->columns,1,exception); in WriteSUNImage()
1012 if (p == (const Quantum *) NULL) in WriteSUNImage()
1014 for (x=0; x < (ssize_t) image->columns; x++) in WriteSUNImage()
1020 if (image->columns & 0x01) in WriteSUNImage()
1022 if (image->previous == (Image *) NULL) in WriteSUNImage()
1025 image->rows); in WriteSUNImage()
1037 } while (image_info->adjoin != MagickFalse); in WriteSUNImage()