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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? student.cpp

?? PCM逐次比較法編碼譯碼,CVSD編碼譯碼
?? CPP
字號(hào):
//#ifdef __cplusplus
//extern "C" {
//#endif
/*==================================================================================================
Module Name: Student.cpp
General Description: Student write these functions
====================================================================================================
Semit 
(c) Copyright SEMIT 2002, All Rights Reserved
Revision History:
Modification Tracking
------------------------- ------------ ---------- -------------------------------------------
Author         Date       Number      Description of Changes
------------------------- ------------ ----------------------------------------
Semit        08/5/2002    Unknown      A-Law PCM  and CVSD encode and decode functions
====================================================================================================
INCLUDE FILES
==================================================================================================*/
#include <stdafx.h>
#include <math.h>
#include "Student.h"

/*==================================================================================================
LOCAL TYPEDEFS (STRUCTURES, UNIONS, ENUMS)
==================================================================================================*/

/*==================================================================================================
LOCAL VARIABLES
==================================================================================================*/
static STUDENT_CVSD Student_CVSD;
/*==================================================================================================
 *                     GLOBAL FUNCTIONS                                                             
/*==================================================================================================
FUNCTION: PCM_StudentAlawEncode
DESCRIPTION: 
    This function is A-Law PCM encode function
ARGUMENTS PASSED:
    InputValue:  The inputed sample value , the range is -2047 ~ +2047
RETURN VALUE:
    The 8-bits encoded value
PRE-CONDITIONS:
    None
POST-CONDITIONS:
    None
IMPORTANT NOTES:  
==================================================================================================*/
extern unsigned char PCM_StudentAlawEncode(int InputValue) 
{
	unsigned char OutputValue = 0x0;
    /*****************PCM Encode by S.C.H.*********************************************/
	unsigned char s,k,seg,high=0,low=0;
	int sv;
	if(InputValue>0)s=128;
	else s=0;
	InputValue=abs(InputValue);
	if(InputValue>=1024)high=112,sv=1024,k=64;  //判斷高三位
	else if(InputValue>=512)high=96,sv=512,k=32;
	     else if(InputValue>=256)high=80,sv=256,k=16;
		      else if(InputValue>=128)high=64,sv=128,k=8;
			       else if(InputValue>=64)high=48,sv=64,k=4;
				        else if(InputValue>=32)high=32,sv=32,k=2;
						     else if(InputValue>=16)high=16,sv=16,k=1;
							      else if(InputValue>=0)high=0,sv=0,k=1;
	if(InputValue>=sv+8*k)low=8;
	else if(InputValue>=sv+4*k)low=4;
	     else if(InputValue>=sv+2*k)low=2;
	          else if(InputValue>=sv+k)low=1;
	seg=low+1;
    switch(low) {                             //判斷低四位
    case 8:if(InputValue>=sv+seg*k){low++;seg++;}else break;
		   if(InputValue>=sv+seg*k){low++;seg++;}else break;
		   if(InputValue>=sv+seg*k){low++;seg++;}else break;
		   if(InputValue>=sv+seg*k){low++;seg++;}else break;
    case 4:if(InputValue>=sv+seg*k){low++;seg++;}else break;
		   if(InputValue>=sv+seg*k){low++;seg++;}else break;
	case 2:if(InputValue>=sv+seg*k){low++;}else break;
	case 1:break;
    default:break;
    }
	OutputValue=s+high+low;
    /*****************PCM Encode by S.C.H.*********************************************/
   return OutputValue;
}
/*==================================================================================================
FUNCTION: PCM_StudentAlawDecode
DESCRIPTION: 
    This function is A-Law PCM dencode function
ARGUMENTS PASSED:
    CodeValue:  The 8-bits encoded value 
RETURN VALUE:
    The decoded sample value 
PRE-CONDITIONS:
    None
POST-CONDITIONS:
    None
IMPORTANT NOTES:  
==================================================================================================*/
extern int PCM_StudentAlawDecode(unsigned char CodeValue)
{
	int DecodeValue = 0;

	/*****************PCM Decode by S.C.H.*********************************************/
	char k,s=-1;
	int sv;
	if(CodeValue>=128){s=1;CodeValue-=128;}
	if(CodeValue>=112)sv=1024,k=64;           //確定段起始電平及量化間隔
	else if(CodeValue>=96)sv=512,k=32;
	     else if(CodeValue>=80)sv=256,k=16;
		      else if(CodeValue>=64)sv=128,k=8;
			       else if(CodeValue>=48)sv=64,k=4;
				        else if(CodeValue>=32)sv=32,k=2;
						     else if(CodeValue>=16)sv=16,k=1;
							      else if(CodeValue>=0)sv=0,k=1;
    CodeValue=CodeValue&0x0f;
	DecodeValue=s*(sv+CodeValue*k);
	
    /*****************PCM Decode by S.C.H.*********************************************/

	return DecodeValue;
}
/*==================================================================================================
FUNCTION: CVSD_StudentEncode
DESCRIPTION: 
    This function is CVSD encode function
ARGUMENTS PASSED:
    Amplitude:   The sin wave amplitude , the range is 0 - 32767
	Frequency:   The sin wave frequency , the range is 4*1024 - 16* 1024
	SampleTimes: The times of sample , the range is 10 - 30

The sample value is computed as follows:
    Sample[i]  = Amplitude * sin(2 * PI * Frequency * (double)i /(double)(64*1024));

RETURN VALUE:
    The pointer to struct Student_CVSD, the member 'Encode' of the struct is the cvsd code.
PRE-CONDITIONS:
    None
POST-CONDITIONS:
    None
IMPORTANT NOTES:  
==================================================================================================*/
extern STUDENT_CVSD* CVSD_StudentEncode(int Amplitude, int SampleTimes, int Frequency)
{
    double Sample[30];
	int i;

	for(i = 0; i < SampleTimes; i ++){        /*64khz is the sample frequency*/
        Sample[i]  = Amplitude * sin(2 * PI * Frequency * (double)i /(double)(64*1024));
 	}

 	/*****************CVSD Encode by S.C.H.*********************************************/
	int y[30];
	double old1=0,old2=0,old3=0,dec[30];
	double g[30],k=0.96875,k0=0,dk=10,a=0.9990234375;
    g[0]=0,dec[0]=0;
	for(i=0;i<SampleTimes;i++)
	   {
         if(i)
		{
			
			 if(Sample[i]-g[i]>=0)y[i]=1;
			else y[i]=0;
			if((y[i]==old1) & (y[i]==old2) & (y[i]==old3))
			{
				if(y[i])
				{k0+=dk;}
			}
			else if((a*k0)<=10)k0=10;else k0*=a;
			if(y[i])dec[i]=g[i]+k0;
			else dec[i]=g[i]-k0;
			g[i+1]=dec[i]*k;
			old3=old2;
			old2=old1;
			old1=y[i];			
		}
		else
		{
			if(Sample[i]-g[i]>=0){y[i]=1;dec[i]=g[i]+k0;}else {y[i]=0;dec[i]=g[i]-k0;}
			g[i+1]=dec[i]*k;
		}

		
		Student_CVSD.Encode[i]=y[i];
	   }
    /*****************CVSD Encode by S.C.H.*********************************************/

   return &Student_CVSD;
}
/*==================================================================================================
FUNCTION: CVSD_StudentDecode
DESCRIPTION: 
    This function is CVSD decode function
ARGUMENTS PASSED:
    SampleTimes:  The times of sample
	Use the member 'Encode'of struct Student_CVSD
RETURN VALUE:
    The pointer to struct Student_CVSD, the member 'Decode' of the struct is the decoded value.
PRE-CONDITIONS:
    None
POST-CONDITIONS:
    None
IMPORTANT NOTES:  
==================================================================================================*/
extern STUDENT_CVSD* CVSD_StudentDecode(int SampleTimes)
{
    
	/*****************CVSD Decode by S.C.H.*********************************************/
    int i;
	int old1=0,old2=0,old3=0;
	double g[30],decode[30],k=0.96875,k0=0,dk=10,a=0.9990234375;
	g[0]=0;decode[0]=0;
    for(i=0;i<30;i++)
	{  
		if(i)
		{
			if((Student_CVSD.Encode[i]==old1) & (Student_CVSD.Encode[i]==old2) & (Student_CVSD.Encode[i]==old3))
			{
				if(Student_CVSD.Encode[i])
				{k0+=dk;}
			}
			else  if((a*k0)<=10)k0=10;else k0*=a;
			if(Student_CVSD.Encode[i])g[i]=decode[i]+k0;
			else g[i]=decode[i]-k0;
			old3=old2;
			old2=old1;
			old1=Student_CVSD.Encode[i];
			decode[i+1]=g[i]*k;
		}
		else {if(Student_CVSD.Encode[i])g[i+1]=decode[i]+k0;else g[i+1]=decode[i]-k0;decode[i+1]=g[i]*k;}
		Student_CVSD.Decode[i]=decode[i];
	}
	/*****************CVSD Decode by S.C.H.*********************************************/

    return &Student_CVSD;
}
/*===========================================================================================*/
//#ifdef __cplusplus
//}
//#endif

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人黄色片在线观看| 成人av在线一区二区三区| 欧美一区二视频| 青青草国产成人99久久| 2022国产精品视频| 成人综合日日夜夜| 尤物在线观看一区| 欧美巨大另类极品videosbest | 亚洲美女偷拍久久| 欧美日韩国产一区二区三区地区| 视频精品一区二区| 久久人人爽人人爽| 色域天天综合网| 免费看日韩精品| 国产精品伦一区| 欧美日韩精品是欧美日韩精品| 欧美影院一区二区| 免费看精品久久片| 国产精品高潮呻吟久久| 91麻豆精品国产| 在线观看一区不卡| 久久精品视频一区二区三区| 成人综合婷婷国产精品久久 | 成人毛片在线观看| 亚洲激情av在线| 日韩一区二区三区四区五区六区| 国产高清精品久久久久| 亚洲激情成人在线| 亚洲精品在线观| 97久久超碰精品国产| 日韩av二区在线播放| 欧美国产日本视频| 欧美日韩大陆一区二区| 丁香网亚洲国际| 丝袜美腿一区二区三区| 国产三级精品在线| 欧美日韩国产高清一区| 国产成+人+日韩+欧美+亚洲| 天天综合网 天天综合色| 国产欧美精品在线观看| 欧美男同性恋视频网站| 丁香婷婷深情五月亚洲| 天堂蜜桃91精品| 成人免费一区二区三区视频 | 成人丝袜18视频在线观看| 午夜精品爽啪视频| 中文成人综合网| 欧美一区二区三区视频| 欧美性生活影院| 椎名由奈av一区二区三区| 欧美日本免费一区二区三区| 国产九色精品成人porny| 一区二区三区.www| 久久久一区二区| 欧美日韩大陆一区二区| av色综合久久天堂av综合| 精品一区二区三区免费观看| 亚洲午夜久久久久久久久久久| 国产欧美精品一区二区色综合朱莉| 精品视频在线免费看| av午夜精品一区二区三区| 国产做a爰片久久毛片| 婷婷一区二区三区| 一区二区三区 在线观看视频| 免费高清视频精品| 亚洲一区av在线| 国产精品国产三级国产aⅴ原创| 日韩一区二区在线免费观看| 91福利国产成人精品照片| 粉嫩av一区二区三区| 激情综合色播五月| 日本欧美一区二区三区| 亚洲一卡二卡三卡四卡| 亚洲欧美日韩中文字幕一区二区三区 | 国产成人av自拍| 男女性色大片免费观看一区二区 | 久久激情五月婷婷| 欧美成人福利视频| 免费精品视频最新在线| av亚洲产国偷v产偷v自拍| 国产毛片一区二区| 男女男精品网站| 午夜电影网一区| 亚洲精品第1页| 中文字幕一区av| 国产精品卡一卡二| 国产日韩高清在线| 国产亚洲综合在线| 久久午夜电影网| 精品福利视频一区二区三区| 日韩三区在线观看| 3d动漫精品啪啪1区2区免费| 欧美日韩一级片在线观看| 色综合久久久久网| 色久优优欧美色久优优| 91小视频在线观看| 91在线porny国产在线看| 99热99精品| av不卡免费在线观看| 大白屁股一区二区视频| 国产夫妻精品视频| 国产成人综合亚洲网站| 国产精品一级在线| 国产成人免费视频网站高清观看视频 | 欧美欧美欧美欧美首页| 亚洲不卡在线观看| 91免费看视频| 国产女人18水真多18精品一级做| 欧美成人bangbros| 精品国产91洋老外米糕| 亚洲精品一区二区三区精华液| 日韩丝袜美女视频| 欧美r级电影在线观看| 亚洲精品一区二区三区在线观看| 久久亚洲二区三区| 国产人伦精品一区二区| 国产精品私人影院| 亚洲视频免费在线| 一二三区精品视频| 午夜精品福利在线| 麻豆精品视频在线观看| 国产精品自拍av| 波多野洁衣一区| 色欧美乱欧美15图片| 欧美三级日韩三级国产三级| 欧美一区二区免费| 精品1区2区在线观看| 欧美激情在线观看视频免费| 国产精品免费久久久久| 一区二区三区在线观看国产| 三级欧美韩日大片在线看| 久久精品理论片| 国产成人午夜视频| hitomi一区二区三区精品| 日本道色综合久久| 91精品国产高清一区二区三区 | 亚洲图片欧美视频| 日韩激情视频在线观看| 久久99精品国产麻豆婷婷洗澡| 国产精品一级在线| 日本精品一级二级| 日韩亚洲欧美在线| 一区二区三区免费观看| 亚洲国产精品自拍| 亚洲综合999| 美女视频免费一区| 成人精品小蝌蚪| 在线观看91精品国产入口| 日韩欧美一级片| 欧美国产精品一区| 亚洲国产一区视频| 韩国一区二区在线观看| 色综合色综合色综合色综合色综合| 欧美日韩三级视频| 国产欧美日韩不卡免费| 亚洲一区在线电影| 国模少妇一区二区三区| 色综合色狠狠综合色| 日韩美女视频一区二区在线观看| 国产精品久久久久久久第一福利| 五月综合激情婷婷六月色窝| 国产成人午夜精品影院观看视频| 色综合欧美在线视频区| 精品久久久久久久人人人人传媒| 中文字幕亚洲精品在线观看| 天堂精品中文字幕在线| 国产91精品在线观看| 欧美视频一区二区三区| 国产亚洲婷婷免费| 色婷婷综合久久久久中文一区二区| 91精品中文字幕一区二区三区| 欧美国产日产图区| 日产国产欧美视频一区精品| 99麻豆久久久国产精品免费| 日韩欧美国产午夜精品| 亚洲嫩草精品久久| 国产一区二区三区久久悠悠色av| 色av成人天堂桃色av| 久久亚洲二区三区| 丝袜诱惑制服诱惑色一区在线观看 | 亚洲v日本v欧美v久久精品| 国产揄拍国内精品对白| 欧美少妇xxx| 中文字幕中文字幕中文字幕亚洲无线| 色偷偷成人一区二区三区91| 久久久久久久综合日本| 国产精品视频在线看| 麻豆成人久久精品二区三区小说| 色久综合一二码| 亚洲国产精华液网站w| 美腿丝袜亚洲一区| 欧美亚洲日本一区| 国产精品国产三级国产普通话三级 | 日韩欧美不卡一区| 亚洲国产综合91精品麻豆| www.色综合.com| 久久久久久久久蜜桃| 免费高清成人在线| 精品视频免费看| 国产精品盗摄一区二区三区|