中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

FFmepg avcodec_receive_frame函數分析

發布時間:2020-08-01 10:55:07 來源:網絡 閱讀:24714 作者:fengyuzaitu 欄目:編程語言

int avcodec_receive_frame(AVCodecContext *avctx, AVFrame *frame);
/*
brief:從×××中獲取解碼的輸出數據
*/
@參數 avctx 編碼上下文
@參數 frame 這將會指向從×××分配的一個引用計數的視頻或者音頻幀(取決于解碼類型)
@注意該函數在處理其他事情之前會調用av_frame_unref(frame)

@返回值
0:成功,返回一幀數據
AVERROR(EAGAIN):當前輸出無效,用戶必須發送新的輸入
AVERROR_EOF:×××已經完全刷新,當前沒有多余的幀可以輸出
AVERROR(EINVAL):×××沒有被打開,或者它是一個編碼器
其他負值:對應其他的解碼錯誤

代碼例子
avcodec_send_packet和avcodec_receive_frame調用關系并不一定是一對一的,比如一些音頻數據一個AVPacket中包含了1秒鐘的音頻,調用一次avcodec_send_packet之后,可能需要調用25次 avcodec_receive_frame才能獲取全部的解碼音頻數據,所以要做如下處理:

int re = avcodec_send_packet(codec, pkt);
if (re != 0)
{
    return;
}

while( avcodec_receive_frame(codec, frame) == 0)
{
    //讀取到一幀音頻或者視頻
    //處理解碼后音視頻 frame
}


根據上面的評論,下面的代碼是否有問題,當前只是處理視頻幀數據
while(1)
{
     int nRet = avcodec_send_packet(pAVCodecContext, packet);
     if (0 != nRet)    continue;

     if (avcodec_receive_frame(pVideoc->m_pAVCodecContext, pFrame) != 0) continue;
}



參考
http://www.bubuko.com/infodetail-2106896.html

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

溆浦县| 澄江县| 长寿区| 龙泉市| 镇坪县| 白银市| 望江县| 西丰县| 望城县| 海门市| 西充县| 扶沟县| 于田县| 诏安县| 忻城县| 临漳县| 临邑县| 新化县| 福贡县| 皮山县| 教育| 新晃| 长治县| 通化市| 绥芬河市| 浠水县| 连州市| 夹江县| 百色市| 长沙市| 南通市| 黄骅市| 巴里| 蓬莱市| 永寿县| 保亭| 大竹县| 陆丰市| 旬阳县| 黎川县| 息烽县|