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

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

?? decode.c

?? MP3的軟件解碼代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
      else {  /* pure short */
         for(sfb=0,sfb_start=0,sfb_lines=sfBandIndex[sfreq].s[1];
            sfb < 13; sfb++,sfb_start=sfBandIndex[sfreq].s[sfb],
            (sfb_lines=sfBandIndex[sfreq].s[sfb+1] - sfb_start))
               for(window=0; window<3; window++)
                  for(freq=0;freq<sfb_lines;freq++) 
				  {
                     src_line = sfb_start*3 + window*sfb_lines + freq;
                     des_line = sfb_start*3 + window + (freq*3);
                     ro[des_line/SSLIMIT][des_line%SSLIMIT] =
                                    xr[src_line/SSLIMIT][src_line%SSLIMIT];
				  }
      }
      for (sb=0 ; sb < SBLIMIT ; sb++)
         for (ss=0 ; ss < SSLIMIT ; ss++)
            xr[sb][ss] = ro[sb][ss];

   }
}
 

void III_stereo(double xr[2][SBLIMIT][SSLIMIT],III_scalefac_t *scalefac, struct Granule *gr_info)
{
   int sfreq = fr_ps.header->sampling_frequency;
   int stereo = fr_ps.stereo;
   int ms_stereo = (fr_ps.header->mode == MPG_MD_JOINT_STEREO) &&
                   (fr_ps.header->mode_ext & 0x2);
   int i_stereo = (fr_ps.header->mode == MPG_MD_JOINT_STEREO) &&
                  (fr_ps.header->mode_ext & 0x1);
   int sfb;
   int i,j,sb,ss,is_pos[576];
   double is_ratio[576];

   /* intialization */
   for ( i=0; i<576; i++ )
      is_pos[i] = 7;

   if ((stereo == 2) && i_stereo )
   {  if (gr_info->window_switching_flag && (gr_info->block_type == 2))
      {  if( gr_info->mixed_block_flag )
         {  int max_sfb = 0;

            for ( j=0; j<3; j++ )
            {  int sfbcnt;
               sfbcnt = 2;
               for( sfb=12; sfb >=3; sfb-- )
               {  int lines;
                  lines = sfBandIndex[sfreq].s[sfb+1]-sfBandIndex[sfreq].s[sfb];
                  i = 3*sfBandIndex[sfreq].s[sfb] + (j+1) * lines - 1;
                  while ( lines > 0 )
                  {  if ( xr[1][i/SSLIMIT][i%SSLIMIT] != 0.0 )
                     {  sfbcnt = sfb;
                        sfb = -10;
                        lines = -10;
                     }
                     lines--;
                     i--;
                  }
               }
               sfb = sfbcnt + 1;

               if ( sfb > max_sfb )
                  max_sfb = sfb;

               while( sfb<12 )
               {  sb = sfBandIndex[sfreq].s[sfb+1]-sfBandIndex[sfreq].s[sfb];
                  i = 3*sfBandIndex[sfreq].s[sfb] + j * sb;
                  for ( ; sb > 0; sb--)
                  {  is_pos[i] = (*scalefac)[1].s[j][sfb];
                     if ( is_pos[i] != 7 )
                        is_ratio[i] = tan( is_pos[i] * (PI / 12));
                     i++;
                  }
                  sfb++;
               }
               sb = sfBandIndex[sfreq].s[11]-sfBandIndex[sfreq].s[10];
               sfb = 3*sfBandIndex[sfreq].s[10] + j * sb;
               sb = sfBandIndex[sfreq].s[12]-sfBandIndex[sfreq].s[11];
               i = 3*sfBandIndex[sfreq].s[11] + j * sb;
               for ( ; sb > 0; sb-- )
               {  is_pos[i] = is_pos[sfb];
                  is_ratio[i] = is_ratio[sfb];
                  i++;
               }
             }
             if ( max_sfb <= 3 )
             {  i = 2;
                ss = 17;
                sb = -1;
                while ( i >= 0 )
                {  if ( xr[1][i][ss] != 0.0 )
                   {  sb = i*18+ss;
                      i = -1;
                   } else
                   {  ss--;
                      if ( ss < 0 )
                      {  i--;
                         ss = 17;
                      }
                   }
                }
                i = 0;
                while ( sfBandIndex[sfreq].l[i] <= sb )
                   i++;
                sfb = i;
                i = sfBandIndex[sfreq].l[i];
                for ( ; sfb<8; sfb++ )
                {  sb = sfBandIndex[sfreq].l[sfb+1]-sfBandIndex[sfreq].l[sfb];
                   for ( ; sb > 0; sb--)
                   {  is_pos[i] = (*scalefac)[1].l[sfb];
                      if ( is_pos[i] != 7 )
                         is_ratio[i] = tan( is_pos[i] * (PI / 12));
                      i++;
                   }
                }
            }
         } else
         {  for ( j=0; j<3; j++ )
            {  int sfbcnt;
               sfbcnt = -1;
               for( sfb=12; sfb >=0; sfb-- )
               {  int lines;
                  lines = sfBandIndex[sfreq].s[sfb+1]-sfBandIndex[sfreq].s[sfb];
                  i = 3*sfBandIndex[sfreq].s[sfb] + (j+1) * lines - 1;
                  while ( lines > 0 )
                  {  if ( xr[1][i/SSLIMIT][i%SSLIMIT] != 0.0 )
                     {  sfbcnt = sfb;
                        sfb = -10;
                        lines = -10;
                     }
                     lines--;
                     i--;
                  }
               }
               sfb = sfbcnt + 1;
               while( sfb<12 )
               {  sb = sfBandIndex[sfreq].s[sfb+1]-sfBandIndex[sfreq].s[sfb];
                  i = 3*sfBandIndex[sfreq].s[sfb] + j * sb;
                  for ( ; sb > 0; sb--)
                  {  is_pos[i] = (*scalefac)[1].s[j][sfb];
                     if ( is_pos[i] != 7 )
                        is_ratio[i] = tan( is_pos[i] * (PI / 12));
                     i++;
                  }
                  sfb++;
               }

               sb = sfBandIndex[sfreq].s[11]-sfBandIndex[sfreq].s[10];
               sfb = 3*sfBandIndex[sfreq].s[10] + j * sb;
               sb = sfBandIndex[sfreq].s[12]-sfBandIndex[sfreq].s[11];
               i = 3*sfBandIndex[sfreq].s[11] + j * sb;
               for ( ; sb > 0; sb-- )
               {  is_pos[i] = is_pos[sfb];
                  is_ratio[i] = is_ratio[sfb];
                  i++;
               }
            }
         }
      } else
      {  i = 31;
         ss = 17;
         sb = 0;
         while ( i >= 0 )
         {  if ( xr[1][i][ss] != 0.0 )
            {  sb = i*18+ss;
               i = -1;
            } else
            {  ss--;
               if ( ss < 0 )
               {  i--;
                  ss = 17;
               }
            }
         }
         i = 0;
         while ( sfBandIndex[sfreq].l[i] <= sb )
            i++;
         sfb = i;
         i = sfBandIndex[sfreq].l[i];
         for ( ; sfb<21; sfb++ )
         {  sb = sfBandIndex[sfreq].l[sfb+1] - sfBandIndex[sfreq].l[sfb];
            for ( ; sb > 0; sb--)
            {  is_pos[i] = (*scalefac)[1].l[sfb];
               if ( is_pos[i] != 7 )
                  is_ratio[i] = tan( is_pos[i] * (PI / 12));
               i++;
            }
         }
         sfb = sfBandIndex[sfreq].l[20];
         for ( sb = 576 - sfBandIndex[sfreq].l[21]; sb > 0; sb-- )
         {  is_pos[i] = is_pos[sfb];
            is_ratio[i] = is_ratio[sfb];
            i++;
         }
      }
   }


   if (stereo==2)
      for(sb=0;sb<SBLIMIT;sb++)
         for(ss=0;ss<SSLIMIT;ss++)
		 {
            double xr0,xr1;
			i = (sb*18)+ss;
			xr0=xr[0][sb][ss];
			xr1=xr[1][sb][ss];
            if ( is_pos[i] == 7 ) {
               if ( ms_stereo ) {
                  xr[0][sb][ss] = (xr0+xr1)/1.41421356;
                  xr[1][sb][ss] = (xr0-xr1)/1.41421356;
               }
               else {
                  xr[0][sb][ss] = xr0;
                  xr[1][sb][ss] = xr1;
               }
            }
            else if (i_stereo ) {
               xr[0][sb][ss] = xr0 * (is_ratio[i]/(1+is_ratio[i]));
               xr[1][sb][ss] = xr0 * (1/(1+is_ratio[i]));
            }
//            else 
//               printf("Error in streo processing\n");
            
         }

} 


double Ci[8]={-0.6,-0.535,-0.33,-0.185,-0.095,-0.041,-0.0142,-0.0037};
void III_antialias(SS hybridIn, struct Granule *gr_info)
{
   static int    init = 1;
   static double ca[8],cs[8];
   double        bu,bd;  /* upper and lower butterfly inputs */
   int           ss,sb,sblim;

   if (init) {
      int i;
      double    sq;
      for (i=0;i<8;i++) {
         sq=sqrt(1.0+Ci[i]*Ci[i]);
         cs[i] = 1.0/sq;
         ca[i] = Ci[i]/sq;
      }
      init = 0;
   }

   /* clear all inputs */


   if  (gr_info->window_switching_flag && (gr_info->block_type == 2) &&
       !gr_info->mixed_block_flag ) return;

   if ( gr_info->window_switching_flag && gr_info->mixed_block_flag &&
     (gr_info->block_type == 2))
      sblim = 1;
   else
      sblim = SBLIMIT-1;

   /* 31 alias-reduction operations between each pair of sub-bands */
   /* with 8 butterflies between each pair                         */

   for(sb=0;sb<sblim;sb++)
      for(ss=0;ss<8;ss++)
	  {
         bu = hybridIn[sb][17-ss];
         bd = hybridIn[sb+1][ss];
         hybridIn[sb][17-ss] =(bu * cs[ss]) - (bd * ca[ss]);
         hybridIn[sb+1][ss] = (bd * cs[ss]) + (bu * ca[ss]);
      }
}

/*

void out_fifo(short  SAM[2][SSLIMIT][SBLIMIT], FILE *outFile)
{
    short *pcm=&SAM[0][0][0];
    fwrite(pcm,2,SBLIMIT*SSLIMIT*2,outFile);
}

*/
void  buffer_CRC()
{
    getbit(16);
}


extern int bitrate[3][15];
extern double s_freq[4];
/* Return the number of slots for main data of current frame, */
int main_data_slots()
{
	unsigned int nSlots; 
 
	nSlots = (unsigned int)((144 * bitrate[2][fr_ps.header->bitrate_index])
			/ s_freq[fr_ps.header->sampling_frequency]);
	if (fr_ps.header->padding) nSlots++;
	nSlots -= 4;                         //減去4字節的頭
	if (fr_ps.header->error_protection)  //如有CRC 則減2字節
		nSlots -= 2;
	if (fr_ps.stereo == 1)               //單聲道-17字節的side 信息
		nSlots -= 17;
	else
		nSlots -=32;                     //單聲道-32字節的side 信息
	return(nSlots);
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区中文字幕| 五月婷婷激情综合网| 欧美午夜电影网| 裸体一区二区三区| 亚洲精品一二三四区| 精品国产伦一区二区三区观看方式 | 亚洲综合无码一区二区| 欧美精品一区二区三区很污很色的 | 成人免费小视频| 欧美一级欧美一级在线播放| 91麻豆精品在线观看| 毛片av一区二区| 亚洲午夜激情网页| 亚洲人一二三区| 国产欧美一区二区精品久导航| 日本aⅴ免费视频一区二区三区| 亚洲欧洲av色图| 久久久久久久久一| 精品国产免费久久| 日韩视频免费直播| 蜜桃视频第一区免费观看| 亚洲激情五月婷婷| 综合在线观看色| 中文字幕精品—区二区四季| 精品国产一区二区三区av性色| 欧美疯狂做受xxxx富婆| 欧美色中文字幕| 色婷婷精品久久二区二区蜜臀av| 成人av电影在线播放| 国产成人免费xxxxxxxx| 激情久久五月天| ...av二区三区久久精品| 日韩精品一区二区在线观看| 欧美一区二区三区四区在线观看| av一区二区三区在线| 黄色日韩三级电影| 日本欧美韩国一区三区| 亚洲最新视频在线观看| 国产精品久久久久久妇女6080| 懂色av一区二区三区免费看| 久久99久久久欧美国产| 一级做a爱片久久| 亚洲欧洲日本在线| 国产精品美女www爽爽爽| 久久久久久久久久电影| 欧美成人精品福利| 日本二三区不卡| 欧美日韩一区二区欧美激情| 欧洲一区二区av| 欧美亚洲综合在线| 91色综合久久久久婷婷| 视频在线观看91| 亚洲国产毛片aaaaa无费看| 亚洲黄色录像片| 亚洲美女电影在线| 亚洲精品中文字幕乱码三区| 亚洲少妇30p| 日韩一区在线免费观看| 综合久久久久久久| 亚洲品质自拍视频| 国产精品不卡在线| 一区二区三区日本| 亚洲电影在线免费观看| 亚洲6080在线| 日韩女优av电影| 精品国产乱码久久久久久图片| 日韩一区二区免费电影| 欧美大肚乱孕交hd孕妇| 精品国产1区2区3区| 久久蜜臀中文字幕| 国产精品网站在线播放| 亚洲色图视频网站| 亚洲午夜一区二区| 免费观看30秒视频久久| 亚洲成年人网站在线观看| 秋霞成人午夜伦在线观看| 国产精品嫩草久久久久| 亚洲欧美区自拍先锋| 亚洲高清在线精品| 久久精品免费观看| 国产成人啪免费观看软件 | 91在线你懂得| 欧美福利一区二区| 久久久www成人免费无遮挡大片| 欧美国产1区2区| 亚洲综合精品久久| 美国三级日本三级久久99| 国产盗摄一区二区三区| 亚洲国产精品一区二区久久| 久久99蜜桃精品| 波多野洁衣一区| 欧美欧美欧美欧美首页| 久久久噜噜噜久久人人看 | 欧美一区午夜视频在线观看| 欧美精品一区二区精品网| 国产亚洲午夜高清国产拍精品| 国产欧美日韩精品一区| 亚洲成人免费电影| 亚洲图片你懂的| 日本欧洲一区二区| 国产激情视频一区二区三区欧美| 欧美私人免费视频| 精品久久人人做人人爰| 亚洲黄色小说网站| 国产一区二区福利视频| 欧美日韩一级二级| 欧美激情一区二区三区蜜桃视频| 亚洲午夜av在线| 粉嫩aⅴ一区二区三区四区五区| 欧美亚洲自拍偷拍| 精品成人a区在线观看| 尤物av一区二区| 久久久噜噜噜久久中文字幕色伊伊| 一区二区在线观看av| 国产精品996| 欧美伦理视频网站| 欧美系列一区二区| 制服丝袜av成人在线看| 国产精品美女一区二区在线观看| 视频一区国产视频| 91在线观看高清| 久久综合资源网| 亚洲国产一区二区三区| 从欧美一区二区三区| 欧美一卡2卡三卡4卡5免费| 亚洲精品v日韩精品| 国产精品99久久久久久久女警| 欧美一区二区三区爱爱| 一区二区三区 在线观看视频| 国产99精品在线观看| 欧美猛男男办公室激情| 亚洲成人激情自拍| 91亚洲精华国产精华精华液| 欧美精品一区二区在线播放| 亚洲电影中文字幕在线观看| 色综合天天综合网天天狠天天| 久久久精品影视| 久久99精品国产.久久久久久| 欧美日韩国产一区| 夜夜爽夜夜爽精品视频| 99久久婷婷国产综合精品| 国产亚洲欧美日韩在线一区| 看电视剧不卡顿的网站| 免费观看成人av| 不卡的av网站| 国产女人18毛片水真多成人如厕| 老汉av免费一区二区三区| 在线不卡中文字幕播放| 午夜a成v人精品| 欧美日韩一区三区| 亚洲国产精品一区二区久久| 欧美日韩中文字幕一区| 亚洲综合在线五月| 在线观看亚洲专区| 欧美日韩国产三级| 亚洲黄一区二区三区| 337p亚洲精品色噜噜| 天天色图综合网| 欧美一区二区三区色| 久久综合色8888| 国产精品一区二区你懂的| 久久色.com| 成人精品电影在线观看| 国产精品色婷婷久久58| 成人激情综合网站| 国产精品剧情在线亚洲| 欧美色男人天堂| 日韩主播视频在线| 欧美一级专区免费大片| 国产在线视频一区二区三区| 久久久久高清精品| 亚洲摸摸操操av| 欧美日韩国产系列| 欧美一区二区三区视频在线| 久久国产免费看| 欧美成人精品高清在线播放| 精品一区二区三区影院在线午夜 | 亚洲大片在线观看| 亚洲成人福利片| 91精品国产综合久久精品app| 天堂精品中文字幕在线| 91精品国产麻豆| 国产乱子轮精品视频| 国产精品欧美一级免费| 欧美视频在线一区| 人人超碰91尤物精品国产| 国产精品网站导航| 欧美日韩亚洲综合一区二区三区| 免费久久精品视频| 国产精品色婷婷| 91免费在线看| 天堂成人国产精品一区| 久久精品夜夜夜夜久久| 在线观看91视频| 国内精品国产三级国产a久久| 亚洲欧洲精品一区二区精品久久久| 欧美日韩亚洲国产综合| 国产一区不卡在线| 亚洲成a人在线观看| 色老汉一区二区三区|