[MMFMWK-8140] Enalbed date_time in 8MM
1. Refine date time overlay code
2. use SW compositor in 8MM
Signed-off-by: Jian Li <jian.li@nxp.com>
diff --git a/tools/grecorder/recorder_engine.c b/tools/grecorder/recorder_engine.c
index ffb7c07..6c3be8f 100644
--- a/tools/grecorder/recorder_engine.c
+++ b/tools/grecorder/recorder_engine.c
@@ -47,6 +47,29 @@
#define TIME_FORMAT "02d.%09u"
#define TIMEDIFF_FORMAT "0.6lf"
+#define ADD_DATE_TIME
+#ifdef ADD_DATE_TIME
+#define DATE_TIME "clockoverlay halignment=left valignment=top time-format=\"%Y/%m/%d %H:%M:%S \" !"
+#else
+#define DATE_TIME ""
+#endif
+
+// this is only for test purpose to measure end to end latency, defaul not enabled
+//#define ADD_TIME_OVERLAY
+#ifdef ADD_TIME_OVERLAY
+#define TIME_OVERLAY "timeoverlay halignment=right valignment=top text=\"Stream time:\" !"
+#define DATE_TIME "" //we only have one watermark to save performance
+#else
+#define TIME_OVERLAY ""
+#endif
+
+// FIXME: g2d has issue to convert RGB to YUV, use SW composition currently
+#ifdef USE_HW_COMPOSITOR
+#define HW_COMPOSITOR "queue ! imxvideoconvert_g2d composition-meta-enable=true in-place=true !"
+#else
+#define HW_COMPOSITOR ""
+#endif
+
#define TIME_ARGS(t) \
(GST_CLOCK_TIME_IS_VALID (t) && (t) < 99 * GST_SECOND) ? \
(gint) ((((GstClockTime)(t)) / GST_SECOND) % 60) : 99, \
@@ -1669,10 +1692,10 @@
if (bAddTimeStamp) {
if (IS_IMX8MM()) {
- recorder->date_time = "clockoverlay halignment=left valignment=top time-format=\"%Y/%m/%d %H:%M:%S \" ! queue ! imxvideoconvert_g2d composition-meta-enable=true in-place=true ! queue";
+ recorder->date_time = DATE_TIME TIME_OVERLAY HW_COMPOSITOR "queue";
}
else {
- recorder->date_time = "clockoverlay halignment=left valignment=top time-format=\"%Y/%m/%d %H:%M:%S \" ! queue ! imxvideoconvert_ipu composition-meta-enable=true in-place=true ! queue";
+ recorder->date_time = DATE_TIME TIME_OVERLAY "queue ! imxvideoconvert_ipu composition-meta-enable=true in-place=true ! queue";
}
} else {
recorder->date_time = NULL;