From 899aa48875c9daa62ec25473a003d5742838523f Mon Sep 17 00:00:00 2001 From: scpcom Date: Thu, 20 Feb 2025 02:33:05 +0100 Subject: [PATCH 1/2] vison: kvm_mmf: reduce vi pool size --- vision/components/kvm_mmf/src/kvm_mmf.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/vision/components/kvm_mmf/src/kvm_mmf.cpp b/vision/components/kvm_mmf/src/kvm_mmf.cpp index 054d812..89318bd 100644 --- a/vision/components/kvm_mmf/src/kvm_mmf.cpp +++ b/vision/components/kvm_mmf/src/kvm_mmf.cpp @@ -663,12 +663,12 @@ static CVI_S32 _mmf_sys_init(SIZE_S stSize) // vi u32BlkSize = COMMON_GetPicBufferSize(stSize.u32Width, stSize.u32Height, PIXEL_FORMAT_UYVY, - DATA_BITWIDTH_12, enCompressMode, DEFAULT_ALIGN); + DATA_BITWIDTH_8, enCompressMode, DEFAULT_ALIGN); u32BlkRotSize = COMMON_GetPicBufferSize(stSize.u32Height, stSize.u32Width, PIXEL_FORMAT_UYVY, - DATA_BITWIDTH_12, enCompressMode, DEFAULT_ALIGN); + DATA_BITWIDTH_8, enCompressMode, DEFAULT_ALIGN); u32BlkSize = MAX(u32BlkSize, u32BlkRotSize); stVbConf.astCommPool[MMF_VB_VI_ID].u32BlkSize = u32BlkSize; - stVbConf.astCommPool[MMF_VB_VI_ID].u32BlkCnt = 4; + stVbConf.astCommPool[MMF_VB_VI_ID].u32BlkCnt = 3; stVbConf.astCommPool[MMF_VB_VI_ID].enRemapMode = VB_REMAP_MODE_CACHED; stVbConf.u32MaxPoolCnt = 1; From 01c837f6acec57a4bef982f506695fe5d8469864 Mon Sep 17 00:00:00 2001 From: scpcom Date: Thu, 20 Feb 2025 17:41:09 +0100 Subject: [PATCH 2/2] vison: kvm: cleanup venc on type change --- vision/components/kvm/src/kvm_vision.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/vision/components/kvm/src/kvm_vision.cpp b/vision/components/kvm/src/kvm_vision.cpp index 5d8f652..0afd8f8 100644 --- a/vision/components/kvm/src/kvm_vision.cpp +++ b/vision/components/kvm/src/kvm_vision.cpp @@ -1432,6 +1432,13 @@ int kvmv_read_img(uint16_t _width, uint16_t _height, uint8_t _type, uint16_t _ql // img exist // Encode + if(kvmv_cfg.venc_type == VENC_MJPEG && kvmv_cfg.venc_type != _type){ + mmf_enc_jpg_deinit(0); + } + if(kvmv_cfg.venc_type == VENC_H264 && kvmv_cfg.venc_type != _type){ + mmf_del_venc_channel(kvm_venc.mmf_venc_chn); + kvm_venc.enc_h264_init = 0; + } if(_type == VENC_H264 && kvmv_cfg.venc_type != _type){ kvm_venc.enc_h264_init = 1; // debug("[kvmv] change to h264\n");