[Bug 753323] mpegts: add support for JPEG 2000 to mpegtsmux and tsdemux

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Wed Oct 26 09:22:07 UTC 2016


https://bugzilla.gnome.org/show_bug.cgi?id=753323

--- Comment #36 from Sebastian Dröge (slomo) <slomo at coaxion.net> ---
(In reply to Milos Seleceni from comment #35)
> Hi all, we made a great progress with tsmuxer and demuxer. We are compatible
> now with AJA HW devices for creating and decoding Mpeg-TS with Jpeg2000. Few
> issues left to finish this:
> 
> 1) Mpeg-TS requires Broadcast profile and Broadcast profile main level in
> j2k descriptor. We also have an jpeg2000 encoder producing such J2k
> codestream. My question is how should I get this info? I can create special
> structure, holding this information, in  output caps of our encoder, but
> what about other encoders? This is not the best way probably!

How are the profiles and levels for JPEG2000 defined? Are they also stored
inside the codestream somehow?

We should probably do the same here as for h264 and other codecs. Have profile
and level in the caps, and helper functions for extracting those from the
stream if possible.

> 2) How to handle interlace video. The standard requires this structure in
> single buffer
>  [[ELSM header][1. j2k codestream][2. codestream]]. The jpeg2000 encoder
> should produce two buffer for interlace video then in mpegtsmux I need
> concat these two buffers into the one plus add ELSM header. This is the only
> way I can think of it. If the encoder produce single buffer with both
> interlace frames in it I won't be able to separate them later in mpegtsmux.

This seems suboptimal. GstVideoDecoder and GstVideoEncoder are assuming that
one buffer corresponds to exactly one frame, and not just to a field. You'll
run into various problems everywhere here if it is separate buffers.

What information is missing later to be able to split them again? There are no
markers or other information anywhere, and you would somewhere need to know the
size of each field? Maybe a GstMeta here for the case of interlaced JPEG2000...

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list