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

牽著老婆滿街逛

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

輕松使用 ffmpeg sdk 實(shí)現(xiàn)各種格式的rgb以及yuv raw

轉(zhuǎn)載自:http://www.roarsoft.net/a/Media/AVPlay/201006/9661.html

有些時(shí)候大家需要一些yuv或者rgb 的 raw data的文件。ffmpeg項(xiàng)目中的libavcodec支持很多格式的raw相互轉(zhuǎn)換,在早期的版本中,使用 img_convert,在新版本中,使用 sws_scale 完成。各種不同的格式在ffmpeg里面被稱為 pixel formats,下面貼出來的就是:

PIX_FMT_YUV420P,    < Planar YUV 4:2:0 (1 Cr & Cb sample per 2x2 Y samples)/n"
PIX_FMT_YUV422,     < Packed pixel, Y0 Cb Y1 Cr /n"
PIX_FMT_RGB24,      < Packed pixel, 3 bytes per pixel, RGBRGB.../n"
PIX_FMT_BGR24,      < Packed pixel, 3 bytes per pixel, BGRBGR.../n"
PIX_FMT_YUV422P,    < Planar YUV 4:2:2 (1 Cr & Cb sample per 2x1 Y samples)/n"
PIX_FMT_YUV444P,    < Planar YUV 4:4:4 (1 Cr & Cb sample per 1x1 Y samples)/n"
PIX_FMT_RGBA32,     < Packed pixel, 4 bytes per pixel, BGRABGRA..., stored in cpu endianness/n"
PIX_FMT_YUV410P,    < Planar YUV 4:1:0 (1 Cr & Cb sample per 4x4 Y samples)/n"
PIX_FMT_YUV411P,    < Planar YUV 4:1:1 (1 Cr & Cb sample per 4x1 Y samples)/n"
IX_FMT_RGB565,     < always stored in cpu endianness /n"
PIX_FMT_RGB555,     < always stored in cpu endianness, most significant bit to 1 /n"
PIX_FMT_GRAY8,/n"
PIX_FMT_MONOWHITE, < 0 is white /n"
PIX_FMT_MONOBLACK, < 0 is black /n"
PIX_FMT_PAL8,       < 8 bit with RGBA palette /n"
PIX_FMT_YUVJ420P,   < Planar YUV 4:2:0 full scale (jpeg)/n"
PIX_FMT_YUVJ422P,   < Planar YUV 4:2:2 full scale (jpeg)/n"
PIX_FMT_YUVJ444P,   < Planar YUV 4:4:4 full scale (jpeg)/n"
PIX_FMT_UYVY422,    < Packed pixel, Cb Y0 Cr Y1 /n"
PIX_FMT_UYVY411,    < Packed pixel, Cb Y0 Y1 Cr Y2 Y3/n"
/////////////////////////////////////////////////////////////////

舉例來說,
PIX_FMT_YUV444P,    < Planar YUV 4:4:4  
指的是文件的開始1/3是y分量,中間1/3是u分量,最后1/3是v分量。

PIX_FMT_RGB24,      < Packed pixel, 3 bytes per pixel, RGBRGB.../n"
指的是文件內(nèi)的數(shù)據(jù)3個(gè)byte是一組,始終按照RGB方式排列。

PIX_FMT_RGBA32,     < Packed pixel, 4 bytes per pixel, BGRABGRA..., stored in cpu endianness/n"
指的是文件內(nèi)的數(shù)據(jù)4個(gè)byte是一組,始終按照RGB+alpha byte方式排列,alpha表示透明度。
/////////////////////////////////////////////////////////////////

ffmpeg對(duì)于以上所有類型抽象成
typedef struct AVPicture {
     uint8_t *data[4];
     int linesize[4];
} AVPicture;

該結(jié)構(gòu)體總共表示四個(gè)平面,
data[0]表示第一個(gè)平面的數(shù)據(jù)開始地址,
linesize[0]表示第一個(gè)平面的每一行有多少個(gè)字節(jié)。

這樣PIX_FMT_YUV444P有三個(gè)Planar,最后一個(gè)平面空著不用就好了。

AVFrame這個(gè)結(jié)構(gòu)體的包含AVPicture,此外,AVFrame還含有其他一些成員數(shù)據(jù),比如。是否key_frame、已編碼圖像數(shù) coded_picture_number、是否作為參考幀reference、宏塊類型 *mb_type等等,這里就不詳細(xì)敘述了。
/////////////////////////////////////////////////////////////////


鑒于img_convert在新版中已經(jīng)不用,所以這里只介紹一下效率更高的。sws_scale。

來看看它的函數(shù)定義:
int sws_scale(struct SwsContext *ctx, uint8_t* src[], int srcStride[], int srcSliceY, int srcSliceH, uint8_t* dst[], int dstStride[])

其中src和srcStride定義了輸入圖像的四個(gè)平面的數(shù)據(jù)起始指針和四個(gè)平面中每一行包含的像素的個(gè)數(shù)。

dst和dstStride是輸出變量,定義的是輸出圖像的四個(gè)平面的數(shù)據(jù)起始指針和四個(gè)平面包含的數(shù)據(jù)的大小。

為什么一個(gè)圖像有四個(gè)平面,可以找一下YUV格式的一些詳細(xì)介紹就可以明白。

當(dāng)然,RGB格式是按照緊湊格式進(jìn)行編碼的,因此只有一個(gè)平面,也就是說只要設(shè)置src[0]就可以,src[1],src[2],src[3]都為 NULL。

我們就在設(shè)置src[0]和srcStride[0]的地方做文章。

按照一般處理src[0]和srcStride[0]分別設(shè)置為起始圖像數(shù)據(jù)的開始和圖像每一行的像素個(gè)數(shù)。

那如果把src[0] 設(shè)置為 width * ( height - 1)     srcStride[0] = -height 結(jié)果會(huì)如何呢?是不是就會(huì)把圖像倒過來呢?

實(shí)際確實(shí)如此。進(jìn)行圖像倒置的操作盡然如此簡(jiǎn)單。這樣避免了人為再添加一次圖像的反轉(zhuǎn)操作,提高了編碼的性能。

/////////////////////////////////////////////////////////////////

不發(fā)命令行工具了,需要的mail給我.

這里提供一個(gè)windows平臺(tái)下使用ffmpeg的快捷方法,下面這個(gè)開發(fā)包內(nèi)直接提供lib給開發(fā)人員使用。

posted on 2013-01-28 18:40 楊粼波 閱讀(2984) 評(píng)論(2)  編輯 收藏 引用

評(píng)論

# re: 輕松使用 ffmpeg sdk 實(shí)現(xiàn)各種格式的rgb以及yuv raw 2013-04-12 09:19 chinayin

樓主是怎么編譯ffmpeg的啊,怎么將他編譯成能夠獨(dú)立運(yùn)行的lib呢,這個(gè)很困惑啊!還希望樓主不吝賜教  回復(fù)  更多評(píng)論   

# re: 輕松使用 ffmpeg sdk 實(shí)現(xiàn)各種格式的rgb以及yuv raw 2013-04-12 09:21 chinayin

我按照你的說明編譯了最新版。但是在自己的工程里面不能使用,以為頭文件需要其他的頭文件 這個(gè)問題你是怎么解決的啊  回復(fù)  更多評(píng)論   


只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲久久在线| 欧美激情五月| 欧美一区二区三区的| 国产精品久久久久久久久婷婷| 一区二区三区四区国产精品| 亚洲视频在线视频| 国产专区综合网| 免费不卡在线观看av| 欧美成人国产| 亚洲一区二区成人在线观看| 午夜欧美大尺度福利影院在线看| 一区二区三区在线视频观看| 欧美激情国产高清| 国产精品久久久久久久浪潮网站| 久久精品国产久精国产一老狼| 久久久久久穴| 国产精品99久久久久久久女警| 午夜精品婷婷| 亚洲乱码日产精品bd| 亚洲一区二区不卡免费| 悠悠资源网亚洲青| 99国内精品久久| 亚洲国产精品黑人久久久| 中日韩美女免费视频网址在线观看| 国产精品免费久久久久久| 久久视频在线视频| 欧美看片网站| 久久久久久久999| 欧美日产国产成人免费图片| 久久爱www.| 欧美日韩国产在线播放| 久久久久久久成人| 国产精品久久久久久五月尺| 女同一区二区| 国产一区二区三区久久久久久久久 | 亚洲精品综合精品自拍| 狠色狠色综合久久| 亚洲伊人网站| 日韩亚洲一区二区| 噜噜噜噜噜久久久久久91| 午夜伦欧美伦电影理论片| 欧美激情a∨在线视频播放| 久久网站热最新地址| 国产精品素人视频| 夜夜精品视频一区二区| 亚洲区中文字幕| 久久九九免费视频| 欧美尤物一区| 国产精品毛片高清在线完整版| 亚洲国产精品久久久久婷婷884| 韩国美女久久| 久久大逼视频| 欧美一区亚洲二区| 国产欧美欧美| 99在线视频精品| 一本色道久久综合狠狠躁篇的优点 | 免费在线看成人av| 国产三级欧美三级| 亚洲欧美日本国产专区一区| 亚洲一区免费| 国产精品一二一区| 亚洲在线视频免费观看| 香蕉成人啪国产精品视频综合网| 欧美日韩18| 一区二区三区四区五区视频| 亚洲色图在线视频| 国产精品美女午夜av| 亚洲视频中文字幕| 香港久久久电影| 国产一区二区三区免费观看| 午夜伦理片一区| 久久精品首页| 在线日本高清免费不卡| 老司机午夜免费精品视频| 欧美激情精品久久久久| 亚洲精品一二三区| 欧美精品在线免费播放| 一区二区高清在线| 欧美在线亚洲在线| 国外成人在线视频网站| 久久亚洲欧美国产精品乐播| 欧美成人综合一区| 日韩视频在线观看免费| 欧美亚洲不卡| 久久黄色网页| 亚洲国产经典视频| 香蕉国产精品偷在线观看不卡| 亚洲第一中文字幕| 欧美国产精品日韩| 中文国产成人精品| 久久精品国产欧美亚洲人人爽| 樱花yy私人影院亚洲| 欧美精品一区二区久久婷婷| 一区二区三区国产在线| 久久久久国产精品麻豆ai换脸| 在线观看国产成人av片| 欧美三级电影一区| 久久精品欧美日韩| 亚洲精品小视频| 久久精品91| 亚洲精品一区在线| 国产欧美亚洲精品| 欧美激情精品久久久久久| 亚洲性色视频| 亚洲电影免费在线观看| 欧美一级网站| 亚洲精品老司机| 国产亚洲精品7777| 欧美日韩国产探花| 久久九九免费视频| 亚洲视频一区二区| 欧美高清你懂得| 久久精品首页| 亚洲欧美日韩视频一区| 亚洲精品国产精品国自产观看| 国产精品亚洲а∨天堂免在线| 免费在线日韩av| 欧美一级播放| 亚洲性感美女99在线| 亚洲另类春色国产| 欧美成人午夜视频| 久久久精品日韩欧美| 亚洲一区二区久久| 亚洲乱码国产乱码精品精可以看 | 夜夜爽www精品| 亚洲国产经典视频| 国产亚洲一区二区三区在线观看| 欧美视频1区| 欧美母乳在线| 欧美激情五月| 欧美91大片| 美日韩免费视频| 久久亚洲精品伦理| 久久精彩免费视频| 欧美在线高清视频| 亚洲欧美日韩国产中文在线| 亚洲视频精品在线| 99国产精品视频免费观看一公开| 亚洲激情社区| 91久久夜色精品国产九色| 欧美激情一区二区三区成人| 免费久久久一本精品久久区| 久久九九国产精品怡红院| 久久精品亚洲| 久久九九国产精品| 久久综合九色欧美综合狠狠| 久久综合中文| 欧美大片免费| 亚洲国产另类久久精品| 亚洲国产精品成人综合色在线婷婷 | 亚洲免费一区二区| 午夜精品久久久久久| 亚洲影视在线播放| 欧美一区二区三区男人的天堂| 香蕉乱码成人久久天堂爱免费| 亚洲一区二区网站| 久久av一区二区三区| 亚洲影院在线| 性欧美xxxx大乳国产app| 亚洲欧美日韩综合| 久久激情五月激情| 久久日韩粉嫩一区二区三区| 麻豆九一精品爱看视频在线观看免费| 久久亚洲私人国产精品va| 欧美成人精品福利| 欧美日韩一二三区| 国产精品亚洲欧美| 在线成人免费视频| 亚洲九九九在线观看| 亚洲欧洲99久久| 欧美69wwwcom| 在线视频你懂得一区二区三区| 午夜精品久久久久久久99黑人| 欧美一区二区三区四区在线观看地址 | 国产一区二区黄| 91久久精品国产91性色| 亚洲在线免费| 老**午夜毛片一区二区三区| 亚洲精品欧美| 久久青草久久| 欧美午夜女人视频在线| 黄色精品免费| 亚洲午夜在线观看| 久久精品视频在线播放| 亚洲欧洲中文日韩久久av乱码| 亚洲欧美日韩中文视频| 欧美激情精品久久久久久久变态| 国产精品捆绑调教| 亚洲国产精品一区二区第一页| 一区二区三区鲁丝不卡| 玖玖视频精品| 午夜精品999| 欧美精品18videos性欧美| 国产欧美日韩一区二区三区在线观看| 亚洲国产一二三| 久久高清免费观看| 亚洲免费观看高清在线观看| 久久精品视频播放| 国产精自产拍久久久久久| 日韩一本二本av|