Skip to content

Update from SixLabors/ImageSharp - #1

Merged
dmanning23 merged 261 commits into
dmanning23:masterfrom
SixLabors:master
Jul 18, 2019
Merged

dmanning23 merged 261 commits into
dmanning23:masterfrom
SixLabors:master

Conversation

@dmanning23

Copy link
Copy Markdown
Owner

Prerequisites

  • I have written a descriptive pull-request title
  • I have verified that there are no overlapping pull-requests open
  • I have verified that I am following matches the existing coding patterns and practice as demonstrated in the repository. These follow strict Stylecop rules 👮.
  • I have provided test coverage for my change (where applicable)

Description

Update the dmanning23 fork to the latest ImageSharp

JimBobSquarePants and others added 30 commits January 6, 2019 22:48
#797 throw ImageFormatException when no StartOfFrame marker is found
Use bounds checks in Huffman ctr. Fix #798
* Use Matrix5x4 and fix Hue Filter

* Update test references. Fix #802

* Increase tolerance to handle xplat variance.

* Rename to ColorMatrix
* decoding bitmaps with Bitfields masks

* added testcases for Bitfields bitmaps

* added parsing of the complete bitmap V4 header to get the color masks infos for the BITFIELDS compression

* writing now explicitly a Bitamp v3 header (40 bytes)

* added test image for issue #735

* fixed rescaling 5-bit / 6-bit to 0 - 255 range

* BitmapEncoder now writes BMP v4 header

* using MemoryMarshal.Cast to simplify parsing v4 header

* added testcases for bitmap v3, v4, v5

* Bitmap encoder writes again V3 header instead of V4. Additional fields for V4 are zero anyway.

* added parsing of special case for 56 bytes headers

* using the alpha mask in ReadRgb32BitFields() when its present

* added support for bitmasks greater then 8 bits per channel

* using MagickReferenceDecoder reference decoder for the test with 10 bits pixel masks

* changed bitmap constants to hex

* added enum for the bitmap info header type

* added support for 52 bytes header (same as 56 bytes without the alpha mask)

* clarified comment with difference between imagesharp and magick decoder for Rgba321010102

* BmpEncoder now writes a V4 info header and uses BITFIELDS compression

* workaround for issue that the decoder does not decode the alpha channel correctly: For V3 bitmaps, the alpha channel will be ignored during encoding

* Fix #732
* Added support for OS/2 version 2 bitmaps

* throw NotSupportedException, if the file header type is not BM

* renamed Os2v2 to Os2v2Size

* Added BmpThrowHelper similar to the JpegThrowHelper
* Adds support for BI_ALPHABITFIELDS

* Fix for decoding bitmaps with a less than full sized palette
…table, this should hopefully prevent "a generic error occurred in GDI+". Hopefully I didn't miss one... (#835)
* Nomalize jpeg exceptions. Fix #821

* Fix #822

* Fix #823

* Check for correct QT index. Touch #824

* Check DHT props. Touch #824

* Limit sampling factors to 1 & 2. Touch #824

* Add already fixed image 4. Touch #824

* Check for excessive code lengths. Touch #824

* Add already fixed image 6. Touch #824

* Lint progressive scan details. Touch #824

* Add already fixed image 8. Fix #824

* Remove duplicate per-block checks

* Add already fixed image 1. Touch #825

* Don't throw on bad JFIF density units.

* Add already fixed image 3. Touch #825

* Add already fixed image 4. Fix #825

* Check SOFn marker length. Touch #826

* Add already fixed image 2. Touch #826

* Add already fixed image 3. Fix #826

* Add fixed already fixed image. Fix #827

* Revert unneeded bounds check introduced in #804
* Lazily derive the huffman tables. Fix #839

* Lazy invoke fast table

* Add performance tweaks to scan decoder.

* Remove unneccessary classes.
…submodules

#852 Adding instructions to add submodules when cloning the repository
brianpopow and others added 29 commits May 18, 2019 12:07
Pixel-agnostic Drawing processors and extensions
…antizeOnGray8

# Conflicts:
#	tests/ImageSharp.Tests/Drawing/DrawImageTests.cs
Not using quantization for Grey8 images when encoding 8Bit Bitmaps
* temporarily disable target frameworks

* drop DelegateProcessor

* drop IImageProcessingContext<TPixel>

* drop NamedColors<T>

* drop ColorBuilder<T>

* drop the *Base postfix for clean class hierarchies

* re-enable target frameworks

* use MathF in gradient brushes

* Move PngFilterMethod to the correct namespace.
Added funding file with a link to open collective.
* Remove linq usage from jpeg + formatting

* png

* ICC + formattiing

* Resize

* Fix base class comparison.
* Updating the repo to use Directory.Build.props/targets files

* Adding an InternalsVisibleTo for DynamicProxyGenAssembly2, PublicKeyToken=null

* Removing duplicate includes from the ImageSharp.csproj

* Updating the .gitattributes file to explicitly list the line endings

* Removing the ImageSharp.ruleset file, as the one from standards should be used instead

* Updating the package version management to use `PackageReference Update`
* Fix missing PixelFormats line in first API example

"<Rgba32>" does not appear to be defined without the "using SixLabors.ImageSharp.PixelFormats;" line and causes a "The type or namespace name 'Rgba32' could not be found (are you missing a using directive or an assembly reference?) (CS0246)" error to occur.

* Remove stray newline
* Add bitmap decoder option, how to treat skipped pixels for RLE

* Refactored bitmap tests into smaller tests, instead of just one test which goes through all bitmap files

* Add another adobe v3 header bitmap testcase

* Using the constant from BmpConstants to Identify bitmaps

* Bitmap decoder now can handle oversized palette's

* Add test for invalid palette size

* Renamed RleUndefinedPixelHandling to RleSkippedPixelHandling

* Explicitly using SystemDrawingReferenceDecoder in some BitmapDecoder tests

* Add test cases for unsupported bitmaps

* Comparing RLE test images to reference decoder only on windows

* Add test case for decoding winv4 fast path

* Add another 8 Bit RLE test with magick reference decoder

* Optimize RLE skipped pixel handling

* Refactor RLE decoding to eliminate code duplication

* Using MagickReferenceDecoder for the 8-Bit RLE test
* Prevent overflow

* Cleanup huffman table

* Search for RST markers.

* Fix Benchmarks project
* Bitmap Decoder can now decode BitmapArray

* Add tests for bitmap metadata decoing. Fix an issue that a bitmap with a v5 header would be set in the metadata as an v4 header.

* Fixed issue with decoding bitmap arrays: color map size was not determined correctly. Added more test images.

* Refactor colormap size duplicate declaration.

* Fixed an issue, that when an unsupported bitmap is loaded the typ marker was not correctly shown in the error message
* Throw ImageFormatException on load

* Unseal class and make constructor internal
- This is so that no one can new it up / inherit it outside of the assembly

* Add new exception for distinguish between different exception
- This will be used on image.load operations with invalid image streams

* ImageFormatException -> UnkownImageFormatException

* Add Image.Load throws exception tests
* Add support for decoding RLE24

* Simplified determining colorMapSize, OS/2 always has 3 bytes for each palette entry

* Enum value for RLE24 is remapped to a different value, to be clearly separate from valid windows values.
* temporarily disable target frameworks

* drop DelegateProcessor

* drop IImageProcessingContext<TPixel>

* drop NamedColors<T>

* drop ColorBuilder<T>

* drop the *Base postfix for clean class hierarchies

* adding basic skeletons

* non-generic ImageFrameCollection API definition

* non-generic ImageFrameCollection tests

* cleanup + docs + more tests

* implement ImageFrameCollection methods

* tests for generic PixelOperations.To<TDest>()

* experimental implementation

* fix .ttinclude

* generate generic From<TSourcePixel>(...)

* fix RgbaVector <--> BT709 Gray pixel conversion

* Gray8 and Gray16 using ConvertFromRgbaScaledVector4() by default

* fixed all conversion tests

* ConstructGif_FromDifferentPixelTypes

* fix xmldoc and other StyelCop findings

* re-enable all target frameworks

* fix NonGenericAddFrame() and NonGenericInsertFrame()

* fix remaining bugs
@dmanning23
dmanning23 merged commit acb039c into dmanning23:master Jul 18, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.