Skip to content

openjpegenc: add support for sub-frame encoding

Following the standard for low latency JPEG 2000 encoding we divide the image into stripes of a specified height, and encode each stripe as a self-contained JPEG 2000 image. This MR is based on gst-plugins-base!429 (merged)

We have added two properties to the caps:

alignment (G_TYPE_STRING) {"frame", "stripe"}
num-stripes (G_TYPE_INT) [1,MAX]

If alignment is set to stripe and downstream doesn't support it, then negotiation will fail.

Test Pipeline:

gst-launch-1.0 videotestsrc  !  openjpegenc  num-stripes=2  !   jpeg2000parse !  mpegtsmux ! rtpmp2tpay ! rtpmp2tdepay ! tsdemux !  jpeg2000parse !  openjpegdec ! videoconvert ! glimagesink

Note: we will need to add support downstream for this pipeline to actually run in stripe mode.

Edited by Aaron Boxer

Merge request reports