Mercurial > hg > orthanc
comparison Core/ImageFormats/ImageBuffer.cpp @ 844:502c49adb5ad jpeg
jpeg lossless
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 05 Jun 2014 14:08:23 +0200 |
parents | a811bdf8b8eb |
children | 839be3022203 |
comparison
equal
deleted
inserted
replaced
843:6a5cceec04ef | 844:502c49adb5ad |
---|---|
37 { | 37 { |
38 void ImageBuffer::Allocate() | 38 void ImageBuffer::Allocate() |
39 { | 39 { |
40 if (changed_) | 40 if (changed_) |
41 { | 41 { |
42 /* | |
43 if (forceMinimalPitch_) | |
44 { | |
45 TODO: Align pitch and memory buffer to optimal size for SIMD. | |
46 } | |
47 */ | |
48 | |
42 pitch_ = GetBytesPerPixel() * width_; | 49 pitch_ = GetBytesPerPixel() * width_; |
43 | 50 |
44 data_.resize(pitch_ * height_); | 51 data_.resize(pitch_ * height_); |
45 if (data_.size() > 0) | 52 if (data_.size() > 0) |
46 { | 53 { |
57 | 64 |
58 | 65 |
59 ImageBuffer::ImageBuffer() : changed_(false) | 66 ImageBuffer::ImageBuffer() : changed_(false) |
60 { | 67 { |
61 changed_ = false; | 68 changed_ = false; |
69 forceMinimalPitch_ = true; | |
62 format_ = PixelFormat_Grayscale8; | 70 format_ = PixelFormat_Grayscale8; |
63 width_ = 0; | 71 width_ = 0; |
64 height_ = 0; | 72 height_ = 0; |
65 pitch_ = 0; | 73 pitch_ = 0; |
66 buffer_ = NULL; | 74 buffer_ = NULL; |
104 | 112 |
105 ImageAccessor accessor; | 113 ImageAccessor accessor; |
106 accessor.AssignReadOnly(format_, width_, height_, pitch_, buffer_); | 114 accessor.AssignReadOnly(format_, width_, height_, pitch_, buffer_); |
107 return accessor; | 115 return accessor; |
108 } | 116 } |
117 | |
118 | |
119 void ImageBuffer::SetMinimalPitchForced(bool force) | |
120 { | |
121 changed_ = true; | |
122 forceMinimalPitch_ = force; | |
123 } | |
109 } | 124 } |