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

📄 stereo.c

📁 JPEG-MPEG編解碼技術書集的代碼
💻 C
字号:
#include "all.h"

void
synt(Info *info, byte *group, byte *mask, Float *right, Float *left)
{
    Float vrr, vrl, *r, *l;
    short *band;
    int i, n, nn, b, bb, nband;

    /*mask is grouped */
    bb = 0;
    for(b = 0; b < info->nsbk; ){
	nband = info->sfb_per_sbk[b];
	band = info->sbk_sfb_top[b];

	b = *group++;		/*b = index of last sbk in group */
	for(; bb < b; bb++){	/* bb = sbk index */
	    n = 0;
	    for(i = 0; i < nband; i++){
		nn = band[i];	/* band is offset table, nn is last coef in band */
		if(mask[i]){
		    r = right + n;
		    l = left + n;
		    for(; n < nn; n++){	/* n is coef index */
			vrr = *r;
			vrl = *l;
			*l = vrr + vrl;
			*r = vrl - vrr;
			r++;
			l++;
		    }
		}
		n = nn;
	    }
	    right += info->bins_per_sbk[bb];
	    left += info->bins_per_sbk[bb];

	}
	mask += info->sfb_per_sbk[bb-1];
    }
}


/* Map mask to intensity stereo signalling */
void
map_mask(Info *info, byte *group, byte *mask, byte *cb_map)
{
    int sfb, b, nband;

    /* mask goes by group */
    for (b = 0; b < info->nsbk; ) {
      nband = info->sfb_per_sbk[b];

      for (sfb = 0; sfb<nband; sfb++){
        if (mask[sfb]) {
          if (cb_map[sfb] == INTENSITY_HCB)  {
            cb_map[sfb] = INTENSITY_HCB2;
            mask[sfb] = 0;
          } else if (cb_map[sfb] == INTENSITY_HCB2)  {
            cb_map[sfb] = INTENSITY_HCB;
            mask[sfb] = 0;
          }
        }
      }

      mask += info->sfb_per_sbk[b];
      cb_map += info->sfb_per_sbk[b];
      b = *group++;		/* b = index of last sbk in group */
    }

}

⌨️ 快捷键说明

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