【轉】DM8168添加DSP音頻編解碼演算法--整合現有voice或audio codec

來源:互聯網
上載者:User

標籤:

本文根據“How to integrate audio/voice in RPE in EZSDK.pdf”整理,建議讀者直接下載,參考原檔案。原檔案下載連結:

http://download.csdn.net/detail/guo8113/8122945

ps:本文只是參考文檔進行定製補充,但目前筆者沒有完成移植,僅供參考。

轉載請註明:http://blog.csdn.net/guo8113/article/details/40820897

DVR_RDK RPE添加其他音頻編碼

DM8168中音頻演算法(DVR-RDK中已經整合了aac的enc、dec)採用RPE(遠程程式調用)的機制,該機制的介紹可以參考ti_tools/rpe中的文檔,或者參考筆者的部落格與論文。1.更新構建環境變數

/remote-processor-execute/makerules/env.mk

L42:

#####################################################

# Codecs Paths

#####################################################

 

# AACDEC - AAC Decoder

aaclcdec_PATH =$(EXTERNAL_SW_ROOT)/c674x-aaclcdec_01_41_00_00_elf

aaclcdec_INCLUDE =$(aaclcdec_PATH)/packages

 

# AACENC - AAC Encoder

aaclcenc_PATH =$(EXTERNAL_SW_ROOT)/c674x_aaclcenc_01_00_01_00_elf

aaclcenc_INCLUDE =$(aaclcenc_PATH)/packages

#

# <Integrator>: Add more codec pathshere.

#

2.添加codec到編譯列表:

ti_tools/rpe/remote-processor-execute/src/config/codecs.mk

INCLUDE_CODEC_INTERFACES = aaclcdecaaclcenc

3.更新client設定檔

ti_tools/rpe/remote-processor-execute/src/config/client_config.c

/* Get structure definitions for AACLCAudio Decoder Interface */

#include<ti/sdo/codecs/aaclcdec/iaacdec.h>

#include<ti/sdo/codecs/aaclcenc/imp4aacenc.h>

由於已經整合AAC enc和dec所以使用XDM介面的類已經定義了各一個,如果要同時運行其他codec,可能還需要進行添加。

4.更新server設定檔

ti_tools/rpe/remote-processor-execute/src/config/server_config_c67x.c

(1)模仿const XdmServer_ServerConfig TI_AACDEC_serverConfig{}編寫自己的classconfigratiion

 

(2)更新:

const Rpe_ServerConfig*Rpe_serverConfigArray[] =

{

   (const Rpe_ServerConfig *) & TI_AACDEC_serverConfig,

   (const Rpe_ServerConfig *) & TI_AACENC_serverConfig,

   & Rpe_endServerConfig

};

當然也要包含必要的標頭檔。

5.修改/dvr_rdk/rules.make

L101行:

# Audio framework (RPE) and Codecs

rpe_PATH        :=$(TI_SW_ROOT)/rpe/remote-processor-execute

aaclcdec_PATH    :=$(TI_SW_ROOT)/codecs/c674x_aaclcdec_01_41_00_00_elf

aaclcenc_PATH    :=$(TI_SW_ROOT)/codecs/c674x_aaclcenc_01_00_01_00_elf_patched

 

L301:

RPE_BUILD_VARS =ipc_PATH="${ipc_PATH}" \

         bios_PATH="${bios_PATH}"\

         xdc_PATH="${xdc_PATH}"\

         xdais_PATH="${xdais_PATH}"\

         syslink_PATH="${syslink_PATH}"\

         kernel_PATH="${KERNELDIR}"\

         CODESOURCERY_PATH="${CODEGEN_PATH_A8}"\

         CGT_ARM_PREFIX="${CSTOOL_PREFIX}"\

         CODEGEN_PATH_DSP="${CODEGEN_PATH_DSP}"\

         CODEGEN_PATH_DSPELF="${CODEGEN_PATH_DSP}"\

         ROOTDIR="${rpe_PATH}"\

         aaclcdec_PATH="${aaclcdec_PATH}"\

         aaclcenc_PATH="${aaclcenc_PATH}"

 

L373:

export aaclcdec_PATH   

export aaclcenc_PATH   

6.添加庫

dvr_rdk/makerules/rules_c674.mk

L192:

LIB_PATHS += $(RTSLIB_PATH)  \

             $(aaclcdec_PATH)/packages/ti/sdo/codecs/aaclcdec/lib/aacdec_tii_lc_elf.l64P\

            $(aaclcenc_PATH)/packages/ti/sdo/codecs/aaclcenc/lib/mp4aacenc_tij_lc_elf.l67

添加包含目錄:dvr_rdk/makerules/env.mk

aaclcdec_INCLUDE =$(aaclcdec_PATH)/packages

aaclcenc_INCLUDE =$(aaclcenc_PATH)/packages

7.在ARM側指定RPE的編譯包含路徑

dvr_rdk/makerules/includes_a8.mk

L18:

RPE_INC=-I$(rpe_PATH)/include-I$(rpe_PATH)/src/include -I$(aaclcdec_PATH)/packages-I$(aaclcenc_PATH)/packages -I$(xdais_PATH)/packages

8. DVRRDK_03.00.00.00/dvr_rdk/mcfw/src_bios6/BIOS_c6xdsp.cfg不確定

Program.sectMap["aacEncProgram"]              = "DSP_CODE_MEM";

【轉】DM8168添加DSP音頻編解碼演算法--整合現有voice或audio codec

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.