Dmitry Pentin
3f8bd3d2e6
Added internal accessor for root frame
5 years ago
Dmitry Pentin
127e9ddcdd
All ImageFrameCollection<TPixel> public properties & method now check if object was disposed
5 years ago
Dmitry Pentin
cbca565788
ImageFrameCollection now properly implements IDisposable interface & ensures all operations are called on valid object
5 years ago
Dmitry Pentin
8ec1013ce8
Removed redundant flag from Image.Dispose(bool) call
As Image does not have unmanaged resources and does not implement finalizer method, there's no need for disposable pattern with a pair of Dispose() & Dispose(bool).
Due Dispose(bool) was changed to DisposeManaged().
5 years ago
Dmitry Pentin
acf9d85e8c
Moved dispose control logic to base Image class
internal call EnsureNotDisposed is no longer virtual -> micro speedup gain in pixel index accessor Image<TPixel>[x, y].
5 years ago
Dmitry Pentin
1c45c1a705
Removed GC.SuppressFinalize(this) from Image.Dispose() due to it not having a Finalization method
5 years ago
Dmitry Pentin
7029b2ffb1
Image<TPixel> private property PixelSource no longer checks if object was disposed, check is delegated to public methods using that property
5 years ago
Dmitry Pentin
d48b15227d
Image<TPixel> private methods no longer check if object was disposed - it is done at public method calls
5 years ago
Dmitry Pentin
7900b43d1d
Image<TPixel>.Frames now properly throws ObjectDisposedException after being disposed
5 years ago
Brian Popow
33192d396b
Switch default quantizer for the bitmap encoder to Wu-quantizer
5 years ago
Brian Popow
ea8bef4321
Add support for encoding 1 bit per pixel bitmaps
5 years ago
Brian Popow
04e6b4135a
Make sure bitmap encoder preserves 4 bits per pixel, when the input is 4 bit
5 years ago
Brian Popow
c05d4ddeb5
Add support for encoding 4 bit per pixel bitmaps
5 years ago
Petar Tasev
0871b85bdf
Address code review comments.
5 years ago
Petar Tasev
ae30a49357
Added file header.
5 years ago
Petar Tasev
402782acf5
Removed unused using statements.
5 years ago
Petar Tasev
dc96867834
Added overloads to Image.WrapMemory for IMemoryOwner<byte>.
5 years ago
James Jackson-South
a4d05f5fd2
Add faster InnerLoop build configurations
5 years ago
James Jackson-South
dc0982f186
Faster Linear Transforms ( #1591 )
* Attempt to use same weight generation algorithm as resize.
* tests pass
* Identical output
* Update LinearTransformKernelFactory{TResampler}.cs
* Use new low allocation iterator
* Migrate projective transforms.
* Optimizations
* Smaller kernel
* Fix sampling accuracy
* Finalize and update refs
* Revert unnecessary changes
* Remove enumerator
* Actually save output for debugging.
* Use custom test png encoder for reduced memory environments
* Convolution should use scaled vectors
* Update TestEnvironmentTests.cs
* Try using doubles
* Moar double precision
* Fix radius calculation
* Test if issue is SIMD related.
* Detect runtime to determine pipeline.
* Fix stack overflow
* fix condition
* Try simplified scalar run
* Simplify unpremultiply scalar
* Update Numerics.cs
* Fix runtime environment
* Update ImageSharp.csproj
* Duplicate the caller with scalar versions
* Update method name, exclude from coverage.
* Don't save output during coverage tests for perf.
* Update src/ImageSharp/Common/Helpers/RuntimeEnvironment.cs
Co-authored-by: Anton Firszov <antonfir@gmail.com>
Co-authored-by: Anton Firszov <antonfir@gmail.com>
5 years ago
Ynse Hoornenborg
4d0fb4070a
Put setting JpegColorType and ColorSpace close together
5 years ago
Ynse Hoornenborg
d844e70760
Add JpegColorType to JpegMetadata and use it to configure the JpegEncoder
5 years ago
Ynse Hoornenborg
096ef3d3aa
Refactor out JpegSubsample.Grayscale
5 years ago
Ynse Hoornenborg
26d61124b5
LuminanceForwardConverter handles the entire conversion itself
5 years ago
Ynse Hoornenborg
6dbde61f8d
Rename JpegEncoder InitializeColorType method
5 years ago
Ynse Hoornenborg
7eaae92bbf
Grayscale Jpeg encoding
5 years ago
UltraNamahage
ece0707053
Organize Seed and solve the problem of more Seed and code strips with the Preserve attribute.
5 years ago
UltraNamahage
10739590ce
Have AotCompilerTools cache additional methods.
5 years ago
Anton Firszov
583bb6bd6d
Also fix "<returns>"
5 years ago
Anton Firszov
d1c2172406
Image.Load(byte[]) should return non-generic Image
5 years ago
James Jackson-South
5f4a7accfb
Update OrderedDither.cs
5 years ago
James Jackson-South
a54bce1faa
Update refs.
5 years ago
James Jackson-South
72960ec979
Fix ordered dither output for small palette lengths.
5 years ago
David Rolland
8147ec3bfc
Added image integral algorithm.
5 years ago
Anton Firszov
51769740ab
better docs
5 years ago
Anton Firszov
2e09bb4a3c
BinaryThresholdColorComponent -> BinaryThresholdMode
5 years ago
James Jackson-South
ce2c1d28b3
Optimization pass.
5 years ago
James Jackson-South
5b7c4b9cb0
Reorganize files
5 years ago
Franz Häring
2d3ab4ebd5
New overloads for binary threshold operations. The new argument ColorComponent defines the scalar color component to be used for threshold comparison: Luminance, Saturation or MaxChroma. Luminance is default and identical to previous versions. Saturation is the HSL saturation component. MaxChroma is calculated as the maximum of YCbCr chroma value, i.e. Cb and Cr distance from achromatic value. Background: This component shall discriminate colorful parts from achromatic parts in human perception. Very dark pixels, which are perceived as near black, can have high HSL saturation values if e.g. (rgb)==(4,0,0); this would definitely not be perceived as colorful by a human. The MaxChroma component will calculate them low.
5 years ago
Nicolas Portmann
f7d4675482
Cleanup
5 years ago
Nicolas Portmann
af4e4ff018
Fix vectorized subsampling
5 years ago
Brian Popow
de191995e1
Add check for Avx2 in ResizeKernel, fix #1546
5 years ago
Anton Firszov
7e0a43bcdb
change inlining options for RowOctet.Update()
5 years ago
Anton Firszov
1968d3724f
better JpegEncoder profiling/benchmarks
5 years ago
James Jackson-South
ac3eb80374
Optimize and fix warnings.
5 years ago
James Jackson-South
6cba30874f
Cleanup
5 years ago
James Jackson-South
a92c01fe50
Use a loop instead.
5 years ago
James Jackson-South
7b97ccef1f
Update Block8x8F.cs
5 years ago
James Jackson-South
742aaad004
Move statics to local
5 years ago
James Jackson-South
3e29c4e019
Try explicit layout
5 years ago
James Jackson-South
f3c74547b4
manually inline meythod
5 years ago