HNHacker News
TopNewBestAskShowJobs

lieff

86 karma · joined September 22, 2018

submissionscomments
lieff··on A new wavelet codec for thumbnails/preview (200B–36KB)
I added a comparison with AVIF https://github.com/lieff/miniwtpc/blob/main/results.md#compa...
lieff··on A new wavelet codec for thumbnails/preview (200B–36KB)
Both can`t reach 200B, they not designed for this. avif only reached 850B on lena256.png, from ~1-2kb+ avif can lead on psnr depending on vector, but for ssimulacra2 avif only wins 2-22kb range, further quantization steps become too rough avif_q91.avif->33kb, avif_q92.avif->37kb, avif_q97.avif->59kb, avif_q98.avif->71kb. webp can`t compete with avif here.
lieff··on A new wavelet codec for thumbnails/preview (200B–36KB)
Beats JPEG/JP2K/JXL/SQZ in PSNR It uses CDF 9/7 wavelet transform without K-scaling + your choice of arithmetic (EBCOT-lite + BAC) or Huffman entropy coding.
lieff··on Minimp3 – Minimalistic, single-header library for decoding MP3
You absolutely correct, it's indeed inspired by Keyj`s minimp3. Float-point used because it's hard do with 4-byte fixed-point type and achieve ISO conformance. We must to use different dynamic ranges for different parts of decoder (i.e. emulate own floating point) or more than 4-byte fixed-point type. Only float-point support is needed, SSE/NEON intrinsics is not required and can be fully disabled by MINIMP3_NO_SIMD.
lieff··on Minimp3 – Minimalistic, single-header library for decoding MP3
Encoders usually harder, because, for example, you can't verify it using reference vectors (there no exact reference to compare with). Also encoders like h264 contains big part of decoder as well, because it must reconstruct encoded frame internally for motion compensation.
lieff··on Minih264 – Minimalistic, single-header library for encoding H264/SVC
It's also single core comparison. Multi-threaded encoding is supported too: with 4 threads I get 0,190s for minih264 and 0,135s for x264.
lieff··on Minih264 – Minimalistic, single-header library for encoding H264/SVC
https://github.com/cisco/openh264 can do both encode/decode.
lieff··on Minih264 – Minimalistic, single-header library for encoding H264/SVC
There already defines to include\exclude features: H264E_MAX_THREADS=n, H264E_SVC_API=1, MINIH264_ONLY_SIMD. Complete documentation still in progress and subject to change. For now only comments in minih264e.h and minih264e_test.c can tell how to use it.
lieff··on Minimp3 – Minimalistic, single-header library for decoding MP3
Yes, It's already been used on STM32F407 and ESP32.
lieff··on Minih264 – Minimalistic, single-header library for encoding H264/SVC
I've add screenshot of first intra frame and x264.264 to compare in players.