[FFmpeg-trac] #2586(avcodec:open): FFplay crashes on 4k DCI Jpeg200

FFmpeg trac at avcodec.org
Mon Jun 17 17:53:10 CEST 2013


#2586: FFplay crashes on 4k DCI Jpeg200
-------------------------------------+-------------------------------------
             Reporter:  rexbron      |                    Owner:
                 Type:  defect       |                   Status:  open
             Priority:  normal       |                Component:  avcodec
              Version:  git-master   |               Resolution:
             Keywords:  j2k,         |               Blocked By:
  jpeg2000; 4K                       |  Reproduced by developer:  1
             Blocking:               |
Analyzed by developer:  1            |
-------------------------------------+-------------------------------------
Changes (by Buxiness):

 * analyzed:  0 => 1
 * keywords:  j2k => j2k, jpeg2000; 4K
 * status:  new => open
 * component:  undetermined => avcodec
 * reproduced:  0 => 1


Comment:

 Hi,
 I tried the image,
 it says unsupported marker 0xFF5F, is the POC marker( Progression Order
 change). this marker is not handled bu the jpeg2000 decoder.  And its
 specific for 4K. AS DCI says :
 For a 4K distribution, there shall be exactly one POC marker segment in
 the main header. Other POC marker segments are forbidden. The POC marker
 segment shall specify exactly two progressions having the following
 parameters:
 DCI Digital Cinema System Specification v.1.2 Page 41
 - First progression: RSpoc = 0, CSpoc = 0, LYEpoc = L, REpoc = D, CEpoc =
 3, Ppoc = 4
 - Second progression: RSpoc = D, CSpoc = 0, LYEpoc = L, REpoc = D+1, CEpoc
 = 3, Ppoc = 4
 - In the above, D is the number of wavelet transform levels and L is the
 number of quality layers. The constant 3 specifies the number of color
 components, and the constant 4 specifies CPRL progression.

 Note: This POC marker segment ensures that all 2K data precede all 4K
 data. Within each portion (2K, 4K), all data for color component 0 precede
 all data for color component 1, which in turn precede all data for color
 component 2.


 There are also in management of TPsot market who have to handle 6
 tileparts in 4K, instead of 3 in 2K


 Sample command :
 {{{
 ./ffmpeg -v verbose -y -i
 /home/nicolas/Téléchargements/ISAIAHS_BIRTHDAY.REEL001.00101979.j2c
 -vcodec jpeg2000 -strict -2 /tmp/out.tiff
 ffmpeg version N-53811-gc8faa47 Copyright (c) 2000-2013 the FFmpeg
 developers
   built on Jun  3 2013 18:16:12 with gcc 4.6 (Ubuntu/Linaro
 4.6.3-1ubuntu5)
   configuration: --prefix=/home/nicolas/dev/local --enable-pic --enable-
 libopenjpeg
   libavutil      52. 34.100 / 52. 34.100
   libavcodec     55. 15.100 / 55. 15.100
   libavformat    55.  8.102 / 55.  8.102
   libavdevice    55.  2.100 / 55.  2.100
   libavfilter     3. 74.101 /  3. 74.101
   libswscale      2.  3.100 /  2.  3.100
   libswresample   0. 17.102 /  0. 17.102
 [jpeg2000 @ 0x29818a0] unsupported marker 0xFF5F at pos 0x10B
 [jpeg2000 @ 0x29818a0] TPsot 3 too big
 [jpeg2000 @ 0x29818a0] error during processing marker segment ff90
 Input #0, image2, from
 '/home/nicolas/Téléchargements/ISAIAHS_BIRTHDAY.REEL001.00101979.j2c':
   Duration: 00:00:00.04, start: 0.000000, bitrate: N/A
     Stream #0:0: Video: jpeg2000 (JPEG 2000 digital cinema 4K), xyz12le,
 3840x2160, 25 tbr, 25 tbn, 25 tbc
 [graph 0 input from stream 0:0 @ 0x296c860] w:3840 h:2160 pixfmt:xyz12le
 tb:1/25 fr:25/1 sar:0/1 sws_param:flags=2
 [auto-inserted scaler 0 @ 0x296d440] w:iw h:ih flags:'0x4' interl:0
 [format @ 0x296e720] auto-inserting filter 'auto-inserted scaler 0'
 between the filter 'Parsed_null_0' and the filter 'format'
 [auto-inserted scaler 0 @ 0x296d440] w:3840 h:2160 fmt:xyz12le sar:0/1 ->
 w:3840 h:2160 fmt:yuv444p sar:0/1 flags:0x4
 Output #0, image2, to '/tmp/out.tiff':
   Metadata:
     encoder         : Lavf55.8.102
     Stream #0:0: Video: jpeg2000, yuv444p, 3840x2160, q=2-31, 200 kb/s,
 90k tbn, 25 tbc
 Stream mapping:
   Stream #0:0 -> #0:0 (jpeg2000 -> jpeg2000)
 Press [q] to stop, [?] for help
 [jpeg2000 @ 0x90bc040] unsupported marker 0xFF5F at pos 0x10B
 [jpeg2000 @ 0x90bc040] TPsot 3 too big
 [jpeg2000 @ 0x90bc040] error during processing marker segment ff90
 No more output streams to write to, finishing.
 frame=    0 fps=0.0 q=-1.0 Lsize=N/A time=00:00:00.00 bitrate=N/A
 video:0kB audio:0kB subtitle:0 global headers:0kB muxing overhead -inf%
 Output file is empty, nothing was encoded (check -ss / -t / -frames
 parameters if used)

 }}}




 Tested with libopenjpeg is works
 {{{
 ./ffplay -lowres 2
 /home/nicolas/Téléchargements/ISAIAHS_BIRTHDAY.REEL001.00101979.j2c
 -vcodec libopenjpeg
 }}}

-- 
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/2586#comment:5>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list