最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++聯(lián)合體轉(zhuǎn)換成C#結(jié)構(gòu)的實(shí)現(xiàn)方法

 更新時(shí)間:2014年08月12日 08:59:24   投稿:shichen2014  
這篇文章主要介紹了C++聯(lián)合體轉(zhuǎn)換成C#結(jié)構(gòu)的實(shí)現(xiàn)方法,需要的朋友可以參考下

本文實(shí)例主要參考MSDN:http://msdn.microsoft.com/zh-cn/library/ya9bz4ha%28v=vs.80%29.aspx

最近因?yàn)轫?xiàng)目中遇到了C++聯(lián)合體轉(zhuǎn)換成C#結(jié)構(gòu)的情況,查了很多資料才轉(zhuǎn)換成功。

備注:對(duì)于官方這個(gè)UNION示例,我的簡(jiǎn)單理解,就是這類UNION做法,可適當(dāng)代替IF ELSE 之類操作。

解決問題:如果只接收視頻解碼數(shù)據(jù),而從不接收音頻數(shù)據(jù),那么是否可以直接定義結(jié)構(gòu)體,并以此來獲取視頻數(shù)據(jù)。

/// <summary>
/// * @struct tagTFrameInfo_YUV420
/// * @brief 解碼后幀信息結(jié)構(gòu)(包括音頻和視頻)
/// * @attention 如果只接收視頻解碼數(shù)據(jù),而從不接收音頻數(shù)據(jù),那么是否可以直接定義結(jié)構(gòu)體,并以此來獲取視頻數(shù)據(jù)
/// * @原型定義:
/// 解碼后幀信息結(jié)構(gòu)(包括音頻和視頻)
/// typedef struct tagTFrameInfo
/// {
///   BYTE   m_byMediaType; // 媒體類型(PCM或YUV420)
///   DWORD  m_dwTimeStamp; // 時(shí)間戳  
///   union
///   {
///     BYTE   m_byBitCount; // 為YUV時(shí)的顏色bit位數(shù) 
///     BYTE   m_bStereo; // 為PCM時(shí)的聲道值
///   };
///   union
///   {
///     WORD   m_wVideoWidth; // 視頻幀寬
///     WORD m_wBitRate; // 采樣bit率(如8000)
///   };
///   union
///   {
///     WORD   m_wVideoHeight;// 視頻幀寬
///     WORD  m_wBand; // 采樣的位數(shù)(如16)
///   };
/// }TFrameInfo,*PFrameInfo; 
/// </summary>
[StructLayout(LayoutKind.Sequential)]
public struct tagTFrameInfo_YUV420
{
  /// <summary>
  /// 媒體類型(0:yuv420; 1:pcm; 2:rgb32: 3:uyvy; 4:YV12),pcm是音頻
  /// @原型:BYTE   m_byMediaType; // 媒體類型(1:PCM或0:YUV420)
  /// </summary>
  public byte m_byMediaType;     /** 媒體類型(0:yuv420; 1:pcm; 2:rgb32: 3:uyvy; 4:YV12),pcm是音頻 */

  /// <summary>
  /// 時(shí)間戳
  /// @原型:DWORD  m_dwTimeStamp; // 時(shí)間戳
  /// </summary>
  public UInt32 m_dwTimeStamp;     /** 時(shí)間戳 */

  // YUV
  /// <summary>
  /// 為YUV時(shí)的顏色bit位數(shù)
  /// @原型:BYTE   m_byBitCount; //為YUV時(shí)的顏色bit位數(shù)
  /// </summary>
  public byte m_byBitCount;     /** 為YUV時(shí)的顏色bit位數(shù) */

  /// <summary>
  /// 視頻幀寬
  /// @原型:WORD   m_wVideoWidth; //視頻幀寬
  /// </summary>
  public UInt16 m_wVideoWidth;     /** 視頻幀寬 */

  /// <summary>
  /// 視頻幀寬
  /// @原型:WORD   m_wVideoHeight; //視頻幀寬
  /// </summary>
  public UInt16 m_wVideoHeight;     /** 視頻幀寬 */
}

感興趣的讀者可以對(duì)此調(diào)試運(yùn)行一下,希望對(duì)大家有所幫助。

相關(guān)文章

最新評(píng)論

珠海市| 东丰县| 北京市| 邢台市| 新宾| 长宁县| 格尔木市| 天津市| 开阳县| 棋牌| 柳河县| 缙云县| 东安县| 保靖县| 青神县| 扶沟县| 习水县| 陆河县| 涞水县| 迭部县| 桦川县| 宁城县| 九寨沟县| 平湖市| 和静县| 沙洋县| 育儿| 宜昌市| 乌兰浩特市| 海兴县| 乐清市| 淄博市| 天水市| 东宁县| 于都县| 文山县| 集贤县| 平顶山市| 仲巴县| 平和县| 郴州市|