summaryrefslogtreecommitdiff
authorrenjiang.han <renjiang.han@amlogic.com>2020-03-31 10:04:36 (GMT)
committer Zhi Zhou <zhi.zhou@amlogic.com>2020-04-29 10:35:00 (GMT)
commitb39d60ee00946c97b8f1e9e3a900ec05650964c7 (patch)
treed05bac31796bfe67da4e621f422f23458d95e9b6
parent8f51e2702d60f4a11c84e6f4296855497d001676 (diff)
downloadmedia_modules-b39d60ee00946c97b8f1e9e3a900ec05650964c7.zip
media_modules-b39d60ee00946c97b8f1e9e3a900ec05650964c7.tar.gz
media_modules-b39d60ee00946c97b8f1e9e3a900ec05650964c7.tar.bz2
vdec: add vdetect in path. [1/1]
PD#SWPL-19199 Problem: add vdetect module for vnn scene judgment feature. Solution: Add the vdetect module to provide vf data for vnn to judge the scene. set /sys/module/decoder_common/parameters/debug_vdetect to 0 can close vdetect module function. The default of the vdetect module is closed. Verify: on ab301 Change-Id: Id8cce2a017f2cae3835c96668e13c457ed17929f Signed-off-by: renjiang.han <renjiang.han@amlogic.com>
Diffstat
-rw-r--r--drivers/frame_provider/decoder/utils/vdec.c19
1 files changed, 15 insertions, 4 deletions
diff --git a/drivers/frame_provider/decoder/utils/vdec.c b/drivers/frame_provider/decoder/utils/vdec.c
index c1f4037..00b154a 100644
--- a/drivers/frame_provider/decoder/utils/vdec.c
+++ b/drivers/frame_provider/decoder/utils/vdec.c
@@ -85,6 +85,7 @@ static DEFINE_MUTEX(vdec_mutex);
static int inited_vcodec_num;
#define jiffies_ms div64_u64(get_jiffies_64() * 1000, HZ)
static int poweron_clock_level;
+static int debug_vdetect = 0;
static int keep_vdec_mem;
static unsigned int debug_trace_num = 16 * 20;
static int step_mode;
@@ -2294,9 +2295,17 @@ s32 vdec_init(struct vdec_s *vdec, int is_4k)
"%s %s", vdec->vf_provider_name,
"amlvideo amvideo");
} else {
- snprintf(vdec->vfm_map_chain, VDEC_MAP_NAME_SIZE,
- "%s %s", vdec->vf_provider_name,
- "amlvideo ppmgr deinterlace amvideo");
+ if (debug_vdetect)
+ snprintf(vdec->vfm_map_chain,
+ VDEC_MAP_NAME_SIZE,
+ "%s vdetect.0 %s",
+ vdec->vf_provider_name,
+ "amlvideo ppmgr deinterlace amvideo");
+ else
+ snprintf(vdec->vfm_map_chain,
+ VDEC_MAP_NAME_SIZE, "%s %s",
+ vdec->vf_provider_name,
+ "amlvideo ppmgr deinterlace amvideo");
}
snprintf(vdec->vfm_map_id, VDEC_MAP_NAME_SIZE,
"vdec-map-%d", vdec->id);
@@ -4350,7 +4359,6 @@ static ssize_t enable_mvdec_info_store(struct class *cla,
return count;
}
-
static ssize_t store_poweron_clock_level(struct class *class,
struct class_attribute *attr,
const char *buf, size_t size)
@@ -5443,6 +5451,9 @@ module_param(max_di_instance, int, 0664);
MODULE_PARM_DESC(max_di_instance,
"\n max_di_instance\n");
+module_param(debug_vdetect, int, 0664);
+MODULE_PARM_DESC(debug_vdetect, "\n debug_vdetect\n");
+
/*
*module_init(vdec_module_init);
*module_exit(vdec_module_exit);