James Jackson-South
ff36e83c74
Add AllocationTrackedMemoryManager and refactor allocators ( #3120 )
* Add AllocationTrackedMemoryManager and refactor allocators
* Add AllocationTrackingState and refactor tracking
* Cleanup
* Address feedback
* Introduce ApplyOptions and use in allocators
* Propagate allocation tracking to lifetime guards
* Address Copilot feedback
* Fix multi-buffer group tracking and enforce limits
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* Fix override accesibility
---------
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2 days ago
Sven Claesson
c795d81404
Fix integer overflow and bounds-checking vulnerabilities in EXR decoder ( #3126 )
* Fix integer overflow and bounds-checking vulnerabilities in EXR decoder
Use ulong arithmetic in CalculateBytesPerRow and block size calculations
to prevent integer overflow. Add validation for DataWindow dimensions,
block size limits, and row offsets outside stream bounds.
* Harden EXR row offset validation
* EXR: validate sizes, prevent overflows, dispose image
---------
Co-authored-by: James Jackson-South <james_south@hotmail.com>
2 days ago
James Jackson-South
1e65e08fc1
Add additional unit tests to improve code coverage. Update licensing version
3 days ago
James Jackson-South
37f534ea5d
Add ImageFrame visitor; use Buffer2D Size/Bounds + expose subregion extensions
2 weeks ago
Brian Popow
7d38e50d3f
Use better test image for float pixel type created with reference encoder
3 weeks ago
Brian Popow
e8c9d6db9d
Add test case for pxr compression with pixel type uint
3 weeks ago
Brian Popow
efa1f8bbae
Add test case for pxr compression with pixel type float
3 weeks ago
Brian Popow
d805b9b50c
Add test case for pxr24 compressed image
3 weeks ago
James Jackson-South
c470a9a05a
Revert "Merge pull request #3056 from SixLabors/js/accumulative-memory-limit"
This reverts commit c5624b534e , reversing
changes made to b3f37932b6 .
3 weeks ago
James Jackson-South
66671a0e9f
Implement proper segment integrity handling & tolerant parsing
4 weeks ago
James Jackson-South
3b1b8956cf
Stop parsing after SOS in JPEG decoder in ProcessStartOfFrameMarker
4 weeks ago
James Jackson-South
cde366b5cd
Remove premature rounding during normalization
4 weeks ago
James Jackson-South
dd395e1c03
Enhance metadata conversion
4 weeks ago
James Jackson-South
f96d28714d
Update ColorNumericsTests.cs
4 weeks ago
James Jackson-South
6b486e30f1
Fix failing conversion tests
4 weeks ago
Anton Firszov
988314aae7
Add more throughput benchmarks and pass Configuration where missed ( #3114 )
* Add GaussianBlur throughput benchmark and pass Configuration where missed
* also add `-m EdgesCompass`
4 weeks ago
Brian Popow
d98ffac34c
Add test for setting pixel type for encoding exr images
4 weeks ago
James Jackson-South
656f53d052
Remove not-needed validate method and tests
4 weeks ago
Brian Popow
af14463b07
Add better test image for uint rgba pixel type
1 month ago
Brian Popow
29f558a801
Add test case for uint pixel type with alpha
1 month ago
Brian Popow
b4cd27f2c9
Remove unnecessary ColorScaleTo32Bit when decoding pixel type uint32
1 month ago
Brian Popow
51463a368d
Better test image for uint pixel type
1 month ago
James Jackson-South
a9c43dc800
Convolution Replace parallel row iteration with sequential loops
1 month ago
Anton Firszov
25b3567482
Benchmark parallelization ( #3111 )
* add parallel processing benchmarks
* introduce RunExperiment and fix warnings in test code
* fix benchmarks
* proper ProcessorThroughputTest
* test additional processors
* ProcessorThroughputTest -> ProcessorThroughputBenchmark
* add DrawImage to ParallelProcessing benchmark
* readonly
* Disable BMP tests -- https://github.com/SixLabors/ImageSharp/issues/3112
* revert ImageMagick update
* delete CountingUnit
* rename field
1 month ago
James Jackson-South
ad58e74505
Allow -1 (unbounded) parallelism; validate settings
1 month ago
Brian Popow
e611b1e018
Add tests for Rgba128
1 month ago
James Jackson-South
fd688db0eb
Complete implementation and add tests/benchmark
1 month ago
James Jackson-South
5e4f3ef1ff
Use operators in generated functions
1 month ago
Brian Popow
0ec523f068
Add null check for PixelComponentInfo in Rgb96_PixelInformation()
1 month ago
Brian Popow
d1623fee63
Add tests for Rgb96 pixel conversions
1 month ago
James Jackson-South
c9f7e6ea60
Add ImageInfo.GetPixelMemorySize; docs & tests
1 month ago
James Jackson-South
f0ce591a64
Rename quantizer and update tests
1 month ago
James Jackson-South
90f0c0b5d4
Update and simplify quantization color caches.
1 month ago
Andreas
9569449ac4
Fix MaxFrames handling in PNG decoder
- Change >= to > for correct MaxFrames boundary
- Skip fdAT chunk data when hitting maxFrames in Identify to maintain stream alignment
- Add tests for Identify and Load with MaxFrames
1 month ago
Andreas
a76c02f7c0
Replace test image with a smaller one.
Adjusted Identify_AnimatedPng_ReadsFrameCountCorrectly to expect 48 frames instead of 50.
1 month ago
Andreas Eriksson
7b13e1df1b
Add generated animated PNG tests for Identify and Decode frame counts
1 month ago
Andreas Eriksson
ac1905328d
Fix Identify returning incorrect frame count for animated PNGs
The Identify method had two bugs when processing fdAT (FrameData) chunks:
1. A spurious Skip(4) before SkipChunkDataAndCrc caused the stream to
be misaligned by 4 bytes, since chunk.Length already includes the
4-byte sequence number.
2. Unlike Decode, which consumes all fdAT chunks for a frame in one shot
via ReadScanlines + ReadNextFrameDataChunk, Identify processed them
individually, calling InitializeFrameMetadata for each chunk and
inflating the frame count.
The fix removes the extra Skip(4) and adds SkipRemainingFrameDataChunks
to consume all continuation fdAT chunks for a frame, mirroring how
ReadNextFrameDataChunk works during decoding.
1 month ago
Brian Popow
802e275e8e
Use CompareToReferenceOutput for failing bmp tests on linux
2 months ago
Brian Popow
e6a9980daf
Change expectedDefaultConfigurationCount to 12
2 months ago
Brian Popow
0c3ca3da24
Fix failing bmp tests
2 months ago
Brian Popow
a9f6dbc68b
Add compression to exr metadata
2 months ago
Brian Popow
b95663489e
Add tests for exr metadata
2 months ago
Brian Popow
c8c3656aaf
Implement GetPixelTypeInfo() for EXR
2 months ago
Brian Popow
8c0c85442c
Set exr pixel type when decoding an image
2 months ago
Brian Popow
a741e84a12
Use exact comparer as default for exr decoder tests
2 months ago
Brian Popow
53230af86b
Use tolerant comparer for B44 compression
2 months ago
Brian Popow
aa0af92faa
Use CompareToReferenceOutput for int pixel type
2 months ago
Brian Popow
9ead3ebe3a
Update Magick.NET-Q16 to version 14.11.1 for fix to decoding zip compressed exr files
2 months ago
Brian Popow
d29fe89a27
Add benchmark for decoding exr image
2 months ago
Brian Popow
d409a3b7d3
Use magick Reference decoder
2 months ago