topology: unify RTNR+AEC topology file

pipe-rtnr-google-rtc-audio-processing-capture.m4 and
pipe-google-rtc-audio-processing-rtnr-capture.m4 are actually the same
graph. The filename differs because they are originated from different
branch.

This commit unifies them to avoid confusion.

Signed-off-by: Pin-chih Lin <johnylin@google.com>
This commit is contained in:
Pin-chih Lin 2022-11-16 15:59:34 +08:00 committed by Liam Girdwood
parent 9f7d1bacdb
commit 466a0508a1
4 changed files with 27 additions and 158 deletions

View File

@ -100,7 +100,7 @@ PIPELINE_PCM_ADD(
PIPELINE_PCM_ADD(
ifdef(`RTNR',
ifdef(`GOOGLE_RTC_AUDIO_PROCESSING',
sof/pipe-google-rtc-audio-processing-rtnr-capture.m4,
sof/pipe-rtnr-google-rtc-audio-processing-capture.m4,
sof/pipe-rtnr-capture.m4),
sof/pipe-passthrough-capture.m4),
3, 18, 2, s16le,

View File

@ -148,7 +148,7 @@ define(DMIC_PIPELINE_48k_CORE_ID, `1')
ifdef(`GOOGLE_RTC_AUDIO_PROCESSING',
`ifdef(`RTNR',
`define(`DMICPROC', google-rtc-audio-processing-rtnr)',
`define(`DMICPROC', rtnr-google-rtc-audio-processing)',
`define(`DMICPROC', google-rtc-audio-processing)')'
`define(`DMIC_48k_PERIOD_US', 10000)'
,

View File

@ -1,155 +0,0 @@
# Acoustic echo cancelling Pipeline and PCM
#
# Pipeline Endpoints for connection are :-
#
# host PCM_C <-- B0 <-- AEC <-- B1 <-- source DAI0
# ^----- B2 <-- AEC reference
# Include topology builder
include(`utils.m4')
include(`buffer.m4')
include(`pcm.m4')
include(`dai.m4')
include(`mixercontrol.m4')
include(`pipeline.m4')
include(`bytecontrol.m4')
include(`enumcontrol.m4')
include(`google_rtc_audio_processing.m4')
include(`rtnr.m4')
#
# Controls
#
include(`google_rtc_audio_processing_default.m4')
# Byte control for AEC tuning data
C_CONTROLBYTES(`Config', PIPELINE_ID,
CONTROLBYTES_OPS(bytes, 258 binds the control to bytes get/put handlers, 258, 258),
CONTROLBYTES_EXTOPS(258 binds the control to bytes get/put handlers, 258, 258),
, , ,
CONTROLBYTES_MAX(, 2048),
,
GOOGLE_RTC_AUDIO_PROCESSING_priv)
define(DEF_RTNR_PRIV, concat(`rtnr_priv_', PIPELINE_ID))
define(DEF_RTNR_BYTES, concat(`rtnr_bytes_', PIPELINE_ID))
define(DEF_RTNR_DATA, concat(`rtnr_data', PIPELINE_ID))
define(DEF_RTNR_DATA_BYTES, concat(`rtnr_data_', PIPELINE_ID))
CONTROLBYTES_PRIV(DEF_RTNR_PRIV,
` bytes "0x53,0x4f,0x46,0x00,0x00,0x00,0x00,0x00,'
` 0x20,0x00,0x00,0x00,0x00,0x30,0x01,0x03,'
` 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,'
` 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,'
` 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,'
` 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,'
` 0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,'
` 0x80,0xbb,0x00,0x00,0x00,0x00,0x00,0x00"'
)
# RTNR Bytes control with max value of 255
C_CONTROLBYTES_READONLY(DEF_RTNR_BYTES, PIPELINE_ID,
CONTROLBYTES_OPS(bytes, 258 binds the mixer control to bytes get handlers, 258),
CONTROLBYTES_EXTOPS(258 binds the mixer control to bytes get handlers, 258),
, , ,
CONTROLBYTES_MAX(, 256),
,
DEF_RTNR_PRIV)
CONTROLBYTES_PRIV(DEF_RTNR_DATA,
` bytes "0x53,0x4f,0x46,0x00,0x01,0x00,0x00,0x00,'
` 0x00,0x00,0x00,0x00,0x00,0x30,0x01,0x03,'
` 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,'
` 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"'
)
# Bytes control for RTNR Data blob
C_CONTROLBYTES(DEF_RTNR_DATA_BYTES, PIPELINE_ID,
CONTROLBYTES_OPS(bytes, 258 binds the mixer control to bytes get/put handlers, 258, 258),
CONTROLBYTES_EXTOPS(258 binds the mixer control to bytes get/put handlers, 258, 258),
, , ,
CONTROLBYTES_MAX(, 10240),
,
DEF_RTNR_DATA)
# RTNR Enable switch
define(DEF_RTNR_ENABLE, concat(`rtnr_enable_', PIPELINE_ID))
define(`CONTROL_NAME', `DEF_RTNR_ENABLE')
C_CONTROLMIXER(DEF_RTNR_ENABLE, PIPELINE_ID,
CONTROLMIXER_OPS(volsw, 259 binds the mixer control to switch get/put handlers, 259, 259),
CONTROLMIXER_MAX(max 1 indicates switch type control, 1),
false,
,
Channel register and shift for Front Center,
LIST(` ', KCONTROL_CHANNEL(FC, 3, 0)),
"1")
undefine(`CONTROL_NAME')
#
# Components and Buffers
#
# Host "Google RTC Audio Processing Capture" PCM
# with 0 sink and 2 source periods
W_PCM_CAPTURE(PCM_ID, Google RTC Audio Processing, 0, DAI_PERIODS, SCHEDULE_CORE)
W_GOOGLE_RTC_AUDIO_PROCESSING(0, PIPELINE_FORMAT, 2, DAI_PERIODS, SCHEDULE_CORE,
`',
LIST(` ', "Config"))
# "RTNR 0" has 2 sink period and 2 source periods
W_RTNR(0, PIPELINE_FORMAT, 2, DAI_PERIODS, SCHEDULE_CORE,
LIST(` ', "DEF_RTNR_BYTES", "DEF_RTNR_DATA_BYTES"),
LIST(` ', "DEF_RTNR_ENABLE"))
# Capture Buffers
W_BUFFER(0, COMP_BUFFER_SIZE(2,
COMP_SAMPLE_SIZE(PIPELINE_FORMAT), PIPELINE_CHANNELS, COMP_PERIOD_FRAMES(PCM_MAX_RATE, SCHEDULE_PERIOD)),
PLATFORM_HOST_MEM_CAP)
W_BUFFER(1, COMP_BUFFER_SIZE(DAI_PERIODS,
COMP_SAMPLE_SIZE(DAI_FORMAT), PIPELINE_CHANNELS, COMP_PERIOD_FRAMES(PCM_MAX_RATE, SCHEDULE_PERIOD)),
PLATFORM_DAI_MEM_CAP)
W_BUFFER(2, COMP_BUFFER_SIZE(DAI_PERIODS,
COMP_SAMPLE_SIZE(DAI_FORMAT), PIPELINE_CHANNELS, COMP_PERIOD_FRAMES(PCM_MAX_RATE, SCHEDULE_PERIOD)),
PLATFORM_DAI_MEM_CAP)
W_BUFFER(3, COMP_BUFFER_SIZE(DAI_PERIODS,
COMP_SAMPLE_SIZE(DAI_FORMAT), PIPELINE_CHANNELS, COMP_PERIOD_FRAMES(PCM_MAX_RATE, SCHEDULE_PERIOD)),
PLATFORM_DAI_MEM_CAP)
define(`N_AEC_REF_BUF',`BUF'PIPELINE_ID`.'2)
#
# Pipeline Graph
#
# host PCM_P <-- B0 <-- RTNR 0 <-- B3 <-- AEC 0 <-- B1 <-- sink DAI0
# ^------- B2 <-- AEC ref
P_GRAPH(pipe-google-aec-capture-PIPELINE_ID, PIPELINE_ID,
LIST(` ',
`dapm(N_PCMC(PCM_ID), N_BUFFER(0))',
`dapm(N_BUFFER(0), N_RTNR(0))',
`dapm(N_RTNR(0), N_BUFFER(3))',
`dapm(N_BUFFER(3), N_GOOGLE_RTC_AUDIO_PROCESSING(0))',
`dapm(N_GOOGLE_RTC_AUDIO_PROCESSING(0), N_BUFFER(1))',
`dapm(N_GOOGLE_RTC_AUDIO_PROCESSING(0), N_BUFFER(2))'))
#
# Pipeline Source and Sinks
#
indir(`define', concat(`PIPELINE_SINK_', PIPELINE_ID), N_BUFFER(1))
indir(`define', concat(`PIPELINE_PCM_', PIPELINE_ID), Google RTC Audio Processing PCM_ID)
#
# PCM Configuration
#
PCM_CAPABILITIES(Google RTC Audio Processing PCM_ID, CAPABILITY_FORMAT_NAME(PIPELINE_FORMAT),
PCM_MIN_RATE, PCM_MAX_RATE, PIPELINE_CHANNELS, PIPELINE_CHANNELS,
2, 16, 192, 16384, 65536, 65536)
undefine(`DEF_RTNR_ENABLE')
undefine(`DEF_RTNR_PRIV')
undefine(`DEF_RTNR_BYTES')
undefine(`DEF_RTNR_DATA')
undefine(`DEF_RTNR_DATA_BYTES')

View File

@ -24,6 +24,8 @@ include(`google_rtc_audio_processing_default.m4')
define(DEF_RTNR_PRIV, concat(`rtnr_priv_', PIPELINE_ID))
define(DEF_RTNR_BYTES, concat(`rtnr_bytes_', PIPELINE_ID))
define(DEF_RTNR_DATA, concat(`rtnr_data', PIPELINE_ID))
define(DEF_RTNR_DATA_BYTES, concat(`rtnr_data_', PIPELINE_ID))
ifdef(`RTNR_BUFFER_SIZE_MIN',`', define(RTNR_BUFFER_SIZE_MIN, `65536'))
ifdef(`RTNR_BUFFER_SIZE_MAX',`', define(RTNR_BUFFER_SIZE_MAX, `65536'))
@ -48,6 +50,22 @@ C_CONTROLBYTES_READONLY(DEF_RTNR_BYTES, PIPELINE_ID,
,
DEF_RTNR_PRIV)
CONTROLBYTES_PRIV(DEF_RTNR_DATA,
` bytes "0x53,0x4f,0x46,0x00,0x01,0x00,0x00,0x00,'
` 0x00,0x00,0x00,0x00,0x00,0x30,0x01,0x03,'
` 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,'
` 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00"'
)
# Bytes control for RTNR Data blob
C_CONTROLBYTES(DEF_RTNR_DATA_BYTES, PIPELINE_ID,
CONTROLBYTES_OPS(bytes, 258 binds the mixer control to bytes get/put handlers, 258, 258),
CONTROLBYTES_EXTOPS(258 binds the mixer control to bytes get/put handlers, 258, 258),
, , ,
CONTROLBYTES_MAX(, 10240),
,
DEF_RTNR_DATA)
# RTNR Enable switch
define(DEF_RTNR_ENABLE, concat(`rtnr_enable_', PIPELINE_ID))
define(`CONTROL_NAME', `DEF_RTNR_ENABLE')
@ -83,7 +101,9 @@ W_GOOGLE_RTC_AUDIO_PROCESSING(0, PIPELINE_FORMAT, 2, DAI_PERIODS, SCHEDULE_CORE,
LIST(` ', "Config"))
# "RTNR 0" has 2 sink period and 2 source periods
W_RTNR(0, PIPELINE_FORMAT, 2, DAI_PERIODS, SCHEDULE_CORE, LIST(` ', "DEF_RTNR_BYTES"), LIST(` ', "DEF_RTNR_ENABLE"))
W_RTNR(0, PIPELINE_FORMAT, 2, DAI_PERIODS, SCHEDULE_CORE,
LIST(` ', "DEF_RTNR_BYTES", "DEF_RTNR_DATA_BYTES"),
LIST(` ', "DEF_RTNR_ENABLE"))
# Capture Buffers
W_BUFFER(0, COMP_BUFFER_SIZE(2,
@ -130,3 +150,7 @@ PCM_CAPABILITIES(Google RTC Audio Processing PCM_ID, CAPABILITY_FORMAT_NAME(PIPE
2, 16, 192, 16384, 65536, 65536)
undefine(`DEF_RTNR_ENABLE')
undefine(`DEF_RTNR_PRIV')
undefine(`DEF_RTNR_BYTES')
undefine(`DEF_RTNR_DATA')
undefine(`DEF_RTNR_DATA_BYTES')