FFmpeg av_probe_input_buffer函數剖析以及優化

函數調用關係
av_probe_input_buffer調用av_probe_input_buffer2進行整一個碼流格式的分析過程。
其中調用avio_read進行碼流數據的讀取,將緩存數據保存在AVProbeData定義的buf裏面,
然後調用av_probe_input_format2(AVProbeData *pd, int is_opened, int *score_max)
函數去猜測碼流格式,其中包裹最終的調用函數av_probe_input_format3。

優化方向
如果知道AVInputFormat的碼流格式,就可以直接調用av_find_input_format函數,返回
碼流格式,避免了數據的探測延時,而且不再需要調用av_probe_input_buffer函數

例子,指定h264碼流格式,代碼如下:av_find_input_format("h264")

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