winscripter
25e41da0ab
Avoid 'using static'
2 months ago
winscripter
fed0af3254
Add bit-stream reader
2 months ago
winscripter
20c2dd31df
Implement ANS entropy helpers
2 months ago
winscripter
73941c117b
Prefer byte for enums
2 months ago
winscripter
490f02f080
Add ANS entropy structs
Add JxlAnsEntry and JxlAnsSymbol.
See ans_common.h. These correspond to the Entry and Symbol structures within AliasTable.
2 months ago
winscripter
528149fc1c
Implement CreateFlatHistogram
See ans_common.h
2 months ago
winscripter
cb364fa4e9
Turn JxlFrameDimensions into a sealed class
It is too large for a struct.
2 months ago
winscripter
396cd8d2cb
Implement JxlAnsHelper.GetPopulationCountPrecision
See ans_common.h
2 months ago
winscripter
1e40482cf5
Start work on ANS entropy
Implemented ANS constants
2 months ago
winscripter
90680b70c1
Prefer the term "coefficient"
2 months ago
winscripter
064376a9f2
Add quantized spline implementations
2 months ago
winscripter
9b58f4b9d5
Implement spline abstractions
Implementation of spline.h
2 months ago
winscripter
85812226b6
It's Jxl not Jpeg
2 months ago
winscripter
ac1c866e5a
Add xorshift implemetation
2 months ago
winscripter
487410e55f
Implement field encodings, move IJxlFields
This is an implementation of field_encodings.h.
Note that I avoided implementing EnumValid() and Values() functions, as we have dedicated methods in .NET to do exactly that (Enum.IsDefined, Enum.GetValues)
2 months ago
winscripter
762edd1ec1
Add headers & aspect ratio helpers
2 months ago
winscripter
6fea920e7f
Add metadata models
2 months ago
winscripter
21ff33f23c
Implement image and memory buffers
Implementation of image.h and image.c; AC strategy implementation was slightly adjusted to reduce errors.
2 months ago
winscripter
31b5505d89
Implement JxlMemoryManager
For now JxlMemoryManager will be a wrapper around MemoryPool<T>.
2 months ago
winscripter
1ac6140535
Implement AC strategy
Implementation of ac_strategy.h and ac_strategy.c
2 months ago
winscripter
d87178fd37
Implemented frame_dimensions.h plus part of ac_strategy.h
2 months ago
winscripter
996e93dba2
Implement ac_context.h
2 months ago
winscripter
85c851b137
Add JPEG XL format
2 months ago
James Jackson-South
0b685ab034
Fix convolution sampling for bounds smaller than the kernel radius
KernelSamplingMap.CorrectBorder sliced the offset span by
radius * kernelSize, so bounds narrower than the kernel radius threw
ArgumentOutOfRangeException (GaussianBlur of a 130x8 region with
sigma 10, for example), and bounds exactly equal to the radius let
Bounce offsets escape the sampling range by folding an overshoot of a
full extent to min - 1.
Route bounds no larger than the radius through an exact per-mode
correction that folds each offset into range: clamp for Repeat,
periodic reflection for Mirror and Bounce, and true modulo for Wrap.
The single-pass corrections are unchanged for larger bounds.
2 months ago
James Jackson-South
eb4bfc95ea
Add BlendWithCoverage overloads. Optimize Rgba32 compatible shuffling.
2 months ago
James Jackson-South
e5ca2782e6
Fix GIF transparency handling and dither
3 months ago
James Jackson-South
a3e9cc6fd4
Fix in-place shuffles and vectorize PNG CgBI transform
3 months ago
Erik White
4f85600cb8
Improve ApplyCgbiTransform
3 months ago
Erik White
3e843a06a2
Implement CgBI support
3 months ago
James Jackson-South
8e6cab957b
Validate PBM max pixel value
3 months ago
James Jackson-South
8f2716b567
GIF: background handling & quantizer overflow fix ( #3133 )
* GIF: background handling & quantizer overflow fix
* Fix tests
3 months ago
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>
4 months 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>
4 months ago
James Jackson-South
1e65e08fc1
Add additional unit tests to improve code coverage. Update licensing version
4 months ago
Brian Popow
c1de5b61d3
Fix mistake in inflateStream.AllocateNewBytes: Use compressedBytes instead of uncompressedBytes
4 months ago
James Jackson-South
37f534ea5d
Add ImageFrame visitor; use Buffer2D Size/Bounds + expose subregion extensions
4 months ago
Brian Popow
7ad873aaf3
Fix stylecop warnings
4 months ago
Brian Popow
2bf2e95638
Move rowsPerBlock to base compression class
4 months ago
Brian Popow
a85fe63d31
Move undoing zip compression into base class
4 months ago
Brian Popow
e917fd317a
Fix issues with pxr and pixel type uint and float
4 months ago
Brian Popow
95ee73e241
Implement pxr decompression for pixel type uint and float
4 months ago
Brian Popow
344d49d86f
Use Width Property from ExrBaseDecompressor
4 months ago
Brian Popow
39b13a46c6
Initial version decode Pxr24 compression
4 months 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 .
4 months ago
James Jackson-South
67b9713ae0
Rename params
5 months ago
James Jackson-South
4abf307ca6
Potential fix for pull request finding 'Poor error handling: empty catch block'
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
5 months ago
James Jackson-South
9304b57022
Use ColdPath for Block8x8F
5 months ago
James Jackson-South
66671a0e9f
Implement proper segment integrity handling & tolerant parsing
5 months ago
James Jackson-South
3b1b8956cf
Stop parsing after SOS in JPEG decoder in ProcessStartOfFrameMarker
5 months ago
James Jackson-South
ac0adfccac
Optimize Block8x8F ScaledCopy for common scales
5 months ago