Opened 12 years ago
Closed 12 years ago
#2510 closed defect (fixed)
Some jpeg2000 files cannot be decoded anymore by default
Reported by: | Carl Eugen Hoyos | Owned by: | Nicolas Bertrand |
---|---|---|---|
Priority: | important | Component: | avcodec |
Version: | git-master | Keywords: | j2k regression |
Cc: | nicoinattendu@gmail.com | Blocked By: | |
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description (last modified by )
$ ffmpeg -i tests/lena.pnm -vcodec libopenjpeg outlibopenjpeg.j2c
$ ffmpeg -i tests/lena.pnm -vcodec j2k -strict -2 outj2k.j2c
Both files can be decoded with libopenjpeg and the "experimental" j2k decoder (and jasper), but not with the default decoder:
$ ffmpeg -i outlibopenjpeg.j2c out.jpg ffmpeg version N-52554-gb691bc4 Copyright (c) 2000-2013 the FFmpeg developers built on Apr 29 2013 12:14:54 with gcc 4.7 (SUSE Linux) configuration: --enable-gpl --disable-indev=jack --enable-libopenjpeg libavutil 52. 27.101 / 52. 27.101 libavcodec 55. 6.100 / 55. 6.100 libavformat 55. 3.100 / 55. 3.100 libavdevice 55. 0.100 / 55. 0.100 libavfilter 3. 61.101 / 3. 61.101 libswscale 2. 2.100 / 2. 2.100 libswresample 0. 17.102 / 0. 17.102 libpostproc 52. 3.100 / 52. 3.100 [jpeg2000 @ 0x24a56c0] SOD marker not found [jpeg2000 @ 0x24a56c0] error during processing marker segment ff90 Input #0, image2, from 'outlibopenjpeg.j2c': Duration: 00:00:00.04, start: 0.000000, bitrate: N/A Stream #0:0: Video: jpeg2000 (JPEG 2000 codestream restriction 0), rgb24, 256x256, 25 tbr, 25 tbn, 25 tbc Output #0, image2, to 'out.jpg': Metadata: encoder : Lavf55.3.100 Stream #0:0: Video: mjpeg, yuvj444p, 256x256, q=2-31, 200 kb/s, 90k tbn, 25 tbc Stream mapping: Stream #0:0 -> #0:0 (jpeg2000 -> mjpeg) Press [q] to stop, [?] for help [jpeg2000 @ 0x26077e0] SOD marker not found [jpeg2000 @ 0x26077e0] error during processing marker segment ff90 frame= 0 fps=0.0 q=0.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)
$ ffmpeg -i outj2k.j2c out.jpg ffmpeg version N-52554-gb691bc4 Copyright (c) 2000-2013 the FFmpeg developers built on Apr 29 2013 12:14:54 with gcc 4.7 (SUSE Linux) configuration: --enable-gpl --disable-indev=jack --enable-libopenjpeg libavutil 52. 27.101 / 52. 27.101 libavcodec 55. 6.100 / 55. 6.100 libavformat 55. 3.100 / 55. 3.100 libavdevice 55. 0.100 / 55. 0.100 libavfilter 3. 61.101 / 3. 61.101 libswscale 2. 2.100 / 2. 2.100 libswresample 0. 17.102 / 0. 17.102 libpostproc 52. 3.100 / 52. 3.100 Input #0, image2, from 'outj2k.j2c': Duration: 00:00:00.04, start: 0.000000, bitrate: N/A Stream #0:0: Video: jpeg2000 (JPEG 2000 codestream restriction 0), rgb24, 256x256, 25 tbr, 25 tbn, 25 tbc Output #0, image2, to 'out.jpg': Metadata: encoder : Lavf55.3.100 Stream #0:0: Video: mjpeg, yuvj444p, 256x256, q=2-31, 200 kb/s, 90k tbn, 25 tbc Stream mapping: Stream #0:0 -> #0:0 (jpeg2000 -> mjpeg) Press [q] to stop, [?] for help frame= 0 fps=0.0 q=0.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)
$ ffmpeg -vcodec libopenjpeg -i outlibopenjpeg.j2c out.jpg ffmpeg version N-52554-gb691bc4 Copyright (c) 2000-2013 the FFmpeg developers built on Apr 29 2013 12:14:54 with gcc 4.7 (SUSE Linux) configuration: --enable-gpl --disable-indev=jack --enable-libopenjpeg libavutil 52. 27.101 / 52. 27.101 libavcodec 55. 6.100 / 55. 6.100 libavformat 55. 3.100 / 55. 3.100 libavdevice 55. 0.100 / 55. 0.100 libavfilter 3. 61.101 / 3. 61.101 libswscale 2. 2.100 / 2. 2.100 libswresample 0. 17.102 / 0. 17.102 libpostproc 52. 3.100 / 52. 3.100 [jpeg2000 @ 0x2c0f700] SOD marker not found [jpeg2000 @ 0x2c0f700] error during processing marker segment ff90 Input #0, image2, from 'outlibopenjpeg.j2c': Duration: 00:00:00.04, start: 0.000000, bitrate: N/A Stream #0:0: Video: jpeg2000 (JPEG 2000 codestream restriction 0), rgb24, 256x256, 25 tbr, 25 tbn, 25 tbc Output #0, image2, to 'out.jpg': Metadata: encoder : Lavf55.3.100 Stream #0:0: Video: mjpeg, yuvj444p, 256x256, q=2-31, 200 kb/s, 90k tbn, 25 tbc Stream mapping: Stream #0:0 -> #0:0 (libopenjpeg -> mjpeg) Press [q] to stop, [?] for help frame= 1 fps=0.0 q=0.0 Lsize=N/A time=00:00:00.04 bitrate=N/A video:16kB audio:0kB subtitle:0 global headers:0kB muxing overhead -100.134138%
$ ffmpeg -vcodec libopenjpeg -i outj2k.j2c out.jpg ffmpeg version N-52554-gb691bc4 Copyright (c) 2000-2013 the FFmpeg developers built on Apr 29 2013 12:14:54 with gcc 4.7 (SUSE Linux) configuration: --enable-gpl --disable-indev=jack --enable-libopenjpeg libavutil 52. 27.101 / 52. 27.101 libavcodec 55. 6.100 / 55. 6.100 libavformat 55. 3.100 / 55. 3.100 libavdevice 55. 0.100 / 55. 0.100 libavfilter 3. 61.101 / 3. 61.101 libswscale 2. 2.100 / 2. 2.100 libswresample 0. 17.102 / 0. 17.102 libpostproc 52. 3.100 / 52. 3.100 Input #0, image2, from 'outj2k.j2c': Duration: 00:00:00.04, start: 0.000000, bitrate: N/A Stream #0:0: Video: jpeg2000 (JPEG 2000 codestream restriction 0), rgb24, 256x256, 25 tbr, 25 tbn, 25 tbc Output #0, image2, to 'out.jpg': Metadata: encoder : Lavf55.3.100 Stream #0:0: Video: mjpeg, yuvj444p, 256x256, q=2-31, 200 kb/s, 90k tbn, 25 tbc Stream mapping: Stream #0:0 -> #0:0 (libopenjpeg -> mjpeg) Press [q] to stop, [?] for help frame= 1 fps=0.0 q=0.0 Lsize=N/A time=00:00:00.04 bitrate=N/A video:16kB audio:0kB subtitle:0 global headers:0kB muxing overhead -100.133245%
$ ffmpeg -vcodec j2k -strict -2 -i outlibopenjpeg.j2c out.jpg ffmpeg version N-52554-gb691bc4 Copyright (c) 2000-2013 the FFmpeg developers built on Apr 29 2013 12:14:54 with gcc 4.7 (SUSE Linux) configuration: --enable-gpl --disable-indev=jack --enable-libopenjpeg libavutil 52. 27.101 / 52. 27.101 libavcodec 55. 6.100 / 55. 6.100 libavformat 55. 3.100 / 55. 3.100 libavdevice 55. 0.100 / 55. 0.100 libavfilter 3. 61.101 / 3. 61.101 libswscale 2. 2.100 / 2. 2.100 libswresample 0. 17.102 / 0. 17.102 libpostproc 52. 3.100 / 52. 3.100 [jpeg2000 @ 0x34be8c0] SOD marker not found [jpeg2000 @ 0x34be8c0] error during processing marker segment ff90 Input #0, image2, from 'outlibopenjpeg.j2c': Duration: 00:00:00.04, start: 0.000000, bitrate: N/A Stream #0:0: Video: jpeg2000 (JPEG 2000 codestream restriction 0), rgb24, 256x256, 25 tbr, 25 tbn, 25 tbc Output #0, image2, to 'out.jpg': Metadata: encoder : Lavf55.3.100 Stream #0:0: Video: mjpeg, yuvj444p, 256x256, q=2-31, 200 kb/s, 90k tbn, 25 tbc Stream mapping: Stream #0:0 -> #0:0 (j2k -> mjpeg) Press [q] to stop, [?] for help frame= 1 fps=0.0 q=0.0 Lsize=N/A time=00:00:00.04 bitrate=N/A video:16kB audio:0kB subtitle:0 global headers:0kB muxing overhead -100.130247%
$ ffmpeg -vcodec j2k -strict -2 -i outj2k.j2c out.jpg ffmpeg version N-52554-gb691bc4 Copyright (c) 2000-2013 the FFmpeg developers built on Apr 29 2013 12:14:54 with gcc 4.7 (SUSE Linux) configuration: --enable-gpl --disable-indev=jack --enable-libopenjpeg libavutil 52. 27.101 / 52. 27.101 libavcodec 55. 6.100 / 55. 6.100 libavformat 55. 3.100 / 55. 3.100 libavdevice 55. 0.100 / 55. 0.100 libavfilter 3. 61.101 / 3. 61.101 libswscale 2. 2.100 / 2. 2.100 libswresample 0. 17.102 / 0. 17.102 libpostproc 52. 3.100 / 52. 3.100 Input #0, image2, from 'outj2k.j2c': Duration: 00:00:00.04, start: 0.000000, bitrate: N/A Stream #0:0: Video: jpeg2000 (JPEG 2000 codestream restriction 0), rgb24, 256x256, 25 tbr, 25 tbn, 25 tbc Output #0, image2, to 'out.jpg': Metadata: encoder : Lavf55.3.100 Stream #0:0: Video: mjpeg, yuvj444p, 256x256, q=2-31, 200 kb/s, 90k tbn, 25 tbc Stream mapping: Stream #0:0 -> #0:0 (j2k -> mjpeg) Press [q] to stop, [?] for help frame= 1 fps=0.0 q=0.0 Lsize=N/A time=00:00:00.04 bitrate=N/A video:17kB audio:0kB subtitle:0 global headers:0kB muxing overhead -100.130062%
Change History (4)
comment:1 by , 12 years ago
Description: | modified (diff) |
---|
comment:2 by , 12 years ago
comment:3 by , 12 years ago
Cc: | added |
---|---|
Owner: | set to |
Status: | new → open |
Note:
See TracTickets
for help on using tickets.
Its an expected pb from new jpeg2000 decoder.
Not tested with images not coming from dcinema profiles.
Merge with j2k decoder shall be done fot that case.