⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fmt_container.h

📁 audio-video-codecs.rar语音编解码器
💻 H
字号:
/*//////////////////////////////////////////////////////////////////////////////
//
//                  INTEL CORPORATION PROPRIETARY INFORMATION
//     This software is supplied under the terms of a license agreement or
//     nondisclosure agreement with Intel Corporation and may not be copied
//     or disclosed except in accordance with the terms of that agreement.
//          Copyright(c) 2006 Intel Corporation. All Rights Reserved.
//
//   Intel(R)  Integrated Performance Primitives
//
//     Outlook 2003 Add-In sample
//
// By downloading and installing this sample, you hereby agree that the
// accompanying Materials are being provided to you under the terms and
// conditions of the End User License Agreement for the Intel(R) Integrated
// Performance Primitives product previously accepted by you. Please refer
// to the file ippEULA.rtf or ippEULA.txt located in the root directory of your Intel(R) IPP
// product installation for more information.
//
// Purpose: Spech codecs and format libraries header file.
*/

#ifndef __FMT_CONTAINER_H__
#define __FMT_CONTAINER_H__

#include "usc.h"
#include "amrwbusc.h"
#include "gsmamrusc.h"
#include "umc_speech_codec.h"
#include "ippdefs.h"

#define USC_MAKE_FORMAT_DET_VERSION(major,minor) (((major&0xFF)<<8)|\
                                                  (minor&0xFF))

#define USC_MAKE_FORMAT_DET(vad,hpf,pf,truncate,law) (((law&0x3)<<5)|\
                                                      ((truncate&0x1)<<4)|\
                                                      ((pf&0x1)<<3)|\
                                                      ((hpf&0x1)<<2)|\
                                                      (vad&0x3))
#define GET_VAD_FROM_FORMAT_DET(fmtDet) (fmtDet&0x3)
#define GET_HPF_FROM_FORMAT_DET(fmtDet) ((fmtDet>>2)&0x1)
#define GET_PF_FROM_FORMAT_DET(fmtDet) ((fmtDet>>3)&0x1)
#define GET_TRUNC_FROM_FORMAT_DET(fmtDet) ((fmtDet>>4)&0x1)
#define GET_LAW_FROM_FORMAT_DET(fmtDet) ((fmtDet>>4)&0x3)

class USC_Formats
{
public:
   USC_Formats()
   {
   }
   ~USC_Formats()
   {
   }

   Ipp32s GetFormatsInfoVersion();
   Ipp32s GetNumFormats(void);
   Ipp32s GetNameByFormatTag(Ipp32s lFormatTag, Ipp8s *pDstCodecName);
   Ipp32s GetFormatDetailsByFormatTag(Ipp32s lFormatTag, Ipp32s *pFormatDetails);
   Ipp32s GetFormatTagByNameAndByDetails(const Ipp8s *pSrcCodecName, Ipp32s fmtDetails, Ipp32s *lFormatTag);
protected:
   Ipp32s CompareDetails(Ipp32s SrcDetails, Ipp32s RefDetails);
};

#define BY_FORMATTAG 0x1
#define BY_NAME      0x2
#define MAX_CHANNELS   2 /*Stereo file*/

typedef struct _LoadedCodec {
   Ipp8s codecName[8];
   Ipp32s lFormatTag;
   Ipp32s lIsVad;
   Ipp32s nChannels;
   void *USC_Fns;
} LoadedCodec;

class USC_LoadCodec
{
public:
   USC_LoadCodec()
   {
      uscFmtContainer = new USC_Formats;
   }
   ~USC_LoadCodec()
   {
      delete uscFmtContainer;
   }

   USC_Formats *uscFmtContainer;

   Ipp32s GetNumCodecs();
   Ipp8s *GetCodecName(Ipp32s index);
   Ipp32s LoadUSCCodecByName(LoadedCodec *codec);
   Ipp32s GetUSCCodecParamsByFormat(LoadedCodec *codec,Ipp32s lQuery,Ipp32s VADEnabled,
                                    UMC::SpeechCodecParams *cParams);
};

#endif /* __FMT_CONTAINER_H__ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -