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

            牽著老婆滿街逛

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

            關(guān)于VMR7、VMR9、Video Renderer

            轉(zhuǎn)載自:http://www.cnblogs.com/lucky-apple/archive/2008/06/22/1227550.html

            一、Video Renderer和Overlay Mixer
                  大家知道,Video Renderer (VR)是接收RGB/YUV裸數(shù)據(jù),然后在顯示器上顯示的Filter。為提高計(jì)算機(jī)畫圖性能,根據(jù)你計(jì)算機(jī)顯卡的能力,VR會(huì)優(yōu)先使用DirectDraw以及Overlay表面;如果這些特性得不到顯卡的支持,VR會(huì)使用GDI函數(shù)進(jìn)行畫圖。在上級(jí)Filter連接到VR時(shí),VR總是先要求當(dāng)前顯示器設(shè)置的色彩位數(shù)的RGB格式,如你的機(jī)器設(shè)置的是24位彩色,則VR首先要求連接的Media type為RGB24。如果你的顯卡支持YUV Overlay表面,那么在Filter Graph運(yùn)行起來(lái)的時(shí)候,VR會(huì)動(dòng)態(tài)改變已經(jīng)連接的Media type,要求上級(jí)Filter輸出一種合適的YUV格式。VR Filter上實(shí)現(xiàn)了IVideoWindow接口,F(xiàn)ilter Graph Manager主要通過(guò)這個(gè)接口來(lái)控制視頻窗口。 

                  那么,Overlay Mixer又是怎么回事呢?簡(jiǎn)單地說(shuō),Overlay Mixer就是能夠?qū)茁芬曨l流合成輸出的Filter。這個(gè)Filter是特地為DVD回放(DVD有Sub-picture或line-21數(shù)據(jù)需要疊加顯示)或廣播視頻流(含有l(wèi)ine-21數(shù)據(jù))而設(shè)計(jì)的。同時(shí),它還支持硬件解碼器使用Video Port Extensions,就是繞過(guò)PCI總線,將硬件解碼出來(lái)的數(shù)據(jù)直接送給顯卡顯示。這個(gè)Filter同樣優(yōu)先使用顯卡的DirectDraw能力,而且必須要有Overlay表面。Overlay Mixer有一個(gè)輸出Pin,輸出的Media type是:MEDIATYPE_VIDEO,MEDIASUBTYPE_ Overlay;后面一般連上一個(gè)Video Renderer。當(dāng)Filter Graph運(yùn)行時(shí),實(shí)際的圖像顯示工作由Overlay Mixer完成,而Video Renderer只是做一個(gè)視頻窗口的管理工作。還有另外一個(gè)更常見(jiàn)的Filter:Overlay Mixer 2。這個(gè)Filter跟Overlay Mixer功能上是一樣的,只是兩個(gè)Filter支持的Format type不同和Merit值不同而已。 

                  Overlay Mixer使用Color keying來(lái)實(shí)現(xiàn)幾路視頻的合成:它將Color key和sub-picture(或line-21)數(shù)據(jù)送到主表面,將主視頻數(shù)據(jù)送到Overlay表面;顯卡然后將兩個(gè)表面的數(shù)據(jù)合成,送到幀緩存(Frame buffer)中進(jìn)行顯示。典型的情況,Overlay Mixer使用三個(gè)Input pin:Pin 0輸入主視頻數(shù)據(jù),Pin 1和Pin 2輸入sub-picture數(shù)據(jù)和line-21數(shù)據(jù)。Overlay Mixer在內(nèi)部根據(jù)Pin 0輸入的數(shù)據(jù)來(lái)創(chuàng)建Overlay表面。Overlay Mixer向上一般連接的是Video Decoder。如果這是個(gè)Software decoder,則Pin 0上的數(shù)據(jù)傳輸使用標(biāo)準(zhǔn)的IMemInputPin接口;如果使用了硬件加速,則Pin 0上必須使用IAMVideoAccelerator接口。(注意這兩種接口是不能同時(shí)使用的!)如果上一級(jí)Filter是硬件解碼器的包裝Filter,使用VP pin輸出,則解碼器與Overlay Mixer使用IVPConfig和IVPNotify接口對(duì)通訊,以協(xié)調(diào)工作。Overlay Mixer不支持1394或USB接口的采集設(shè)備。Overlay Mixer向下一般連的是Video Renderer。這時(shí)Video Renderer只是一個(gè)視頻窗口管理器。兩個(gè)Filter通過(guò)IOverlay和IOverlayNotify接口對(duì)進(jìn)行通訊,以協(xié)調(diào)工作。(Video Renderer的Input pin有兩種連接方式:VR直接做圖像顯示時(shí),則使用IMemInputPin接口接收視頻流數(shù)據(jù);Overlay Mixer做圖像顯示時(shí),則VR使用IOverlay接口與上一級(jí)Filter進(jìn)行通訊,Overlay Mixer與VR之間沒(méi)有視頻數(shù)據(jù)的傳輸。注意這兩種接口是不會(huì)同時(shí)使用的!) 


            二、VMR-7
                  大家看到了,其實(shí)Video Renderer與Overlay Mixer有一部分功能是重復(fù)的。Video Renderer是最早設(shè)計(jì)的,設(shè)計(jì)之初,很多應(yīng)用情況沒(méi)有考慮進(jìn)去;于是,就用Overlay Mixer來(lái)“打補(bǔ)丁”。現(xiàn)在,我們?yōu)槭裁床话褍刹糠止δ苷弦幌履兀课④浺舱沁@么做了!在Windows XP(家庭版和專業(yè)版)中,新出現(xiàn)了一個(gè)Filter(注冊(cè)的名字也叫“Video Renderer”,但兩個(gè)Filter的CLSID是不同的,Merit值也不一樣),替代了原來(lái)默認(rèn)的Video Renderer。這個(gè)新的Filter,稱之為Video Mixing Renderer Filter 7 (VMR-7),因?yàn)樗鼉?nèi)部使用了DirectDraw 7的技術(shù)。可以這么說(shuō),VMR是Windows平臺(tái)上新一代的Video Renderer。值得注意的是,這個(gè)Filter僅在Windows XP里集成,在其他任何DirectX發(fā)布包里都得不到這個(gè)Filter。VMR-7的大致功能如下:支持最多16路輸入流的alpha混合;支持在合成圖像顯示之前得到對(duì)其訪問(wèn)權(quán);支持插入第三方開(kāi)發(fā)的Video Effects和Transitions組件功能等等。還有,VMR連接時(shí)不要求RGB的Media type,因?yàn)樗魏吻闆r下都不會(huì)使用GDI函數(shù)來(lái)畫圖。 


            三、VMR-9
                  隨著DirectX 9的發(fā)布,又會(huì)出現(xiàn)一個(gè)新的Video Renderer,稱之為VMR-9。這個(gè)Filter使用了Direct3D 9的技術(shù)。VMR-9與VMR-7是兩個(gè)不同的Filter。VMR-9的性能更加強(qiáng)勁。值得注意的是,為了保持向下兼容,VMR-9的Merit值并不高,它不作為系統(tǒng)默認(rèn)的Video Renderer;如果你的應(yīng)用程序只需要很少的視頻顯示控制,建議還是使用各自平臺(tái)默認(rèn)的Video Renderer。


            四、總結(jié)
               顯然,結(jié)果已經(jīng)很明顯,如果你想獲得高級(jí)的功能和更好的質(zhì)量,請(qǐng)使用VMR-9,如果你需要更快的速度或者機(jī)器配置不夠高,請(qǐng)選擇VMR-7 。

            KMP中關(guān)于選擇視頻渲染器有這樣一段話:
            “請(qǐng)選擇如何在KMP 中輸出圖像。默認(rèn)情況下推薦使用覆蓋混合器。如果您正在使用Windows XP或DirectX 9 請(qǐng)選擇 VMR 7/9 未渲染,并使字幕輸出到VMR表面 。它將增加字幕的質(zhì)量;如果您無(wú)法切換到桌面模式或在VMR輸出中使用覆蓋字幕。那么 請(qǐng)選擇使用內(nèi)建渲染器通過(guò)DirectDraw渲染直接輸出圖像。如果它可以被正確覆蓋那么使用覆蓋表面將會(huì)得到更柔和和更快速的圖像播放效果。”

            posted on 2012-09-17 10:54 楊粼波 閱讀(1733) 評(píng)論(0)  編輯 收藏 引用 所屬分類: C++

            久久受www免费人成_看片中文| 综合久久久久久中文字幕亚洲国产国产综合一区首 | 久久精品a亚洲国产v高清不卡| 久久er99热精品一区二区| 久久亚洲精品中文字幕三区| 香蕉久久AⅤ一区二区三区| 人妻无码αv中文字幕久久琪琪布| 2021国产成人精品久久| 亚洲乱码精品久久久久..| 久久99热这里只有精品国产| 性做久久久久久久| 亚洲欧美精品一区久久中文字幕| 久久精品夜夜夜夜夜久久| 久久国产热这里只有精品| 国产午夜福利精品久久2021 | 久久久久女人精品毛片| 亚洲精品99久久久久中文字幕| 国内精品九九久久久精品| 无码任你躁久久久久久老妇App| 曰曰摸天天摸人人看久久久| 久久超碰97人人做人人爱| 久久久久亚洲AV成人网人人网站| 久久久国产精品| 久久国产成人午夜aⅴ影院 | 亚洲精品美女久久久久99小说 | 久久久久久久综合狠狠综合| 久久97久久97精品免视看秋霞| 精品免费tv久久久久久久| 精品久久久久久国产潘金莲| 国内精品久久国产| 伊人色综合久久天天网| 综合久久一区二区三区 | 品成人欧美大片久久国产欧美... 品成人欧美大片久久国产欧美 | 丁香狠狠色婷婷久久综合| 精品国产乱码久久久久久呢| 婷婷久久综合九色综合九七| 久久久久国产日韩精品网站| 99久久综合国产精品二区| 久久精品国产99久久香蕉| 久久综合久久伊人| 久久久亚洲精品蜜桃臀|