日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

264 参考帧 list0 list1

發布時間:2023/12/13 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 264 参考帧 list0 list1 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

作了這么久的h264工作,這部分還一直從未去深入了解過,真是不求甚解啊,那幫老外的代碼也寫得太全了,該部分至今天才開始研究

首先參考幀這里關注的是兩種,p ,b ,前向參考和后向參考

由白皮書中看到,p幀的參考幀都在list0中,該list0可以包含p幀之前的也可以是之后(播放次序),這里的之后并不是說p幀成b幀了,這就是264搞這么復雜的因素吧,

解碼編碼時,一個幀(暫且不考慮多slice)只能被標示為

a,不是參考幀

b,放在short-term中作參考幀

c,放在long-term中作參考幀

d,? 直接輸出顯示

我在這里就直接翻譯白皮書了,一個關鍵點,P幀只參考list0,B幀則list0,list1皆可

list0中,short-term中圖像由自帶的picnum(每個圖像都有的一個變量),計算出一個值,然后從高到低排列在short-term中,long-term也是如此,但是它次序是從低到高,每次編碼解碼完一幀,這個次序會隨之變動,如果碼流中標示變動的話。最后會由于這個因素,長江后浪推前浪,前浪被推出參考序列(因為參考序列中的數目是固定的,比如標準最多是16,編碼器可控)。?編碼器可任意對list0中參考幀進行變動。

具體解碼中,這個參考方式是細化到宏塊,甚至4x4的子快,一個宏塊頭信息中標示著內部參考方式,如果可能,多到16種。通過這個數目從list0中找出參考幀。

需要說明一下白皮書中的例子

list0:,假設參考幀是5個,

正常情況下,編完一幀都是把他放到最近的short-term中,意味著最容易被參考到,如果編碼器其需要改動,就會把某一幀放到short-term的后面,就是long-term,這些都是按照longtermpicnum,shortpicnum的大小次序存放。而0,1,2,3,4,則會在每一個宏塊甚至子塊的解碼過程中用到。

IDR幀將上述的次序全部清零,重新開始排序。

邊看標準和代碼,別寫下這些文字,沒有整理,湊合看吧。

B幀的list1,也是按照list0的排列規則存放,然后具體到每個宏塊,則可能該宏塊同時參考到list0和list1,那就是需要avg的算法了,絕大部分編解碼都有該關鍵詞來處理B幀。

等有空放上具體代碼及詳解。


總結

以上是生活随笔為你收集整理的264 参考帧 list0 list1的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。