ffmpeg - AVPacket内存问题分析(AVFrame一样的)
生活随笔
收集整理的這篇文章主要介紹了
ffmpeg - AVPacket内存问题分析(AVFrame一样的)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄:
- 1、av_packet_alloc()和av_packet_free()
- 2、av_init_packet()的問題
- 3、av_packet_move_ref()的問題
- 4、av_packet_clone()的問題
- 5、AVPacket的引用計數問題
- 6、 AVFrame一樣的
1、av_packet_alloc()和av_packet_free()
源碼中av_packet_unref()調用av_buffer_unref()進行去引用buf
av_buffer_unref()中就判斷是否為空才進行操作,所以可以多次調用。
2、av_init_packet()的問題
源碼中的av_init_packet()將buf設置為NULL。
3、av_packet_move_ref()的問題
執行av_packet_move_ref前后其實是將整個AVPacket結構的成員淺拷貝的。
源碼中的av_packet_move_ref()中就是直接值拷貝,然后初始化源結構。
4、av_packet_clone()的問題
調用av_packet_clone()前后,buf中的實際數據buffer是一樣的。
源碼中av_packet_clone()也可以看到
av_packet_clone = av_packet_alloc + av_packet_ref
5、AVPacket的引用計數問題
6、 AVFrame一樣的
avframe 也是有buf成員變量,底層原理是一樣的
總結
以上是生活随笔為你收集整理的ffmpeg - AVPacket内存问题分析(AVFrame一样的)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 可惜不是你剧情介绍
- 下一篇: 索尼Mini LED电视机X95EK亮相