freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

ffmpeg的解碼流程-資料下載頁

2025-08-11 12:35本頁面
  

【正文】 put_format(pd, 0)。}......err = av_open_input_stream(ic_ptr, pb, filename, fmt, ap)。......}這樣看來,只是做了兩件事情:1). 偵測容器文件格式2). 從容器文件獲取Stream的信息這兩件事情,實際上就是調(diào)用特定文件的demuxer以分離Stream的過程:具體流程如下:av_open_input_file|+av_probe_input_format從first_iformat中遍歷注冊的所有demuxer以|調(diào)用相應(yīng)的probe函數(shù)|+av_open_input_stream調(diào)用指定demuxer的read_header函數(shù)以獲取相關(guān)流的信息iciformatread_header如果反過來再參考我轉(zhuǎn)貼的關(guān)于ffmpeg框架的文章,是否清楚一些了呢:)[3]:簡單從AVFormatContext獲取Stream的信息,沒什么好多說的[4]:先簡單說一些ffmpeg方面的東西,從理論角度說過來,Packet可以包含frame的部分?jǐn)?shù)據(jù),但ffmpeg為了實現(xiàn)上的方便,使得對于視頻來說,每個Packet至少包含一frame,對于音頻也是相應(yīng)處理,這是實現(xiàn)方面的考慮,而非協(xié)議要求.因此,在上面的代碼實際上是這樣的:從文件中讀取packet,從Packet中解碼相應(yīng)的frame。從幀中解碼。if(解碼幀完成)do something()。我們來看看如何獲取Packet,又如何從Packet中解碼frame的。av_read_frame|+av_read_frame_internal|+av_parser_parse調(diào)用的是指定解碼器的sparserparser_parse函數(shù)以從raw packet中重構(gòu)frameavcodec_decode_video|+avctxcodecdecode調(diào)用指定Codec的解碼函數(shù)因此,從上面的過程可以看到,實際上分為了兩部分:一部分是解復(fù)用(demuxer),然后是解碼(decode)使用的分別是:av_open_input_file()解復(fù)用av_read_frame()||解碼avcodec_decode_video()|結(jié)合這部分和轉(zhuǎn)貼的ffmepg框架的文章,應(yīng)該可以基本打通解碼的流程了,后面的問題則是針對具體容器格式和具體編碼解碼器的分析,后面我們繼續(xù)
點擊復(fù)制文檔內(nèi)容
語文相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1