Skip to content

Releases: haroldo-ok/RgbQuant-SMS.js

Optimized to run faster and use much less memory if using single palette

17 Aug 21:07
65aac90
Compare
Choose a tag to compare
Merge pull request #18 from haroldo-ok/optimize-single-palette

Published `npm` package

15 Aug 21:58
Compare
Choose a tag to compare

Configure to run as a `npm` command named `rgbquant-sms`.

15 Aug 21:37
466f16c
Compare
Choose a tag to compare

Now, if installed as a package, it will be possible to call the tool as rgbquant-sms.

Memory usage improvement

13 Aug 23:54
24b13aa
Compare
Choose a tag to compare
Pre-release

This improves memory usage a bit more, but still not enough for converting multiple frames.

Improve memory consumption

13 Aug 23:18
eb2b039
Compare
Choose a tag to compare
Pre-release

The palette reduction step is taking up an inordinate amount of memory. With a few optimizations, the conversion of the test image went from 1.6 GB down to 0.5 GB.

Note that this still isn't efficient enough to handle large images.

Implement command line interface

09 Aug 23:50
eb056b2
Compare
Choose a tag to compare

Implemented command line interface; now, the application can be called either from command line, from browser or as a node.js module.

Help message:

rgbquant-sms convert <src> <dest>

Converts an image into a png with the tile count reduced

Positionals:
  src   The source image, the one that will be converted     [string] [required]
  dest  The destination image that will be generated         [string] [required]

Options:
  --version           Show version number                              [boolean]
  --help              Show help                                        [boolean]
  --colors            Desired palette size                         [default: 16]
  --max-tiles         Maximum number of tiles to use              [default: 256]
  --min-hue-cols      Number of colors per hue group to evaluate regardless of
                      counts, to retain low-count hues            [default: 512]
  --dithKern          Dithering kernel name; can one of these:
                      FloydSteinberg, Stucki, Atkinson, Jarvis, Burkes, Sierra,
                      TwoSierra, SierraLite, FalseFloydSteinberg, Ordered2,
                      Ordered2x1, Ordered3, Ordered4 or Ordered8
                                                          [string] [default: ""]
  --dith-serp         Enable serpentine pattern dithering
                                                      [boolean] [default: false]
  --weigh-popularity  Weigh by popularity when reducing tile count
                                                       [boolean] [default: true]
  --weigh-entropy     Weigh by entropy when reducing tile count
                                                      [boolean] [default: false]

Make it work on `node.js`.

09 Aug 00:55
Compare
Choose a tag to compare
Pre-release

Minimal implementations to make the library work on node.js.

Ordered dither 2x1

07 Aug 23:24
b4c990e
Compare
Choose a tag to compare
Ordered dither 2x1 Pre-release
Pre-release
Merge pull request #8 from haroldo-ok/ordered-dither-2x1

Very old version

07 Aug 23:23
Compare
Choose a tag to compare
Very old version Pre-release
Pre-release
Fixed tile flipping bug

Due to a typo on the code, the normalization step was failing to recognize that some tiles should just be left unflipped.