Xteink-X4-crosspoint-reader/lib
Eunchurn Park 16568932cf
Improve EPUB cover image quality with pre-scaling and Atkinson dithering
Pre-scaling (critical fix):
- Add pre-scaling to fit display dimensions (480x800) before dithering
  to prevent post-downsampling artifacts that destroy dithering patterns
- Use fixed-point (16.16) math for sub-pixel accurate scaling
- Implement area averaging for smooth downsampling

Dithering improvements:
- Add Atkinson dithering (75% error diffusion) for cleaner results
- Add Floyd-Steinberg dithering option with serpentine scanning
- Keep clustered-dot halftone and Bayer as compile-time options

Image adjustments:
- Add brightness, contrast, and gamma adjustments for better visibility
- Adjust RGB to grayscale conversion (25-50-25) to reduce blue darkness

Other changes:
- Fix MCU block indexing bug for correct picojpeg buffer access
- Pre-generate cover BMP when EPUB is loaded for faster sleep screen
2025-12-25 00:33:15 +09:00
..
EpdFont Fix: restores cyrillic glyphs to Pixel Arial font (#70) 2025-12-21 19:01:11 +11:00
Epub New book.bin spine and table of contents cache (#104) 2025-12-24 22:36:13 +11:00
expat Add expat and swap out EPUB HTML parser (#2) 2025-12-06 20:57:24 +11:00
FsHelpers Standardize File handling with FsHelpers (#110) 2025-12-23 14:14:10 +11:00
GfxRenderer Improve EPUB cover image quality with pre-scaling and Atkinson dithering 2025-12-25 00:33:15 +09:00
JpegToBmpConverter Improve EPUB cover image quality with pre-scaling and Atkinson dithering 2025-12-25 00:33:15 +09:00
miniz Stream inflated EPUB HTMLs down to disk instead of inflating in memory (#4) 2025-12-08 00:39:17 +11:00
picojpeg Add JPG image support (#23) 2025-12-21 17:15:17 +11:00
Serialization Standardize File handling with FsHelpers (#110) 2025-12-23 14:14:10 +11:00
Utf8 Public release 2025-12-03 22:06:45 +11:00
ZipFile Keep ZipFile open to speed up getting file stats. (#76) 2025-12-21 14:38:51 +11:00
README Public release 2025-12-03 22:06:45 +11:00

This directory is intended for project specific (private) libraries.
PlatformIO will compile them to static libraries and link into the executable file.

The source code of each library should be placed in a separate directory
("lib/your_library_name/[Code]").

For example, see the structure of the following example libraries `Foo` and `Bar`:

|--lib
|  |
|  |--Bar
|  |  |--docs
|  |  |--examples
|  |  |--src
|  |     |- Bar.c
|  |     |- Bar.h
|  |  |- library.json (optional. for custom build options, etc) https://docs.platformio.org/page/librarymanager/config.html
|  |
|  |--Foo
|  |  |- Foo.c
|  |  |- Foo.h
|  |
|  |- README --> THIS FILE
|
|- platformio.ini
|--src
   |- main.c

Example contents of `src/main.c` using Foo and Bar:
```
#include <Foo.h>
#include <Bar.h>

int main (void)
{
  ...
}

```

The PlatformIO Library Dependency Finder will find automatically dependent
libraries by scanning project source files.

More information about PlatformIO Library Dependency Finder
- https://docs.platformio.org/page/librarymanager/ldf.html