Mercurial > hg > orthanc
comparison Core/Images/ImageProcessing.cpp @ 2490:0cacb38297a9
speed up ImageProcessing::Set
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 14 Mar 2018 13:46:17 +0100 |
parents | e91bab2d8c75 |
children | a9459c7d4bc2 |
comparison
equal
deleted
inserted
replaced
2489:e91bab2d8c75 | 2490:0cacb38297a9 |
---|---|
625 case PixelFormat_Grayscale8: | 625 case PixelFormat_Grayscale8: |
626 memset(image.GetBuffer(), static_cast<uint8_t>(value), image.GetPitch() * image.GetHeight()); | 626 memset(image.GetBuffer(), static_cast<uint8_t>(value), image.GetPitch() * image.GetHeight()); |
627 return; | 627 return; |
628 | 628 |
629 case PixelFormat_Grayscale16: | 629 case PixelFormat_Grayscale16: |
630 SetInternal<uint16_t>(image, value); | 630 if (value == 0) |
631 { | |
632 memset(image.GetBuffer(), 0, image.GetPitch() * image.GetHeight()); | |
633 } | |
634 else | |
635 { | |
636 SetInternal<uint16_t>(image, value); | |
637 } | |
631 return; | 638 return; |
632 | 639 |
633 case PixelFormat_Grayscale32: | 640 case PixelFormat_Grayscale32: |
634 SetInternal<uint32_t>(image, value); | 641 if (value == 0) |
642 { | |
643 memset(image.GetBuffer(), 0, image.GetPitch() * image.GetHeight()); | |
644 } | |
645 else | |
646 { | |
647 SetInternal<uint32_t>(image, value); | |
648 } | |
635 return; | 649 return; |
636 | 650 |
637 case PixelFormat_SignedGrayscale16: | 651 case PixelFormat_SignedGrayscale16: |
638 SetInternal<int16_t>(image, value); | 652 if (value == 0) |
653 { | |
654 memset(image.GetBuffer(), 0, image.GetPitch() * image.GetHeight()); | |
655 } | |
656 else | |
657 { | |
658 SetInternal<int16_t>(image, value); | |
659 } | |
639 return; | 660 return; |
640 | 661 |
641 case PixelFormat_Float32: | 662 case PixelFormat_Float32: |
642 assert(sizeof(float) == 4); | 663 assert(sizeof(float) == 4); |
643 SetInternal<float>(image, value); | 664 SetInternal<float>(image, value); |