青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

牽著老婆滿街逛

嚴以律己,寬以待人. 三思而后行.
GMail/GTalk: yanglinbo#google.com;
MSN/Email: tx7do#yahoo.com.cn;
QQ: 3 0 3 3 9 6 9 2 0 .

使用FFMPEG SDK解碼流數據

轉載自:http://blog.csdn.net/gwinner/article/details/5462855

本文以H264視頻流為例,講解解碼流數據的步驟。

為突出重點,本文只專注于討論解碼視頻流數據,不涉及其它(如開發環境的配置等)。如果您需要這方面的信息,請和我聯系。

  • 準備變量

定義AVCodecContext。如果您使用類,可以定義成類成員。我這里定義成全局變量。

 

static AVCodecContext * g_pCodecCtx = NULL;

定義一個AVFrame,AVFrame描述一個多媒體幀。解碼后的數據將被放在其中。

static AVFrame * g_pavfFrame = NULL;


 

  • 初始化解碼器

現在開始初始化您的解碼器。我把整個初始化過程包在了一個函數里,除非您有更好的主意,我建議您也這么做。函數長得象這樣:

BOOL H264_Init()

{

}

初始化libavcodec,MMPEG要求,這個函數一定要第一個被調用:

avcodec_init();

掛上所有的codec。也許只掛一個H264的codec就行,我沒試過:

av_register_all();

得到H264的解碼器:

AVCodec * pCodec = avcodec_find_decoder(CODEC_ID_H264);

創建一個AVCodecContext,并用默認值初始化:

g_pCodecCtx = avcodec_alloc_context();

更改g_pCodecCtx的一些成員變量的值,您應該從解碼方得到這些變量值:

g_pCodecCtx->time_base.num = 1//這兩行:一秒鐘25幀

g_pCodecCtx
->time_base.den = 25;

g_pCodecCtx
->bit_rate = 0//初始化為0

g_pCodecCtx
->frame_number = 1//每包一個視頻幀

g_pCodecCtx
->codec_type = CODEC_TYPE_VIDEO;

g_pCodecCtx
->width = 704//這兩行:視頻的寬度和高度

g_pCodecCtx
->height = 576;

打開codec。如果打開成功的話,分配AVFrame:

 

if(avcodec_open(g_pCodecCtx, pCodec) >= 0)

{

g_pavfFrame 
= avcodec_alloc_frame();// Allocate video frame

}

列出完整的初始化解碼庫的代碼:

image

  • 解碼

如果您只要求解成YUV 420I數據,只需一次調用就可以了:

 

avcodec_decode_video(g_pCodecCtx, g_pavfFrame, (int *)&nGot, (unsigned __int8 *)pSrcData, dwDataLen);

這里,nGot用來返回解碼成功與否,avcodec_decode_video調用完成后,如果nGot不等于0,則表示解碼成功,否則未解出視頻幀。

pSrcData是待解的H264編碼的一段數據流,dwDataLen表示該段數據流的長度,單位是byte。

解碼后的視頻幀(YUV數據)被存入g_pavfFrame,g_pavfFrame->data[0]、g_pavfFrame->data[1]、g_pavfFrame->data[2]即是YUV數據。下面的示例代碼把YUV數據壓在了一塊內存里,排列方式為:

YY

YY

U

V

該函數有返回值:如果解碼成功,則返回本次解碼使用的碼流字節數,否則返回0。為簡單起見,我這里假設pSrcData只包含一個視頻幀。

同樣,出于模塊化的要求和代碼維護的方便,我把解碼動作也包在了一個函數里:

 

BOOL H264_Decode(const PBYTE pSrcData, const DWORD dwDataLen, PBYTE pDeData, int * pnWidth, int * pnHeight)

pSrcData – 待解碼數據

dwDataLen – 待解碼數據字節數

pDeData – 用來返回解碼后的YUV數據

pnWidth, pnHeight – 用來返回視頻的長度和寬度

下面列出完整的代碼:

image

  • 釋放解碼器

以上其實已經完成了本文的任務,但從負責任的角度,要善始善終嘛。

釋放的過程沒什么好說的,一看就明白。同樣,我也把它們包在了一個函數里:

image

(抱歉的很,文章本來是用Word寫的,代碼塊是一個個文本框,但貼到這里卻變成了圖片。) 

posted on 2013-01-11 00:44 楊粼波 閱讀(1818) 評論(0)  編輯 收藏 引用

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美成人精品一区| 欧美福利视频网站| 亚洲在线播放| 国产主播一区二区三区| 久久天堂成人| 欧美激情视频给我| 午夜久久一区| 久久精品三级| 亚洲精品中文字幕在线观看| 99精品视频一区| 国产日韩欧美亚洲| 欧美激情麻豆| 欧美三级在线播放| 99国产麻豆精品| 欧美中文在线视频| 日韩视频免费大全中文字幕| 99精品欧美一区二区三区综合在线| av成人免费在线| 久久最新视频| 麻豆国产精品777777在线| 欧美在线你懂的| 亚洲激情网址| 亚洲一区在线视频| 亚洲国产高清在线| 在线视频日韩精品| 亚洲成人直播| 亚洲男人的天堂在线| 亚洲电影免费观看高清| 亚洲一区二区久久| 亚洲精品一区在线观看| 午夜精品久久一牛影视| 一本色道久久综合精品竹菊| 欧美在线免费观看| 亚洲性图久久| 欧美大片一区二区| 另类亚洲自拍| 国产精品日韩欧美| 亚洲精品乱码| 精久久久久久| 午夜日韩在线| 午夜久久一区| 欧美三日本三级少妇三2023| 欧美高清视频一区二区三区在线观看 | 国产精品男女猛烈高潮激情| 亚洲第一精品影视| 国内精品久久久久久| 亚洲午夜在线观看| 亚洲午夜羞羞片| 欧美激情一区在线观看| 欧美黄色一区二区| 在线免费不卡视频| 久久久久久久久伊人| 久久久久久自在自线| 国产午夜久久久久| 午夜精品剧场| 久久精品国产99| 国产偷久久久精品专区| 性欧美办公室18xxxxhd| 欧美一进一出视频| 国产欧美亚洲日本| 欧美一区二视频| 久久精品女人天堂| 狠狠色狠狠色综合日日tαg| 欧美在线免费观看| 免费不卡在线观看av| 亚洲第一网站| 欧美精品在欧美一区二区少妇| 亚洲第一在线视频| 一本一本久久a久久精品牛牛影视| 欧美电影打屁股sp| 99精品国产高清一区二区| 国产精品99久久久久久久vr| 欧美日韩午夜剧场| 亚洲一二三区在线| 久久九九免费| 亚洲区国产区| 国产精品成人在线观看| 久久国产精品久久精品国产| 久久久精品国产免大香伊| 国产亚洲激情视频在线| 久久久综合精品| 亚洲日韩视频| 亚洲欧美日韩精品久久奇米色影视| 国产精品视频一区二区高潮| 欧美一区二区观看视频| 欧美黄色视屏| 欧美成人久久| 欧美日韩精品免费观看视一区二区 | 欧美高清在线视频| 一区二区三区国产精华| 国产精品色婷婷| 久久在线91| 中文国产亚洲喷潮| 欧美成人精品在线播放| 亚洲一区尤物| 亚洲第一精品夜夜躁人人爽| 欧美三区在线观看| 久久影视三级福利片| 日韩一区二区电影网| 久久嫩草精品久久久精品| 日韩系列欧美系列| 韩国女主播一区| 欧美三级在线视频| 麻豆成人在线播放| 午夜伦理片一区| 亚洲毛片视频| 欧美第一黄色网| 久久久91精品| 亚洲欧洲av一区二区三区久久| 亚洲第一页在线| 国产在线播放一区二区三区| 欧美日本在线观看| 免费不卡在线观看| 久久久福利视频| 亚洲欧美一区二区三区极速播放| 亚洲国产91| 欧美+亚洲+精品+三区| 欧美一级视频| 亚洲欧美一区二区视频| 亚洲精品一区在线| 亚洲福利免费| 在线电影国产精品| 国产综合久久| 国产午夜精品全部视频在线播放| 欧美日韩精品一本二本三本| 久热综合在线亚洲精品| 香蕉久久夜色精品| 亚洲香蕉成视频在线观看| 日韩视频一区二区| 亚洲九九精品| 亚洲精品一区二区三区不| 亚洲电影在线播放| 亚洲国产精品电影在线观看| 免费欧美日韩| 欧美国产第一页| 欧美激情视频免费观看| 欧美jizz19hd性欧美| 免费在线观看精品| 欧美激情精品| 亚洲国产欧美一区二区三区久久| 欧美国产日韩一二三区| 欧美激情一区二区在线| 欧美激情一区二区三区在线| 亚洲第一中文字幕在线观看| 欧美国产欧美亚洲国产日韩mv天天看完整 | 欧美三区在线视频| 国产精品电影网站| 国产精品日韩一区二区| 国产精品一区2区| 国产欧美精品日韩区二区麻豆天美| 国产精品久久久久7777婷婷| 国产精品免费网站| 国产日韩欧美综合| 在线精品视频在线观看高清 | 欧美日韩中文精品| 国产精品一区在线观看你懂的| 国产亚洲精品v| 亚洲国产成人高清精品| 亚洲精选成人| 亚洲欧美日本另类| 久久亚洲捆绑美女| 欧美激情中文字幕乱码免费| 亚洲精品乱码久久久久久日本蜜臀 | 日韩视频免费观看高清在线视频| 亚洲天堂免费在线观看视频| 欧美在线高清视频| 麻豆精品视频在线| 亚洲另类视频| 欧美一级专区免费大片| 欧美91精品| 国产精品视频精品| 亚洲国产精品激情在线观看| 亚洲视频网站在线观看| 久久精品午夜| 亚洲美女网站| 久久婷婷色综合| 国产精品成人观看视频免费 | 99视频超级精品| 久久久亚洲精品一区二区三区| 亚洲福利在线看| 性伦欧美刺激片在线观看| 欧美福利电影网| 国产一区91| 亚洲影院免费观看| 欧美黄色大片网站| 欧美在线视频免费| 欧美视频一区二区三区| 亚洲国产99精品国自产| 欧美在线日韩在线| 亚洲另类视频| 欧美国产精品人人做人人爱| 国产在线精品自拍| 亚洲欧美日本在线| 日韩亚洲在线观看| 欧美大尺度在线观看| 在线观看免费视频综合| 欧美在线短视频| 亚洲一级影院| 欧美亚一区二区| 亚洲视屏在线播放|