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

📄 frame.f

📁 lpc10-15为美军2400bps语音压缩标准的C语音源代码。
💻 F
字号:
************************************************************************	FRAME Version 54** $Log: frame.f,v $* Revision 1.3  1996/03/21  21:35:44  jaf* Determined which local variables should be saved from one invocation* to the next, and gave initial values to the ones that needed them.** Revision 1.2  1996/02/12  15:03:00  jaf* Added a few comments.  Nothing comprehensive.** Revision 1.1  1996/02/07 14:46:05  jaf* Initial revision**************************************************************************    Do whatever has to be done on a per frame basis:**   * Update frame and block counters**   * Set test data level of detail for particular frames:*     Level  Meaning*       -1     Vary detail level by frame *        0     No data file generated*        1     Processing statistics only*        2     Coded parameters for each frame*        3     Scalar variables and RC's*        4     Vectors and matrices*        5     Synthesis buffers*        6     Analysis buffers**   To use variable detail level, create a file 'TESTDATA.DAT' with lines*   containing < starting frame, ending frame, detail level > for each*   range of interest.  If ending frame = 0, the specified detail level*   will be used when not within any explicitly specified range.**       All of the things in here now are only for updating things*       related to printing debugging information.	SUBROUTINE FRAME()	INCLUDE 'contrl.fh'*       Parameters/constants	INTEGER LUNIT	PARAMETER (LUNIT=7)*       Local state*       Given that NFRAME is initialized to 0 before the first call, LL*       will always be initialized on the first call.*       *       In addition, if FRAME2 is initialized to any value .LE. NFRAME's*       value on the first call, then the code below is guaranteed to*       initialize FRAME1 and LNEXT before using their values.	INTEGER FRAME1, FRAME2, LSAVE, LNEXT, LL	SAVE FRAME1, FRAME2, LSAVE, LNEXT, LL	DATA FRAME2 /0/, LSAVE /0/*  Update frame counter	NFRAME = NFRAME + 1*   Set test data level of detail*       Note that the following condition is true exactly once, on the*       first call to FRAME.  Thus, LL is always initialized on the*       first call.	IF (NFRAME .LE. 1) THEN	    LL = LISTL	    IF (LL .LT. 0)     1          OPEN(UNIT=LUNIT, FILE='TESTDATA.DAT', STATUS='OLD')	END IF	IF (LL .LT. 0) THEN	    DO WHILE (NFRAME.GE.FRAME2)	        READ(LUNIT,*,END=1110) FRAME1, FRAME2, LNEXT	        LNEXT = MAX(LNEXT, 1)		LSAVE = MAX(LSAVE, 1)	        IF (FRAME2 .LE. 0) LSAVE = LNEXT	    END DO1110	    LISTL = LSAVE	    IF (NFRAME.GE.FRAME1 .AND. NFRAME.LE.FRAME2) LISTL = LNEXT	END IF	RETURN	END

⌨️ 快捷键说明

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