From 02313dbe633b6e7d226656a1756e840de4c57fb3 Mon Sep 17 00:00:00 2001 From: Jeongmo Yang Date: Thu, 29 Aug 2024 16:44:57 +0900 Subject: [PATCH] Add new field to frame meta for lux index [Version] 1.3.0 [Issue Type] New feature Change-Id: Ia5729e22bd52b120c39eb5475f6cbf12ee3bc396 Signed-off-by: Jeongmo Yang --- packaging/libmm-camcorder.spec | 2 +- src/include/mm_camcorder.h | 1 + src/mm_camcorder_gstcommon.c | 42 +++++++++++++++++++++++++++++------------- 3 files changed, 31 insertions(+), 14 deletions(-) diff --git a/packaging/libmm-camcorder.spec b/packaging/libmm-camcorder.spec index fdae282..40e4bf6 100755 --- a/packaging/libmm-camcorder.spec +++ b/packaging/libmm-camcorder.spec @@ -1,6 +1,6 @@ Name: libmm-camcorder Summary: Camera and recorder library -Version: 1.2.6 +Version: 1.3.0 Release: 0 Group: Multimedia/Libraries License: Apache-2.0 diff --git a/src/include/mm_camcorder.h b/src/include/mm_camcorder.h index 58408ff..1144228 100644 --- a/src/include/mm_camcorder.h +++ b/src/include/mm_camcorder.h @@ -1907,6 +1907,7 @@ typedef struct { unsigned long long td_aux; unsigned long long seqnum; unsigned long long flags; + unsigned long long lux_index; } MMCamcorderFrameMeta; diff --git a/src/mm_camcorder_gstcommon.c b/src/mm_camcorder_gstcommon.c index b0a5662..ffb67a0 100644 --- a/src/mm_camcorder_gstcommon.c +++ b/src/mm_camcorder_gstcommon.c @@ -131,7 +131,20 @@ static gboolean videocodec_fileformat_compatibility_table[MM_VIDEO_CODEC_NUM][MM #define _MMCAMCORDER_NANOSEC_PER_1MILISEC 1000 #define _MMCAMCORDER_SIGNAL_REQUEST_CODEC_CONFIG "request-codec-config" #define _MMCAMCORDER_CROP_ARRAY_LENGTH 4 -#define META_TIMESTAMP_FIELD_LENGTH 7 + +#define FRAME_META_TS_SOE "ts_soe" +#define FRAME_META_TS_EOE "ts_eoe" +#define FRAME_META_TS_SOF "ts_sof" +#define FRAME_META_TS_EOF "ts_eof" +#define FRAME_META_TS_HAL "ts_hal" +#define FRAME_META_TS_QMF "ts_qmf" +#define FRAME_META_TS_GST "ts_gst" +#define FRAME_META_TD_EXP "td_exp" +#define FRAME_META_TS_AUX "ts_aux" +#define FRAME_META_TD_AUX "td_aux" +#define FRAME_META_SEQNUM "seqnum" +#define FRAME_META_FLAGS "flags" +#define FRAME_META_LUX_INDEX "lux_index" /*----------------------------------------------------------------------- @@ -410,42 +423,45 @@ static gboolean __mmcamcorder_frame_meta_foreach_func(GQuark field_id, const GVa frame_meta = &stream->frame_meta; - if (!strncmp("ts_soe", field_name, META_TIMESTAMP_FIELD_LENGTH)) { + if (!strncmp(FRAME_META_TS_SOE, field_name, strlen(FRAME_META_TS_SOE) + 1)) { frame_meta->ts_soe = field_value; MMCAM_LOG_VERBOSE("[TS] SOE -> %llu", frame_meta->ts_soe); - } else if (!strncmp("ts_eoe", field_name, META_TIMESTAMP_FIELD_LENGTH)) { + } else if (!strncmp(FRAME_META_TS_EOE, field_name, strlen(FRAME_META_TS_EOE) + 1)) { frame_meta->ts_eoe = field_value; MMCAM_LOG_VERBOSE("[TS] EOE -> %llu", frame_meta->ts_eoe); - } else if (!strncmp("ts_sof", field_name, META_TIMESTAMP_FIELD_LENGTH)) { + } else if (!strncmp(FRAME_META_TS_SOF, field_name, strlen(FRAME_META_TS_SOF) + 1)) { frame_meta->ts_sof = field_value; MMCAM_LOG_VERBOSE("[TS] SOF -> %llu", frame_meta->ts_sof); - } else if (!strncmp("ts_eof", field_name, META_TIMESTAMP_FIELD_LENGTH)) { + } else if (!strncmp(FRAME_META_TS_EOF, field_name, strlen(FRAME_META_TS_EOF) + 1)) { frame_meta->ts_eof = field_value; MMCAM_LOG_VERBOSE("[TS] EOF -> %llu", frame_meta->ts_eof); - } else if (!strncmp("ts_hal", field_name, META_TIMESTAMP_FIELD_LENGTH)) { + } else if (!strncmp(FRAME_META_TS_HAL, field_name, strlen(FRAME_META_TS_HAL) + 1)) { frame_meta->ts_hal = field_value; MMCAM_LOG_VERBOSE("[TS] HAL -> %llu", frame_meta->ts_hal); - } else if (!strncmp("ts_qmf", field_name, META_TIMESTAMP_FIELD_LENGTH)) { + } else if (!strncmp(FRAME_META_TS_QMF, field_name, strlen(FRAME_META_TS_QMF) + 1)) { frame_meta->ts_qmf = field_value; MMCAM_LOG_VERBOSE("[TS] QMF -> %llu", frame_meta->ts_qmf); - } else if (!strncmp("ts_gst", field_name, META_TIMESTAMP_FIELD_LENGTH)) { + } else if (!strncmp(FRAME_META_TS_GST, field_name, strlen(FRAME_META_TS_GST) + 1)) { frame_meta->ts_gst = field_value; MMCAM_LOG_VERBOSE("[TS] GST -> %llu", frame_meta->ts_gst); - } else if (!strncmp("td_exp", field_name, META_TIMESTAMP_FIELD_LENGTH)) { + } else if (!strncmp(FRAME_META_TD_EXP, field_name, strlen(FRAME_META_TD_EXP) + 1)) { frame_meta->td_exp = field_value; MMCAM_LOG_VERBOSE("[TD] EXP -> %llu", frame_meta->td_exp); - } else if (!strncmp("ts_aux", field_name, META_TIMESTAMP_FIELD_LENGTH)) { + } else if (!strncmp(FRAME_META_TS_AUX, field_name, strlen(FRAME_META_TS_AUX) + 1)) { frame_meta->ts_aux = field_value; MMCAM_LOG_VERBOSE("[TS] AUX -> %llu", frame_meta->ts_aux); - } else if (!strncmp("td_aux", field_name, META_TIMESTAMP_FIELD_LENGTH)) { + } else if (!strncmp(FRAME_META_TD_AUX, field_name, strlen(FRAME_META_TD_AUX) + 1)) { frame_meta->td_aux = field_value; MMCAM_LOG_VERBOSE("[TD] AUX -> %llu", frame_meta->td_aux); - } else if (!strncmp("seqnum", field_name, META_TIMESTAMP_FIELD_LENGTH)) { + } else if (!strncmp(FRAME_META_SEQNUM, field_name, strlen(FRAME_META_SEQNUM) + 1)) { frame_meta->seqnum = field_value; MMCAM_LOG_VERBOSE("SEQNUM -> %llu", frame_meta->seqnum); - } else if (!strncmp("flags", field_name, META_TIMESTAMP_FIELD_LENGTH)) { + } else if (!strncmp(FRAME_META_FLAGS, field_name, strlen(FRAME_META_FLAGS) + 1)) { frame_meta->flags = field_value; MMCAM_LOG_VERBOSE("FLAGS -> %llu", frame_meta->flags); + } else if (!strncmp(FRAME_META_LUX_INDEX, field_name, strlen(FRAME_META_LUX_INDEX) + 1)) { + frame_meta->lux_index = field_value; + MMCAM_LOG_VERBOSE("LUX Index -> %llu", frame_meta->lux_index); } return TRUE; -- 2.7.4