FFmpeg7.0中用什么代替了avcodec_decode_video2()接口函数
在FFmpeg7中怎么修改下面这一段代码,代替avcodec_decode_video2()
while (m_statue) {
if (av_read_frame(pFormatCtx, packet) < 0)
{
return; //这里认为视频读取完了
}
if (packet->stream_index == videoStream) {
ret = avcodec_decode_video2(pCodecCtx, pFrame, &got_picture,packet);
if (ret < 0) {
qDebug()<<"decode error";
return;
}
if (got_picture) {
sws_scale(img_convert_ctx,
(uint8_t const * const *) pFrame->data,
pFrame->linesize, 0, pCodecCtx->height, pFrameRGB->data,
pFrameRGB->linesize);
//把这个RGB数据 用QImage加载
// QImage tmpImg((uchar *)out_buffer,pCodecCtx->width,pCodecCtx->height,QImage::Format_RGB32);
//tmpImg.copy(); //把图像复制一份 传递给界面显示
//m_Image=tmpImg.copy();
QImage img =QImage((uchar *)out_buffer,pCodecCtx->width,pCodecCtx->height,QImage::Format_RGB32);
emit s_SendImage(img);
}
}
av_free_packet(packet); //释放资源,否则内存会一直上升
}