James Jackson-South
3d3f49fab8
Refine alpha conversion and AOT seeding
Introduce explicit associated/unassociated pixel conversion APIs across `IPixel` and `PixelOperations`, and rework associated-alpha operations to use representation-aware bulk hooks. Update pixel implementations, converters, blenders, and generated code to consistently apply `Premultiply`/`UnPremultiply` semantics, plus SIMD-backed conversion paths for half and signed formats.
Fix codec and processing behavior where alpha handling was incorrect or lossy (notably TIFF/EXR decode/encode, convolution/resize/filter/normalization/dithering paths), and add targeted tests for these cases. Expand AOT compiler roots (including EXR and additional pixel/processor coverage), add a new public API test project for pixel-operations extensibility, and add broad alpha-representation and quantization regression coverage.
3 days ago
James Jackson-South
dfd983f17c
Update library to use new pixel API
3 years ago
James Jackson-South
4b852e6528
Update tests, fix issues
3 years ago
James Jackson-South
66f444d200
Fix alpha blending and add tests
3 years ago
Poker
01caebd34a
Add UnitTest
3 years ago
James Jackson-South
4ef363df5d
Only compare a subset of frames.
3 years ago
James Jackson-South
66554cba67
Add ability to convert ICC profile on decode
4 years ago
James Jackson-South
c550af8c5a
Re-introduce IImageEncoder and split encoding pipelines.
4 years ago
James Jackson-South
31def5c753
Replace IImageEncoder
4 years ago
James Jackson-South
0e9a066195
FS Namespaces and Implicit Global Usings
4 years ago
James Jackson-South
97baeaf438
Update all files
4 years ago
James Jackson-South
27e6b58643
Final final warnings
5 years ago
Brian Popow
31c679998e
Use Path.DirectorySeparatorChar
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
James Jackson-South
874115bd0a
Update license
6 years ago
James Jackson-South
6183dd8c13
Update source license info.
6 years ago
Sergio Pedri
94c4660d10
Switched pixel format type constraint to unmanaged
6 years ago
James Jackson-South
8cd722cfc5
Revert `using` declaration changes for until we establish guidelines.
7 years ago
Brian Popow
f60bc937de
Use using declarations to reduce nesting
7 years ago
Brian Popow
7b052c8076
Fix stylecop warnings in the test project
7 years ago
Anton Firszov
659f8b6231
ImageBrush can apply a source image of a different pixel type than the target
7 years ago
Anton Firszov
c328f6d87d
simplify IPixel method names: PackFrom*** -> From***
8 years ago
James Jackson-South
d49d74aafc
Update and normalise pixel format + disable out of date tests
8 years ago
Anton Firszov
507b2f8554
using MagickReferenceDecoder everywhere, added ReferenceDecoderBenchmarks
8 years ago
James Jackson-South
ae66072668
Use Rgba64 for image comparison.
8 years ago
Anton Firszov
15947f84e0
FillLinearGradientBrushTests #1
8 years ago
Anton Firszov
d2e74e1145
use FormattableString for .DebugSave(...) and .CompareToReferenceOutput(...) whenever possible
8 years ago
Anton Firszov
4cb2aa412e
invariant formatting for TestImageProvider.SourceFileOrDescription
8 years ago
Anton Firszov
2b07bc46e2
"BlendedShapes" -> SolidFillBlendedShapesTests
8 years ago
Anton Firszov
9af8fb4e2a
DebugSaveMultiFrame() works
9 years ago
Anton Firszov
c4940aedae
introducing [GroupOutput] + apply it to all filter tests
9 years ago
Scott Williams
67cda9b4c8
refactor ImageFrameCollection for updated API
9 years ago
Anton Firszov
e6ef197bcb
FormattableString, why are you so cruel to Eastern Europeans?
9 years ago
Scott Williams
ec2503c2e4
wip - pixel data only on image frames
9 years ago
Anton Firszov
683f51d586
removed TestBase
9 years ago
Anton Firszov
3d26beb3da
moved CreateOutputDirectory() into TestEnvironment
9 years ago
Anton Firszov
8d726512c6
code for verifying original PDF.js output
9 years ago
Anton Firszov
1c18e70fbe
Using Corecompat.System.Drawing as reference encoder/decoder for PNG. (Optimizing PNG-s with external tools from now.)
9 years ago
Scott Williams
872ca973de
inital rename packages and namespaces
9 years ago
Anton Firszov
6d41974f10
introducing the "doNotAppendPixelType" feature
9 years ago
Anton Firszov
be6d1aa575
JpegDecoderTests using reference images
9 years ago
Anton Firszov
7a9e276a80
optimized ResizeTests output further, added Bike.png
9 years ago
Anton Firszov
41794a6a7a
moving input test images into ./tests/TestImages/Input
9 years ago
Anton Firszov
0a64c5aea0
build fix + clean up ImageDataAttributeBase code duplication
9 years ago
Anton Firszov
5b40a9f438
ResizeTests working with CalliphoraPartial.png
9 years ago
Anton Firszov
4f82107f1c
refactor
9 years ago
Anton Firszov
04e08bf630
ReferenceOutput + ResizeTests prototype
9 years ago
Scott Williams
bb9280f317
switch from mimetype strings to IImageFormats
9 years ago
Scott Williams
00c5897c2e
provide IImageFormatProviders and split mimetype detection from decoders.
9 years ago
Scott Williams
42e0395a60
refactor encoders/decoders
refactor encoders to remove IImageFormat and split the logic across Encoders and Decoders.
remove IXXXOptions and moved setting onto encoders/decoders directly.
add out param on Image.Load APIs to output mime type of loaded image.
9 years ago