https://github.com/DDMAL/diva.js/wiki/JPEG-2000-encoding-with-Kakadu
C:\>kdu_compress.exe -i test.bmp -o precints.jp2 Creversible=yes Stiles={711,393} Cprecincts={128,128}
Note:
The default rate control policy for colour images employs visual (CSF)
weighting factors. To minimize MSE instead, specify `-no_weights'.
Note:
If you want quality scalability, you should generate multiple layers with
`-rate' or by using the "Clayers" option.
Generated 6 tile-part(s) for a total of 6 tile(s).
Code-stream bytes (excluding any file format) = 738,792 = 7.898868 bits/pel.
Layer bit-rates (possibly inexact if tiles are divided across tile-parts):
7.898868
Layer thresholds:
0
Processed using the multi-threaded environment, with
8 parallel threads of execution
C:\>ffmpeg -i precints.jp2 out.bmp
ffmpeg version N-73010-gbb3703a Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.9.2 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --
enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-l
ibilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enab
le-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --en
able-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --ena
ble-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc
--enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enabl
e-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma --ena
ble-decklink --enable-zlib
libavutil 54. 27.100 / 54. 27.100
libavcodec 56. 41.100 / 56. 41.100
libavformat 56. 37.100 / 56. 37.100
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 17.100 / 5. 17.100
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.100 / 1. 2.100
libpostproc 53. 3.100 / 53. 3.100
[jpeg2000 @ 034b1920] End mismatch 6
[jpeg2000 @ 034b1920] End mismatch 9
[jpeg2000 @ 034b1920] End mismatch 1
[jpeg2000 @ 034b1920] End mismatch 5
[jpeg2000 @ 034b1920] End mismatch 1
[jpeg2000 @ 034b1920] End mismatch 210
[jpeg2000 @ 034b1920] End mismatch 15
[jpeg2000 @ 034b1920] End mismatch 31
[jpeg2000 @ 034b1920] End mismatch 2
[jpeg2000 @ 034b1920] End mismatch 36
[jpeg2000 @ 034b1920] End mismatch 23
[jpeg2000 @ 034b1920] End mismatch 17
[jpeg2000 @ 034b1920] End mismatch 38
[jpeg2000 @ 034b1920] End mismatch 5
[jpeg2000 @ 034b1920] End mismatch 26
[jpeg2000 @ 034b1920] End mismatch 1
[jpeg2000 @ 034b1920] End mismatch 3540
[jpeg2000 @ 034b1920] End mismatch 149
[jpeg2000 @ 034b1920] End mismatch 5
[jpeg2000 @ 034b1920] End mismatch 53
[jpeg2000 @ 034b1920] End mismatch 61
[jpeg2000 @ 034b1920] End mismatch 13
[jpeg2000 @ 034b1920] End mismatch 1
Input #0, j2k_pipe, from 'precints.jp2':
Duration: N/A, bitrate: N/A
Stream #0:0: Video: jpeg2000 (JPEG 2000 codestream restriction 0), rgb24, 99
9x749, 25 tbr, 25 tbn, 25 tbc
Output #0, image2, to 'out.bmp':
Metadata:
encoder : Lavf56.37.100
Stream #0:0: Video: bmp, bgr24, 999x749, q=2-31, 200 kb/s, 25 fps, 25 tbn, 2
5 tbc
Metadata:
encoder : Lavc56.41.100 bmp
Stream mapping:
Stream #0:0 -> #0:0 (jpeg2000 (native) -> bmp (native))
Press [q] to stop, [?] for help
[jpeg2000 @ 03bcabe0] End mismatch 6
[jpeg2000 @ 03bcabe0] End mismatch 9
[jpeg2000 @ 03bcabe0] End mismatch 1
[jpeg2000 @ 03bcabe0] End mismatch 5
[jpeg2000 @ 03bcabe0] End mismatch 1
[jpeg2000 @ 03bcabe0] End mismatch 210
[jpeg2000 @ 03bcabe0] End mismatch 15
[jpeg2000 @ 03bcabe0] End mismatch 31
[jpeg2000 @ 03bcabe0] End mismatch 2
[jpeg2000 @ 03bcabe0] End mismatch 36
[jpeg2000 @ 03bcabe0] End mismatch 23
[jpeg2000 @ 03bcabe0] End mismatch 17
[jpeg2000 @ 03bcabe0] End mismatch 38
[jpeg2000 @ 03bcabe0] End mismatch 5
[jpeg2000 @ 03bcabe0] End mismatch 26
[jpeg2000 @ 03bcabe0] End mismatch 1
[jpeg2000 @ 03bcabe0] End mismatch 3540
[jpeg2000 @ 03bcabe0] End mismatch 149
[jpeg2000 @ 03bcabe0] End mismatch 5
[jpeg2000 @ 03bcabe0] End mismatch 53
[jpeg2000 @ 03bcabe0] End mismatch 61
[jpeg2000 @ 03bcabe0] End mismatch 13
[jpeg2000 @ 03bcabe0] End mismatch 1
frame= 1 fps=0.0 q=0.0 Lsize=N/A time=00:00:00.04 bitrate=N/A
video:2194kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing
overhead: unknown
I forgot to mention that this sample crashes for me with -vcodec libopenjpeg (no idea if this could be fixed in ffmpeg's code).