1
0
Fork 0
mirror of https://github.com/warmcat/libwebsockets.git synced 2025-03-30 00:00:16 +01:00
libwebsockets/lib/misc
Andy Green 1d3ec6a3a1 lws-jpeg
Introduce a rewritten picojpeg that is able to operate statefully and
rasterize into an internal line ringbuffer, emitting a line of pixels
at a time to the caller.  This is the JPEG equivalent of the lws
PNG decoder.

JPEG is based around 8- or 16- line height MCU blocks, depending on
the chroma coding, mandating a corresponding internal line buffer
requirement.

Example total heap requirement for various kinds of 600px width jpeg
decoding:

  Grayscale:    6.5KB
  RGB 4:4:4:   16.4KB
  RGB 4:2:2v:  16.4KB
  RGB 4:4:2h:  31KB
  RGB 4:4:0:   31KB

No other allocations occur during decode.

Stateful stream parsing means decode can be paused for lack of input
at any time and resumed seamlessly when more input becomes available.
2022-03-25 08:13:48 +00:00
..
cache-ttl http: cookies: support cookie jar in and out 2021-08-21 17:44:40 +01:00
fts type comparisons: fixes 2021-01-05 10:56:38 +00:00
jrpc docs: audit api return information 2021-11-07 10:08:00 +00:00
lwsac type comparisons: fixes 2021-01-05 10:56:38 +00:00
threadpool threadpool: adjust sync wait budget up 2022-01-10 04:37:15 +00:00
backtrace.c alloc: compressed backtrace instrumentation support 2022-03-15 10:28:09 +00:00
base64-decode.c base64: prevent writing null char into zero length output buffer 2022-01-10 14:21:33 +00:00
CMakeLists.txt lws-jpeg 2022-03-25 08:13:48 +00:00
daemonize.c type comparisons: fixes 2021-01-05 10:56:38 +00:00
dir.c plugins: iterate builtin plugins as if loaded 2021-11-07 07:04:09 +00:00
diskcache.c type comparisons: fixes 2021-01-05 10:56:38 +00:00
fsmount.c type comparisons: fixes 2021-01-05 10:56:38 +00:00
getifaddrs.c qnx: toolchain file and adaptations 2021-12-15 13:28:23 +00:00
getifaddrs.h refactor: subdirs for source in lib 2017-10-16 17:28:37 +08:00
ieeehalfprecision.c lecp: add CBOR stream parser LECP like JSON LEJP 2021-08-21 17:44:40 +01:00
jpeg.c lws-jpeg 2022-03-25 08:13:48 +00:00
lecp.c sspc: refactor to allow different transports 2021-10-08 09:48:41 +01:00
lejp.c lejp-conf: provide matches for block start paths 2022-03-15 10:28:09 +00:00
lws-ring.c type comparisons: fixes 2021-01-05 10:56:38 +00:00
lws-struct-lejp.c lws_struct: add CHILD_PTR setting 2021-08-19 05:31:15 +01:00
lws-struct-sqlite.c type comparisons: fixes 2021-01-05 10:56:38 +00:00
minilex.c minilex: add improved generic version in misc 2022-01-04 16:08:44 +00:00
peer-limits.c peer-limits: only run clean up sul if any entries 2021-01-17 19:23:48 +00:00
prng.c Fault injection 2021-04-05 10:55:04 +01:00
romfs.c linkit: support build using public sdk 2020-01-17 07:45:34 +00:00
romfs.h refactor: subdirs for source in lib 2017-10-16 17:28:37 +08:00
sha-1.c type comparisons: fixes 2021-01-05 10:56:38 +00:00
upng-gzip.c upng: split out gzip 2022-03-25 08:13:48 +00:00
upng.c upng: split out gzip 2022-03-25 08:13:48 +00:00