<?xml version="1.0" encoding="UTF-8" ?>
<aurisys_config>
    <!--
     * =========================================================================
     *   table of uplink/downlink library mapping for each scenario
     * =========================================================================
    -->
    <aurisys_scenarios>
        <!-- for aurisys_scene playback streamout primary -->
        <aurisys_scenario aurisys_scenario="AURISYS_SCENARIO_DSP_PRIMARY">
            <downlink_library_name_list digital_gain_lib_name="">
                <library name="none"/>
            </downlink_library_name_list>
        </aurisys_scenario>
        <!-- for aurisys_scene playback streamout deepbuf -->
        <aurisys_scenario aurisys_scenario="AURISYS_SCENARIO_DSP_DEEP_BUF">
            <downlink_library_name_list digital_gain_lib_name="">
                <library name="none"/>
            </downlink_library_name_list>
        </aurisys_scenario>
        <!-- for aurisys_scene phone call -->
        <aurisys_scenario aurisys_scenario="AURISYS_SCENARIO_DSP_PHONE_CALL">
            <uplink_library_name_list digital_gain_lib_name="goodix_speech">
                <library name="goodix_speech"/>
            </uplink_library_name_list>
            <downlink_library_name_list digital_gain_lib_name="goodix_speech">
                <library name="goodix_speech"/>
            </downlink_library_name_list>
        </aurisys_scenario>
        <!-- for aurisys_scene playback streamout voip -->
        <aurisys_scenario aurisys_scenario="AURISYS_SCENARIO_DSP_VOIP">
            <uplink_library_name_list digital_gain_lib_name="goodix_speech">
                <library name="goodix_speech"/>
            </uplink_library_name_list>
            <downlink_library_name_list digital_gain_lib_name="goodix_speech">
                <library name="goodix_speech"/>
            </downlink_library_name_list>
        </aurisys_scenario>
        <!-- for aurisys_scene playback for all mixed streamout -->
        <aurisys_scenario aurisys_scenario="AURISYS_SCENARIO_DSP_PLAYBACK">
            <downlink_library_name_list digital_gain_lib_name="">
                <library name="mtk_bessound"/>
                <library name="mtk_dcrflt"/>
            </downlink_library_name_list>
        </aurisys_scenario>
        <!-- for aurisys_scene playback with smartpa for all mixed streamout -->
        <aurisys_scenario aurisys_scenario="AURISYS_SCENARIO_DSP_PLAYBACK_SMARTPA">
            <downlink_library_name_list digital_gain_lib_name="">
                <library name="aurisys_demo"/>
            </downlink_library_name_list>
        </aurisys_scenario>
        <!-- for aurisys_scene record streamin normal -->
        <aurisys_scenario aurisys_scenario="AURISYS_SCENARIO_DSP_RECORD">
            <uplink_library_name_list digital_gain_lib_name="nxp_record">
                <library name="nxp_record"/>
            </uplink_library_name_list>
        </aurisys_scenario>
        <!-- for aurisys_scene record streamin low latency -->
        <aurisys_scenario aurisys_scenario="AURISYS_SCENARIO_DSP_RECORD_FAST">
            <uplink_library_name_list digital_gain_lib_name="nxp_record">
                <library name="nxp_record"/>
            </uplink_library_name_list>
        </aurisys_scenario>
        <!-- for aurisys_scene muic for muisc mixed streamout -->
        <aurisys_scenario aurisys_scenario="AURISYS_SCENARIO_DSP_MUSIC">
            <downlink_library_name_list digital_gain_lib_name="">
                <library name="none"/>
            </downlink_library_name_list>
        </aurisys_scenario>
        <!-- for aurisys_scene call final for sph final process -->
        <aurisys_scenario aurisys_scenario="AURISYS_SCENARIO_DSP_CALL_FINAL">
            <downlink_library_name_list digital_gain_lib_name="">
                <library name="aurisys_demo"/>
            </downlink_library_name_list>
        </aurisys_scenario>
        <!-- for aurisys_scene ktv for headphone feedback process -->
        <aurisys_scenario aurisys_scenario="AURISYS_SCENARIO_DSP_KTV">
            <downlink_library_name_list digital_gain_lib_name="">
                <library name="none"/>
            </downlink_library_name_list>
        </aurisys_scenario>
        <!-- for aurisys_scene HDR record streamin -->
        <aurisys_scenario aurisys_scenario="AURISYS_SCENARIO_DSP_HDR_RECORD">
            <uplink_library_name_list digital_gain_lib_name="">
                <library name="hifire"/>
            </uplink_library_name_list>
        </aurisys_scenario>
        <!-- for aurisys_scene Game Voice -->
        <aurisys_scenario aurisys_scenario="AURISYS_SCENARIO_DSP_GAMING">
            <uplink_library_name_list digital_gain_lib_name="goodix_speech">
                <library name="goodix_speech"/>
            </uplink_library_name_list>
        </aurisys_scenario>
    </aurisys_scenarios>
    <!--
     * =========================================================================
     *   DSP HAL Librarys
     * =========================================================================
    -->
    <hal_librarys>
        <!--
         * =====================================================================
         *   DEMO
         * =====================================================================
        -->
        <library name="aurisys_demo"
                 lib_path="/vendor/lib/libaurisysdemo.so"
                 lib64_path="/vendor/lib64/libaurisysdemo.so"
                 param_path="/vendor/etc/audio_param"
                 lib_dump_path="AUTO"
                 adb_cmd_key="AURISYS_DEMO">
            <components>
                <!-- for aurisys_scene playback streamout phonecall -->
                <component aurisys_scenario="AURISYS_SCENARIO_DSP_PHONE_CALL"
                           sample_rate="8000,16000,32000"
                           audio_format="AUDIO_FORMAT_PCM_16_BIT"
                           frame_size_ms="20"
                           b_interleave="0"
                           enable_log="0"
                           enable_raw_dump="0"
                           enable_lib_dump="0"
                           enhancement_mode="0">
                    <uplink_process>
                        <buf_in  data_buf_type="DATA_BUF_UPLINK_IN"
                                 num_channels="1,2"/>
                        <buf_out data_buf_type="DATA_BUF_UPLINK_OUT"
                                 num_channels="1"/>
                        <buf_refs>
                            <buf_ref data_buf_type="DATA_BUF_ECHO_REF"
                                     num_channels="2"/>
                        </buf_refs>
                    </uplink_process>
                    <downlink_process>
                        <buf_in  data_buf_type="DATA_BUF_DOWNLINK_IN"
                                 num_channels="1"/>
                        <buf_out data_buf_type="DATA_BUF_DOWNLINK_OUT"
                                 num_channels="1"/>
                    </downlink_process>
                </component>
                <!-- for aurisys_scene playback streamout primary -->
                <component aurisys_scenario="AURISYS_SCENARIO_DSP_PRIMARY"
                           sample_rate="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
                           audio_format="AUDIO_FORMAT_PCM_16_BIT,AUDIO_FORMAT_PCM_32_BIT"
                           frame_size_ms="0"
                           b_interleave="1"
                           enable_log="0"
                           enable_raw_dump="0"
                           enable_lib_dump="0"
                           enhancement_mode="0">
                    <downlink_process>
                        <buf_in  data_buf_type="DATA_BUF_DOWNLINK_IN"
                                 num_channels="1,2"/>
                        <buf_out data_buf_type="DATA_BUF_DOWNLINK_OUT"
                                 num_channels="1,2"/>
                    </downlink_process>
                </component>
                <!-- for aurisys_scene playback streamout deepbuf -->
                <component aurisys_scenario="AURISYS_SCENARIO_DSP_DEEP_BUF"
                           sample_rate="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
                           audio_format="AUDIO_FORMAT_PCM_16_BIT,AUDIO_FORMAT_PCM_32_BIT"
                           frame_size_ms="0"
                           b_interleave="1"
                           enable_log="0"
                           enable_raw_dump="0"
                           enable_lib_dump="0"
                           enhancement_mode="0">
                    <downlink_process>
                        <buf_in  data_buf_type="DATA_BUF_DOWNLINK_IN"
                                 num_channels="1,2"/>
                        <buf_out data_buf_type="DATA_BUF_DOWNLINK_OUT"
                                 num_channels="1,2"/>
                    </downlink_process>
                </component>
                <!-- for aurisys_scene playback streamout voip -->
                <component aurisys_scenario="AURISYS_SCENARIO_DSP_VOIP"
                           sample_rate="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
                           audio_format="AUDIO_FORMAT_PCM_16_BIT,AUDIO_FORMAT_PCM_32_BIT"
                           frame_size_ms="20"
                           b_interleave="0"
                           enable_log="0"
                           enable_raw_dump="0"
                           enable_lib_dump="0"
                           enhancement_mode="0">
                    <uplink_process>
                        <buf_in  data_buf_type="DATA_BUF_UPLINK_IN"
                                 num_channels="1,2"/>
                        <buf_out data_buf_type="DATA_BUF_UPLINK_OUT"
                                 num_channels="1,2"/>
                        <buf_refs>
                            <buf_ref data_buf_type="DATA_BUF_ECHO_REF"
                                     num_channels="1"/>
                        </buf_refs>
                    </uplink_process>
                    <downlink_process>
                        <buf_in  data_buf_type="DATA_BUF_DOWNLINK_IN"
                                 num_channels="1"/>
                        <buf_out data_buf_type="DATA_BUF_DOWNLINK_OUT"
                                 num_channels="1"/>
                    </downlink_process>
                </component>
                <!-- for aurisys_scene playback for all mixed streamout -->
                <component aurisys_scenario="AURISYS_SCENARIO_DSP_PLAYBACK"
                           sample_rate="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
                           audio_format="AUDIO_FORMAT_PCM_16_BIT,AUDIO_FORMAT_PCM_32_BIT"
                           frame_size_ms="0"
                           b_interleave="1"
                           enable_log="0"
                           enable_raw_dump="0"
                           enable_lib_dump="0"
                           enhancement_mode="0">
                    <downlink_process>
                        <buf_in  data_buf_type="DATA_BUF_DOWNLINK_IN"
                                 num_channels="1,2"/>
                        <buf_out data_buf_type="DATA_BUF_DOWNLINK_OUT"
                                 num_channels="1,2"/>
                    </downlink_process>
                </component>
                <!-- for aurisys_scene record streamin normal -->
                <component aurisys_scenario="AURISYS_SCENARIO_DSP_RECORD"
                           sample_rate="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
                           audio_format="AUDIO_FORMAT_PCM_16_BIT,AUDIO_FORMAT_PCM_32_BIT"
                           frame_size_ms="20"
                           b_interleave="0"
                           enable_log="0"
                           enable_raw_dump="0"
                           enable_lib_dump="0"
                           enhancement_mode="0">
                    <uplink_process>
                        <buf_in  data_buf_type="DATA_BUF_UPLINK_IN"
                                 num_channels="1,2,3"/>
                        <buf_out data_buf_type="DATA_BUF_UPLINK_OUT"
                                 num_channels="1,2"/>
                    </uplink_process>
                </component>
                <!-- for aurisys_scene record streamin low latency -->
                <component aurisys_scenario="AURISYS_SCENARIO_DSP_RECORD_FAST"
                           sample_rate="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
                           audio_format="AUDIO_FORMAT_PCM_16_BIT,AUDIO_FORMAT_PCM_32_BIT"
                           frame_size_ms="5"
                           b_interleave="0"
                           enable_log="0"
                           enable_raw_dump="0"
                           enable_lib_dump="0"
                           enhancement_mode="0">
                    <uplink_process>
                        <buf_in  data_buf_type="DATA_BUF_UPLINK_IN"
                                 num_channels="1,2"/>
                        <buf_out data_buf_type="DATA_BUF_UPLINK_OUT"
                                 num_channels="1,2"/>
                    </uplink_process>
                </component>
                <!-- for aurisys_scene music -->
                <component aurisys_scenario="AURISYS_SCENARIO_DSP_MUSIC"
                           sample_rate="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
                           audio_format="AUDIO_FORMAT_PCM_16_BIT,AUDIO_FORMAT_PCM_32_BIT"
                           frame_size_ms="0"
                           b_interleave="1"
                           enable_log="0"
                           enable_raw_dump="0"
                           enable_lib_dump="0"
                           enhancement_mode="0">
                    <downlink_process>
                        <buf_in  data_buf_type="DATA_BUF_DOWNLINK_IN"
                                 num_channels="1,2"/>
                        <buf_out data_buf_type="DATA_BUF_DOWNLINK_OUT"
                                 num_channels="1,2"/>
                    </downlink_process>
                </component>
                <!-- for aurisys_scene playback with smartpa -->
                <component aurisys_scenario="AURISYS_SCENARIO_DSP_PLAYBACK_SMARTPA"
                           sample_rate="8000,11025,12000,16000,22050,24000,32000,44100,48000"
                           audio_format="AUDIO_FORMAT_PCM_8_24_BIT,AUDIO_FORMAT_PCM_32_BIT"
                           frame_size_ms="0"
                           b_interleave="1"
                           enable_log="0"
                           enable_raw_dump="0"
                           enable_lib_dump="0"
                           enhancement_mode="0">
                    <downlink_process>
                        <buf_in  data_buf_type="DATA_BUF_DOWNLINK_IN"
                                 num_channels="2"/>
                        <buf_out data_buf_type="DATA_BUF_DOWNLINK_OUT"
                                 num_channels="2,4"/>
                        <buf_refs>
                             <buf_ref data_buf_type="DATA_BUF_IV_BUFFER"
                                     num_channels="2,4"/>
                        </buf_refs>
                    </downlink_process>
                </component>
                <!-- for aurisys_scene call final -->
                <component aurisys_scenario="AURISYS_SCENARIO_DSP_CALL_FINAL"
                           sample_rate="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
                           audio_format="AUDIO_FORMAT_PCM_8_24_BIT,AUDIO_FORMAT_PCM_32_BIT"
                           frame_size_ms="0"
                           b_interleave="1"
                           enable_log="0"
                           enable_raw_dump="0"
                           enable_lib_dump="0"
                           enhancement_mode="0">
                    <downlink_process>
                        <buf_in  data_buf_type="DATA_BUF_DOWNLINK_IN"
                                 num_channels="2"/>
                        <buf_out data_buf_type="DATA_BUF_DOWNLINK_OUT"
                                 num_channels="2,4"/>
                        <buf_refs>
                             <buf_ref data_buf_type="DATA_BUF_IV_BUFFER"
                                     num_channels="2,4"/>
                        </buf_refs>
                    </downlink_process>
                </component>
                <!-- for aurisys_scene ktv -->
                <component aurisys_scenario="AURISYS_SCENARIO_DSP_KTV"
                           sample_rate="48000"
                           audio_format="AUDIO_FORMAT_PCM_8_24_BIT"
                           frame_size_ms="0"
                           b_interleave="1"
                           enable_log="0"
                           enable_raw_dump="0"
                           enable_lib_dump="0"
                           enhancement_mode="0">
                    <downlink_process>
                        <buf_in  data_buf_type="DATA_BUF_DOWNLINK_IN"
                                 num_channels="2"/>
                        <buf_out data_buf_type="DATA_BUF_DOWNLINK_OUT"
                                 num_channels="2"/>
                    </downlink_process>
                </component>
                <!-- for aurisys_scene HDR record streamin -->
                <component aurisys_scenario="AURISYS_SCENARIO_DSP_HDR_RECORD"
                           sample_rate="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
                           audio_format="AUDIO_FORMAT_PCM_16_BIT,AUDIO_FORMAT_PCM_32_BIT"
                           frame_size_ms="10"
                           b_interleave="0"
                           enable_log="0"
                           enable_raw_dump="0"
                           enable_lib_dump="0"
                           enhancement_mode="0">
                    <uplink_process>
                        <buf_in  data_buf_type="DATA_BUF_UPLINK_IN"
                                 num_channels="2,4,6"/>
                        <buf_out data_buf_type="DATA_BUF_UPLINK_OUT"
                                 num_channels="2"/>
                    </uplink_process>
                </component>
            </components>
        </library>
        <!--
         * =====================================================================
         *   Gain Boost
         * =====================================================================
        -->
        <library name="gain_boost"
                 lib_path="/vendor/lib/libgainboost.so"
                 lib64_path="/vendor/lib64/libgainboost.so"
                 param_path="/vendor/etc/audio_param"
                 lib_dump_path="AUTO"
                 adb_cmd_key="GAIN_BOOST">
            <components>
                <!-- for aurisys_scene call -->
                <component aurisys_scenario="AURISYS_SCENARIO_DSP_PHONE_CALL"
                           sample_rate="8000,16000,32000,48000,96000"
                           audio_format="AUDIO_FORMAT_PCM_16_BIT,AUDIO_FORMAT_PCM_8_24_BIT"
                           frame_size_ms="20"
                           b_interleave="0"
                           enable_log="0"
                           enable_raw_dump="0"
                           enable_lib_dump="0"
                           enhancement_mode="0">
                    <uplink_process>
                        <buf_in  data_buf_type="DATA_BUF_UPLINK_IN"
                                 num_channels="1,2,3,4"/>
                        <buf_out data_buf_type="DATA_BUF_UPLINK_OUT"
                                 num_channels="1,2,3,4"/>
                    </uplink_process>
                    <downlink_process>
                        <buf_in  data_buf_type="DATA_BUF_DOWNLINK_IN"
                                 num_channels="1,2,3,4"/>
                        <buf_out data_buf_type="DATA_BUF_DOWNLINK_OUT"
                                 num_channels="1,2,3,4"/>
                    </downlink_process>
                </component>
                <!-- for aurisys_scene playback streamout voip -->
                <component aurisys_scenario="AURISYS_SCENARIO_DSP_VOIP"
                           sample_rate="8000,16000,32000,48000,96000"
                           audio_format="AUDIO_FORMAT_PCM_16_BIT,AUDIO_FORMAT_PCM_8_24_BIT"
                           frame_size_ms="10,20"
                           b_interleave="0"
                           enable_log="0"
                           enable_raw_dump="0"
                           enable_lib_dump="0"
                           enhancement_mode="0">
                    <uplink_process>
                        <buf_in  data_buf_type="DATA_BUF_UPLINK_IN"
                                 num_channels="1,2,3,4"/>
                        <buf_out data_buf_type="DATA_BUF_UPLINK_OUT"
                                 num_channels="1,2,3,4"/>
                    </uplink_process>
                    <downlink_process>
                        <buf_in  data_buf_type="DATA_BUF_DOWNLINK_IN"
                                 num_channels="1,2,3,4"/>
                        <buf_out data_buf_type="DATA_BUF_DOWNLINK_OUT"
                                 num_channels="1,2,3,4"/>
                    </downlink_process>
                </component>
                <!-- for aurisys_scene record streamin normal -->
                <component aurisys_scenario="AURISYS_SCENARIO_DSP_RECORD"
                           sample_rate="8000,16000,32000,48000,96000"
                           audio_format="AUDIO_FORMAT_PCM_16_BIT,AUDIO_FORMAT_PCM_8_24_BIT"
                           frame_size_ms="10,20"
                           b_interleave="0"
                           enable_log="0"
                           enable_raw_dump="0"
                           enable_lib_dump="0"
                           enhancement_mode="0">
                    <uplink_process>
                        <buf_in  data_buf_type="DATA_BUF_UPLINK_IN"
                                 num_channels="1,2,3,4"/>
                        <buf_out data_buf_type="DATA_BUF_UPLINK_OUT"
                                 num_channels="1,2,3,4"/>
                    </uplink_process>
                </component>
                <!-- for aurisys_scene record streamin low latency -->
                <component aurisys_scenario="AURISYS_SCENARIO_DSP_RECORD_FAST"
                           sample_rate="8000,16000,32000,48000,96000"
                           audio_format="AUDIO_FORMAT_PCM_16_BIT,AUDIO_FORMAT_PCM_8_24_BIT"
                           frame_size_ms="1,5"
                           b_interleave="0"
                           enable_log="0"
                           enable_raw_dump="0"
                           enable_lib_dump="0"
                           enhancement_mode="0">
                    <uplink_process>
                        <buf_in  data_buf_type="DATA_BUF_UPLINK_IN"
                                 num_channels="1,2,3,4"/>
                        <buf_out data_buf_type="DATA_BUF_UPLINK_OUT"
                                 num_channels="1,2,3,4"/>
                    </uplink_process>
                </component>
                <!-- for aurisys_scene HDR record streamin -->
                <component aurisys_scenario="AURISYS_SCENARIO_DSP_HDR_RECORD"
                           sample_rate="8000,16000,32000,48000,96000"
                           audio_format="AUDIO_FORMAT_PCM_16_BIT,AUDIO_FORMAT_PCM_8_24_BIT"
                           frame_size_ms="10"
                           b_interleave="0"
                           enable_log="0"
                           enable_raw_dump="0"
                           enable_lib_dump="0"
                           enhancement_mode="0">
                    <uplink_process>
                        <buf_in  data_buf_type="DATA_BUF_UPLINK_IN"
                                 num_channels="1,2,3,4"/>
                        <buf_out data_buf_type="DATA_BUF_UPLINK_OUT"
                                 num_channels="1,2,3,4"/>
                    </uplink_process>
                </component>
		<!-- for aurisys_scene game voice -->
                <component aurisys_scenario="AURISYS_SCENARIO_DSP_GAMING"
                           sample_rate="8000,16000,32000,48000,96000"
                           audio_format="AUDIO_FORMAT_PCM_16_BIT,AUDIO_FORMAT_PCM_8_24_BIT"
                           frame_size_ms="10"
                           b_interleave="0"
                           enable_log="0"
                           enable_raw_dump="0"
                           enable_lib_dump="0"
                           enhancement_mode="0">
                    <uplink_process>
                        <buf_in  data_buf_type="DATA_BUF_UPLINK_IN"
                                 num_channels="1,2,3,4"/>
                        <buf_out data_buf_type="DATA_BUF_UPLINK_OUT"
                                 num_channels="1,2,3,4"/>
                    </uplink_process>
                </component>
            </components>
        </library>
        <!--
         * =====================================================================
         *   RT5512 smartpa
         * =====================================================================
        -->
        <library name="smartpa_rt5512"
                 lib_path="/vendor/lib/libaudiosmartpartk.so"
                 lib64_path="/vendor/lib64/libaudiosmartpartk.so"
                 param_path="/vendor/etc/smartpa_param/SmartPaVendor1_AudioParam.dat"
                 lib_dump_path="AUTO"
                 adb_cmd_key="RT5512">
            <components>
                <!-- for aurisys_scene playback with smartpa -->
                <component aurisys_scenario="AURISYS_SCENARIO_DSP_PLAYBACK_SMARTPA"
                           sample_rate="48000"
                           audio_format="AUDIO_FORMAT_PCM_8_24_BIT"
                           frame_size_ms="0"
                           b_interleave="1"
                           enable_log="0"
                           enable_raw_dump="0"
                           enable_lib_dump="0"
                           enhancement_mode="0">
                    <downlink_process>
                        <buf_in  data_buf_type="DATA_BUF_DOWNLINK_IN"
                                 num_channels="2"/>
                        <buf_out data_buf_type="DATA_BUF_DOWNLINK_OUT"
                                 num_channels="2"/>
                        <buf_refs>
                             <buf_ref data_buf_type="DATA_BUF_IV_BUFFER"
                                     num_channels="2"/>
                        </buf_refs>
                    </downlink_process>
                </component>
                <!-- for aurisys_scene call final -->
                <component aurisys_scenario="AURISYS_SCENARIO_DSP_CALL_FINAL"
                           sample_rate="48000"
                           audio_format="AUDIO_FORMAT_PCM_8_24_BIT"
                           frame_size_ms="0"
                           b_interleave="1"
                           enable_log="0"
                           enable_raw_dump="0"
                           enable_lib_dump="0"
                           enhancement_mode="0">
                    <downlink_process>
                        <buf_in  data_buf_type="DATA_BUF_DOWNLINK_IN"
                                 num_channels="2"/>
                        <buf_out data_buf_type="DATA_BUF_DOWNLINK_OUT"
                                 num_channels="2"/>
                        <buf_refs>
                             <buf_ref data_buf_type="DATA_BUF_IV_BUFFER"
                                     num_channels="2"/>
                        </buf_refs>
                    </downlink_process>
                </component>
            </components>
        </library>
        <!--
         * =====================================================================
         *   MediaTek Bessound
         * =====================================================================
        -->
        <library name="mtk_bessound"
                 lib_path="/vendor/lib/libaudioloudc.so"
                 lib64_path="/vendor/lib64/libaudioloudc.so"
                 param_path="/vendor/etc/audio_param"
                 lib_dump_path="AUTO"
                 adb_cmd_key="MTKBESSOUND">
            <components>
                <!-- for aurisys_scene playback normal -->
                <component aurisys_scenario="AURISYS_SCENARIO_DSP_PLAYBACK"
                           sample_rate="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
                           audio_format="AUDIO_FORMAT_PCM_32_BIT"
                           frame_size_ms="0"
                           b_interleave="1"
                           enable_log="0"
                           enable_raw_dump="0"
                           enable_lib_dump="0"
                           enhancement_mode="0">
                    <downlink_process>
                        <buf_in  data_buf_type="DATA_BUF_DOWNLINK_IN"
                                 num_channels="2"/>
                        <buf_out data_buf_type="DATA_BUF_DOWNLINK_OUT"
                                 num_channels="2"/>
                    </downlink_process>
                </component>
            </components>
        </library>
        <!--
         * =====================================================================
         *   MediaTek DCRemove
         * =====================================================================
        -->
        <library name="mtk_dcrflt"
                 lib_path="/vendor/lib/libaurisysdemo.so"
                 lib64_path="/vendor/lib64/libaurisysdemo.so"
                 param_path=""
                 lib_dump_path="AUTO"
                 adb_cmd_key="MTKDCRFLT">
            <components>
                <!-- for aurisys_scene playback normal -->
                <component aurisys_scenario="AURISYS_SCENARIO_DSP_PLAYBACK"
                           sample_rate="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
                           audio_format="AUDIO_FORMAT_PCM_32_BIT"
                           frame_size_ms="0"
                           b_interleave="1"
                           enable_log="0"
                           enable_raw_dump="0"
                           enable_lib_dump="0"
                           enhancement_mode="0">
                    <downlink_process>
                        <buf_in  data_buf_type="DATA_BUF_DOWNLINK_IN"
                                 num_channels="2"/>
                        <buf_out data_buf_type="DATA_BUF_DOWNLINK_OUT"
                                 num_channels="2"/>
                    </downlink_process>
                </component>
            </components>
        </library>
        <!--
         * =====================================================================
         *   MediaTek DemoCpp
         * =====================================================================
        -->
        <library name="mtk_democpp"
                 lib_path="/vendor/lib/libaurisysdemo.so"
                 lib64_path="/vendor/lib64/libaurisysdemo.so"
                 param_path=""
                 lib_dump_path="AUTO"
                 adb_cmd_key="MTKDEMOCPP">
            <components>
                <!-- for aurisys_scene playback normal -->
                <component aurisys_scenario="AURISYS_SCENARIO_DSP_DEEP_BUF"
                           sample_rate="8000,11025,12000,16000,22050,24000,32000,44100,48000,64000,88200,96000,128000,176400,192000"
                           audio_format="AUDIO_FORMAT_PCM_32_BIT"
                           frame_size_ms="0"
                           b_interleave="1"
                           enable_log="0"
                           enable_raw_dump="0"
                           enable_lib_dump="0"
                           enhancement_mode="0">
                    <downlink_process>
                        <buf_in  data_buf_type="DATA_BUF_DOWNLINK_IN"
                                 num_channels="2"/>
                        <buf_out data_buf_type="DATA_BUF_DOWNLINK_OUT"
                                 num_channels="2"/>
                    </downlink_process>
                </component>
            </components>
        </library>
        <!--
         * =====================================================================
         *   HIFI Record
         * =====================================================================
        -->
        <library name="hifire"
                 lib_path="/vendor/lib/libhifire.so"
                 lib64_path="/vendor/lib64/libhifire.so"
                 param_path="/vendor/etc/hifire_param.bin"
                 lib_dump_path="AUTO"
                 adb_cmd_key="HIFIRE">
            <components>
                <!-- for aurisys_scene record streamin normal -->
                <component aurisys_scenario="AURISYS_SCENARIO_DSP_HDR_RECORD"
                           sample_rate="48000"
                           audio_format="AUDIO_FORMAT_PCM_8_24_BIT"
                           frame_size_ms="10"
                           b_interleave="0"
                           enable_log="0"
                           enable_raw_dump="0"
                           enable_lib_dump="0"
                           enhancement_mode="0">
                    <uplink_process>
                        <buf_in  data_buf_type="DATA_BUF_UPLINK_IN"
                                 num_channels="6"/>
                        <buf_out data_buf_type="DATA_BUF_UPLINK_OUT"
                                 num_channels="1,2"/>
                    </uplink_process>
                </component>
            </components>
        </library>
        <!--
         * =====================================================================
         *   NXP Record
         * =====================================================================
        -->
        <library name="nxp_record"
                 lib_path="/vendor/lib/libnxprecord.so"
                 lib64_path="/vendor/lib64/libnxprecord.so"
                 param_path="/vendor/etc/nxp"
                 lib_dump_path="AUTO"
                 adb_cmd_key="NXP_REC">
            <components>
                <!-- for aurisys_scene record streamin normal -->
                <component aurisys_scenario="AURISYS_SCENARIO_DSP_RECORD"
                           sample_rate="48000"
                           audio_format="AUDIO_FORMAT_PCM_16_BIT"
                           frame_size_ms="10"
                           b_interleave="0"
                           enable_log="0"
                           enable_raw_dump="0"
                           enable_lib_dump="0"
                           enhancement_mode="0">
                    <uplink_process>
                        <buf_in  data_buf_type="DATA_BUF_UPLINK_IN"
                                 num_channels="2"/>
                        <buf_out data_buf_type="DATA_BUF_UPLINK_OUT"
                                 num_channels="2"/>
                    </uplink_process>
                </component>
                <!-- for aurisys_scene record streamin fast -->
                <component aurisys_scenario="AURISYS_SCENARIO_DSP_RECORD_FAST"
                           sample_rate="48000"
                           audio_format="AUDIO_FORMAT_PCM_16_BIT"
                           frame_size_ms="10"
                           b_interleave="0"
                           enable_log="0"
                           enable_raw_dump="0"
                           enable_lib_dump="0"
                           enhancement_mode="0">
                    <uplink_process>
                        <buf_in  data_buf_type="DATA_BUF_UPLINK_IN"
                                 num_channels="2"/>
                        <buf_out data_buf_type="DATA_BUF_UPLINK_OUT"
                                 num_channels="2"/>
                    </uplink_process>
                </component>
            </components>
        </library>
        <!--
         * =====================================================================
         *   Goodix Speech
         * =====================================================================
        -->
        <library name="goodix_speech"
                 lib_path="/vendor/lib/libgoodixspeech_ve23rv.so"
                 lib64_path="/vendor/lib64/libgoodixspeech_ve23rv.so"
                 param_path="/vendor/etc/goodix/ve23rv/"
                 lib_dump_path="AUTO"
                 adb_cmd_key="GOODIX_SPH">
            <components>
                <!-- for aurisys_scene call -->
                <component aurisys_scenario="AURISYS_SCENARIO_DSP_PHONE_CALL"
                           sample_rate="8000,16000,32000"
                           audio_format="AUDIO_FORMAT_PCM_16_BIT"
                           frame_size_ms="20"
                           b_interleave="0"
                           enable_log="0"
                           enable_raw_dump="0"
                           enable_lib_dump="0"
                           enhancement_mode="0">
                    <uplink_process>
                        <buf_in  data_buf_type="DATA_BUF_UPLINK_IN"
                                 num_channels="1,2,3"/>
                        <buf_out data_buf_type="DATA_BUF_UPLINK_OUT"
                                 num_channels="1"/>
                        <buf_refs>
                            <buf_ref data_buf_type="DATA_BUF_ECHO_REF"
                                     num_channels="2"/>
                        </buf_refs>
                    </uplink_process>
                    <downlink_process>
                        <buf_in  data_buf_type="DATA_BUF_DOWNLINK_IN"
                                 num_channels="1"/>
                        <buf_out data_buf_type="DATA_BUF_DOWNLINK_OUT"
                                 num_channels="1"/>
                    </downlink_process>
                </component>
                <!-- for aurisys_scene voip -->
                <component aurisys_scenario="AURISYS_SCENARIO_DSP_VOIP"
                           sample_rate="16000,48000"
                           audio_format="AUDIO_FORMAT_PCM_16_BIT"
                           frame_size_ms="10"
                           b_interleave="0"
                           enable_log="0"
                           enable_raw_dump="0"
                           enable_lib_dump="0"
                           enhancement_mode="0">
                    <uplink_process>
                        <buf_in  data_buf_type="DATA_BUF_UPLINK_IN"
                                 num_channels="3"/>
                        <buf_out data_buf_type="DATA_BUF_UPLINK_OUT"
                                 num_channels="1"/>
                        <buf_refs>
                            <buf_ref data_buf_type="DATA_BUF_ECHO_REF"
                                     num_channels="2"/>
                        </buf_refs>
                    </uplink_process>
                    <downlink_process>
                        <buf_in  data_buf_type="DATA_BUF_DOWNLINK_IN"
                                 num_channels="1"/>
                        <buf_out data_buf_type="DATA_BUF_DOWNLINK_OUT"
                                 num_channels="1"/>
                    </downlink_process>
                </component>
                <!-- for aurisys_scene game voice -->
                <component aurisys_scenario="AURISYS_SCENARIO_DSP_GAMING"
                           sample_rate="16000,48000"
                           audio_format="AUDIO_FORMAT_PCM_16_BIT"
                           frame_size_ms="10"
                           b_interleave="0"
                           enable_log="0"
                           enable_raw_dump="0"
                           enable_lib_dump="0"
                           enhancement_mode="0">
                    <uplink_process>
                        <buf_in  data_buf_type="DATA_BUF_UPLINK_IN"
                                 num_channels="1,2,3"/>
                        <buf_out data_buf_type="DATA_BUF_UPLINK_OUT"
                                 num_channels="1"/>
                        <buf_refs>
                            <buf_ref data_buf_type="DATA_BUF_ECHO_REF"
                                     num_channels="2"/>
                        </buf_refs>
                    </uplink_process>
                </component>
            </components>
        </library>
        <!--
         * =====================================================================
         *   MTK Speech
         * =====================================================================
        -->
        <library name="mtk_sp"
                 lib_path="/vendor/lib/libmtkspparser.so"
                 lib64_path="/vendor/lib64/libmtkspparser.so"
                 param_path="/vendor/etc/audio_param"
                 lib_dump_path="AUTO"
                 adb_cmd_key="MTK_SPH">
            <components>
                <!-- for aurisys_scene call -->
                <component aurisys_scenario="AURISYS_SCENARIO_DSP_PHONE_CALL"
                           sample_rate="8000,16000,32000"
                           audio_format="AUDIO_FORMAT_PCM_16_BIT"
                           frame_size_ms="20"
                           b_interleave="0"
                           enable_log="0"
                           enable_raw_dump="0"
                           enable_lib_dump="0"
                           enhancement_mode="0">
                    <uplink_process>
                        <buf_in  data_buf_type="DATA_BUF_UPLINK_IN"
                                 num_channels="1,2"/>
                        <buf_out data_buf_type="DATA_BUF_UPLINK_OUT"
                                 num_channels="1"/>
                        <buf_refs>
                            <buf_ref data_buf_type="DATA_BUF_ECHO_REF"
                                     num_channels="1,2"/>
                        </buf_refs>
                    </uplink_process>
                    <downlink_process>
                        <buf_in  data_buf_type="DATA_BUF_DOWNLINK_IN"
                                 num_channels="1"/>
                        <buf_out data_buf_type="DATA_BUF_DOWNLINK_OUT"
                                 num_channels="1"/>
                    </downlink_process>
                </component>
                <!-- for aurisys_scene voip -->
                <component aurisys_scenario="AURISYS_SCENARIO_DSP_VOIP"
                           sample_rate="16000"
                           audio_format="AUDIO_FORMAT_PCM_16_BIT"
                           frame_size_ms="20"
                           b_interleave="0"
                           enable_log="0"
                           enable_raw_dump="0"
                           enable_lib_dump="0"
                           enhancement_mode="0">
                    <uplink_process>
                        <buf_in  data_buf_type="DATA_BUF_UPLINK_IN"
                                 num_channels="2"/>
                        <buf_out data_buf_type="DATA_BUF_UPLINK_OUT"
                                 num_channels="1"/>
                        <buf_refs>
                            <buf_ref data_buf_type="DATA_BUF_ECHO_REF"
                                     num_channels="2"/>
                        </buf_refs>
                    </uplink_process>
                    <downlink_process>
                        <buf_in  data_buf_type="DATA_BUF_DOWNLINK_IN"
                                 num_channels="1"/>
                        <buf_out data_buf_type="DATA_BUF_DOWNLINK_OUT"
                                 num_channels="1"/>
                    </downlink_process>
                </component>
                <!-- for aurisys_scene record w/o AEC -->
                <component aurisys_scenario="AURISYS_SCENARIO_DSP_RECORD"
                           sample_rate="48000"
                           audio_format="AUDIO_FORMAT_PCM_8_24_BIT"
                           frame_size_ms="20"
                           b_interleave="0"
                           enable_log="0"
                           enable_raw_dump="0"
                           enable_lib_dump="0"
                           enhancement_mode="0">
                    <uplink_process>
                        <buf_in  data_buf_type="DATA_BUF_UPLINK_IN"
                                 num_channels="2"/>
                        <buf_out data_buf_type="DATA_BUF_UPLINK_OUT"
                                 num_channels="1,2"/>
                    </uplink_process>
                </component>
                <!-- for aurisys_scene low latency record -->
                <component aurisys_scenario="AURISYS_SCENARIO_DSP_RECORD_FAST"
                           sample_rate="16000,48000"
                           audio_format="AUDIO_FORMAT_PCM_8_24_BIT"
                           frame_size_ms="5"
                           b_interleave="0"
                           enable_log="0"
                           enable_raw_dump="0"
                           enable_lib_dump="0"
                           enhancement_mode="0">
                    <uplink_process>
                        <buf_in  data_buf_type="DATA_BUF_UPLINK_IN"
                                 num_channels="2"/>
                        <buf_out data_buf_type="DATA_BUF_UPLINK_OUT"
                                 num_channels="1,2"/>
                    </uplink_process>
                </component>
                <!-- for aurisys_scene game voice -->
                <component aurisys_scenario="AURISYS_SCENARIO_DSP_GAMING"
                           sample_rate="16000"
                           audio_format="AUDIO_FORMAT_PCM_16_BIT"
                           frame_size_ms="20"
                           b_interleave="0"
                           enable_log="0"
                           enable_raw_dump="0"
                           enable_lib_dump="0"
                           enhancement_mode="0">
                    <uplink_process>
                        <buf_in  data_buf_type="DATA_BUF_UPLINK_IN"
                                 num_channels="2"/>
                        <buf_out data_buf_type="DATA_BUF_UPLINK_OUT"
                                 num_channels="1"/>
                        <buf_refs>
                            <buf_ref data_buf_type="DATA_BUF_ECHO_REF"
                                     num_channels="2"/>
                        </buf_refs>
                    </uplink_process>
                </component>
            </components>
        </library>
    </hal_librarys>
</aurisys_config>
