• <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>

            牽著老婆滿街逛

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

            ffmpeg 進行視頻轉換圖像翻轉的問題的修正

            轉載自:http://blog.csdn.net/bluestn/article/details/2068351

            我在用FFMPEG 開發在DirectShow 環境下生成FLV的篩選器(Filter)的時候,碰到了一個比較古怪的問題。因為該篩選器的輸入格式需要支持常見的RGB,和YUV格式。但是在輸入是RGB格式的時候,最終生成的視頻圖像是翻轉的。而用YUV格式確實沒有問題的。

            分析了一下程序,因為ffmpeg支持的最終存入FLV的格式是YUV420P,需要調用sws_scale進行圖像的格式轉換,應該是調用sws_scale進行圖像格式轉換的時候發生的圖像反轉。雖然問題很顯然,但是卻一直找不到好的辦法,這個問題困擾了好久,也查看了ffmpeg的源代碼。本想也一段代碼,先把RGB格式的圖像先手工做一次反轉,再通過sws_scale進行處理,那樣負負得正正好解決問題,當然實現這樣的反轉代碼也比較簡單,稍微花點時間就可以搞定。但是進行編解碼處理的程序關鍵是性能,這樣處理,因為圖像反轉操作,白白損失了大量的CPU。后來發現其實,有一個非常巧妙的方法可以解決這個問題?;蛟Sffmpeg在開發的時候,他們早已考慮到了這個問題,已經預留了這個后門了。

            辦法是這樣的:

            先看看sws_scale的函數定義

            int sws_scale(struct SwsContext *ctx, uint8_t* src[], int srcStride[],
                          int srcSliceY, int srcSliceH, uint8_t* dst[], int dstStride[])

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

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

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

            當然,RGB格式是按照緊湊格式進行編碼的,因此只有一個平面,也就是說只要設置src[0]就可以,src[1],src[2],src[3]都為NULL。

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

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

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

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

            posted on 2013-01-28 19:28 楊粼波 閱讀(2461) 評論(0)  編輯 收藏 引用

            性欧美丰满熟妇XXXX性久久久| 夜夜亚洲天天久久| 久久精品亚洲AV久久久无码| 久久AV高潮AV无码AV| 久久久噜噜噜久久中文福利| 天天久久狠狠色综合| 久久久中文字幕日本| 欧美午夜精品久久久久免费视| 亚洲国产天堂久久综合网站| 合区精品久久久中文字幕一区| 亚洲人成精品久久久久| 久久中文字幕一区二区| 综合久久精品色| 精品久久久久久国产潘金莲 | 亚洲精品高清久久| 思思久久99热只有频精品66| 99久久久精品免费观看国产| 中文字幕无码久久精品青草 | 久久99热国产这有精品| 亚洲精品美女久久久久99小说| 99久久久精品| 97精品国产97久久久久久免费| 99久久精品免费国产大片| 久久偷看各类wc女厕嘘嘘| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 久久91亚洲人成电影网站| 亚洲精品乱码久久久久久蜜桃图片| 久久精品国产亚洲一区二区| 亚洲中文久久精品无码ww16| 污污内射久久一区二区欧美日韩| 色综合久久中文综合网| 91精品国产91久久综合| 久久久久波多野结衣高潮| 久久人人青草97香蕉| 久久激情五月丁香伊人| 国产精品亚洲综合专区片高清久久久| 久久天天躁狠狠躁夜夜96流白浆| 亚洲va中文字幕无码久久| 无遮挡粉嫩小泬久久久久久久| 2020国产成人久久精品| 四虎国产精品成人免费久久|