Opened 3 years ago

Closed 3 years ago

#5359 closed enhancement (wontfix)

j2k parser

Reported by: cehoyos Owned by:
Priority: wish Component: avcodec
Version: git-master Keywords: j2k
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

It is possible (and was done by a user) to concatenate jpeg 2000 frames:

$ ffmpeg -f lavfi -i testsrc=r=1:d=5 -vcodec jpeg2000 -f rawvideo out.j2m

The resulting output file cannot be decoded except for the first frame because no jpeg 2000 parser exists:

$ ffmpeg -i out.j2m -f null -
ffmpeg version N-79105-gdf34b70 Copyright (c) 2000-2016 the FFmpeg developers
  built with gcc 4.7 (SUSE Linux)
  configuration: --enable-gpl
  libavutil      55. 19.100 / 55. 19.100
  libavcodec     57. 28.103 / 57. 28.103
  libavformat    57. 28.102 / 57. 28.102
  libavdevice    57.  0.101 / 57.  0.101
  libavfilter     6. 39.102 /  6. 39.102
  libswscale      4.  0.100 /  4.  0.100
  libswresample   2.  0.101 /  2.  0.101
  libpostproc    54.  0.100 / 54.  0.100
[jpeg2000 @ 0x3397960] bpno became negative
    Last message repeated 339 times
Input #0, j2k_pipe, from 'out.j2m':
  Duration: N/A, bitrate: N/A
    Stream #0:0: Video: jpeg2000 (JPEG 2000 codestream restriction 0), rgb24, 320x240, 25 tbr, 25 tbn, 25 tbc
Output #0, null, to 'pipe:':
  Metadata:
    encoder         : Lavf57.28.102
    Stream #0:0: Video: wrapped_avframe, rgb24, 320x240, q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
    Metadata:
      encoder         : Lavc57.28.103 wrapped_avframe
Stream mapping:
  Stream #0:0 -> #0:0 (jpeg2000 (native) -> wrapped_avframe (native))
Press [q] to stop, [?] for help
[jpeg2000 @ 0x339e560] bpno became negative
    Last message repeated 339 times
frame=    1 fps=0.0 q=-0.0 Lsize=N/A time=00:00:00.04 bitrate=N/A speed=1.33x
video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown

Change History (3)

comment:1 follow-up: Changed 3 years ago by richardpl

You sure this is real j2m and not something else?

comment:2 in reply to: ↑ 1 Changed 3 years ago by cehoyos

Replying to richardpl:

You sure this is real j2m and not something else?

What is real j2m?
I thought I used an extension that is not yet used by any specification, sorry if I made a mistake.

comment:3 Changed 3 years ago by richardpl

  • Resolution set to wontfix
  • Status changed from new to closed

This can't be fixed, the format is broken to begin with, as it allows SOT marker to not specify size which ultimately disallows proper parsing.

Note: See TracTickets for help on using tickets.