Discussion:
[GitHub] commons-imaging pull request #38: Cleaned up PNG component.
SukantPal
2018-11-30 04:08:30 UTC
Permalink
GitHub user SukantPal opened a pull request:

https://github.com/apache/commons-imaging/pull/38

Cleaned up PNG component.

Following changes were made (overview): PngWriter.ImageHeader removed (replaced by making PngChunkIhdr mutable); divided PngWriter.writeImage (by creating pixel data writing method).

Introduced ChunkLoader. Instead of embedding the chunk loading process in the PngImageParser, I have separated it into ChunkLoader.

I hope these changes will make the code more modular and readable.

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/SukantPal/commons-imaging master

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/commons-imaging/pull/38.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #38

----
commit 9c5b06220b66b2c26baf5ebc8e84f56fe07b4b34
Author: shukant <***@...>
Date: 2018-11-30T03:56:55Z

Cleaned up PNG component.


Following changes were made (overview): PngWriter.ImageHeader removed (replaced by making PngChunkIhdr mutable); divided PngWriter.writeImage (by creating pixel data writing method).

Introduced ChunkLoader. Instead of embedding the chunk loading process in the PngImageParser, I have separated it into ChunkLoader.

----


---

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-***@commons.apache.org
For additional commands, e-mail: dev-***@commons.apache.org
SukantPal
2018-11-30 04:56:14 UTC
Permalink
Github user SukantPal commented on the issue:

https://github.com/apache/commons-imaging/pull/38

This is the ASF JIRA issue related to this improvement: https://issues.apache.org/jira/projects/IMAGING/issues/IMAGING-218?filter=allopenissues&orderby=priority+DESC%2C+updated+DESC.


---

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-***@commons.apache.org
For additional commands, e-mail: dev-***@commons.apache.org
SukantPal
2018-12-01 13:51:18 UTC
Permalink
Github user SukantPal commented on the issue:

https://github.com/apache/commons-imaging/pull/38

I have done more commits. Everyone, I am a newbie, don't know if I should've made a new PR for more commits. But for now, until someone responds, I will be updating about my commits here.

I have added real filtering support in PngWriter. It now uses the PAETH filter for each scan-line in non-indexed (non-paletted based) PNG image files. This has reduced the sizes of the images outputted in PngMultipleRoundTest by 40-50%. Hope that will be appreciated.

In addition, I have removed the complexity associated with filtering. Now only one object - AdaptiveFilter - is used to filter scan-lines. It is fed each scan-line serially using its filter/unfilter method. The ScanExpediter now doesn't handle filtering directly.


---

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-***@commons.apache.org
For additional commands, e-mail: dev-***@commons.apache.org

Loading...