T264中內存的使用

T264中內存的使用
[email protected]

T264_open()中分配所有內存。這裏着重解釋一下參考幀序列的內存分配。其代碼段如下:

  uint8_t* p = T264_malloc(t->edged_width * t->edged_height + (t->edged_width * t->edged_height >> 1), CACHE_SIZE);

t->refn[i].Y[0] = p + EDGED_HEIGHT * t->edged_width + EDGED_WIDTH;

t->refn[i].U = p + t->edged_width * t->edged_height + (t->edged_width * EDGED_HEIGHT >> 2) + (EDGED_WIDTH >> 1);

 t->refn[i].V = p + t->edged_width * t->edged_height + (t->edged_width * t->edged_height >> 2) + (t->edged_width * EDGED_HEIGHT >> 2) + (EDGED_WIDTH >> 1);

t->refn[i].mb = T264_malloc(t->mb_height * t->mb_width * sizeof(T264_mb_context_t), CACHE_SIZE);

 
其內存佈局如圖所示,在每一個參考幀的周圍有一圈邊界內存。UV跟在Y[0]後面,大小爲Y[0]1/4
這裏分配了para->ref_num + 1個參考幀內存,比ref_num多分配的一幀用來存儲當前幀的重建幀數據。t->refn[1:ref_num - 1]是參考幀序列。t->refn[0]是重建幀。

數據結構:
t->cur
指向當前原始幀。
t->rec
指向當前重建幀。
t->refn[1:ref_num - 1]指向參考幀序列。
t->refn[0]跟t->rec一樣指向當前重建幀。

其中refn[I].poc表示參考幀在圖像序列中的位置(該參考幀由序列中哪個重建幀產生的)。當poc=-1時表示該塊內存無效(不能用作參考幀)。
t->ref[0][0:n-1]
指向有效的參考幀(前向參考)。
t->ref[1][0:n-1]
指向有效的參考幀(後向參考)。

各種幀指針的倒換過程:


  uint8_t* p = T264_malloc(t->edged_width * t->edged_height + (t->edged_width * t->edged_height >> 1), CACHE_SIZE);

t->refn[i].Y[0] = p + EDGED_HEIGHT * t->edged_width + EDGED_WIDTH;

t->refn[i].U = p + t->edged_width * t->edged_height + (t->edged_width * EDGED_HEIGHT >> 2) + (EDGED_WIDTH >> 1);

 t->refn[i].V = p + t->edged_width * t->edged_height + (t->edged_width * t->edged_height >> 2) + (t->edged_width * EDGED_HEIGHT >> 2) + (EDGED_WIDTH >> 1);

t->refn[i].mb = T264_malloc(t->mb_height * t->mb_width * sizeof(T264_mb_context_t), CACHE_SIZE);

 
其內存佈局如圖所示,在每一個參考幀的周圍有一圈邊界內存。UV跟在Y[0]後面,大小爲Y[0]1/4
這裏分配了para->ref_num + 1個參考幀內存,比ref_num多分配的一幀用來存儲當前幀的重建幀數據。t->refn[1:ref_num - 1]是參考幀序列。t->refn[0]是重建幀。

數據結構:
t->cur
指向當前原始幀。
t->rec
指向當前重建幀。
t->refn[1:ref_num - 1]指向參考幀序列。
t->refn[0]跟t->rec一樣指向當前重建幀。

其中refn[I].poc表示參考幀在圖像序列中的位置(該參考幀由序列中哪個重建幀產生的)。當poc=-1時表示該塊內存無效(不能用作參考幀)。
t->ref[0][0:n-1]
指向有效的參考幀(前向參考)。
t->ref[1][0:n-1]
指向有效的參考幀(後向參考)。

各種幀指針的倒換過程:


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章