imagineer v0.3.1 Imagineer.Image.PNG.Filter.Basic.Paeth
Summary
Functions
The Paeth prediction is calculated as left + above - upper_left
.
This function returns the value nearest to the Paeth prediction, breaking ties
in the order of left, above, upper_left
Takes in the uncompressed binary representation of a row, the unfiltered row row above it, and the number of bytes per pixel. Decodes according to the Paeth filter
Functions
The Paeth prediction is calculated as left + above - upper_left
.
This function returns the value nearest to the Paeth prediction, breaking ties
in the order of left, above, upper_left.
For more information, see the PNG documentation for the [Paeth filter type] (http://www.w3.org/TR/PNG-Filters.html#Filter-type-4-Paeth)
Example
iex> Imagineer.Image.PNG.Filter.Basic.Paeth.predictor(37, 84, 1)
84
iex> Imagineer.Image.PNG.Filter.Basic.Paeth.predictor(118, 128, 125)
118
iex> Imagineer.Image.PNG.Filter.Basic.Paeth.predictor(37, 84, 61)
61
Takes in the uncompressed binary representation of a row, the unfiltered row row above it, and the number of bytes per pixel. Decodes according to the Paeth filter.
For more information, see the PNG documentation for the [Paeth filter type] (http://www.w3.org/TR/PNG-Filters.html#Filter-type-4-Paeth)
Examples
iex> unfiltered_prior_row = <<18, 39, 117, 39, 201, 7>>
iex> filtered_row = <<86, 5, 226, 185, 146, 181>>
iex> Imagineer.Image.PNG.Filter.Basic.Paeth.unfilter(filtered_row, unfiltered_prior_row, 3)
<<104, 44, 87, 33, 91, 188>>
iex> unfiltered_prior_row = <<18, 39, 117, 39, 201, 7>>
iex> filtered_row = <<86, 5, 226, 245, 146, 181>>
iex> Imagineer.Image.PNG.Filter.Basic.Paeth.unfilter(filtered_row, unfiltered_prior_row, 2)
<<104, 44, 87, 33, 91, 188>>