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