project:cfg:BoardConfig_IPC: Added fastboot BoardConfig file and firmware post-scripts, distinguishing between the BoardConfigs for Luckfox Pico Pro and Luckfox Pico Max. project:app: Added fastboot_client and rk_smart_door for quick boot applications; updated rkipc app to adapt to the latest media library. media:samples: Added more usage examples. media:rockit: Fixed bugs; removed support for retrieving data frames from VPSS. media:isp: Updated rkaiq library and related tools to support connection to RKISP_Tuner. sysdrv:Makefile: Added support for compiling drv_ko on Luckfox Pico Ultra W using Ubuntu; added support for custom root filesystem. sysdrv:tools:board: Updated Buildroot optional mirror sources, updated some software versions, and stored device tree files and configuration files that undergo multiple modifications for U-Boot and kernel separately. sysdrv:source:mcu: Used RISC-V MCU SDK with RT-Thread system, mainly for initializing camera AE during quick boot. sysdrv:source:uboot: Added support for fastboot; added high baud rate DDR bin for serial firmware upgrades. sysdrv:source:kernel: Upgraded to version 5.10.160; increased NPU frequency for RV1106G3; added support for fastboot. Signed-off-by: luckfox-eng29 <eng29@luckfox.com>
186 lines
3.1 KiB
C
186 lines
3.1 KiB
C
/**
|
|
* Copyright (c) 2023 Rockchip Electronics Co., Ltd
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
#ifndef __PARSE_H__
|
|
#define __PARSE_H__
|
|
|
|
#include "aupipe.h"
|
|
|
|
#ifdef RT_USING_AUPIPE_ECNR
|
|
|
|
typedef enum _SkvAECEnable
|
|
{
|
|
AEC_EN_DELAY = 1 << 0,
|
|
AEC_EN_CHN_MAP = 1 << 1,
|
|
AEC_EN_HOWLING = 1 << 2,
|
|
} SkvAecEnable;
|
|
|
|
typedef enum _SkvBFEnable
|
|
{
|
|
BF_EN_FAST_AEC = 1 << 0,
|
|
BF_EN_WAKEUP = 1 << 1,
|
|
BF_EN_DEREV = 1 << 2,
|
|
BF_EN_NLP = 1 << 3,
|
|
BF_EN_AES = 1 << 4,
|
|
BF_EN_AGC = 1 << 5,
|
|
BF_EN_ANR = 1 << 6,
|
|
BF_EN_GSC = 1 << 7,
|
|
BF_GSC_METHOD = 1 << 8,
|
|
BF_EN_FIX = 1 << 9,
|
|
BF_EN_STDT = 1 << 10,
|
|
BF_EN_CNG = 1 << 11,
|
|
BF_EN_EQ = 1 << 12,
|
|
BF_EN_CHN_SELECT = 1 << 13,
|
|
} SkvBFEnable;
|
|
|
|
typedef enum _SkvRxEnable
|
|
{
|
|
RX_EN_ANR = 1 << 0,
|
|
} SkvRxEnable;
|
|
|
|
typedef struct _SkvAecParam
|
|
{
|
|
int pos;
|
|
int drop_ref_channel;
|
|
int aec_mode_en;
|
|
int delay_len;
|
|
int look_ahead;
|
|
short *mic_chns_map;
|
|
} SkvAecParam;
|
|
|
|
typedef struct _SkvAnrParam
|
|
{
|
|
float noiseFactor;
|
|
int swU;
|
|
float psiMin;
|
|
float psiMax;
|
|
float fGmin;
|
|
} SkvAnrParam;
|
|
|
|
typedef struct _SkvAgcParam
|
|
{
|
|
float attack_time;
|
|
float release_time;
|
|
float max_gain;
|
|
float max_peak;
|
|
float fRth0;
|
|
float fRk0;
|
|
float fRth1;
|
|
|
|
int fs;
|
|
int frmlen;
|
|
float attenuate_time;
|
|
float fRth2;
|
|
float fRk1;
|
|
float fRk2;
|
|
float fLineGainDb;
|
|
int swSmL0;
|
|
int swSmL1;
|
|
int swSmL2;
|
|
} SkvAgcParam;
|
|
|
|
typedef struct _SkvDereverbParam
|
|
{
|
|
int rlsLg;
|
|
int curveLg;
|
|
int delay;
|
|
float forgetting;
|
|
float t60;
|
|
float coCoeff;
|
|
} SkvDereverbParam;
|
|
|
|
typedef struct _SkvNlpParam
|
|
{
|
|
short nlp16k[8][2];
|
|
} SkvNlpParam;
|
|
|
|
typedef struct _SkvCngParam
|
|
{
|
|
float fGain;
|
|
float fMpy;
|
|
float fSmoothAlpha;
|
|
float fSpeechGain;
|
|
} SkvCngParam;
|
|
|
|
typedef struct _SkvDtdParam
|
|
{
|
|
float ksiThd_high;
|
|
float ksiThd_low;
|
|
} SkvDtdParam;
|
|
|
|
typedef struct _SkvAesParam
|
|
{
|
|
float beta_up;
|
|
float beta_down;
|
|
} SkvAesParam;
|
|
|
|
typedef struct _SkvEqParam
|
|
{
|
|
int shwParaLen;
|
|
short pfCoeff[5][13];
|
|
} SkvEqParam;
|
|
|
|
typedef struct _SkvBeamFormParam
|
|
{
|
|
int model_en;
|
|
int ref_pos;
|
|
int targ;
|
|
int num_ref_channel;
|
|
int drop_ref_channel;
|
|
|
|
SkvDereverbParam *dereverb;
|
|
SkvAesParam *aes;
|
|
SkvNlpParam *nlp;
|
|
SkvAnrParam *anr;
|
|
SkvAgcParam *agc;
|
|
SkvCngParam *cng;
|
|
SkvDtdParam *dtd;
|
|
SkvEqParam *eq;
|
|
} SkvBeamFormParam;
|
|
|
|
typedef struct _SkvRxParam
|
|
{
|
|
/* Parameters of agc */
|
|
int model_en;
|
|
SkvAnrParam *anr;
|
|
} SkvRxParam;
|
|
|
|
/* additions */
|
|
typedef enum _RTSKVMODE
|
|
{
|
|
RT_SKV_AEC = 1 << 0,
|
|
RT_SKV_BF = 1 << 1,
|
|
RT_SKV_RX = 1 << 2,
|
|
RT_SKV_CMD = 1 << 3,
|
|
} RTSKVMODE;
|
|
|
|
typedef struct _RTSkvParam
|
|
{
|
|
int model;
|
|
SkvAecParam *aec;
|
|
SkvBeamFormParam *bf;
|
|
SkvRxParam *rx;
|
|
} RTSkvParam;
|
|
|
|
typedef struct _SkvFrameParam
|
|
{
|
|
int bits;
|
|
int rate;
|
|
|
|
int reserve;
|
|
int period_size;
|
|
int in_channels;
|
|
int out_channels;
|
|
int src_channels;
|
|
int ref_channels;
|
|
} SkvFrameParam;
|
|
|
|
RTSkvParam *parse_encr_configs(char *file_path);
|
|
|
|
#endif
|
|
|
|
#endif
|