永发信息网

使用FFmpeg解码时,为什么每次调用av

答案:1  悬赏:0  手机版
解决时间 2021-03-26 15:21
  • 提问者网友:嘚啵嘚啵
  • 2021-03-26 09:54
使用FFmpeg解码时,为什么每次调用av
最佳答案
  • 五星知识达人网友:天凉才是好个秋
  • 2021-03-26 11:14
AVPacket pktData;
av_init_packet(&pktData);

while (WAIT_TIMEOUT == WaitForSingleObject(m_hExitEvent,0))
{
if (WAIT_OBJECT_0 == WaitForSingleObject(m_hPauseEvent,INFINITE))
{

//获取一帧的数据
if (av_read_frame(&m_stFileEncodeInfo.videoFormatCtx,&pktData) >= 0)
{
//判断是否是想要的视频帧数据
if (pktData.stream_index == m_stFileEncodeInfo.nVideoStreamNum)
{
AVFrame *pFrame;
pFrame=avcodec_alloc_frame();

//解码
if(avcodec_decode_video(&m_stFileEncodeInfo.videoCodecCtx,pFrame,&nGopPicture,pktData.data,pktData.size) > 0)
{
if (nGopPicture > 0)
{
//对解码得到的YUV数据进行处理
...
}

}
}

av_free_packet(&pktData);

}

}
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯