2009.09.18 - Progress update
‧改完第20個動態宣告,這一部分到目前先告一個段落。
[繼續閱讀]‧接下來要把程式放到VisualDSP++上面去跑,預計還會遇到一些記憶體空間不足的問題。
2009.09.11 - Progress update
‧改完第19個動態宣告。
2009.09.04 - Progress update
‧改完第18個動態宣告。
2009.09.01 - Progress update
‧改完第16、17個動態宣告。
//////////////////////////////////////////////////////////
↓↓↓↓↓↓↓↓↓↓ 歷史紀錄 ↓↓↓↓↓↓↓↓↓↓
//////////////////////////////////////////////////////////
2009.02.24 - AAC decoder porting progress
- 這次的工作是把AAC Decoder porting到2191上面,這原本應該是很久以前的工作。
- AAC的版本是HimaxDecoder20080408_V870(Final),然後不包含SBR和PS的部分。
- 目前先移除原本程式中Fixed Point的部分以及測量用的時間標籤,然後先把程式中動態宣告的資料改成靜態宣告的方式,不過這部分還沒有全部改完。
- 有一些之前已經知道會遇到的問題之後得再去想辦法解決包括:
a.記憶體大小、配置的問題。
b.CCE的問題。
[ 投影片 ]
--------------------------------------------------------------------------------
2009.02.27 - Some previous AAC related things
01 - Tree of function call
這是 Himax Decoder V870 的 Function Call 的樹狀結構,內容為各個function之間的呼叫關係。使用投影片放映模式,區塊代表function。其中:藍色區塊代表該function下層沒有呼叫其他function,而紅色區塊代表該function下層還有呼叫其他function。藍色向右的箭號會跳到下一層function所在的投影片,而橘色向左的箭號則會跳回上層function所在的投影片。至於左下角的房子則會跳到最上層的投影片。
[ 投影片 ]
02 - AAC function analysis 1
這是當時想知道哪些function比較耗計算時間所做的第一次測試,不過當時不曉得,所以把寫檔的時間(OutputToPcm)也算了進去。
[ 投影片 ]
03 - AAC function analysis 2
這是後來做的第二次測試結果,選了一首兩分半流行樂以及AAC的一些Testing Bitstream當作測試音檔。主要針對RawDataBlockCheckCCE、RawDataBlock、IndividualChannelStream還有一些其他的function(例如:ms、is)去測試。測試結果中的Time代表的是每個function跑的時間,單位是ms;Ratio1代表的是該function在上層呼叫的function中所佔的比率;Ratio2代表的則是該function在全部時間中所佔的比率。
[ 投影片1 - Testing bitstream and partial results ]
[ 投影片2 - Total testing results ]
04 - AAC decoder v870 about CCE
這部分簡介了一下CCE(Coupling Channel Element),CCE主要是用於多聲道時,可將多個聲道中共同的部分擷取出來一起編碼,然後於解碼還原時再分別疊加回原本的各個聲道中。程式中須透過RawDataBlackcheckCCE這個function來得知哪些地方使用了CCE,並且將其資訊儲存於hDecoder這個指標指向的struct中,當還原時若需要CCE資訊,再到該struct中讀取。
[ 投影片 ]
05 - Known problems on 2191
這部分放上2191的記憶體分配,以及在2191上已經知道會遇到的一些問題,包括:a.不能使用malloc動態配置記憶體空間,須使用靜態宣告。b.在AAC Decoder V870中的struct Decoder_Struct光宣告就占掉了45K的大小,但是2191上的記憶體空間(DM1+DM2)大概只有27K多。c.若要使用外部記憶體,須透過external _memory_read和external _memory_write這兩個function。
[ 投影片 ]
--------------------------------------------------------------------------------
2009.03.11 - Progress update
之前原本打算先把程式中動態宣告的部分改成靜態宣告,程式中一共有21的地方有使用到動態宣告,目前只改完其中2個。因為在改第3個的時候,有其他2個動態宣告和它有相關,所以當時一起改,不過改完之後,compile雖然有過,可是執行時就是會有問題。
2009.04.02 – Progress update
-
把之前執行時會有問題的版本先回復到前一版,修改完第3個使用動態宣告的地方。
2009.04.08 – Progress update
- 改完第4個動態宣告。
2009.04.13 – Progress update
- 總共有二十個地方要改,目前改完第五個。
- 修改的原因是因為VisualDSP++不支援動態宣告的方式,所以必須改為靜態宣告。
2009.04.16 – Progress update
- 改完第6個動態宣告。
2009.07.03 – Progress update
- 這部分停了一陣子沒動,之前改的也有點忘記 @@,現在繼續改之前沒改完的部分,希望能盡快改完。
- 目前改完第7個動態宣告。
2009.07.10 - Progress update
- 改完第8個動態宣告。
2009.07.17 - Progress update
- 改完第9個動態宣告。
2009.07.24 - Progress update
- 改完第10個動態宣告。
2009.07.31 - Progress update
- 改完第11個動態宣告。
2009.08.07 - Progress update
- 改完第12個動態宣告。
2009.08.14 - Progress update
- 改完第13個動態宣告。
- 目前這部分要修改的地方一共有20個。
- 修改後的結果和原本的比較應該是一樣的,並沒有比較好。
2009.08.21 - Progress update
- 改完第14個動態宣告。
2009.08.28 - Progress update
- 改完第15個動態宣告。
2009.09.01 - Progress update
- 改完第16、17個動態宣告。
2009.09.04 - Progress update
- 改完第18個動態宣告。
2009.09.11 - Progress update
- 改完第19個動態宣告。
--------------------------------------------------------------------------------