1.FFmpeg内存模型

ffmpeg学习笔记

2.AVPacket常用API

AVPacket *av_packet_alloc(void); //分配AVPacket 这个时候和buffer没有关系

void av_packet_free(AVPacket **pkt); //释放AVPacket 和_alloc对应

void av_init_packet(AVPacket *pkt); //初始化AVPacket 只是单纯初始化pkt字段

int av_new_packet(AVPacket *pkt, int size); //给AVPacket的buf分配内存,引用计数初始化为1

int av_packet_ref(AVPacket *dst, const AVPacket *src); //增加引用计数

void av_packet_unref(AVPacket *pkt); //减少引用计数

void av_packet_move_ref(AVPacket *dst, AVPacket *src); //转移引用计数

AVPacket *av_packet_clone(const AVPacket *src); //等于av_packet_alloc()+av_packet_ref()

3.AVFrame常用API

AVFrame *av_frame_alloc(void); //分配AVFrame

void av_frame_free(AVFrame **frame); //释放AVFrame

int av_frame_ref(AVFrame *dst, const AVFrame *src); //增加引用计数

void av_frame_unref(AVFrame *frame); //减少引用计数

void av_frame_move_ref(AVFrame *dst, AVFrame *src); //转移引用计数

int av_frame_get_buffer(AVFrame *frame, int align); //根据AVFrame分配内存

AVFrame *av_frame_clone(const AVFrame *src); //等于av_frame_alloc()+av_frame_ref()

相关文章:

  • 2021-07-25
  • 2021-09-28
  • 2021-12-27
  • 2022-12-23
  • 2022-12-23
  • 2021-04-11
  • 2021-09-11
猜你喜欢
  • 2022-01-23
  • 2021-05-10
  • 2021-08-17
  • 2021-09-10
  • 2022-02-21
  • 2021-10-07
相关资源
相似解决方案