Opened 9 months ago

Closed 7 months ago

#10905 closed defect (fixed)

HTJ2K lossless decoding errors

Reported by: Pierre-Anthony Lemieux Owned by:
Priority: critical Component: avcodec
Version: git-master Keywords: j2k jpeg2000 htj2k
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Native J2K decoder is not lossless when decoding lossless J2K files that use the Part 15 block coder (HTJ2K).

How to reproduce:

ojph_compress -i build/in.tiff -o build/out.j2c -reversible true
ffmpeg  -i build/out.j2c build/out.tiff
ffmpeg -i build/in.tiff -i build/out.tiff -filter_complex "psnr" -f null -

PSNR is not infinite, in contrast to:

ojph_expand -i build/out.j2c -o build/out.ojph.tiff
ffmpeg -i build/in.tiff -i build/out.ojph.tiff -filter_complex "psnr" -f null -

OpenJPH is available at https://github.com/aous72/OpenJPH.

Attachments (3)

in.tiff (2.5 MB ) - added by Pierre-Anthony Lemieux 9 months ago.
Source image
out.j2c (961.7 KB ) - added by Pierre-Anthony Lemieux 9 months ago.
Lossless J2C image (HTJ2K)
diff.png (464.8 KB ) - added by Pierre-Anthony Lemieux 9 months ago.
Difference between source and decoded images

Change History (5)

by Pierre-Anthony Lemieux, 9 months ago

Attachment: in.tiff added

Source image

by Pierre-Anthony Lemieux, 9 months ago

Attachment: out.j2c added

Lossless J2C image (HTJ2K)

by Pierre-Anthony Lemieux, 9 months ago

Attachment: diff.png added

Difference between source and decoded images

comment:1 by Pierre-Anthony Lemieux, 9 months ago

The frame is from the Netflix Meridian short (https://opencontent.netflix.com/)

comment:2 by Pierre-Anthony Lemieux, 7 months ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.