将mp4文件读出的AVPacket包转化成annexb帧
AVBSFContext * h264bsfc;
const AVBitStreamFilter * filter = av_bsf_get_by_name("h264_mp4toannexb");
ret = av_bsf_alloc(filter, &h264bsfc);
avcodec_parameters_copy(h264bsfc->par_in, input_fmt_ctx->streams[video_stream_index]->codecpar);
av_bsf_init(h264bsfc);
AVPacket* packet = av_packet_alloc();
while( av_read_frame(format_ctx_, packet) >= 0 ) {
if( packet.stream_index == video_stream_index ) {
ret = av_bsf_send_packet(h264bsfc, packet);
if(ret < 0) qDebug("av_bsf_send_packet error");
while ((ret = av_bsf_receive_packet(h264bsfc, packet)) == 0) {
fwrite(packet->data, packet->size, 1, fp);
}
}
av_packet_unref(packet);
}
av_packet_free(&packet);
av_bsf_free(&h264bsfc);