omxvideoenc: Add dynamic IDR insertion support on zynq
authorVarunkumar Allagadapa <varunkum@xilinx.com>
Tue, 20 Feb 2018 18:57:42 +0000 (10:57 -0800)
committerNicolas Dufresne <nicolas@ndufresne.ca>
Wed, 9 Jan 2019 19:37:36 +0000 (19:37 +0000)
As the pi, the zynq has its own API to request keyframe.

omx/gstomxvideoenc.c

index 6fa57fb..0da42b1 100644 (file)
@@ -2810,6 +2810,15 @@ gst_omx_video_enc_handle_frame (GstVideoEncoder * encoder,
       err =
           gst_omx_component_set_config (self->enc,
           OMX_IndexConfigBrcmVideoRequestIFrame, &config);
+#elif USE_OMX_TARGET_ZYNQ_USCALE_PLUS
+      OMX_ALG_VIDEO_CONFIG_INSERT config;
+
+      GST_OMX_INIT_STRUCT (&config);
+      config.nPortIndex = self->enc_out_port->index;
+
+      GST_DEBUG_OBJECT (self, "Forcing a keyframe");
+      err = gst_omx_component_set_config (self->enc, (OMX_INDEXTYPE)
+          OMX_ALG_IndexConfigVideoInsertInstantaneousDecodingRefresh, &config);
 #else
       OMX_CONFIG_INTRAREFRESHVOPTYPE config;