openjpeg VS collagen

Compare openjpeg vs collagen and see what are their differences.

openjpeg

Official repository of the OpenJPEG project (by uclouvain)

collagen

The Collage Generator (by rben01)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
openjpeg collagen
7 3
942 12
0.7% -
7.8 0.0
9 days ago 11 months ago
C Rust
GNU General Public License v3.0 or later MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

openjpeg

Posts with mentions or reviews of openjpeg. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-05-29.
  • Can we make a guide for morons on how to install OpenEFT on a clean WSL install?
    4 projects | /r/NFA | 29 May 2023
    mkdir ~/install cd ~/install wget https://github.com/uclouvain/openjpeg/archive/master.zip unzip master.zip cd openjpeg-master/ mkdir build cd build cmake -DCMAKE_BUILD_TYPE=Release .. make sudo make install sudo make clean cd
  • We're still not game, but there has been progress. A progress report.
    7 projects | /r/rust_gamedev | 17 Mar 2023
    Details here, if you like reading bug reports. It took the cooperation of developers at all four levels to fix this. I wrote a test project to reproduce the problem, the jpeg2k developer was able to reproduce the problem under valgrind (a tool for finding bad pointer references in C, seldom needed by Rust users), an OpenJPEG developer fixed the C code, and everybody in the chain updated versions. Thanks to everyone who had a part in this.
  • Live2D Is a Security Trainwreck
    3 projects | news.ycombinator.com | 3 Mar 2023
    > The whole file is effectively a write-what-where primitive2. In addition to that, the Count Info Table is not bounds checked either...

    File formats like that, with many offsets in the file, are troublesome. There used to be more formats like that. Microsoft Word .doc is the classic example.

    OpenJPEG 2000 has a similar problem. I just hit that yesterday.[1] Valgrind is finding references to un-initialized data which affect control flow, and running the JPEG decoder on valid but truncated files (which is allowed) is causing bad memory reference crashes and errors.

    New formats like this are rare. People have learned. A modern exception is Unreal Engine 5's Nanite has much offset data, and there may be an attack surface there for hostile game content. Nanite is a way to store a graphics mesh with both multiple levels of detail and common submeshes. It's a hierarchy of directed acyclic graphs, flattened into a linear file with offsets. And, sure enough, there are many crash reports. At least Unreal provides a validator for the format.

    (If only C/C++ had slices in the language. Most of the things for which pointer arithmetic is used can be done with slices. Slices really are pointer arithmetic, with sanity.)

    [1] https://github.com/uclouvain/openjpeg/issues/1459

  • We're not really game yet.
    11 projects | /r/rust_gamedev | 24 Feb 2023
    JPEG 2000 decoder crashes Trying to read files at reduced resolution crashes with memory access errors. This is jpeg2k (Rust) calling jpeg2000-sys (Rust glue to C foreign function interfaces) calling OpenJPEG (all C). The problem can now be reproduced at the C level alone, under Valgrind. The developers of the top two levels have been very helpful, but the trouble is down in the rather painful C code at the bottom. The OpenJPEG maintainers are way behind on fixes, despite being funded.
  • Is JPEG 2000 a preservation risk? (2013)
    3 projects | news.ycombinator.com | 17 Jul 2022
    It certainly was a risk in 2013, when the open source libraries were slow and riddled with bugs. Today, there are two stable, well maintained and fast open source libraries available:

    https://github.com/uclouvain/openjpeg

  • What’s the best lossless image format?
    8 projects | news.ycombinator.com | 7 Jun 2022

collagen

Posts with mentions or reviews of collagen. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-06-07.
  • Viral Memes: Vectorized and Free
    1 project | news.ycombinator.com | 22 Feb 2023
    I guess this is a good place to plug a project I worked on, https://github.com/rben01/collagen . It lets you compose raster images and SVG shapes (including text) into another SVG, without re-encoding anything into a raster image. It's all just SVG. (Raster images are included via data: urls.)

    I bring it up here because it's flip side of TFA. Instead of vectorizing memes, you can just take any old image you have, or a link to an image, and stick it in an SVG with some text on top, without actually having to write the SVG by hand. So an input like [this](https://gist.github.com/rben01/c0f51d8481c3ba8bd0ac108ac0b5a...) produces an output like [this](https://gist.github.com/rben01/23d01aa2668acc64cf4cffa815cb9...) (YMMV whether a linked image works in an SVG; I think in secure contexts it doesn't, but if you just copy paste the SVG into JSFiddle it should work).

    Much easier than crafting memes by hand.

  • What’s the best lossless image format?
    8 projects | news.ycombinator.com | 7 Jun 2022
    I guess this would be a good time to plug a small project I worked on: https://github.com/rben01/collagen . I got tired of seeing how crappy text looked when placed on a JPEG (due to the compression artifacts) and how large some PNGs were because they had a small JPEG-like area, so I made a little CLI program that solves that problem. Rather than settle on any particular image format, it allows the user to provide a collection of inputs -- images (in any format your browser supports), SVGs, shapes, text -- and bundles them into a single SVG file (it base64 encodes the images). So if you want to scale a PNG and place it on top of a JPG, you... just do that, with SVG transforms and whatnot. It produces a single file and is a lot easier than writing out the SVG yourself, and is nearly as easy as opening up a tailor-made mage editor and doing it there. And it's really, truly lossless, as it doesn't touch any of the input data.
  • Pablo is a small, open-source JavaScript library for SVG
    2 projects | news.ycombinator.com | 20 Nov 2021
    I’ve been working on a project that makes creating SVGs — with all assets embedded — as simple as possible. https://github.com/rben01/collagen

What are some alternatives?

When comparing openjpeg and collagen you can also consider the following projects:

grok - World's Leading Open Source JPEG 2000 Codec

qoi - The “Quite OK Image Format” for fast, lossless image compression

jpeg2000-decoder - Decodes JPEG 2000 images in a subprocess, for safety

neatvnc - A liberally licensed VNC server library with a clean interface

thirdroom - Open, decentralised, immersive worlds built on Matrix

ui-mock

jasper - Official Repository for the JasPer Image Coding Toolkit

pablo - Pablo is a lightweight, expressive JavaScript SVG library. Pablo creates interactive drawings with SVG (Scalable Vector Graphics), giving access to all of SVG's granularity and power.

libjxl - JPEG XL image format reference implementation