• Home
  • Raw
  • Download

Lines Matching refs:matrix_info

133   const MatrixInfo *magick_restrict matrix_info,const MagickOffsetType offset,  in WriteMatrixElements()  argument
143 LockSemaphoreInfo(matrix_info->semaphore); in WriteMatrixElements()
144 if (lseek(matrix_info->file,offset,SEEK_SET) < 0) in WriteMatrixElements()
146 UnlockSemaphoreInfo(matrix_info->semaphore); in WriteMatrixElements()
154 count=write(matrix_info->file,buffer+i,(size_t) MagickMin(length-i, in WriteMatrixElements()
157 count=pwrite(matrix_info->file,buffer+i,(size_t) MagickMin(length-i, in WriteMatrixElements()
168 UnlockSemaphoreInfo(matrix_info->semaphore); in WriteMatrixElements()
174 MatrixInfo *magick_restrict matrix_info,MagickSizeType length) in SetMatrixExtent() argument
183 offset=(MagickOffsetType) lseek(matrix_info->file,0,SEEK_END); in SetMatrixExtent()
189 count=WriteMatrixElements(matrix_info,extent,1,(const unsigned char *) ""); in SetMatrixExtent()
191 if (matrix_info->synchronize != MagickFalse) in SetMatrixExtent()
192 (void) posix_fallocate(matrix_info->file,offset+1,extent-offset); in SetMatrixExtent()
210 *matrix_info; in AcquireMatrixInfo() local
212 matrix_info=(MatrixInfo *) AcquireMagickMemory(sizeof(*matrix_info)); in AcquireMatrixInfo()
213 if (matrix_info == (MatrixInfo *) NULL) in AcquireMatrixInfo()
215 (void) memset(matrix_info,0,sizeof(*matrix_info)); in AcquireMatrixInfo()
216 matrix_info->signature=MagickCoreSignature; in AcquireMatrixInfo()
217 matrix_info->columns=columns; in AcquireMatrixInfo()
218 matrix_info->rows=rows; in AcquireMatrixInfo()
219 matrix_info->stride=stride; in AcquireMatrixInfo()
220 matrix_info->semaphore=AcquireSemaphoreInfo(); in AcquireMatrixInfo()
224 matrix_info->synchronize=IsStringTrue(synchronize); in AcquireMatrixInfo()
227 matrix_info->length=(MagickSizeType) columns*rows*stride; in AcquireMatrixInfo()
228 if (matrix_info->columns != (size_t) (matrix_info->length/rows/stride)) in AcquireMatrixInfo()
232 return(DestroyMatrixInfo(matrix_info)); in AcquireMatrixInfo()
234 matrix_info->type=MemoryCache; in AcquireMatrixInfo()
235 status=AcquireMagickResource(AreaResource,matrix_info->length); in AcquireMatrixInfo()
237 (matrix_info->length == (MagickSizeType) ((size_t) matrix_info->length))) in AcquireMatrixInfo()
239 status=AcquireMagickResource(MemoryResource,matrix_info->length); in AcquireMatrixInfo()
242 matrix_info->mapped=MagickFalse; in AcquireMatrixInfo()
243 matrix_info->elements=AcquireMagickMemory((size_t) in AcquireMatrixInfo()
244 matrix_info->length); in AcquireMatrixInfo()
245 if (matrix_info->elements == NULL) in AcquireMatrixInfo()
247 matrix_info->mapped=MagickTrue; in AcquireMatrixInfo()
248 matrix_info->elements=MapBlob(-1,IOMode,0,(size_t) in AcquireMatrixInfo()
249 matrix_info->length); in AcquireMatrixInfo()
251 if (matrix_info->elements == (unsigned short *) NULL) in AcquireMatrixInfo()
252 RelinquishMagickResource(MemoryResource,matrix_info->length); in AcquireMatrixInfo()
255 matrix_info->file=(-1); in AcquireMatrixInfo()
256 if (matrix_info->elements == (unsigned short *) NULL) in AcquireMatrixInfo()
258 status=AcquireMagickResource(DiskResource,matrix_info->length); in AcquireMatrixInfo()
263 return(DestroyMatrixInfo(matrix_info)); in AcquireMatrixInfo()
265 matrix_info->type=DiskCache; in AcquireMatrixInfo()
266 matrix_info->file=AcquireUniqueFileResource(matrix_info->path); in AcquireMatrixInfo()
267 if (matrix_info->file == -1) in AcquireMatrixInfo()
268 return(DestroyMatrixInfo(matrix_info)); in AcquireMatrixInfo()
269 status=AcquireMagickResource(MapResource,matrix_info->length); in AcquireMatrixInfo()
272 status=SetMatrixExtent(matrix_info,matrix_info->length); in AcquireMatrixInfo()
274 matrix_info->elements=(void *) MapBlob(matrix_info->file,IOMode,0, in AcquireMatrixInfo()
275 (size_t) matrix_info->length); in AcquireMatrixInfo()
276 if (matrix_info->elements != NULL) in AcquireMatrixInfo()
277 matrix_info->type=MapCache; in AcquireMatrixInfo()
279 RelinquishMagickResource(MapResource,matrix_info->length); in AcquireMatrixInfo()
282 return(matrix_info); in AcquireMatrixInfo()
369 MagickExport MatrixInfo *DestroyMatrixInfo(MatrixInfo *matrix_info) in DestroyMatrixInfo() argument
371 assert(matrix_info != (MatrixInfo *) NULL); in DestroyMatrixInfo()
372 assert(matrix_info->signature == MagickCoreSignature); in DestroyMatrixInfo()
373 LockSemaphoreInfo(matrix_info->semaphore); in DestroyMatrixInfo()
374 switch (matrix_info->type) in DestroyMatrixInfo()
378 if (matrix_info->mapped == MagickFalse) in DestroyMatrixInfo()
379 matrix_info->elements=RelinquishMagickMemory(matrix_info->elements); in DestroyMatrixInfo()
382 (void) UnmapBlob(matrix_info->elements,(size_t) matrix_info->length); in DestroyMatrixInfo()
383 matrix_info->elements=(unsigned short *) NULL; in DestroyMatrixInfo()
385 RelinquishMagickResource(MemoryResource,matrix_info->length); in DestroyMatrixInfo()
390 (void) UnmapBlob(matrix_info->elements,(size_t) matrix_info->length); in DestroyMatrixInfo()
391 matrix_info->elements=NULL; in DestroyMatrixInfo()
392 RelinquishMagickResource(MapResource,matrix_info->length); in DestroyMatrixInfo()
396 if (matrix_info->file != -1) in DestroyMatrixInfo()
397 (void) close(matrix_info->file); in DestroyMatrixInfo()
398 (void) RelinquishUniqueFileResource(matrix_info->path); in DestroyMatrixInfo()
399 RelinquishMagickResource(DiskResource,matrix_info->length); in DestroyMatrixInfo()
405 UnlockSemaphoreInfo(matrix_info->semaphore); in DestroyMatrixInfo()
406 RelinquishSemaphoreInfo(&matrix_info->semaphore); in DestroyMatrixInfo()
407 return((MatrixInfo *) RelinquishMagickMemory(matrix_info)); in DestroyMatrixInfo()
609 MagickExport size_t GetMatrixColumns(const MatrixInfo *matrix_info) in GetMatrixColumns() argument
611 assert(matrix_info != (MatrixInfo *) NULL); in GetMatrixColumns()
612 assert(matrix_info->signature == MagickCoreSignature); in GetMatrixColumns()
613 return(matrix_info->columns); in GetMatrixColumns()
665 const MatrixInfo *magick_restrict matrix_info,const MagickOffsetType offset, in ReadMatrixElements() argument
675 LockSemaphoreInfo(matrix_info->semaphore); in ReadMatrixElements()
676 if (lseek(matrix_info->file,offset,SEEK_SET) < 0) in ReadMatrixElements()
678 UnlockSemaphoreInfo(matrix_info->semaphore); in ReadMatrixElements()
686 count=read(matrix_info->file,buffer+i,(size_t) MagickMin(length-i, in ReadMatrixElements()
689 count=pread(matrix_info->file,buffer+i,(size_t) MagickMin(length-i, in ReadMatrixElements()
700 UnlockSemaphoreInfo(matrix_info->semaphore); in ReadMatrixElements()
705 MagickExport MagickBooleanType GetMatrixElement(const MatrixInfo *matrix_info, in GetMatrixElement() argument
712 assert(matrix_info != (const MatrixInfo *) NULL); in GetMatrixElement()
713 assert(matrix_info->signature == MagickCoreSignature); in GetMatrixElement()
714 i=(MagickOffsetType) EdgeY(y,matrix_info->rows)*matrix_info->columns+ in GetMatrixElement()
715 EdgeX(x,matrix_info->columns); in GetMatrixElement()
716 if (matrix_info->type != DiskCache) in GetMatrixElement()
718 (void) memcpy(value,(unsigned char *) matrix_info->elements+i* in GetMatrixElement()
719 matrix_info->stride,matrix_info->stride); in GetMatrixElement()
722 count=ReadMatrixElements(matrix_info,i*matrix_info->stride, in GetMatrixElement()
723 matrix_info->stride,(unsigned char *) value); in GetMatrixElement()
724 if (count != (MagickOffsetType) matrix_info->stride) in GetMatrixElement()
751 MagickExport size_t GetMatrixRows(const MatrixInfo *matrix_info) in GetMatrixRows() argument
753 assert(matrix_info != (const MatrixInfo *) NULL); in GetMatrixRows()
754 assert(matrix_info->signature == MagickCoreSignature); in GetMatrixRows()
755 return(matrix_info->rows); in GetMatrixRows()
872 MagickExport Image *MatrixToImage(const MatrixInfo *matrix_info, in MatrixToImage() argument
893 assert(matrix_info != (const MatrixInfo *) NULL); in MatrixToImage()
894 assert(matrix_info->signature == MagickCoreSignature); in MatrixToImage()
897 if (matrix_info->stride < sizeof(double)) in MatrixToImage()
902 (void) GetMatrixElement(matrix_info,0,0,&value); in MatrixToImage()
905 for (y=0; y < (ssize_t) matrix_info->rows; y++) in MatrixToImage()
910 for (x=0; x < (ssize_t) matrix_info->columns; x++) in MatrixToImage()
912 if (GetMatrixElement(matrix_info,x,y,&value) == MagickFalse) in MatrixToImage()
935 image->columns=matrix_info->columns; in MatrixToImage()
936 image->rows=matrix_info->rows; in MatrixToImage()
965 if (GetMatrixElement(matrix_info,x,y,&value) == MagickFalse) in MatrixToImage()
1002 MagickExport MagickBooleanType NullMatrix(MatrixInfo *matrix_info) in NullMatrix() argument
1014 assert(matrix_info != (const MatrixInfo *) NULL); in NullMatrix()
1015 assert(matrix_info->signature == MagickCoreSignature); in NullMatrix()
1016 if (matrix_info->type != DiskCache) in NullMatrix()
1018 (void) memset(matrix_info->elements,0,(size_t) in NullMatrix()
1019 matrix_info->length); in NullMatrix()
1023 (void) lseek(matrix_info->file,0,SEEK_SET); in NullMatrix()
1024 for (y=0; y < (ssize_t) matrix_info->rows; y++) in NullMatrix()
1026 for (x=0; x < (ssize_t) matrix_info->length; x++) in NullMatrix()
1028 count=write(matrix_info->file,&value,sizeof(value)); in NullMatrix()
1032 if (x < (ssize_t) matrix_info->length) in NullMatrix()
1035 return(y < (ssize_t) matrix_info->rows ? MagickFalse : MagickTrue); in NullMatrix()
1109 MagickExport MagickBooleanType SetMatrixElement(const MatrixInfo *matrix_info, in SetMatrixElement() argument
1116 assert(matrix_info != (const MatrixInfo *) NULL); in SetMatrixElement()
1117 assert(matrix_info->signature == MagickCoreSignature); in SetMatrixElement()
1118 i=(MagickOffsetType) y*matrix_info->columns+x; in SetMatrixElement()
1120 ((MagickSizeType) (i*matrix_info->stride) >= matrix_info->length)) in SetMatrixElement()
1122 if (matrix_info->type != DiskCache) in SetMatrixElement()
1124 (void) memcpy((unsigned char *) matrix_info->elements+i* in SetMatrixElement()
1125 matrix_info->stride,value,matrix_info->stride); in SetMatrixElement()
1128 count=WriteMatrixElements(matrix_info,i*matrix_info->stride, in SetMatrixElement()
1129 matrix_info->stride,(unsigned char *) value); in SetMatrixElement()
1130 if (count != (MagickOffsetType) matrix_info->stride) in SetMatrixElement()