Opened 12 years ago
Closed 9 years ago
#2586 closed enhancement (fixed)
Unsupported 4k DCI Jpeg2000 file
Reported by: | Andrew Hunter | Owned by: | |
---|---|---|---|
Priority: | wish | Component: | avcodec |
Version: | git-master | Keywords: | j2k 4k crash |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | yes | |
Analyzed by developer: | yes |
Description (last modified by )
Jpeg2000 encoded from OpenDCP Cinema4k profile fails with the following error.
Error is also reproduceable on the .j2c source file, attached.
$ ffplay -threads 8 'K:\ISAIAH''S BIRTHDAY\IB_MXF\ISAIAHS_BIRTHDAY.REEL00 1.PIX.mxf'-lowres 1 ffplay version N-53033-g56ba331 Copyright (c) 2003-2013 the FFmpeg developers built on May 13 2013 22:23:31 with gcc 4.7.3 (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-libcaca --enable-libfreetyp e --enable-libgsm --enable-libilbc --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-li bopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheo ra --enable-libtwolame --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib libavutil 52. 31.100 / 52. 31.100 libavcodec 55. 9.100 / 55. 9.100 libavformat 55. 7.100 / 55. 7.100 libavdevice 55. 0.100 / 55. 0.100 libavfilter 3. 65.100 / 3. 65.100 libswscale 2. 3.100 / 2. 3.100 libswresample 0. 17.102 / 0. 17.102 libpostproc 52. 3.100 / 52. 3.100 nan A-V: [mxf @ 00000000023d1500] 0 "OPAtom" with 2 ECs - assuming OP1a .000 fd= 0 aq= 0KB vq= [jpeg2000 @ 00000000023d9a80] unsupported marker 0xFF5F at pos 0x10B
Attachments (3)
Change History (13)
by , 12 years ago
Attachment: | ISAIAHS_BIRTHDAY.REEL001.00101979.j2c added |
---|
comment:1 by , 12 years ago
Keywords: | j2k added; Cinema4k DCP Jpeg2000 removed |
---|
I cannot reproduce the crash, please provide gdb output as explained on http://ffmpeg.org/bugreports.html
comment:2 by , 12 years ago
Description: | modified (diff) |
---|
comment:3 by , 12 years ago
Hey Cehoyos,
The crash aspect is perhaps platform specific, more interested in getting the Jpeg2000 to display. Are you able to read the sample?
Running pre-compiled windows binaries, app crash is reported as:
Problem signature:
Problem Event Name: APPCRASH
Application Name: ffplay.exe
Application Version: 0.0.0.0
Application Timestamp: 5191a094
Fault Module Name: StackHash_89cf
Fault Module Version: 6.1.7601.17725
Fault Module Timestamp: 4ec4aa8e
Exception Code: c0000374
Exception Offset: 00000000000c40f2
OS Version: 6.1.7601.2.1.0.256.1
Locale ID: 1033
Additional Information 1: 89cf
Additional Information 2: 89cff8509c07302aed9e8b8d4a017c24
Additional Information 3: e5c8
Additional Information 4: e5c8276b82f09a5c6049e7a73f482846
comment:4 by , 12 years ago
You will have to provide a backtrace with gdb, above does not help at all unfortunately.
(gdb works fine on Windows.)
comment:5 by , 12 years ago
Analyzed by developer: | set |
---|---|
Component: | undetermined → avcodec |
Keywords: | jpeg2000 4K added |
Reproduced by developer: | set |
Status: | new → open |
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
comment:6 by , 12 years ago
Keywords: | 4k added; jpeg2000 4K removed |
---|
comment:7 by , 11 years ago
Keywords: | crash added |
---|---|
Priority: | normal → wish |
Summary: | FFplay crashes on 4k DCI Jpeg200 → Unsupported 4k DCI Jpeg2000 file |
Type: | defect → enhancement |
The original crash that was reproducible with ffmpeg, a regression since e2e9bee / c81a706, was fixed by Michael (73ffab4), the file currently can only be decoded with -vcodec libopenjpeg.
I leave this open as a feature request for decoding with the native jpeg2000 decoder.
by , 11 years ago
Attachment: | fdfcde74_excerpt_000000-000023.mxf added |
---|
by , 11 years ago
Attachment: | fdfcde74_excerpt_000000-000023.mkv added |
---|
comment:8 by , 11 years ago
I uploaded the sample from ticket #3435 to http://samples.ffmpeg.org/ffmpeg-bugs/trac/ticket2586
comment:9 by , 10 years ago
The attached sample fdfcde74_excerpt_000000-000023.mxf was fixed by Michael in 81471d82467647994067203b21c29183ac5f25be (ticket #4602).
comment:10 by , 9 years ago
Resolution: | → fixed |
---|---|
Status: | open → closed |
Sample 4k Jpeg2000