Sound Open Firmware
Loading...
Searching...
No Matches
rtnr.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-3-Clause
2 *
3 * Copyright(c) 2021 Realtek Semiconductor Corp. All rights reserved.
4 *
5 * Author: Ming Jen Tai <mingjen_tai@realtek.com>
6 */
7
8#ifndef __SOF_AUDIO_RTNR_RTNR_H__
9#define __SOF_AUDIO_RTNR_RTNR_H__
10
12#include <sof/audio/component.h>
13#include <sof/platform.h>
14#include <ipc/stream.h>
15#include <user/rtnr.h>
16#include <stdint.h>
17#include <stdbool.h>
18
23
24/* for RTNR internal use */
26 /* runtime data */
27 uint32_t size;
28 uint32_t avail;
29 uint32_t free;
30 void *w_ptr;
31 void *r_ptr;
32 void *addr;
33 void *end_addr;
34
35 /* runtime stream params */
36 enum sof_ipc_frame frame_fmt;
37
38 uint32_t rate;
39 uint16_t channels;
40
43};
44
45typedef void (*rtnr_func)(struct processing_module *mod,
46 struct audio_stream_rtnr **sources,
47 struct audio_stream_rtnr *sink,
48 int frames);
49
50#define RTNR_MAX_SOURCES 1 /* Microphone stream */
51
52/* RTNR component private data */
53struct comp_data {
54 struct comp_data_blob_handler *model_handler;
56 enum sof_ipc_frame source_format;
57 enum sof_ipc_frame sink_format;
58 enum sof_ipc_frame ref_format;
61 uint32_t sink_rate;
62 uint32_t source_rate;
63 bool process_enable;
69 void *rtk_agl;
73};
74
75/* Called by the processing library for debugging purpose */
76void rtnr_printf(int a, int b, int c, int d, int e);
77
78/*
79 * Called by the processing library to redirect memory allocation/deallocation to
80 * sof memory APIs
81 */
82void *rtk_rballoc(unsigned int flags, unsigned int caps, unsigned int bytes);
83void rtk_rfree(void *ptr);
84
85#endif /* __SOF_AUDIO_RTNR_RTNR_H__ */
Component API definition.
IPC definitions for streams.
Platform API definition.
void * rtk_rballoc(unsigned int flags, unsigned int caps, unsigned int bytes)
#define RTNR_MAX_SOURCES
Definition rtnr.h:50
void(* rtnr_func)(struct processing_module *mod, struct audio_stream_rtnr **sources, struct audio_stream_rtnr *sink, int frames)
Definition rtnr.h:45
void rtnr_printf(int a, int b, int c, int d, int e)
void rtk_rfree(void *ptr)
Type definition for the RTNR processing function.
Definition rtnr.h:25
uint32_t rate
Number of data frames per second [Hz].
Definition rtnr.h:38
uint32_t free
Free bytes for writing.
Definition rtnr.h:29
void * r_ptr
Buffer read position.
Definition rtnr.h:31
uint32_t avail
Available bytes for reading.
Definition rtnr.h:28
uint32_t size
Runtime buffer size in bytes (period multiple).
Definition rtnr.h:27
void * addr
Buffer base address.
Definition rtnr.h:32
bool underrun_permitted
indicates whether underrun is permitted
Definition rtnr.h:42
enum sof_ipc_frame frame_fmt
Sample data format.
Definition rtnr.h:36
void * w_ptr
Buffer write pointer.
Definition rtnr.h:30
void * end_addr
Buffer end address.
Definition rtnr.h:33
bool overrun_permitted
indicates whether overrun is permitted
Definition rtnr.h:41
uint16_t channels
Number of samples in each frame.
Definition rtnr.h:39
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
bool ref_32bits
Definition rtnr.h:66
struct audio_stream_rtnr sink_stream
Definition rtnr.h:71
uint32_t sink_rate
Definition igo_nr_comp.h:33
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
uint32_t process_sample_rate
Definition rtnr.h:64
enum sof_ipc_frame ref_format
Definition rtnr.h:58
int ref_shift
Definition rtnr.h:65
void * rtk_agl
Processing function.
Definition rtnr.h:69
rtnr_func rtnr_func
Definition rtnr.h:68
bool ref_active
Definition rtnr.h:67
uint32_t sink_format
sink frame format
Definition igo_nr_comp.h:35
int source_channel
Definition rtnr.h:59
uint32_t source_rate
Definition igo_nr_comp.h:34
struct audio_stream_rtnr sources_stream[RTNR_MAX_SOURCES]
Definition rtnr.h:70
int reference_channel
Definition rtnr.h:60
bool reconfigure
Definition rtnr.h:72
struct comp_data_blob_handler * model_handler
Definition igo_nr_comp.h:28
Definition rtnr.h:22