FFmpeg avio_alloc_context函数剖析
生活随笔
收集整理的這篇文章主要介紹了
FFmpeg avio_alloc_context函数剖析
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
函數原型
AVIOContext *avio_alloc_context(
????????????????? unsigned char *buffer,
????????????????? int buffer_size,
????????????????? int write_flag,
????????????????? void *opaque,
????????????????? int (*read_packet)(void *opaque, uint8_t *buf, int buf_size),
????????????????? int (*write_packet)(void *opaque, uint8_t *buf, int buf_size),
????????????????? int64_t (*seek)(void *opaque, int64_t offset, int whence))
{
??? //創建一個AVIOContext結構體
??? AVIOContext *s = av_mallocz(sizeof(AVIOContext));
??? if (!s)
??????? return NULL;
??? //初始化AVIOContext結構體
??? ffio_init_context(s, buffer, buffer_size, write_flag, opaque,
????????????????? read_packet, write_packet, seek);
??? return s;
}
#define BUF_SIZE?? ?1024*16
AVIOContext* pAVIOContext = avio_alloc_context(pAVIOContext, BUF_SIZE, 0, this, ReadInputData, NULL, NULL);
ReadInputData函數將賦值給read_packet,當調用avcodec_send_packet函數,將會從ReadInputData讀取指定的的BUF_SIZE
來進行分幀解析
疑問
AVIOContext *avio_alloc_context(
????????????????? unsigned char *buffer,
????????????????? int buffer_size,
????????????????? int write_flag,
????????????????? void *opaque,
????????????????? int (*read_packet)(void *opaque, uint8_t *buf, int buf_size),
????????????????? int (*write_packet)(void *opaque, uint8_t *buf, int buf_size),
????????????????? int64_t (*seek)(void *opaque, int64_t offset, int whence))
{
??? //創建一個AVIOContext結構體
??? AVIOContext *s = av_mallocz(sizeof(AVIOContext));
??? if (!s)
??????? return NULL;
??? //初始化AVIOContext結構體
??? ffio_init_context(s, buffer, buffer_size, write_flag, opaque,
????????????????? read_packet, write_packet, seek);
??? return s;
}
#define BUF_SIZE?? ?1024*16
AVIOContext* pAVIOContext = avio_alloc_context(pAVIOContext, BUF_SIZE, 0, this, ReadInputData, NULL, NULL);
ReadInputData函數將賦值給read_packet,當調用avcodec_send_packet函數,將會從ReadInputData讀取指定的的BUF_SIZE
來進行分幀解析
疑問
設置FFmpeg讀緩存區的大小,應該怎么設置比較合理
? ? ?本文轉自fengyuzaitu 51CTO博客,原文鏈接:http://blog.51cto.com/fengyuzaitu/2055849,如需轉載請自行聯系原作者
總結
以上是生活随笔為你收集整理的FFmpeg avio_alloc_context函数剖析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hive 保护模式
- 下一篇: OSSIM中配置网络资产监控