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

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

?? layeriiidecoder.java

?? Java編寫的一個mp3播放器源代碼,對于想做這方面工作的網友來說還是有很大的參考價值的
?? JAVA
?? 第 1 頁 / 共 5 頁
字號:
	      // System.out.println("x = "+x[0]+" y = "+y[0]);
		}

		// Read count1 area
		h = huffcodetab.ht[si.ch[ch].gr[gr].count1table_select+32];
	    num_bits = br.hsstell();

		while ((num_bits < part2_3_end) && (index < 576)) {

			huffcodetab.huffman_decoder(h, x, y, v, w, br);

	      is_1d[index++] = v[0];
	      is_1d[index++] = w[0];
	      is_1d[index++] = x[0];
	      is_1d[index++] = y[0];
          CheckSumHuff = CheckSumHuff + v[0] + w[0] + x[0] + y[0];
	      // System.out.println("v = "+v[0]+" w = "+w[0]);
	      // System.out.println("x = "+x[0]+" y = "+y[0]);
	      num_bits = br.hsstell();
	   }

		if (num_bits > part2_3_end) {
			br.rewindNbits(num_bits - part2_3_end);
	      index-=4;
	   }

	   num_bits = br.hsstell();

		// Dismiss stuffing bits
		if (num_bits < part2_3_end)
	   	br.hgetbits(part2_3_end - num_bits);

		// Zero out rest

	   if (index < 576)
		   nonzero[ch] = index;
	   else
	   	nonzero[ch] = 576;

	   if (index < 0) index = 0;

	   // may not be necessary
	   for (; index<576; index++)
   		is_1d[index] = 0;
	}

	/**
	 *
	 */
    private void i_stereo_k_values(int is_pos, int io_type, int i)
	{
	   if (is_pos == 0) {
	      k[0][i] = 1.0f;
	      k[1][i] = 1.0f;
	   } else if ((is_pos & 1) != 0) {
			k[0][i] = io[io_type][(is_pos + 1) >>> 1];
	      k[1][i] = 1.0f;
	   } else {
	      k[0][i] = 1.0f;
	      k[1][i] = io[io_type][is_pos >>> 1];
   	   }
	}

	/**
	 *
	 */
	private void dequantize_sample(float xr[][], int ch, int gr)
	{
		gr_info_s gr_info = (si.ch[ch].gr[gr]);
		int  cb=0;
		int  next_cb_boundary;
		int cb_begin = 0;
		int cb_width = 0;
		int  index=0, t_index, j;
	   	float g_gain;
	    float[][] xr_1d = xr;

		// choose correct scalefactor band per block type, initalize boundary

		if ((gr_info.window_switching_flag !=0 ) && (gr_info.block_type == 2) ) {
			if (gr_info.mixed_block_flag != 0)
				next_cb_boundary=sfBandIndex[sfreq].l[1];  // LONG blocks: 0,1,3
			else {
	         cb_width = sfBandIndex[sfreq].s[1];
			   next_cb_boundary = (cb_width << 2) - cb_width;
		 	   cb_begin = 0;
			}
		} else {
			next_cb_boundary=sfBandIndex[sfreq].l[1];  // LONG blocks: 0,1,3
	   }

	   // Compute overall (global) scaling.

		g_gain = (float) Math.pow(2.0 , (0.25 * (gr_info.global_gain - 210.0)));

	  	for (j=0; j<nonzero[ch]; j++)
	  	{
	  	    // Modif E.B 02/22/99
            int reste = j % SSLIMIT;
            int quotien = (int) ((j-reste)/SSLIMIT);
	    	if (is_1d[j] == 0) xr_1d[quotien][reste] = 0.0f;
	        else
	        {
	         int abv = is_1d[j];
	         // Pow Array fix (11/17/04)
	         if (abv < t_43.length)
	         {
				if (is_1d[j] > 0) xr_1d[quotien][reste] = g_gain * t_43[abv];
				else
				{
					if (-abv < t_43.length) xr_1d[quotien][reste] = -g_gain * t_43[-abv];
					else xr_1d[quotien][reste] = -g_gain * (float)Math.pow(-abv, d43);	
				} 
	         }
	         else
	         {
				if (is_1d[j] > 0) xr_1d[quotien][reste] = g_gain * (float)Math.pow(abv, d43);
				else xr_1d[quotien][reste] = -g_gain * (float)Math.pow(-abv, d43);	         	
	         }
	        }
	   }

	   // apply formula per block type
	   for (j=0; j<nonzero[ch]; j++)
	   {
            // Modif E.B 02/22/99
            int reste = j % SSLIMIT;
            int quotien = (int) ((j-reste)/SSLIMIT);

			if (index == next_cb_boundary)  { /* Adjust critical band boundary */
	      	if ((gr_info.window_switching_flag != 0) && (gr_info.block_type == 2)) {
	         	if (gr_info.mixed_block_flag != 0)  {

	            	if (index == sfBandIndex[sfreq].l[8])  {
	                  next_cb_boundary = sfBandIndex[sfreq].s[4];
	                  next_cb_boundary = (next_cb_boundary << 2) -
	                    			           next_cb_boundary;
	                  cb = 3;
	                  cb_width = sfBandIndex[sfreq].s[4] -
	                    			  sfBandIndex[sfreq].s[3];

	                  cb_begin = sfBandIndex[sfreq].s[3];
	                  cb_begin = (cb_begin << 2) - cb_begin;

	               } else if (index < sfBandIndex[sfreq].l[8]) {

	               	next_cb_boundary = sfBandIndex[sfreq].l[(++cb)+1];

	               } else {

	               	next_cb_boundary = sfBandIndex[sfreq].s[(++cb)+1];
	                  next_cb_boundary = (next_cb_boundary << 2) -
	                    				        next_cb_boundary;

	                  cb_begin = sfBandIndex[sfreq].s[cb];
							cb_width = sfBandIndex[sfreq].s[cb+1] -
	                             cb_begin;
	                  cb_begin = (cb_begin << 2) - cb_begin;
	               }

	            } else  {

	               next_cb_boundary = sfBandIndex[sfreq].s[(++cb)+1];
	               next_cb_boundary = (next_cb_boundary << 2) -
	                                  next_cb_boundary;

	               cb_begin = sfBandIndex[sfreq].s[cb];
						cb_width = sfBandIndex[sfreq].s[cb+1] -
	                          cb_begin;
	               cb_begin = (cb_begin << 2) - cb_begin;
	            }

	         } else  { // long blocks

						next_cb_boundary = sfBandIndex[sfreq].l[(++cb)+1];

	         }
	      }

			// Do long/short dependent scaling operations

			if ((gr_info.window_switching_flag !=0)&&
				 (((gr_info.block_type == 2) && (gr_info.mixed_block_flag == 0)) ||
				  ((gr_info.block_type == 2) && (gr_info.mixed_block_flag!=0) && (j >= 36)) ))
	      {

				t_index = (index - cb_begin) / cb_width;
	/*            xr[sb][ss] *= pow(2.0, ((-2.0 * gr_info.subblock_gain[t_index])
	                                    -(0.5 * (1.0 + gr_info.scalefac_scale)
	                                      * scalefac[ch].s[t_index][cb]))); */
				int idx = scalefac[ch].s[t_index][cb]
	           				 << gr_info.scalefac_scale;
	         idx += (gr_info.subblock_gain[t_index] << 2);

				xr_1d[quotien][reste] *= two_to_negative_half_pow[idx];

			} else {   // LONG block types 0,1,3 & 1st 2 subbands of switched blocks
	/*				xr[sb][ss] *= pow(2.0, -0.5 * (1.0+gr_info.scalefac_scale)
														 * (scalefac[ch].l[cb]
														 + gr_info.preflag * pretab[cb])); */
				int idx = scalefac[ch].l[cb];

	   		if (gr_info.preflag != 0)
			   	idx += pretab[cb];

			   idx = idx << gr_info.scalefac_scale;
	         xr_1d[quotien][reste] *= two_to_negative_half_pow[idx];
			}
	      index++;
		}

	   for (j=nonzero[ch]; j<576; j++)
	   {
            // Modif E.B 02/22/99
            int reste = j % SSLIMIT;
            int quotien = (int) ((j-reste)/SSLIMIT);
            if(reste < 0) reste = 0;
            if(quotien < 0) quotien = 0;
	     	xr_1d[quotien][reste] = 0.0f;
	   }

   	   return;
	}

    /**
	 *
	 */
	private void reorder(float xr[][], int ch, int gr)
	{
	   gr_info_s gr_info = (si.ch[ch].gr[gr]);
	   int freq, freq3;
	   int index;
	   int sfb, sfb_start, sfb_lines;
	   int src_line, des_line;
	   float[][] xr_1d = xr;

	   if ((gr_info.window_switching_flag !=0) && (gr_info.block_type == 2)) {

	      for(index=0; index<576; index++)
	         out_1d[index] = 0.0f;

			if (gr_info.mixed_block_flag !=0 ) {
				// NO REORDER FOR LOW 2 SUBBANDS
	            for (index = 0; index < 36; index++)
	            {
                    // Modif E.B 02/22/99
                    int reste = index % SSLIMIT;
                    int quotien = (int) ((index-reste)/SSLIMIT);
	                out_1d[index] = xr_1d[quotien][reste];
	            }
				// REORDERING FOR REST SWITCHED SHORT
				/*for( sfb=3,sfb_start=sfBandIndex[sfreq].s[3],
					 sfb_lines=sfBandIndex[sfreq].s[4] - sfb_start;
					 sfb < 13; sfb++,sfb_start = sfBandIndex[sfreq].s[sfb],
					 sfb_lines = sfBandIndex[sfreq].s[sfb+1] - sfb_start )
					 {*/						   
		 		for( sfb=3; sfb < 13; sfb++)
	            	 {						   
							//System.out.println("sfreq="+sfreq+" sfb="+sfb+" sfBandIndex="+sfBandIndex.length+" sfBandIndex[sfreq].s="+sfBandIndex[sfreq].s.length);
							sfb_start = sfBandIndex[sfreq].s[sfb];
							sfb_lines = sfBandIndex[sfreq].s[sfb+1] - sfb_start;

						   int sfb_start3 = (sfb_start << 2) - sfb_start;

							for(freq=0, freq3=0; freq<sfb_lines;
	                             freq++, freq3+=3) {

								src_line = sfb_start3 + freq;
								des_line = sfb_start3 + freq3;
                                // Modif E.B 02/22/99
                                int reste = src_line % SSLIMIT;
                                int quotien = (int) ((src_line-reste)/SSLIMIT);

								out_1d[des_line] = xr_1d[quotien][reste];
								src_line += sfb_lines;
								des_line++;

								reste = src_line % SSLIMIT;
								quotien = (int) ((src_line-reste)/SSLIMIT);

								out_1d[des_line] = xr_1d[quotien][reste];
								src_line += sfb_lines;
								des_line++;

								reste = src_line % SSLIMIT;
								quotien = (int) ((src_line-reste)/SSLIMIT);

								out_1d[des_line] = xr_1d[quotien][reste];
						   }
	            	  }

			} else {  // pure short
	      	for(index=0;index<576;index++)
	      	{
                int j = reorder_table[sfreq][index];
	            int reste = j % SSLIMIT;
				int quotien = (int) ((j-reste)/SSLIMIT);
	            out_1d[index] = xr_1d[quotien][reste];
	        }
			}
		}
		else {   // long blocks
	      for(index=0; index<576; index++)
	      {
            // Modif E.B 02/22/99
            int reste = index % SSLIMIT;
            int quotien = (int) ((index-reste)/SSLIMIT);
	      	out_1d[index] = xr_1d[quotien][reste];
	      }
		}
	}

	/**
	 *
	 */

	int[] is_pos = new int[576];
	float[] is_ratio = new float[576];

	private void stereo(int gr)
	{
	  int sb, ss;

		if  (channels == 1) { // mono , bypass xr[0][][] to lr[0][][]

			for(sb=0;sb<SBLIMIT;sb++)
				for(ss=0;ss<SSLIMIT;ss+=3) {
					lr[0][sb][ss]   = ro[0][sb][ss];
	            lr[0][sb][ss+1] = ro[0][sb][ss+1];
					lr[0][sb][ss+2] = ro[0][sb][ss+2];
	         }

	   } else {

		gr_info_s gr_info = (si.ch[0].gr[gr]);
	    int mode_ext = header.mode_extension();
		int sfb;
		int i;
	    int lines, temp, temp2;

		boolean ms_stereo = ((header.mode() == Header.JOINT_STEREO) && ((mode_ext & 0x2)!=0));
		boolean i_stereo  = ((header.mode() == Header.JOINT_STEREO) && ((mode_ext & 0x1)!=0));
		boolean lsf = ((header.version() == Header.MPEG2_LSF || header.version() == Header.MPEG25_LSF ));	// SZD

		int io_type = (gr_info.scalefac_compress & 1);

	 	// initialization

	   for (i=0; i<576; i++)
	   {
	   		is_pos[i] = 7;

			is_ratio[i] = 0.0f;
	   }

		if (i_stereo) {
	   	if ((gr_info.window_switching_flag !=0 )&& (gr_info.block_type == 2)) {
	      	if (gr_info.mixed_block_flag != 0) {

	         	 int max_sfb = 0;

					 for (int j=0; j<3; j++) {
	            	 int sfbcnt;
						sfbcnt = 2;
						for( sfb=12; sfb >=3; sfb-- ) {
	               	i = sfBandIndex[sfreq].s[sfb];
							lines = sfBandIndex[sfreq].s[sfb+1] - i;
	                  i = (i << 2) - i + (j+1) * lines - 1;

							while (lines > 0) {
	                  	if (ro[1][i/18][i%18] != 0.0f) {
							// MDM: in java, array access is very slow.
							// Is quicker to compute div and mod values.
						//if (ro[1][ss_div[i]][ss_mod[i]] != 0.0f) {
	                     	sfbcnt = sfb;
									sfb = -10;
									lines = -10;
								}

								lines--;
								i--;

							} // while (lines > 0)

						} // for (sfb=12 ...
						sfb = sfbcnt + 1;

						if (sfb > max_sfb)
							max_sfb = sfb;

						while(sfb < 12) {
	               	temp = sfBandIndex[sfreq].s[sfb];
	               	sb   = sfBandIndex[sfreq].s[sfb+1] - temp;
	                  i    = (temp << 2) - temp + j * sb;

							for ( ; sb > 0; sb--) {
	                  	is_pos[i] = scalefac[1].s[j][sfb];
								if (is_pos[i] != 7)
	                     	if (lsf)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人av电影在线观看| 日日夜夜一区二区| 亚洲国产一区在线观看| 午夜视频在线观看一区二区三区| 日韩电影免费一区| 国产不卡视频一区| 欧美亚州韩日在线看免费版国语版| 欧美高清www午色夜在线视频| 亚洲精品在线免费观看视频| 成人免费一区二区三区视频| 日韩黄色片在线观看| 国产成人丝袜美腿| 欧美视频一区二区| 国产亚洲人成网站| 亚洲国产欧美在线人成| 韩国一区二区三区| 色狠狠av一区二区三区| 欧美一区午夜视频在线观看| 国产精品午夜春色av| 丝袜诱惑亚洲看片| 不卡的av电影在线观看| 91精品国产麻豆国产自产在线 | 免费亚洲电影在线| 成人性生交大片免费看在线播放| 欧美日韩小视频| 国产精品伦理一区二区| 美女性感视频久久| 色一情一乱一乱一91av| 久久久久久久久岛国免费| 亚洲va天堂va国产va久| 成人精品gif动图一区| 欧美一区2区视频在线观看| 自拍偷拍国产精品| 国产一区二区三区在线观看免费 | 亚洲综合一区二区| 国产suv一区二区三区88区| 欧美系列一区二区| 国产精品国产三级国产普通话三级| 日本欧美久久久久免费播放网| 91在线精品一区二区| 国产亚洲欧美日韩俺去了| 三级欧美在线一区| 一本大道av一区二区在线播放| 久久亚洲一级片| 日本网站在线观看一区二区三区| 99精品久久只有精品| 久久亚洲影视婷婷| 美女脱光内衣内裤视频久久网站| 欧美一卡2卡3卡4卡| 亚洲黄色av一区| 国产激情一区二区三区四区| 日韩一区二区三区视频在线观看| 亚洲一二三专区| 91香蕉视频mp4| 国产精品成人免费精品自在线观看| 韩国中文字幕2020精品| 日韩亚洲欧美中文三级| 亚洲va国产va欧美va观看| 色一情一乱一乱一91av| 亚洲视频1区2区| 9人人澡人人爽人人精品| 国产精品午夜久久| 成人黄色电影在线 | 99re8在线精品视频免费播放| 国产人成一区二区三区影院| 国产精品中文字幕一区二区三区| 精品国产一区二区三区不卡| 久久电影网站中文字幕| 精品久久一区二区| 狠狠色综合日日| 久久影院午夜论| 国产一区二区在线观看免费| 精品国产91洋老外米糕| 极品少妇xxxx精品少妇| 欧美精品一区二区三区在线播放 | 日本一区二区三区电影| 国产风韵犹存在线视精品| 国产亚洲精品中文字幕| 成人性生交大片| 综合久久久久久| 91久久一区二区| 亚洲高清免费观看| 91精品久久久久久久99蜜桃| 日韩电影一区二区三区四区| 欧美变态凌虐bdsm| 国产福利电影一区二区三区| 国产精品久久久久久久久免费相片| 成人黄色在线看| 亚洲精品一二三| 欧美久久一区二区| 蜜臀av性久久久久av蜜臀妖精| 日韩精品一区二区三区视频在线观看 | 国产精品主播直播| 国产精品超碰97尤物18| 欧美最猛性xxxxx直播| 午夜精品免费在线观看| 日韩一区二区精品在线观看| 韩国理伦片一区二区三区在线播放| 国产婷婷精品av在线| 成人av资源在线观看| 亚洲在线成人精品| 日韩一区二区免费在线观看| 国产精品香蕉一区二区三区| 日韩毛片一二三区| 精品视频一区 二区 三区| 久久99最新地址| 国产精品久久久久毛片软件| 欧美日韩一区高清| 国精产品一区一区三区mba视频 | 欧洲在线/亚洲| 麻豆精品在线播放| 国产精品每日更新| 欧美伦理影视网| 国产在线视视频有精品| 亚洲日本一区二区| 欧美久久一二区| 国产福利一区二区三区视频 | 欧美日韩国产经典色站一区二区三区| 久久精品99国产精品| 中文字幕亚洲欧美在线不卡| 欧美日韩一级大片网址| 国产高清无密码一区二区三区| 亚洲美女免费视频| 亚洲精品一线二线三线无人区| 97se狠狠狠综合亚洲狠狠| 日韩国产高清影视| 中文字幕五月欧美| 日韩小视频在线观看专区| 91视频免费播放| 国产中文字幕一区| 亚洲一区二区五区| 亚洲国产精品国自产拍av| 欧美久久久久免费| 成人精品一区二区三区四区| 日韩av不卡在线观看| 亚洲你懂的在线视频| 久久蜜桃av一区精品变态类天堂| 欧美午夜电影一区| www.亚洲在线| 激情综合亚洲精品| 天天av天天翘天天综合网| 国产精品免费人成网站| 欧美一区二区大片| 欧美性色黄大片| 99在线精品免费| 国产精品一线二线三线| 免费成人在线播放| 亚洲欧美色一区| 中文字幕第一区第二区| 精品日韩成人av| 欧美精品在线视频| 在线精品视频一区二区| av在线综合网| 国产精品亚洲第一| 蓝色福利精品导航| 视频一区中文字幕国产| 亚洲精品一二三区| 一区在线播放视频| 中文字幕第一页久久| 久久综合国产精品| 欧美哺乳videos| 欧美一区二区三区思思人| 欧美色男人天堂| 在线精品视频免费播放| 91在线一区二区| 成人午夜伦理影院| 粉嫩av一区二区三区| 国产成人综合网| 国产精品一区久久久久| 国产一区二区三区久久久| 久久国产尿小便嘘嘘尿| 美女精品一区二区| 麻豆久久一区二区| 久久国产夜色精品鲁鲁99| 蜜桃在线一区二区三区| 日韩电影免费在线看| 人人爽香蕉精品| 麻豆专区一区二区三区四区五区| 午夜精品久久久久久久99樱桃| 亚洲一区在线电影| 性感美女极品91精品| 亚洲成人动漫在线免费观看| 性久久久久久久| 男人操女人的视频在线观看欧美| 青青草原综合久久大伊人精品| 免费在线观看视频一区| 久久福利资源站| 黄色小说综合网站| 国产福利一区二区三区视频在线| 国产成人精品免费视频网站| 成人福利视频在线| 色系网站成人免费| 欧美日韩一区国产| 91精品国产综合久久香蕉的特点| 777午夜精品免费视频| 日韩欧美你懂的| 久久尤物电影视频在线观看| 欧美国产一区视频在线观看| 亚洲视频在线一区观看| 亚洲精品一二三四区|