[Ffmpeg-devel] JPEG-LS codec

Justin Ruggles jruggle
Wed Feb 1 09:44:45 CET 2006

Kostya wrote:
> Now I have JPEG-LS both decoder and encoder. Use FFmpeg "-pred x" option to set near-lossless compression. Please test and consider for inclusion.
> Encoder is not relying on MPV_* funcs because MPV_init won't let encode RGB images, and as I don't need MjpegContext it's easier to write own header than use mjpeg_picture_header.
> Maybe I will also implement some JPEG-LS 2 (ITU T.870/ISO-14495-2) features in the future, but not now.

I haven't tested it yet, but I have some comments.  First, let me say
that the code is beautiful.  It's clear, simple, and well-documented.
Also, I am SO glad you did this.

The more I study lossless image encoders, the more I'm impressed with
JPEG-LS.  There are better compressors out there, but few quite so
simple and fast with competitive compression to match.  FFV1 looks
pretty interesting, too.  At a glance, it looks similar to JPEG-LS, but
with a better entropy coder.

I have implemented a LOCO encoder/decoder myself (not the JPEG stuff),
and I have to say I like a lot of your solutions, namely to the run-mode
stuff, which is a little tricky.

I haven't seen much about JPEG-LS 2.  I tried to download the spec from
ITU and it didn't recognize my 3 free specs account anymore...oh well.
Does anything in it look interesting or worth implementing?

As a side note, I recently recently came across another good lossless
image coder in a paper by Microsoft.  It creates and encodes a tree for
each block based on the log2 of the magnitude of prediction errors.
This essentially approximates a good bitdepth to encode each pixel
without too much overhead.  It's quite simple and has compression and
speed similar to JPEG-LS. Here's a link.
I implemented a standalone encoder & decoder if anyone is interested.

Enough rambling...
I look forward to testing this patch out and will do so very soon.



More information about the ffmpeg-devel mailing list