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

kenlistian

厚積薄發. 勤為槳,思為帆

   :: 首頁 :: 新隨筆 ::  :: 聚合  :: 管理 ::
  73 隨筆 :: 4 文章 :: 22 評論 :: 0 Trackbacks

DirectShow技術是建立在DirectDraw和DirectSound組件基礎之上的,
它通過DirectDraw對顯卡進行控制以顯示視頻,
通過DirectSound對聲卡進行控制以播放聲音。

DirectShow功能實現:

1.可提供高質量的多媒體流的捕獲和回放功能;
2.支持多種媒體格式,包括ASF(Advanced Systems Format),MPEG(Motion Picture Experts Group),AVI(Audio-Video Interleaved),MP3(MPEG Audio Layer-3)和WAV聲音文件;
3.可從硬件上捕獲媒體數據流;
4.可自動檢測并使用視頻和音頻加速硬件。

故,DirectShow是用于多媒體應用開發。(其實就是一個軟編碼(or解碼))
它充分發揮媒體的性能,提高運行速度,可以簡化媒體播放、媒體間的格式轉換
和媒體捕獲等工作。同時,它還具有極大的可擴展性和靈活性,可以由用戶自己
創建組件,并將這個組件加入DirectShow結構中以支持新的格式或特殊的效果。

應用程序與DirectShow組件以及DirectShow所支持的軟硬件之間的關系
如圖1

 


二。概念
1.過濾器
過濾器分為以下幾種類型:
 a 源過濾器(source filter):
    源過濾器引入數據到過濾器圖表中,數據來源可以是文件、網絡、照相機等。
    不同的源過濾器處理不同類型的數據源。

 b 變換過濾器(transform filter):
   變換過濾器的工作是獲取輸入流,處理數據,并生成輸出流。
   變換過濾器對數據的處理包括編解碼、格式轉換、壓縮解壓縮等。

 c 提交過濾器(renderer filter):
    接收數據并把數據提交給外設。

 d 分割過濾器(splitter filter):
    把輸入流分割成多個輸出。
    如,AVI分割過濾器把一個AVI格式的字節流分割成視頻流和音頻流。

 e 混合過濾器(mux filter):
    把多個輸入組合成一個單獨的數據流。
    如,AVI混合過濾器把視頻流和音頻流合成一個AVI格式的字節流。
     過濾器的這些分類并不是絕對的,如一個ASF讀過濾器(ASF Reader filter)
       既是一個源過濾器又是一個分割過濾器。


2  filter graph

    過濾器圖表用來連接過濾器以控制媒體流,它也可以將數據返回給應用程序,
    并搜索所支持的過濾器。
    過濾器有三種可能的狀態:運行、停止和暫停。
    暫停是一種中間狀態,停止狀態到運行狀態必定經過暫停狀態。
    暫停可以理解為數據就緒狀態,是為了快速切換到運行狀態而設計的。   
    在暫停狀態下,數據線程是啟動的,但被提交過濾器阻塞了。
   
    通常情況下,過濾器圖表中所有過濾器的狀態是一致的。

3. 引腳(pin)
 過濾器可以和一個或多個過濾器相連,
    連接的接口也是COM形式的,稱為引腳。
   
    過濾器利用引腳在各個過濾器間傳輸數據。
    每個引腳都從Ipin這個COM對象派生出來的。
    每個引腳都是過濾器的私有對象,過濾器可以動態的創建引腳,銷毀引腳,自由控制引腳的生存時間。
    引腳分輸入引腳(Input pin)和輸出引腳(Output pin)兩種類型,
    兩個相連的引腳必須是不同種類的,即輸入引腳只能和輸出引腳相連

 過濾器之間的連接(也就是引腳之間的連接),實際上是連接雙方媒體類型(Media Type)協商的過程。(媒體類型,不完全媒體類型 再下一節有講解)


   連接的大致過程為:
     如果調用連接函數時已經指定了完整的媒體類型,則用這個媒體類型進行連接,
  成功與否都結束連接過程;
      如果沒有指定或不完全指定了媒體類型,
      則枚舉過程見后面.其兩個filter的連接設定如下.
    
                 Filter A     ------------------> Filter B



------------------------------------------------------------- ------------------

說明:
媒體類型(Media Type)
    兩個過濾器相連時,必須使用一致的媒體類型,否則這兩個過濾器就不能相連。

    媒體類型能識別上一級過濾器傳送給下一級過濾器的數據類型,并對數據進行分類。
   媒體類型的結構  AM_MEDIA_TYPE
 
  AM_MEDIA_TYPE由三部分組成:
      Major type
      Subtype
      Format type
   
   都使用GUID 來唯一標示
    
     Major type主要定性描述一種媒體類型,這種媒體類型可以是視頻、音頻、比特數據流或MIDI數據等;
     Subtype   進一步細化媒體類型,
              拿視頻的說就是進一步指定是RGB-24,還是RGB-32,或是UYVY等;
     Format type則用一個結構更進一步細化媒體類型。

 媒體類型的三個部分都指定了某個具體的GUID值,則稱這個媒體類型是完全指定的;
    媒體類型的三個部分中有任何一個值是GUID_NULL,則稱這個媒體類型是不完全指定的。
    GUID_NULL起通配符作用


pinout和pinin的連接過程可以用下面邏輯語言表達.

1.如調用連接函數時已經指定了完整的Media type,則用這個Media type進行連接,
成功與否都結束連接過程;

2.如沒有指定或不完全指定了Media type,
則如下:

  BOOL CheckFilterB_PinIn()
  {
       for(i = 0 ; i < FilterB.FPinIn.MediaTypeCount ; i++)
      {
           if (IsSameMediaType(FilterA.FPinOut,FilterB.FPinIn.MediaType[i]) = True)
          {
                 return TRUE;   //Pin之間的連接成功;
          }
       }
        return FALSE;          //在Input pin不支持該媒體類型,失敗.
    }


  返回FALSE再枚舉Output pin上的所有Media type,并逐一用這些Media type與Input pin進行連接。
  
   for(i = 0 ; i < FilterA.FPinOut.MediaTypeCount; i++)
   {
      if (CheckFilteB_PinIn(FilterA.FPinOut.MediaType[i]) = True )
      {
         return TRUE;
      }
   }
   return FALSE;  //filterA和filterB的連接失敗.



 

posted on 2008-12-08 12:50 kenlistian 閱讀(1062) 評論(0)  編輯 收藏 引用 所屬分類: directx
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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| 欧美成人亚洲成人| 国产精品盗摄久久久| 欧美啪啪成人vr| 欧美人与禽性xxxxx杂性| 欧美激情一区二区三区蜜桃视频| 欧美成人一区二免费视频软件| 卡通动漫国产精品| 欧美国产一区二区在线观看 | 欧美国产三区| 亚洲国产专区校园欧美| 欧美jizzhd精品欧美喷水| 欧美激情视频一区二区三区在线播放| 美女诱惑黄网站一区| 亚洲高清av| 一区二区三区日韩| 欧美在线观看视频一区二区三区| 欧美日韩国产色站一区二区三区| 亚洲男人的天堂在线观看| 久久大逼视频| 国产精品稀缺呦系列在线| 国产亚洲精品资源在线26u| 国产亚洲精品一区二555| 亚洲国产精品一区二区三区| 亚洲精品中文字幕有码专区| 亚洲欧美在线看| 欧美高清在线精品一区| 在线综合视频| 裸体女人亚洲精品一区| 国产精品久久久久久久9999| 在线精品亚洲一区二区| 久久久人人人| 欧美成人精精品一区二区频| 欧美色图一区二区三区| 一区在线电影| 亚洲在线不卡| 亚洲大片精品永久免费| 亚洲一区二区三区高清不卡| 免费观看亚洲视频大全| 国产精品毛片高清在线完整版| 亚洲成人直播| 欧美一区精品| 亚洲国产一区二区a毛片| 欧美va天堂在线| 亚洲一区日韩在线| 久久高清免费观看| 欧美高清一区| 国内精品久久久| 亚洲欧美色婷婷| 亚洲精品一线二线三线无人区| 欧美尤物一区| 国产精品无人区| 亚洲一级网站| 亚洲精品一区在线观看| 欧美高清日韩| 亚洲精品影视| 亚洲成色精品| 免费日韩成人| 亚洲精品一区二区三| 欧美国产亚洲精品久久久8v| 久久精品视频在线播放| 韩国成人福利片在线播放| 欧美一级二区| 午夜精品视频| 国产日韩欧美日韩大片| 久久国产精品电影| 午夜国产精品影院在线观看| 国产精品中文在线| 久久久99免费视频| 久久久久久高潮国产精品视| 狠狠色综合网| 免费欧美日韩| 欧美护士18xxxxhd| 亚洲视频axxx| 亚洲影院免费| 国内精品写真在线观看| 免费观看成人鲁鲁鲁鲁鲁视频| 久久免费视频网| 激情丁香综合| 亚洲国产日韩美| 欧美三级在线视频| 欧美影院久久久| 久久青草久久| 日韩亚洲不卡在线| 亚洲午夜一区二区三区| 国产亚洲精品福利| 免费观看成人网| 国产精品福利片| 久久久久久久网站| 欧美va亚洲va国产综合| 免费观看欧美在线视频的网站| 亚洲黄色成人| 亚洲最黄网站| 一色屋精品视频免费看| 亚洲狠狠丁香婷婷综合久久久| 欧美日韩精品在线| 久久久久久91香蕉国产| 欧美激情免费观看| 欧美一区二区在线免费观看 | 亚洲精品视频在线看| 国产精品久久久久一区二区三区| 久久精品日韩欧美| 欧美精品少妇一区二区三区| 欧美一区国产一区| 欧美日韩国产一中文字不卡| 久久久久久久尹人综合网亚洲| 欧美高清不卡| 久久尤物视频| 国产精品免费福利| 亚洲国产99| 韩日欧美一区二区三区| 99国产精品久久久久久久久久| 尤物在线观看一区| 亚洲免费影视| 亚洲一区二区黄| 免费欧美视频| 久久综合色天天久久综合图片| 欧美日韩视频不卡| 欧美高清免费| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲永久精品大片| 中文一区二区| 欧美极品在线观看| 牛牛国产精品| 狠狠色丁香久久综合频道| 亚洲午夜在线观看视频在线| 一本大道av伊人久久综合| 久久综合影音| 久久综合九色综合欧美就去吻 | 久久国产精品免费一区| 欧美日韩网站| 亚洲人体影院| 悠悠资源网久久精品| 午夜精品亚洲| 欧美一区国产一区| 国产视频精品xxxx| 午夜精品久久久久久久99水蜜桃 | 合欧美一区二区三区| 亚洲欧美国产视频| 午夜国产精品视频免费体验区| 欧美日本在线播放| 亚洲美女av黄| a91a精品视频在线观看| 欧美精品一区二区精品网| 亚洲国产高清高潮精品美女| 亚洲国产导航| 欧美成年人在线观看| 欧美电影免费观看高清| 久久天天躁狠狠躁夜夜爽蜜月| 久久精品99国产精品酒店日本| 国产麻豆视频精品| 久久9热精品视频| 美女网站久久| 亚洲欧洲精品一区二区三区| 欧美www视频| 99亚洲一区二区| 校园激情久久| 狠狠爱www人成狠狠爱综合网| 久久女同精品一区二区| 亚洲激情不卡| 亚洲婷婷综合色高清在线| 国产精品扒开腿做爽爽爽视频| 中文无字幕一区二区三区| 欧美在线三区| 樱花yy私人影院亚洲| 欧美成人情趣视频| 一区二区激情小说| 久久成人精品一区二区三区| 精品1区2区| 欧美色视频在线| 欧美在线91| 亚洲片在线资源| 久久国产精品99精品国产| 韩国亚洲精品| 欧美—级a级欧美特级ar全黄| 亚洲一区二区三区精品视频| 免费在线看一区| 亚洲一区二区三区久久| 国产日韩综合一区二区性色av| 久久久伊人欧美| 99精品视频免费| 久久综合精品国产一区二区三区| 日韩一级在线观看| 国产一区二区中文字幕免费看| 欧美成人精品一区二区| 在线视频一区二区| 欧美高清在线精品一区| 性8sex亚洲区入口| 日韩香蕉视频| 亚洲国产精品成人va在线观看| 国产精品99免费看 | 一区二区日韩| 欧美jizz19性欧美| 亚洲第一级黄色片| 亚洲一区二区视频| 久热精品视频| 亚洲午夜日本在线观看| 黑人操亚洲美女惩罚| 国产精品video| 老牛国产精品一区的观看方式|