原创 fdk-aac解碼AAC_LOAS編碼音頻的例子

      在海思的mpp中,音頻編碼設置爲aac-ld後官方推薦按照LOAS(Low Overhead Audio Stream)形式進行打包封裝,其中LOAS的封裝與ADTS類似,爲“Header+frame”的形式,其中LOAS的H

原创 fdk-aac檢查ASC(audio special configure)配置的方法

話不多說,測試代碼如下: #include <stdio.h> #include <stdint.h> #include <unistd.h> #include <stdlib.h> #include "aacdecoder_lib.h

原创 linux的標準計時函數的代碼例子

精確到ms,可以在arm上運行,代碼如下: #include <sys/time.h> int main(int argc, char *argv[]) { timeval starttime,endtime; gettimeofd

原创 海思Hi3559A支持單幀多slice解碼的方法配置(不花屏不卡頓)

Hi3559A中,默認單幀最多支持16個slice,解碼時通過: cat /proc/umap/vdec 可以查詢到 MaxVPS MaxSPS MaxPPS MaxSlice 以上是與H.264、H.265解碼相關的內存分配參

原创 cmake配置arm交叉編譯環境

(1)下載交叉編譯工具鏈,開發應用的要用gnueabi,開發系統uboot的要用eabi; (2)根目錄的CMakeLists.txt的添加配置如下: cmake_minimum_required(VERSION 2.8) #添加配置

原创 git建庫基本操作

1.編寫.gitignore 2.全局排除.gitignore git config --global core.excludesfile ~/.gitignore 3.忽略不同回車符、換行符 git config --global

原创 PCM格式分析(頭信息+負載)

PCM(脈衝 +編碼+調製)爲原始音頻數據採集的一種格式,可以只包含負載(payload),也可以包含頭信息(header)+負載(payload)。通過arecord得到的PCM文件是包含頭信息(header)+負載(payload)的

原创 linux對更改後綴名的遞歸實現方法

find ./ -name "*.cxx" | awk -F "." '{print $2}' | xargs -i -t mv ./{}.cxx ./{}.cxx_back 解釋一下: (1)通過find把當前目錄下的*.cxx文件

原创 大端小端和網絡序字節序的總結

1.Little endian(LE):將低序字節存儲在起始地址 2.Big endian(BE):將高序字節存儲在起始地址 3.網絡字節順序採用big endian排序方式,包括ip地址或者port端口的設置(需要htons等轉換),指

原创 ooh323增加能力集的方法

ooh323是Asterisk的支持H323呼叫的組件,默認支持的音頻協議是g711,如果想添加自定義的音頻協議,那麼捷徑就是抓包+補代碼。以aac ld爲例,補代碼的方法如下: 在ooCapability.c中,增加方法ooCapabi

原创 分組加密的模式整理

     分組密碼是每次只能處理特定長度的一塊數據的一類密碼算法,DES和3DES是64比特,AES是128比特。       流密碼是對數據流進行連續處理的一類密碼算法。流密碼中一般以1比特、8比特或32比特等單位進行加解密。     

原创 求全圖的所有最短路徑-floyd算法(弗洛伊德算法)

如果需要求出每兩點之間的最短路,不必調用n次Dijkstra(邊權均爲正)或者bellman-ford(有負權)。有一個更簡單的方法可以實現——Floyd-Warshall算法,以下代碼熟記即可,即i到j的最短路徑,是i到j的直連或者通過

原创 ffmpeg的AVBufferRef的用法

基於ffmpeg的4.2.2學習c實現的智能指針的用法: 1、用ref結構,類似於侵入式智能指針的思路,即把“數據”和“引用計數”綁到一個數據結構裏,以防內存泄漏,機制簡單。 2、用atomic的機制,保證引用計數ref的線程安全。 3、

原创 vs的atomic和linux的stdatomic.h的原子操作的基本用法

作爲引用計數的計數器,操作如下: #include <atomic> #include <iostream> using namespace std; int main() { atomic_uint refcount; atom

原创 av_freep和av_free的區別

ffmpeg推薦用av_freep,av_freep可以解決dangling指針的問題: avfreep的用法如下: int main() { int size = 100; uint8_t *data = NULL; da