Sound Open Firmware
Loading...
Searching...
No Matches
igo_nr_comp.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-3-Clause
2 *
3 * Copyright(c) 2021 Intelligo Technology Inc. All rights reserved.
4 *
5 * Author: Fu-Yun TSUO <fy.tsuo@intelli-go.com>
6 */
7
8#ifndef __SOF_AUDIO_IGO_NR_CONFIG_H__
9#define __SOF_AUDIO_IGO_NR_CONFIG_H__
10
11#include <sof/platform.h>
14#include <user/igo_nr.h>
15
16#define IGO_FRAME_SIZE (768)
17#define IGO_NR_IN_BUF_LENGTH (IGO_FRAME_SIZE)
18#define IGO_NR_OUT_BUF_LENGTH (IGO_FRAME_SIZE)
19
20/* IGO_NR component private data */
21struct comp_data {
22 void *p_handle;
28 struct comp_data_blob_handler *model_handler;
31 bool process_enable[SOF_IPC_MAX_CHANNELS];
33 uint32_t sink_rate; /* Sample rate in Hz */
34 uint32_t source_rate; /* Sample rate in Hz */
35 uint32_t sink_format; /* For used PCM sample format */
36 uint32_t source_format; /* For used PCM sample format */
37 int (*igo_nr_func)(struct comp_data *cd,
38 struct sof_source *source,
39 struct sof_sink *sink,
40 int32_t frames);
42};
43
44#endif /* __SOF_AUDIO_IGO_NR_CONFIG_H__ */
Audio Stream API definition.
#define IGO_NR_IN_BUF_LENGTH
Definition igo_nr_comp.h:17
Platform API definition.
IgoLibConfig is used to keep lib configuration for lib instance initialization.
Definition igo_lib.h:78
IgoLibInfo is used to keep information for iGo library.
Definition igo_lib.h:54
IgoStreamData is used to keep audio data for iGo library.
Definition igo_lib.h:66
Selector component private data.
Definition igo_nr_comp.h:21
struct sof_igo_nr_config config
blob data buffer
Definition igo_nr_comp.h:41
uint32_t sink_rate
Definition igo_nr_comp.h:33
void * p_handle
Definition igo_nr_comp.h:22
int16_t out[IGO_NR_IN_BUF_LENGTH]
output samples mix buffer
Definition igo_nr_comp.h:30
bool process_enable[SOF_IPC_MAX_CHANNELS]
set if channel process is enabled
Definition igo_nr_comp.h:31
uint32_t source_format
source frame format
Definition igo_nr_comp.h:36
struct IgoStreamData igo_stream_data_ref
Definition igo_nr_comp.h:26
int16_t in[IGO_NR_IN_BUF_LENGTH]
input samples buffer
Definition igo_nr_comp.h:29
struct IgoStreamData igo_stream_data_in
Definition igo_nr_comp.h:25
int(* igo_nr_func)(struct comp_data *cd, struct sof_source *source, struct sof_sink *sink, int32_t frames)
Definition igo_nr_comp.h:37
bool invalid_param
sample rate != 16000
Definition igo_nr_comp.h:32
struct IgoStreamData igo_stream_data_out
Definition igo_nr_comp.h:27
struct IgoLibInfo igo_lib_info
Definition igo_nr_comp.h:23
uint32_t sink_format
sink frame format
Definition igo_nr_comp.h:35
uint32_t source_rate
Definition igo_nr_comp.h:34
struct IgoLibConfig igo_lib_config
Definition igo_nr_comp.h:24
struct comp_data_blob_handler * model_handler
Definition igo_nr_comp.h:28
Definition igo_nr.h:32