亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? runfird.cpp

?? signal-processing.rar信號處理demo原碼
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
/*
//
//               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) 1999-2006 Intel Corporation. All Rights Reserved.
//
*/

// RunFirD.cpp : implementation of the CRunFirD class.
// CRunFirD class processes vectors by ippSP functions listed in
// CallIppFunction member function.
// See CRun & CippsRun classes for more information.
//
/////////////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "ippsDemo.h"
#include "ippsDemoDoc.h"
#include "ParmFirDlg.h"
#include "RunFirD.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CRunFirD::CRunFirD()
{
   m_tapsFactor = 0;
   m_pDocTaps = NULL;
   m_pTaps = NULL;
   m_tapsLen = 0;
   m_MR = FALSE;
   m_upFactor   = 2;
   m_upPhase    = 0;
   m_downFactor = 2;
   m_downPhase  = 0;
   m_delayIndex = 0;

   m_scaleFactorSave = 0;
   m_tapsFactorSave= 0;
   m_docFactor = 0;
   m_bScaleFactor = FALSE;
   m_bTapsFactor = FALSE;
}

CRunFirD::~CRunFirD()
{

}

BOOL CRunFirD::Open(CFunc func) 
{
   if (!CippsRun::Open(func)) return FALSE;

   m_pDelay.Init(m_Func.DstType());

   m_MR = func.Found("MR");

   m_scaleFactorSave = scaleFactor;
   m_tapsFactorSave = m_tapsFactor;

   return TRUE;
}

void CRunFirD::Close() 
{
   if (m_docFactor) {
      if (m_bScaleFactor && (scaleFactor == -m_docFactor))
         scaleFactor = m_scaleFactorSave;
      if (m_bTapsFactor && (m_tapsFactor == m_docFactor))
         m_tapsFactor = m_tapsFactorSave;
   }
}

CString CRunFirD::VectorTerm()
{ 
   return m_PickVecPos == VEC_TAPS ? "vector" : "signal";
}

BOOL CRunFirD::PickNextPos()
{
   if (m_PickVecPos < VEC_TAPS) {
      m_PickVecPos = VEC_TAPS;
      return TRUE;
   }
   m_PickVecPos = -1;
   return FALSE;
}

BOOL CRunFirD::PickSetID(CMyString& vectorName, UINT& pickID, UINT& grabID)
{
   if (m_PickVecPos == VEC_TAPS) {
      vectorName = "Taps";
      pickID = IDC_CURSOR_PT;
      grabID = IDC_CURSOR_T;
      return TRUE;
   }
   return CippsRun::PickSetID(vectorName, pickID, grabID);
}

BOOL CRunFirD::PickMarkDoc(CDemoDoc* pDoc)
{
   if (m_PickVecPos == VEC_TAPS) {
      ppType tapsType = m_Func.BaseType();
      if (tapsType == ppNONE) 
         tapsType = m_Func.DstType();
      BOOL flag = pDoc->GetVector()->Type() == tapsType;
      if (!m_Func.Found("Direct") &&
         ((m_pDocSrc->GetVector()->Type() | PP_CPLX) == pp16sc) &&
         ((tapsType | PP_CPLX) == pp32sc)) {
            tapsType = (ppType)((tapsType & PP_CPLX) | pp32f);
            if (pDoc->GetVector()->Type() == tapsType)
               flag = TRUE;
      }
      pDoc->MayBePicked(flag);
      return flag;
   }
   return CippsRun::PickMarkDoc(pDoc);
}

void CRunFirD::GrabDoc(CDemoDoc* pDoc)
{
   if (m_PickVecPos == VEC_TAPS) {
      m_pDocTaps = pDoc;
      pDoc->IsPicked(TRUE);
   } else {
      CippsRun::GrabDoc(pDoc);
   }
}

CParamDlg* CRunFirD::CreateDlg()
{
   return new CParmFirDlg;
}

void CRunFirD::UpdateData(CParamDlg* parmDlg, BOOL save)
{
   m_bTapsFactor = 
      (((m_pDocSrc->GetVector()->Type() | PP_CPLX) == pp16sc) &&
       ((m_pDocTaps->GetVector()->Type() | PP_CPLX) == pp32sc));
   m_bScaleFactor = 
      (((m_pDocSrc->GetVector()->Type() | PP_CPLX) == pp32sc) &&
       ((m_pDocTaps->GetVector()->Type() | PP_CPLX) == pp32sc));
   m_docFactor = m_pDocTaps->GetVector()->GetTapsFactor();


   if (!save && m_bScaleFactor && m_docFactor)
      scaleFactor = -m_docFactor;
   CippsRun::UpdateData(parmDlg,save);

   CParmFirDlg *pDlg = (CParmFirDlg*)parmDlg;
   if (save) {
      m_tapsFactor  = pDlg->m_tapsFactor;
      m_upFactor    = pDlg->m_upFactor   ;
      m_upPhase     = pDlg->m_upPhase    ;
      m_downFactor  = pDlg->m_downFactor ;
      m_downPhase   = pDlg->m_downPhase  ;
   } else {
      pDlg->m_pDocTaps    = m_pDocTaps   ;
      pDlg->m_tapsFactor  = m_docFactor ? m_docFactor : m_tapsFactor;
      pDlg->m_upFactor    = m_upFactor   ;
      pDlg->m_upPhase     = m_upPhase    ;
      pDlg->m_downFactor  = m_downFactor ;
      pDlg->m_downPhase   = m_downPhase  ;      
   }
}

BOOL CRunFirD::BeforeCall()
{
   m_pDelay.Allocate(m_pDocTaps->GetVector()->Length()*2);
   return TRUE;
}

BOOL CRunFirD::AfterCall(BOOL bOk)
{
   m_pDelay.Deallocate();
   return TRUE;
}

int CRunFirD::GetMRLen()
{
   int length = m_lenSrc;
   if (!m_MR) return length;
   int factor = m_downFactor;
   if (m_Func.Inplace() && (m_downFactor < m_upFactor))
      factor = m_upFactor;
   return length / factor;
}

int CRunFirD::GetDstLength()
{
   m_lenSrc = m_pDocSrc->GetVector()->Length();
   int length = m_lenSrc;
   if (!m_MR) return length;
   length = GetMRLen()*m_upFactor;
   if (length < 1) length = 1;
   return length;
}

void CRunFirD::PrepareParameters()
{
   CippsRun::PrepareParameters();
   SetParams((CippsDemoDoc*)m_pDocTaps, m_pTaps, m_tapsLen);
   len = GetMRLen();
}

IppStatus CRunFirD::CallIppFunction()
{
   FUNC_CALL(ippsFIRMR_Direct_32f, ((Ipp32f*)pSrc, (Ipp32f*)pDst, len, 
        (Ipp32f*)m_pTaps, m_tapsLen, m_upFactor,m_upPhase, m_downFactor, m_downPhase, 
        (Ipp32f*)m_pDelay))
   FUNC_CALL(ippsFIRMR_Direct_32fc, ((Ipp32fc*)pSrc, (Ipp32fc*)pDst, len, 
        (Ipp32fc*)m_pTaps, m_tapsLen, m_upFactor,m_upPhase, m_downFactor, m_downPhase, 
        (Ipp32fc*)m_pDelay))

   FUNC_CALL(ippsFIRMR_Direct_32f_I, ((Ipp32f*)pSrc, len, 
        (Ipp32f*)m_pTaps, m_tapsLen, m_upFactor,m_upPhase, m_downFactor, m_downPhase, 
        (Ipp32f*)m_pDelay))
   FUNC_CALL(ippsFIRMR_Direct_32fc_I, ((Ipp32fc*)pSrc, len, 
        (Ipp32fc*)m_pTaps, m_tapsLen, m_upFactor,m_upPhase, m_downFactor, m_downPhase, 
        (Ipp32fc*)m_pDelay))

   FUNC_CALL(ippsFIRMR32f_Direct_16s_Sfs, ((Ipp16s*)pSrc, (Ipp16s*)pDst, len, 
        (Ipp32f*)m_pTaps, m_tapsLen, m_upFactor,m_upPhase, m_downFactor, m_downPhase, 
        (Ipp16s*)m_pDelay, scaleFactor))
   FUNC_CALL(ippsFIRMR32fc_Direct_16sc_Sfs, ((Ipp16sc*)pSrc, (Ipp16sc*)pDst, len, 
        (Ipp32fc*)m_pTaps, m_tapsLen, m_upFactor,m_upPhase, m_downFactor, m_downPhase, 
        (Ipp16sc*)m_pDelay, scaleFactor))

   FUNC_CALL(ippsFIRMR32f_Direct_16s_ISfs, ((Ipp16s*)pSrc, len, 
        (Ipp32f*)m_pTaps, m_tapsLen, m_upFactor,m_upPhase, m_downFactor, m_downPhase, 
        (Ipp16s*)m_pDelay, scaleFactor))
   FUNC_CALL(ippsFIRMR32fc_Direct_16sc_ISfs, ((Ipp16sc*)pSrc, len, 
        (Ipp32fc*)m_pTaps, m_tapsLen, m_upFactor,m_upPhase, m_downFactor, m_downPhase, 
        (Ipp16sc*)m_pDelay, scaleFactor))

   FUNC_CALL(ippsFIRMR_Direct_64f, ((Ipp64f*)pSrc, (Ipp64f*)pDst, len, 
        (Ipp64f*)m_pTaps, m_tapsLen, m_upFactor,m_upPhase, m_downFactor, m_downPhase, 
        (Ipp64f*)m_pDelay))
   FUNC_CALL(ippsFIRMR_Direct_64fc, ((Ipp64fc*)pSrc, (Ipp64fc*)pDst, len, 
        (Ipp64fc*)m_pTaps, m_tapsLen, m_upFactor,m_upPhase, m_downFactor, m_downPhase, 
        (Ipp64fc*)m_pDelay))

   FUNC_CALL(ippsFIRMR_Direct_64f_I, ((Ipp64f*)pSrc, len, 
        (Ipp64f*)m_pTaps, m_tapsLen, m_upFactor,m_upPhase, m_downFactor, m_downPhase, 
        (Ipp64f*)m_pDelay))
   FUNC_CALL(ippsFIRMR_Direct_64fc_I, ((Ipp64fc*)pSrc, len, 
        (Ipp64fc*)m_pTaps, m_tapsLen, m_upFactor,m_upPhase, m_downFactor, m_downPhase, 
        (Ipp64fc*)m_pDelay))

   FUNC_CALL(ippsFIRMR64f_Direct_32f, ((Ipp32f*)pSrc, (Ipp32f*)pDst, len, 
        (Ipp64f*)m_pTaps, m_tapsLen, m_upFactor,m_upPhase, m_downFactor, m_downPhase, 
        (Ipp32f*)m_pDelay))
   FUNC_CALL(ippsFIRMR64fc_Direct_32fc, ((Ipp32fc*)pSrc, (Ipp32fc*)pDst, len, 
        (Ipp64fc*)m_pTaps, m_tapsLen, m_upFactor,m_upPhase, m_downFactor, m_downPhase, 
        (Ipp32fc*)m_pDelay))

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人免费av在线| 国产亚洲一区二区三区四区| 欧美大白屁股肥臀xxxxxx| 国产精品久久久久久久久免费樱桃| 亚洲超碰精品一区二区| 成人性生交大片免费看视频在线| 欧美一区在线视频| 一区二区三区色| 成人一级片网址| 亚洲精品一线二线三线无人区| 一区二区三区在线免费观看 | av在线不卡电影| 精品国精品自拍自在线| 亚洲大片精品永久免费| 色综合亚洲欧洲| 中文字幕一区二区三区不卡在线 | 欧美大白屁股肥臀xxxxxx| 亚洲国产精品视频| 色哟哟国产精品| 亚洲欧洲性图库| 成人激情校园春色| 日本一区二区三区四区在线视频 | 日韩精品亚洲一区二区三区免费| 色综合久久久久久久久久久| 欧美激情一区三区| 国产精品亚洲人在线观看| 精品国产电影一区二区| 午夜精品久久久久久久99水蜜桃| 精品视频资源站| 亚洲伊人色欲综合网| 欧美影片第一页| 亚洲专区一二三| 欧美日韩一区二区三区不卡| 亚洲午夜在线电影| 欧美日韩精品一区二区| 亚洲国产日韩一区二区| 欧美日韩一级大片网址| 日韩精品欧美精品| 日韩精品影音先锋| 国产一区福利在线| 国产清纯在线一区二区www| 国产在线播放一区| 国产精品热久久久久夜色精品三区| 成人中文字幕在线| 亚洲日穴在线视频| 色哟哟国产精品| 首页国产欧美久久| 久久这里只精品最新地址| 成人一区二区三区视频在线观看 | 91麻豆成人久久精品二区三区| 亚洲欧美日韩一区二区 | 国产精品欧美精品| 91女人视频在线观看| 亚洲精品中文在线观看| 欧美人与性动xxxx| 国产尤物一区二区| 1024国产精品| 91麻豆精品国产91久久久 | 日韩av网站在线观看| wwwwxxxxx欧美| 91在线视频官网| 青椒成人免费视频| 中文在线资源观看网站视频免费不卡| 波多野结衣精品在线| 五月天欧美精品| 国产欧美一区二区精品仙草咪| 一本色道久久加勒比精品 | 国产亚洲自拍一区| 91国模大尺度私拍在线视频| 久久精品国产色蜜蜜麻豆| 中文字幕一区二区三中文字幕| 欧美精品久久一区| 成人激情校园春色| 青青草国产成人99久久| 1024成人网色www| 精品国产成人系列| 在线免费观看一区| 国产很黄免费观看久久| 天堂在线亚洲视频| 亚洲欧洲精品天堂一级| 精品少妇一区二区三区日产乱码 | 成人免费黄色在线| 美女高潮久久久| 亚洲精品乱码久久久久久黑人| 91精品国产日韩91久久久久久| 国产精品白丝jk白祙喷水网站| 亚洲国产精品影院| 中文字幕中文字幕一区二区| 欧美成人video| 欧美性极品少妇| 91小视频在线观看| 国产毛片精品视频| 免费久久精品视频| 婷婷激情综合网| 亚洲午夜激情av| 成人欧美一区二区三区小说| 国产欧美精品一区aⅴ影院| 日韩欧美一卡二卡| 91精品国产入口| 欧美日韩国产高清一区二区 | 亚洲一区二区在线观看视频| 国产精品女主播av| 久久久久久免费网| 欧美v国产在线一区二区三区| 欧美唯美清纯偷拍| 91精彩视频在线| 91久久免费观看| 一本色道**综合亚洲精品蜜桃冫| 成人激情免费网站| 成人国产亚洲欧美成人综合网| 国产电影精品久久禁18| 国产成人精品免费一区二区| 国产精品小仙女| 成人黄色777网| 97成人超碰视| 色国产综合视频| 欧美在线视频全部完| 欧美日韩精品一区二区三区四区| 欧美日韩一区二区三区四区五区| 欧美丝袜丝nylons| 3d成人动漫网站| 日韩免费电影网站| 久久精品亚洲精品国产欧美kt∨ | 精品久久人人做人人爰| 精品99一区二区| 欧美国产日韩在线观看| 国产精品对白交换视频| 亚洲精选一二三| 日韩有码一区二区三区| 国产在线精品一区二区不卡了 | 国产乱码精品一区二区三区五月婷| 美女精品自拍一二三四| 国产福利不卡视频| 成人动漫av在线| 在线观看亚洲a| 日韩欧美精品三级| 国产三级精品在线| 尤物av一区二区| 另类欧美日韩国产在线| 国产高清精品久久久久| 91网站在线播放| 欧美久久高跟鞋激| 久久综合色天天久久综合图片| 久久美女艺术照精彩视频福利播放| 国产精品国产三级国产aⅴ入口 | 国产精品毛片无遮挡高清| 一级做a爱片久久| 美女国产一区二区| 91无套直看片红桃| 日韩精品在线看片z| 最新高清无码专区| 日本不卡不码高清免费观看| www.欧美色图| 欧美一卡2卡3卡4卡| 中文字幕日韩欧美一区二区三区| 亚洲国产精品久久久男人的天堂| 国产在线播放一区二区三区| 91成人看片片| 欧美激情在线观看视频免费| 三级欧美韩日大片在线看| 成人av中文字幕| 日韩午夜av电影| 亚洲五码中文字幕| 国产成人免费在线| 日韩一区二区三区视频在线观看| 亚洲免费观看高清完整版在线| 久久99热这里只有精品| 欧美色精品在线视频| 国产日产欧美精品一区二区三区| 丝袜亚洲另类欧美综合| 91麻豆免费观看| 亚洲国产成人在线| 麻豆精品视频在线观看| 欧美亚洲国产怡红院影院| 欧美国产日韩a欧美在线观看| 免费观看在线色综合| 精品视频在线免费看| 亚洲精品中文字幕在线观看| 成人激情视频网站| 国产亚洲欧洲997久久综合 | 亚洲国产va精品久久久不卡综合 | 中文字幕中文字幕一区二区| 精品一区二区三区久久| 欧美日韩久久久一区| 亚洲综合在线视频| 色伊人久久综合中文字幕| 17c精品麻豆一区二区免费| 成人免费视频视频在线观看免费| 欧美电影免费观看高清完整版在 | 亚洲风情在线资源站| 99在线视频精品| 中文字幕一区av| www.成人在线| 亚洲综合丁香婷婷六月香| 成人久久18免费网站麻豆 | 亚洲图片欧美视频| 色老汉av一区二区三区| 一区二区三区在线观看视频| 91丨porny丨最新| 亚洲青青青在线视频|