openjpeg VS D2Evil

Compare openjpeg vs D2Evil and see what are their differences.

openjpeg

Official repository of the OpenJPEG project (by uclouvain)

D2Evil

Managed waifu model parsing libs. (by UlyssesWu)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
openjpeg D2Evil
7 2
938 84
1.2% -
7.8 1.8
8 days ago almost 2 years ago
C C#
GNU General Public License v3.0 or later GNU General Public License v3.0 or later
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

D2Evil

Posts with mentions or reviews of D2Evil. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-03-04.
  • Security vulnerability discovered in Live2D moc3 format
    2 projects | /r/VirtualYoutubers | 4 Mar 2023
    I'm concerned it's a more fundamental issue. They're working with a closed-source format that is only supposed to be read/write by their closed-source tools. In the past, they've threatened legal action at someone just trying to document the formats. I imagine if someone digs at it more, they'll find that Live2D is trusting user input in general.
  • Live2D Is a Security Trainwreck
    3 projects | news.ycombinator.com | 3 Mar 2023
    There's a bit more context to the story. The author and the company had a discussion over a reverse engineering claim as well : https://github.com/UlyssesWu/D2Evil/issues/1

    I have to admit I'm somewhat impressed with the quality of the 2d puppetry I've seen in gaming recently (e.g. Marvel Snap, andy of the Gachas). It's a simpler technical skill than full 3d rigging that 2d illustrators seem to be able to be able to pick up fairly quickly.

    The field this tool grew out of (mobile gaming) is such a grey ethical area, and these puppet animations are a fascinating form of pulp media.

What are some alternatives?

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

grok - World's Leading Open Source JPEG 2000 Codec

mocp - Music On Console Player

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

inochi2d - Inochi2D reference implementation aimed at rendering 2D puppets that can be animated in real-time (using eg. facial capture).

thirdroom - Open, decentralised, immersive worlds built on Matrix

ui-mock

jasper - Official Repository for the JasPer Image Coding Toolkit

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

Ambient - The multiplayer game engine

collagen - The Collage Generator

nbis - NIST Biometric Image Software (mirror)

rend3 - Easy to use, customizable, efficient 3D renderer library built on wgpu.