[FFmpeg-trac] #3754(undetermined:new): jpeg2000 encode produces gray garbage files, probably connected to threads and compression

FFmpeg trac at avcodec.org
Thu Jul 3 17:32:51 CEST 2014


#3754: jpeg2000 encode produces gray garbage files, probably connected to threads
and compression
-------------------------------------+-------------------------------------
             Reporter:  bud          |                     Type:  defect
               Status:  new          |                 Priority:  important
            Component:               |                  Version:  git-
  undetermined                       |  master
             Keywords:  openjpeg     |               Blocked By:
  compression threads                |  Reproduced by developer:  0
             Blocking:               |
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 summary:
 ffmpeg libopenjpeg encoder produces wrong image files when compression is
 on. seems to be connected to the amount of threads.


 originally i wanted to compress a mov to dcp compatible j2c files. this
 does not work with latest builds on windows/linux.

 i tried these builds
 linux (http://johnvansickle.com/ffmpeg/)
  ffmpeg-git-20140703-64bit-static
  ffmpeg-2.2.4-64bit-static
 windows (zeranoe)
  ffmpeg-20140703-git-1265247-win64-static
  ffmpeg-20140703-git-1265247-win32-static (crashes)

 i could minimize the offending command line to

 ./ffmpeg -i infile -an -compression_level 30 -threads 1  %06d.j2c

 output can be found on the very end of this post.[1]
 using the above the encoder (libopenjpeg) produces one proper encoded
 image and one 1kb sized gray image alternating in a row.
 raising threads eg. to 10 gives you ca. 10 proper pictures and thereafter
 10 gray 1kb ones. sometimes one or two images lurk into the other group
 but the pattern is pretty obvious however.

 the problem does not surface when -compression_level is set to 0
 (disabled).

 thank you.. bud


 [1]OUTPUT

 ffmpeg version N-44018-g1265247-   http://johnvansickle.com/ffmpeg/
 Copyright (c) 2000-2014 the FFmpeg developers
   built on Jul  3 2014 02:32:06 with gcc 4.8 (Debian 4.8.3-4)
   configuration: --enable-gpl --enable-version3 --disable-shared
 --disable-debug --enable-runtime-cpudetect --enable-libmp3lame --enable-
 libx264 --enable-libx265 --enable-libwebp --enable-libspeex --enable-
 libvorbis --enable-libvpx --enable-libfreetype --enable-fontconfig
 --enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb
 --enable-libtheora --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-
 gray --enable-libopenjpeg --enable-libopus --disable-ffserver --enable-
 libass --enable-gnutls --cc=gcc-4.8
   libavutil      52. 90.101 / 52. 90.101
   libavcodec     55. 68.100 / 55. 68.100
   libavformat    55. 44.100 / 55. 44.100
   libavdevice    55. 13.101 / 55. 13.101
   libavfilter     4.  9.100 /  4.  9.100
   libswscale      2.  6.100 /  2.  6.100
   libswresample   0. 19.100 /  0. 19.100
   libpostproc    52.  3.100 / 52.  3.100
 Guessed Channel Layout for  Input Stream #0.2 : 5.1
 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'infile':
   Metadata:
     major_brand     : qt
     minor_version   : 537199360
     compatible_brands: qt
     creation_time   : 2014-07-03 15:12:55
     timecode        : 00:04:08:12
   Duration: 00:00:09.00, start: 0.000000, bitrate: 178667 kb/s
     Stream #0:0(eng): Video: prores (apch / 0x68637061), yuv422p10le,
 1920x1080, 174053 kb/s, SAR 1:1 DAR 16:9, 24 fps, 24 tbr, 24 tbn, 24 tbc
 (default)
     Metadata:
       creation_time   : 2014-07-03 15:12:55
       handler_name    : Apple Alias-Datensteuerung
       encoder         : Apple ProRes 422 (HQ)
     Stream #0:1(eng): Data: none (tmcd / 0x64636D74), 0 kb/s (default)
     Metadata:
       creation_time   : 2014-07-03 15:12:55
       handler_name    : Apple Alias-Datensteuerung
       timecode        : 00:04:08:12
     Stream #0:2(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, 6
 channels, s16, 4608 kb/s (default)
     Metadata:
       creation_time   : 2014-07-03 15:12:55
       handler_name    : Apple Alias-Datensteuerung
 [image2 @ 0x45fa520] Using AVStream.codec.time_base as a timebase hint to
 the muxer is deprecated. Set AVStream.time_base instead.
 Output #0, image2, to '%06d.j2c':
   Metadata:
     major_brand     : qt
     minor_version   : 537199360
     compatible_brands: qt
     timecode        : 00:04:08:12
     encoder         : Lavf55.44.100
     Stream #0:0(eng): Video: jpeg2000 (libopenjpeg), yuv422p10le,
 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 24 fps, 24 tbn, 24 tbc
 (default)
     Metadata:
       creation_time   : 2014-07-03 15:12:55
       handler_name    : Apple Alias-Datensteuerung
       encoder         : Lavc55.68.100 libopenjpeg
 Stream mapping:
   Stream #0:0 -> #0:0 (prores (native) -> jpeg2000 (libopenjpeg))

--
Ticket URL: <https://trac.ffmpeg.org/ticket/3754>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list