[FFmpeg-user] Mathematically lossless MotionJPEG2000 encoding possible?

Christoph Gerstbauer christophgerstbauer at gmail.com
Mon Oct 27 21:02:31 CET 2014


Hello  Carl,

here is the syntax:

C:\Users\gersti>ffmpeg -i C:\TESTS\8bit_ffv1_yuv422p.avi -vcodec 
libopenjpeg C:\TESTS\8bit_jpeg2000_yuv422p.avi
ffmpeg version N-67205-g61e42c1 Copyright (c) 2000-2014 the FFmpeg 
developers
   built on Oct 26 2014 22:40:18 with gcc 4.9.1 (GCC)
   configuration: --enable-gpl --enable-version3 --disable-w32threads 
--enable-avisynth --enable-bzlib --enable-fontconfi
g --enable-frei0r --enable-gnutls --enable-iconv --enable-libass 
--enable-libbluray --enable-libbs2b --enable-libcaca --
enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc 
--enable-libmodplug --enable-libmp3lame --enable-lib
opencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg 
--enable-libopus --enable-librtmp --enable-libschroedinge
r --enable-libsoxr --enable-libspeex --enable-libtheora 
--enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --
enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx 
--enable-libwavpack --enable-libwebp --enable-libx264 --enable-
libx265 --enable-libxavs --enable-libxvid --enable-zlib
   libavutil      54. 11.100 / 54. 11.100
   libavcodec     56. 10.100 / 56. 10.100
   libavformat    56. 11.100 / 56. 11.100
   libavdevice    56.  1.100 / 56.  1.100
   libavfilter     5.  2.100 /  5.  2.100
   libswscale      3.  1.101 /  3.  1.101
   libswresample   1.  1.100 /  1.  1.100
   libpostproc    53.  3.100 / 53.  3.100
Input #0, avi, from 'C:\TESTS\8bit_ffv1_yuv422p.avi':
   Metadata:
     encoder         : Lavf56.11.100
     timecode        : 00:00:00:00
   Duration: 00:00:05.00, start: 0.000000, bitrate: 76491 kb/s
     Stream #0:0: Video: ffv1 (FFV1 / 0x31564646), yuv422p, 720x576, 
77094 kb/s, SAR 64:45 DAR 16:9, 25 fps, 25 tbr, 25 t
bn, 25 tbc
Output #0, avi, to 'C:\TESTS\8bit_jpeg2000_yuv422p.avi':
   Metadata:
     ISMP            : 00:00:00:00
     ISFT            : Lavf56.11.100
     Stream #0:0: Video: jpeg2000 (libopenjpeg) (mjp2 / 0x32706A6D), 
yuv422p, 720x576 [SAR 64:45 DAR 16:9], q=2-31, 200 k
b/s, 25 fps, 25 tbn, 25 tbc
     Metadata:
       encoder         : Lavc56.10.100 libopenjpeg
Stream mapping:
   Stream #0:0 -> #0:0 (ffv1 (native) -> jpeg2000 (libopenjpeg))
Press [q] to stop, [?] for help
frame=  125 fps=4.6 q=0.0 Lsize=   46802kB time=00:00:05.00 
bitrate=76680.9kbits/s
video:46794kB audio:0kB subtitle:0kB other streams:0kB global 
headers:0kB muxing overhead: 0.018440%


> Finally, please note that ffv1 is faster than libopenjpeg, compresses 
> better and should make significantly less trouble than the so-called 
> "professional" solutions you are being offered. 

Do you mean "ffv1 is faster/compresses better than libopenjpeg" or
"ffv1 is faster/compresses better than motionJPEG2000 generally"?


You can download my test files here (in about 15minutes, still uploading):
https://dl.dropboxusercontent.com/u/26129407/JPEG2000_sample1.zip


More information about the ffmpeg-user mailing list