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

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

?? runfird.cpp

?? Intel開發(fā)的IPP庫的應用例程
?? 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毛片久久久久**hd| 91精品国产综合久久国产大片| 国产日韩三级在线| 日本欧美一区二区| 91网站最新网址| 日本一区二区三区电影| 久久99蜜桃精品| 欧美日韩dvd在线观看| 亚洲精品国产高清久久伦理二区| 国产精品69毛片高清亚洲| 欧美视频一区二区在线观看| 国产精品欧美精品| 国产一区欧美日韩| 精品乱人伦一区二区三区| 亚洲图片有声小说| 在线亚洲免费视频| 亚洲精品伦理在线| 色婷婷综合久久久久中文一区二区 | 不卡区在线中文字幕| 久久综合资源网| 蜜桃av一区二区三区电影| 欧美调教femdomvk| 亚洲一区免费观看| 欧美日韩精品二区第二页| 一区二区三区在线观看网站| 91社区在线播放| 综合激情网...| 99国内精品久久| 亚洲精品成人悠悠色影视| 成人黄色在线视频| 亚洲日本成人在线观看| 99re8在线精品视频免费播放| 国产精品国产自产拍高清av| 成人污污视频在线观看| 国产精品美女久久久久久久久久久 | 国产91精品露脸国语对白| 2021久久国产精品不只是精品| 狠狠色丁香久久婷婷综| 久久美女高清视频| a4yy欧美一区二区三区| 一区二区三区加勒比av| 欧美色男人天堂| 麻豆一区二区99久久久久| 日韩精品资源二区在线| 国产成人午夜99999| 亚洲日本在线视频观看| 欧美亚洲丝袜传媒另类| 美女视频黄 久久| 国产欧美综合在线| 日本高清不卡在线观看| 日本一不卡视频| 久久蜜桃一区二区| 91麻豆免费在线观看| 丝袜脚交一区二区| 久久久国产精华| 欧美怡红院视频| 久久66热偷产精品| 综合久久国产九一剧情麻豆| 欧美一区二区视频在线观看 | 久久国产尿小便嘘嘘尿| 欧美激情一区二区三区| 欧美日韩成人综合天天影院| 国产一区二区久久| 亚洲国产精品久久人人爱| 精品国产免费一区二区三区香蕉| av电影在线观看一区| 美女视频黄 久久| 亚洲免费电影在线| 亚洲精品一区二区三区在线观看 | 午夜久久电影网| 精品国产一区二区三区久久影院| 99国产精品国产精品久久| 男人的天堂亚洲一区| 亚洲天堂2016| 精品国产一区二区精华| 欧美午夜免费电影| 成人黄色777网| 免费视频最近日韩| 亚洲一级二级在线| 中文字幕在线一区| 精品成人一区二区| 欧美婷婷六月丁香综合色| 成人毛片在线观看| 精品亚洲porn| 日韩精品一区第一页| 亚洲精品国产精品乱码不99| 国产日韩av一区| 精品捆绑美女sm三区| 欧美日韩国产精品自在自线| 99久久国产综合精品女不卡| 国产高清亚洲一区| 美国十次了思思久久精品导航| 亚洲国产精品久久人人爱| 亚洲欧美日韩精品久久久久| 国产视频不卡一区| 精品国产伦一区二区三区观看方式 | 91精品国产一区二区| 色天天综合色天天久久| av高清不卡在线| 成人精品在线视频观看| 国产传媒久久文化传媒| 激情五月播播久久久精品| 日韩激情视频在线观看| 亚洲国产精品久久一线不卡| 亚洲一区二区偷拍精品| 一区二区视频在线| 亚洲宅男天堂在线观看无病毒| 国产精品免费视频网站| 国产精品美女久久久久久久| 国产精品视频一二| 中文字幕中文字幕一区| 亚洲国产成人一区二区三区| 久久精品视频在线看| 久久久久久久久免费| 久久久精品蜜桃| 日本一区二区成人| 一色桃子久久精品亚洲| 亚洲精品五月天| 一区二区三区日韩精品| 亚洲一区二区在线观看视频| 五月天精品一区二区三区| 五月天激情综合网| 蜜桃一区二区三区在线观看| 国产主播一区二区三区| 国产激情一区二区三区| thepron国产精品| 欧美在线免费观看亚洲| 91精品国产综合久久福利软件| 欧美xxxxx牲另类人与| 国产拍揄自揄精品视频麻豆| 亚洲人123区| 日本午夜精品视频在线观看| 国产精品一区二区久久不卡| aaa欧美色吧激情视频| 色999日韩国产欧美一区二区| 欧美剧情片在线观看| 久久综合久久久久88| 亚洲欧洲无码一区二区三区| 午夜婷婷国产麻豆精品| 九色|91porny| eeuss鲁片一区二区三区| 欧美特级限制片免费在线观看| 欧美成人一区二区三区| 中文字幕制服丝袜成人av | 亚洲精品国产无天堂网2021| 日韩av网站免费在线| 国产一区二区三区视频在线播放| 99在线精品一区二区三区| 欧美日韩国产一区| 久久综合色之久久综合| 一区二区三区免费观看| 国产一区免费电影| 欧美性色欧美a在线播放| 久久综合资源网| 一区二区激情小说| 经典三级在线一区| 欧美日韩国产一级片| 国产精品三级av| 久久99久久99小草精品免视看| 成人av电影在线网| 精品日韩成人av| 亚洲永久精品国产| 丰满放荡岳乱妇91ww| 日韩欧美自拍偷拍| 亚洲伊人伊色伊影伊综合网| 成人免费视频播放| 精品久久国产老人久久综合| 亚洲福利视频一区二区| 成人看片黄a免费看在线| 日韩一本二本av| 亚洲国产乱码最新视频| 91碰在线视频| 国产精品天天摸av网| 久久99在线观看| 日韩午夜三级在线| 五月天欧美精品| 欧美日韩色一区| 一区二区三区四区激情| 成人三级在线视频| 久久精品一区二区三区四区| 美女视频一区二区三区| 欧美色综合天天久久综合精品| 亚洲欧洲另类国产综合| 国产精品18久久久久久久久| 久久综合九色综合97婷婷女人| 蜜臀久久99精品久久久画质超高清 | 日本高清视频一区二区| 亚洲日本在线视频观看| 99久久99久久免费精品蜜臀| 国产精品久久久久婷婷二区次| 国产九色精品成人porny| 久久久影院官网| 国产精品一区三区| 国产精品视频线看| 99re6这里只有精品视频在线观看| 亚洲国产精品ⅴa在线观看| 成人午夜视频免费看| 国产精品久久久久久久第一福利|