ref: 40499425d7189ec3a093b8b8e7e330074d0c9283
parent: 830e9c94b4693a65a69cae7e81952bc2c6ba66b4
author: menno <menno>
date: Wed Jan 12 08:08:36 EST 2000
Cleanup
--- a/imdct.c
+++ b/imdct.c
@@ -89,6 +89,7 @@
break;
}
}
+
#define MAX_SHIFT_LEN_LONG 4096
/* %%%%%%%%%%%%%%%%% MDCT - STUFF %%%%%%%%%%%%%%%% */
@@ -99,312 +100,254 @@
MDCT(out_data, len);
}
-void buffer2freq(
- double p_in_data[],
- double p_out_mdct[],
- double p_overlap[],
- enum WINDOW_TYPE block_type,
- Window_shape wfun_select, /* offers the possibility to select different window functions */
- int nlong, /* shift length for long windows */
- int nmed, /* shift length for medium windows */
- int nshort, /* shift length for short windows */
- Mdct_in overlap_select /* YT 970615 for son_PP */
-)
+void buffer2freq(double p_in_data[],
+ double p_out_mdct[],
+ double p_overlap[],
+ enum WINDOW_TYPE block_type,
+ Window_shape wfun_select, /* offers the possibility to select different window functions */
+ int nlong, /* shift length for long windows */
+ int nmed, /* shift length for medium windows */
+ int nshort, /* shift length for short windows */
+ Mdct_in overlap_select /* YT 970615 for son_PP */
+ )
{
- double transf_buf[ 2*MAX_SHIFT_LEN_LONG ];
- double windowed_buf[ 2*MAX_SHIFT_LEN_LONG ];
- double *p_o_buf;
- int k;
+ double transf_buf[ 2*MAX_SHIFT_LEN_LONG ];
+ double windowed_buf[ 2*MAX_SHIFT_LEN_LONG ];
+ double *p_o_buf;
+ int k;
- double window_long[MAX_SHIFT_LEN_LONG];
- double window_long_prev[MAX_SHIFT_LEN_LONG];
- double window_med[MAX_SHIFT_LEN_LONG];
- double window_med_prev[MAX_SHIFT_LEN_LONG];
- double window_short[MAX_SHIFT_LEN_LONG];
- double window_short_prev[MAX_SHIFT_LEN_LONG];
- double *window_short_prev_ptr;
+ double window_long[MAX_SHIFT_LEN_LONG];
+ double window_long_prev[MAX_SHIFT_LEN_LONG];
+ double window_short[MAX_SHIFT_LEN_LONG];
+ double window_short_prev[MAX_SHIFT_LEN_LONG];
+ double *window_short_prev_ptr;
- int nflat_ls = (nlong-nshort)/ 2;
- int transfak_ls = nlong/nshort;
- int nflat_lm = (nlong-nmed) / 2;
- int transfak_lm = nlong/nmed;
- int nflat_ms = (nmed-nshort) / 2;
- int transfak_ms = nmed/nshort;
-
- static Window_shape wfun_select_prev=WS_FHG;
- static int firstTime=1;
- window_short_prev_ptr = window_short_prev ;
+ int nflat_ls = (nlong-nshort)/ 2;
+ int transfak_ls = nlong/nshort;
+ int nflat_ms = (nmed-nshort) / 2;
+ int transfak_ms = nmed/nshort;
+
+ static Window_shape wfun_select_prev=WS_FHG;
+ static int firstTime=1;
+ window_short_prev_ptr = window_short_prev ;
+ calc_window( window_long, nlong, wfun_select );
+ calc_window( window_long_prev, nlong, wfun_select_prev );
+ calc_window( window_short, nshort, wfun_select );
+ calc_window( window_short_prev, nshort, wfun_select_prev );
+
+ /* create / shift old values */
+ /* We use p_overlap here as buffer holding the last frame time signal*/
+ /* YT 970615 for son_pp */
+ if(overlap_select != MNON_OVERLAPPED){
+ if (firstTime){
+ firstTime=0;
+ vcopy( &zero, transf_buf, 0, 1, nlong );
+ }
+ else
+ vcopy( p_overlap, transf_buf, 1, 1, nlong );
-// if( (nlong%nshort) || (nlong > MAX_SHIFT_LEN_LONG) || (nshort > MAX_SHIFT_LEN_LONG/2) ) {
-// CommonExit( 1, "mdct_analysis: Problem with window length" ); }
-// if( (nlong%nmed) || (nmed%nshort) || (nmed > MAX_SHIFT_LEN_LONG/2) ) {
-// CommonExit( 1, "mdct_analysis: Problem with window length" ); }
-// if( transfak_lm%2 ) {
-// CommonExit( 1, "mdct_analysis: Problem with window length" ); }
-
- /* --- PATCH: Use WS_FHG window shape if we start with SHORT windows --- */
- if (block_type==LONG_SHORT_WINDOW || block_type==ONLY_SHORT_WINDOW ){
- wfun_select=WS_FHG; }
- /* --- PATCH End --- */
- calc_window( window_long, nlong, wfun_select );
- calc_window( window_long_prev, nlong, wfun_select_prev );
- calc_window( window_med, nmed, wfun_select );
- calc_window( window_med_prev, nmed, wfun_select_prev );
- calc_window( window_short, nshort, wfun_select );
- calc_window( window_short_prev, nshort, wfun_select_prev );
-
- /* create / shift old values */
- /* We use p_overlap here as buffer holding the last frame time signal*/
-/* YT 970615 for son_pp */
-if(overlap_select != MNON_OVERLAPPED){
- if (firstTime){
- firstTime=0;
- vcopy( &zero, transf_buf, 0, 1, nlong );
- }
- else
- vcopy( p_overlap, transf_buf, 1, 1, nlong );
+ /* Append new data */
+ vcopy( p_in_data, transf_buf+nlong, 1, 1, nlong );
+ vcopy( p_in_data, p_overlap, 1, 1, nlong );
+ }
+ else{
+ vcopy( p_in_data, transf_buf, 1, 1, 2*nlong );
+ }
- /* Append new data */
- vcopy( p_in_data, transf_buf+nlong, 1, 1, nlong );
- vcopy( p_in_data, p_overlap, 1, 1, nlong );
-}
-else{
- vcopy( p_in_data, transf_buf, 1, 1, 2*nlong );
-}
+ /* Set ptr to transf-Buffer */
+ p_o_buf = transf_buf;
+
+
+ /* Separate action for each Block Type */
+ switch( block_type ) {
+ case ONLY_LONG_WINDOW :
+ vmult1( p_o_buf, window_long_prev, windowed_buf, nlong );
+ vmult2( p_o_buf+nlong, window_long+nlong-1, windowed_buf+nlong, nlong );
+ mdct( windowed_buf, p_out_mdct, 2*nlong );
+ break;
+
+ case LONG_SHORT_WINDOW :
+ vmult1( p_o_buf, window_long_prev, windowed_buf, nlong );
+ vcopy( p_o_buf+nlong, windowed_buf+nlong, 1, 1, nflat_ls );
+ vmult2( p_o_buf+nlong+nflat_ls, window_short+nshort-1, windowed_buf+nlong+nflat_ls, nshort );
+ vcopy( &zero, windowed_buf+2*nlong-1, 0, -1, nflat_ls );
+ mdct( windowed_buf, p_out_mdct, 2*nlong );
+ break;
- /* Set ptr to transf-Buffer */
- p_o_buf = transf_buf;
-
-
- /* Separate action for each Block Type */
- switch( block_type ) {
- case ONLY_LONG_WINDOW :
- vmult1( p_o_buf, window_long_prev, windowed_buf, nlong );
- vmult2( p_o_buf+nlong, window_long+nlong-1, windowed_buf+nlong, nlong );
- mdct( windowed_buf, p_out_mdct, 2*nlong );
- break;
-
- case LONG_SHORT_WINDOW :
- vmult1( p_o_buf, window_long_prev, windowed_buf, nlong );
- vcopy( p_o_buf+nlong, windowed_buf+nlong, 1, 1, nflat_ls );
- vmult2( p_o_buf+nlong+nflat_ls, window_short+nshort-1, windowed_buf+nlong+nflat_ls, nshort );
- vcopy( &zero, windowed_buf+2*nlong-1, 0, -1, nflat_ls );
- mdct( windowed_buf, p_out_mdct, 2*nlong );
- break;
+ case SHORT_LONG_WINDOW :
+ vcopy( &zero, windowed_buf, 0, 1, nflat_ls );
+ vmult1( p_o_buf+nflat_ls, window_short_prev_ptr, windowed_buf+nflat_ls, nshort );
+ vcopy( p_o_buf+nflat_ls+nshort, windowed_buf+nflat_ls+nshort, 1, 1, nflat_ls );
+ vmult2( p_o_buf+nlong, window_long+nlong-1, windowed_buf+nlong, nlong );
+ mdct( windowed_buf, p_out_mdct, 2*nlong );
+ break;
- case SHORT_LONG_WINDOW :
- vcopy( &zero, windowed_buf, 0, 1, nflat_ls );
- vmult1( p_o_buf+nflat_ls, window_short_prev_ptr, windowed_buf+nflat_ls, nshort );
- vcopy( p_o_buf+nflat_ls+nshort, windowed_buf+nflat_ls+nshort, 1, 1, nflat_ls );
- vmult2( p_o_buf+nlong, window_long+nlong-1, windowed_buf+nlong, nlong );
- mdct( windowed_buf, p_out_mdct, 2*nlong );
- break;
+ case ONLY_SHORT_WINDOW :
+ if(overlap_select != MNON_OVERLAPPED){ /* YT 970615 for sonPP */
+ p_o_buf += nflat_ls;
+ }
+ for (k=transfak_ls-1; k-->=0; ) {
+ vmult1( p_o_buf, window_short_prev_ptr, windowed_buf, nshort );
+ vmult2( p_o_buf+nshort, window_short+nshort-1, windowed_buf+nshort, nshort );
+ mdct( windowed_buf, p_out_mdct, 2*nshort );
- case ONLY_SHORT_WINDOW :
- if(overlap_select != MNON_OVERLAPPED){ /* YT 970615 for sonPP */
- p_o_buf += nflat_ls;
+ p_out_mdct += nshort;
+ /* YT 970615 for sonPP*/
+ if(overlap_select != MNON_OVERLAPPED) p_o_buf += nshort;
+ else p_o_buf += 2*nshort;
+ window_short_prev_ptr = window_short;
+ }
+ break;
}
- for (k=transfak_ls-1; k-->=0; ) {
- vmult1( p_o_buf, window_short_prev_ptr, windowed_buf, nshort );
- vmult2( p_o_buf+nshort, window_short+nshort-1, windowed_buf+nshort, nshort );
- mdct( windowed_buf, p_out_mdct, 2*nshort );
- p_out_mdct += nshort;
- /* YT 970615 for sonPP*/
- if(overlap_select != MNON_OVERLAPPED) p_o_buf += nshort;
- else p_o_buf += 2*nshort;
- window_short_prev_ptr = window_short;
- }
- break;
- default :
- break;
-// CommonExit( 1, "mdct_synthesis: Unknown window type" );
- }
-
- /* Set output data
- vcopy(transf_buf, p_out_mdct,1, 1, nlong); */
-
- /* --- Save old window shape --- */
- wfun_select_prev = wfun_select;
+ /* --- Save old window shape --- */
+ wfun_select_prev = wfun_select;
}
void imdct(double in_data[], double out_data[], int len)
{
- vcopy(in_data, out_data, 1, 1, len/2);
- IMDCT(out_data, len);
+ vcopy(in_data, out_data, 1, 1, len/2);
+ IMDCT(out_data, len);
}
-void freq2buffer(
- double p_in_data[],
- double p_out_data[],
- double p_overlap[],
- enum WINDOW_TYPE block_type,
- int nlong, /* shift length for long windows */
- int nmed, /* shift length for medium windows */
- int nshort, /* shift length for short windows */
- Window_shape wfun_select, /* offers the possibility to select different window functions */
- Mdct_in overlap_select /* select imdct output *TK* */
- /* switch (overlap_select) { */
- /* case OVERLAPPED: */
- /* p_out_data[] */
- /* = overlapped and added signal */
- /* (bufferlength: nlong) */
- /* case MNON_OVERLAPPED: */
- /* p_out_data[] */
- /* = non overlapped signal */
- /* (bufferlength: 2*nlong) */
- )
+void freq2buffer(double p_in_data[],
+ double p_out_data[],
+ double p_overlap[],
+ enum WINDOW_TYPE block_type,
+ int nlong, /* shift length for long windows */
+ int nmed, /* shift length for medium windows */
+ int nshort, /* shift length for short windows */
+ Window_shape wfun_select, /* offers the possibility to select different window functions */
+ Mdct_in overlap_select /* select imdct output *TK* */
+ /* switch (overlap_select) { */
+ /* case OVERLAPPED: */
+ /* p_out_data[] */
+ /* = overlapped and added signal */
+ /* (bufferlength: nlong) */
+ /* case MNON_OVERLAPPED: */
+ /* p_out_data[] */
+ /* = non overlapped signal */
+ /* (bufferlength: 2*nlong) */
+ )
{
- double *o_buf, transf_buf[ 2*MAX_SHIFT_LEN_LONG ];
- double overlap_buf[ 2*MAX_SHIFT_LEN_LONG ];
-
- double window_long[MAX_SHIFT_LEN_LONG];
- double window_long_prev[MAX_SHIFT_LEN_LONG];
- double window_med[MAX_SHIFT_LEN_LONG];
- double window_med_prev[MAX_SHIFT_LEN_LONG];
- double window_short[MAX_SHIFT_LEN_LONG];
- double window_short_prev[MAX_SHIFT_LEN_LONG];
- double *window_short_prev_ptr;
-
- double *fp;
- int k;
-
- int nflat_ls = (nlong-nshort)/ 2;
- int transfak_ls = nlong/nshort;
- int nflat_lm = (nlong-nmed) / 2;
- int transfak_lm = nlong/nmed;
- int nflat_ms = (nmed-nshort) / 2;
- int transfak_ms = nmed/nshort;
-
- static Window_shape wfun_select_prev=WS_FHG;
- window_short_prev_ptr=window_short_prev ;
+ double *o_buf, transf_buf[ 2*MAX_SHIFT_LEN_LONG ];
+ double overlap_buf[ 2*MAX_SHIFT_LEN_LONG ];
+
+ double window_long[MAX_SHIFT_LEN_LONG];
+ double window_long_prev[MAX_SHIFT_LEN_LONG];
+ double window_short[MAX_SHIFT_LEN_LONG];
+ double window_short_prev[MAX_SHIFT_LEN_LONG];
+ double *window_short_prev_ptr;
+
+ double *fp;
+ int k;
+
+ int nflat_ls = (nlong-nshort)/ 2;
+ int transfak_ls = nlong/nshort;
+ int nflat_ms = (nmed-nshort) / 2;
+ int transfak_ms = nmed/nshort;
+
+ static Window_shape wfun_select_prev=WS_FHG;
+ window_short_prev_ptr=window_short_prev ;
+ calc_window( window_long, nlong, wfun_select );
+ calc_window( window_long_prev, nlong, wfun_select_prev );
+ calc_window( window_short, nshort, wfun_select );
+ calc_window( window_short_prev_ptr, nshort, wfun_select_prev );
+
+
+ /* Assemble overlap buffer */
+ vcopy( p_overlap, overlap_buf, 1, 1, nlong );
+ o_buf = overlap_buf;
+
- if( (nlong%nshort) || (nlong > MAX_SHIFT_LEN_LONG) || (nshort > MAX_SHIFT_LEN_LONG/2) ) {
-// CommonExit( 1, "mdct_synthesis: Problem with window length" );
- }
- if( (nlong%nmed) || (nmed%nshort) || (nmed > MAX_SHIFT_LEN_LONG/2) ) {
-// CommonExit( 1, "mdct_synthesis: Problem with window length" );
- }
- if( transfak_lm%2 ) {
-// CommonExit( 1, "mdct_synthesis: Problem with window length" );
- }
+ /* Separate action for each Block Type */
+ switch( block_type ) {
+ case ONLY_LONG_WINDOW :
+ imdct( p_in_data, transf_buf, 2*nlong );
+ vmult1( transf_buf, window_long_prev, transf_buf, nlong );
+ if (overlap_select != MNON_OVERLAPPED) {
+ vadd( transf_buf, o_buf, o_buf, 1, 1, 1, nlong );
+ vmult2( transf_buf+nlong, window_long+nlong-1, o_buf+nlong, nlong );
+ }
+ else { /* overlap_select == NON_OVERLAPPED */
+ vmult2( transf_buf+nlong, window_long+nlong-1, transf_buf+nlong, nlong );
+ }
+ break;
+
+ case LONG_SHORT_WINDOW :
+ imdct( p_in_data, transf_buf, 2*nlong );
+ vmult1( transf_buf, window_long_prev, transf_buf, nlong );
+ if (overlap_select != MNON_OVERLAPPED) {
+ vadd( transf_buf, o_buf, o_buf, 1, 1, 1, nlong );
+ vcopy( transf_buf+nlong, o_buf+nlong, 1, 1, nflat_ls );
+ vmult2( transf_buf+nlong+nflat_ls, window_short+nshort-1, o_buf+nlong+nflat_ls, nshort );
+ vcopy( &zero, o_buf+2*nlong-1, 0, -1, nflat_ls );
+ }
+ else { /* overlap_select == NON_OVERLAPPED */
+ vmult2( transf_buf+nlong+nflat_ls, window_short+nshort-1, transf_buf+nlong+nflat_ls, nshort );
+ vcopy( &zero, transf_buf+2*nlong-1, 0, -1, nflat_ls );
+ }
+ break;
+
+ case SHORT_LONG_WINDOW :
+ imdct( p_in_data, transf_buf, 2*nlong );
+ vmult1( transf_buf+nflat_ls, window_short_prev_ptr, transf_buf+nflat_ls, nshort );
+ if (overlap_select != MNON_OVERLAPPED) {
+ vadd( transf_buf+nflat_ls, o_buf+nflat_ls, o_buf+nflat_ls, 1, 1, 1, nshort );
+ vcopy( transf_buf+nflat_ls+nshort, o_buf+nflat_ls+nshort, 1, 1, nflat_ls );
+ vmult2( transf_buf+nlong, window_long+nlong-1, o_buf+nlong, nlong );
+ }
+ else { /* overlap_select == NON_OVERLAPPED */
+ vcopy( &zero, transf_buf, 0, 1, nflat_ls);
+ vmult2( transf_buf+nlong, window_long+nlong-1, transf_buf+nlong, nlong);
+ }
+ break;
+
+ case ONLY_SHORT_WINDOW :
+ if (overlap_select != MNON_OVERLAPPED) {
+ fp = o_buf + nflat_ls;
+ }
+ else { /* overlap_select == NON_OVERLAPPED */
+ fp = transf_buf;
+ }
+ for( k = transfak_ls-1; k-->= 0; ) {
+ if (overlap_select != MNON_OVERLAPPED) {
+ imdct( p_in_data, transf_buf, 2*nshort );
+ vmult1( transf_buf, window_short_prev_ptr, transf_buf, nshort );
+ vadd( transf_buf, fp, fp, 1, 1, 1, nshort );
+ vmult2( transf_buf+nshort, window_short+nshort-1, fp+nshort, nshort );
+ p_in_data += nshort;
+ fp += nshort;
+ window_short_prev_ptr = window_short;
+ }
+ else { /* overlap_select == NON_OVERLAPPED */
+ imdct( p_in_data, fp, 2*nshort );
+ vmult1( fp, window_short_prev_ptr, fp, nshort );
+ vmult2( fp+nshort, window_short+nshort-1, fp+nshort, nshort );
+ p_in_data += nshort;
+ fp += 2*nshort;
+ window_short_prev_ptr = window_short;
+ }
+ }
+ vcopy( &zero, o_buf+2*nlong-1, 0, -1, nflat_ls );
+ break;
+ }
+ if (overlap_select != MNON_OVERLAPPED) {
+ vcopy( o_buf, p_out_data, 1, 1, nlong );
+ }
+ else { /* overlap_select == NON_OVERLAPPED */
+ vcopy( transf_buf, p_out_data, 1, 1, 2*nlong );
+ }
+ /* save unused output data */
+ vcopy( o_buf+nlong, p_overlap, 1, 1, nlong );
- /* --- PATCH: Use WS_FHG window shape if we start
- with SHORT windows --- */
- if (block_type==LONG_SHORT_WINDOW ||
- block_type==ONLY_SHORT_WINDOW ){
- wfun_select=WS_FHG;
- }
- /* --- PATCH End --- */
-
- calc_window( window_long, nlong, wfun_select );
- calc_window( window_long_prev, nlong, wfun_select_prev );
- calc_window( window_med, nmed, wfun_select );
- calc_window( window_med_prev, nmed, wfun_select_prev );
- calc_window( window_short, nshort, wfun_select );
- calc_window( window_short_prev_ptr, nshort, wfun_select_prev );
-
-
- /* Assemble overlap buffer */
- vcopy( p_overlap, overlap_buf, 1, 1, nlong );
- o_buf = overlap_buf;
-
-
- /* Separate action for each Block Type */
- switch( block_type ) {
- case ONLY_LONG_WINDOW :
- imdct( p_in_data, transf_buf, 2*nlong );
- vmult1( transf_buf, window_long_prev, transf_buf, nlong );
- if (overlap_select != MNON_OVERLAPPED) {
- vadd( transf_buf, o_buf, o_buf, 1, 1, 1, nlong );
- vmult2( transf_buf+nlong, window_long+nlong-1, o_buf+nlong, nlong );
- }
- else { /* overlap_select == NON_OVERLAPPED */
- vmult2( transf_buf+nlong, window_long+nlong-1, transf_buf+nlong, nlong );
- }
-
- break;
-
- case LONG_SHORT_WINDOW :
- imdct( p_in_data, transf_buf, 2*nlong );
- vmult1( transf_buf, window_long_prev, transf_buf, nlong );
- if (overlap_select != MNON_OVERLAPPED) {
- vadd( transf_buf, o_buf, o_buf, 1, 1, 1, nlong );
- vcopy( transf_buf+nlong, o_buf+nlong, 1, 1, nflat_ls );
- vmult2( transf_buf+nlong+nflat_ls, window_short+nshort-1, o_buf+nlong+nflat_ls, nshort );
- vcopy( &zero, o_buf+2*nlong-1, 0, -1, nflat_ls );
- }
- else { /* overlap_select == NON_OVERLAPPED */
- vmult2( transf_buf+nlong+nflat_ls, window_short+nshort-1, transf_buf+nlong+nflat_ls, nshort );
- vcopy( &zero, transf_buf+2*nlong-1, 0, -1, nflat_ls );
- }
- break;
-
- case SHORT_LONG_WINDOW :
- imdct( p_in_data, transf_buf, 2*nlong );
- vmult1( transf_buf+nflat_ls, window_short_prev_ptr, transf_buf+nflat_ls, nshort );
- if (overlap_select != MNON_OVERLAPPED) {
- vadd( transf_buf+nflat_ls, o_buf+nflat_ls, o_buf+nflat_ls, 1, 1, 1, nshort );
- vcopy( transf_buf+nflat_ls+nshort, o_buf+nflat_ls+nshort, 1, 1, nflat_ls );
- vmult2( transf_buf+nlong, window_long+nlong-1, o_buf+nlong, nlong );
- }
- else { /* overlap_select == NON_OVERLAPPED */
- vcopy( &zero, transf_buf, 0, 1, nflat_ls);
- vmult2( transf_buf+nlong, window_long+nlong-1, transf_buf+nlong, nlong);
- }
- break;
-
- case ONLY_SHORT_WINDOW :
- if (overlap_select != MNON_OVERLAPPED) {
- fp = o_buf + nflat_ls;
- }
- else { /* overlap_select == NON_OVERLAPPED */
- fp = transf_buf;
- }
- for( k = transfak_ls-1; k-->= 0; ) {
- if (overlap_select != MNON_OVERLAPPED) {
- imdct( p_in_data, transf_buf, 2*nshort );
- vmult1( transf_buf, window_short_prev_ptr, transf_buf, nshort );
- vadd( transf_buf, fp, fp, 1, 1, 1, nshort );
- vmult2( transf_buf+nshort, window_short+nshort-1, fp+nshort, nshort );
- p_in_data += nshort;
- fp += nshort;
- window_short_prev_ptr = window_short;
- }
- else { /* overlap_select == NON_OVERLAPPED */
- imdct( p_in_data, fp, 2*nshort );
- vmult1( fp, window_short_prev_ptr, fp, nshort );
- vmult2( fp+nshort, window_short+nshort-1, fp+nshort, nshort );
- p_in_data += nshort;
- fp += 2*nshort;
- window_short_prev_ptr = window_short;
- }
- }
- vcopy( &zero, o_buf+2*nlong-1, 0, -1, nflat_ls );
- break;
- default :
- break;
- //CommonExit( 1, "mdct_synthesis: Unknown window type" );
- }
-
- if (overlap_select != MNON_OVERLAPPED) {
- vcopy( o_buf, p_out_data, 1, 1, nlong );
- }
- else { /* overlap_select == NON_OVERLAPPED */
- vcopy( transf_buf, p_out_data, 1, 1, 2*nlong );
- }
-
- /* save unused output data */
- vcopy( o_buf+nlong, p_overlap, 1, 1, nlong );
-
- /* --- Save old window shape --- */
- wfun_select_prev = wfun_select;
-
-}
+ /* --- Save old window shape --- */
+ wfun_select_prev = wfun_select;
+}
/***********************************************************************************************/