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