lucianpls / mod_brunsli

An Apache HTTPD Brunsli - JPEG convertor output filter

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

mod_brunsli

An Apache HTTPD brunsli - JPEG convertor output filter

Brunsli is a fast lossless JPEG recompressor that is included in the committee draft of the JPEG XL standard. This Apache HTTPD module allows serving legacy JFIF JPEG from recompressed Brunsli files, saving about 20% of the JPEG storage space by using the DBRUNSLI filter. The reverse conversion is also possible, generating brunsli files from JFIF JPEGs.

As an Apache HTTPD output filter named "DBRUNSLI", it can be enabled using SetOutputFilter directive or using mod_filter.
When enabled, DBRUNSLI filter activates when it detects brunsli content, converts it back to the original JPEG and sends that JPEG to the user. A second filter named "CBRUNSLI" is available, generating brunsli formatted output from a JFIF input. The mime type used for brunsli formatted output is image/x-j.

Currently these filters have a hardcoded input size limit of 1MB, if the input is larger it will be forwarded without conversion. The input and the output will both be fully present in RAM at the end of the decoding, a busy server memory footprint might be significant. CPU utilization and request latency increase are low, with the brunsli encoding being slower than the decoding.

About

An Apache HTTPD Brunsli - JPEG convertor output filter

License:Apache License 2.0


Languages

Language:C 94.3%Language:Makefile 5.7%