FFMPEG-API变化-1

302 阅读1分钟

avcodec_send_packet和avcodec_receive_frame

新的解码分为两步,两个函数是成对使用的:

avcodec_send_packet

向解码队列发送一个AVPacket

avcodec_receive_frame1

获取解码后的AVFrame

说明

send调用一次,对应receive调用多次,主要是因为一个packet中可能有多个frame

解码过程中可能会有数据被缓存了,最后调用时通过avcodec_send_packet(dec_ctx, NULL),获取缓存的最后frame数据

被替换的api是avcodec_decode_video2和avcodec_decode_audio4