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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? layer3.c

?? windows mobile上很好用的音頻播放器希望大家會(huì)喜歡
?? C
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
  for (i = 0; i < 6; ++i) {    z[i +  0] = 0;    z[i +  6] = mad_f_mul(yptr[ 0 + 0], wptr[0]);    MAD_F_ML0(hi, lo, yptr[ 0 + 6], wptr[6]);    MAD_F_MLA(hi, lo, yptr[12 + 0], wptr[0]);    z[i + 12] = MAD_F_MLZ(hi, lo);    MAD_F_ML0(hi, lo, yptr[12 + 6], wptr[6]);    MAD_F_MLA(hi, lo, yptr[24 + 0], wptr[0]);    z[i + 18] = MAD_F_MLZ(hi, lo);    z[i + 24] = mad_f_mul(yptr[24 + 6], wptr[6]);    z[i + 30] = 0;    ++yptr;    ++wptr;  }}/* * NAME:	III_overlap() * DESCRIPTION:	perform overlap-add of windowed IMDCT outputs */staticvoid III_overlap(mad_fixed_t const output[36], mad_fixed_t overlap[18],		 mad_fixed_t sample[18][32], unsigned int sb){  unsigned int i;# if defined(ASO_INTERLEAVE2)  {    register mad_fixed_t tmp1, tmp2;    tmp1 = overlap[0];    tmp2 = overlap[1];    for (i = 0; i < 16; i += 2) {      sample[i + 0][sb] = output[i + 0 +  0] + tmp1;      overlap[i + 0]    = output[i + 0 + 18];      tmp1 = overlap[i + 2];      sample[i + 1][sb] = output[i + 1 +  0] + tmp2;      overlap[i + 1]    = output[i + 1 + 18];      tmp2 = overlap[i + 3];    }    sample[16][sb] = output[16 +  0] + tmp1;    overlap[16]    = output[16 + 18];    sample[17][sb] = output[17 +  0] + tmp2;    overlap[17]    = output[17 + 18];  }# elif 0  for (i = 0; i < 18; i += 2) {    sample[i + 0][sb] = output[i + 0 +  0] + overlap[i + 0];    overlap[i + 0]    = output[i + 0 + 18];    sample[i + 1][sb] = output[i + 1 +  0] + overlap[i + 1];    overlap[i + 1]    = output[i + 1 + 18];  }# else  for (i = 0; i < 18; ++i) {    sample[i][sb] = output[i +  0] + overlap[i];    overlap[i]    = output[i + 18];  }# endif}/* * NAME:	III_overlap_z() * DESCRIPTION:	perform "overlap-add" of zero IMDCT outputs */static __inlinevoid III_overlap_z(mad_fixed_t overlap[18],		   mad_fixed_t sample[18][32], unsigned int sb){  unsigned int i;# if defined(ASO_INTERLEAVE2)  {    register mad_fixed_t tmp1, tmp2;    tmp1 = overlap[0];    tmp2 = overlap[1];    for (i = 0; i < 16; i += 2) {      sample[i + 0][sb] = tmp1;      overlap[i + 0]    = 0;      tmp1 = overlap[i + 2];      sample[i + 1][sb] = tmp2;      overlap[i + 1]    = 0;      tmp2 = overlap[i + 3];    }    sample[16][sb] = tmp1;    overlap[16]    = 0;    sample[17][sb] = tmp2;    overlap[17]    = 0;  }# else  for (i = 0; i < 18; ++i) {    sample[i][sb] = overlap[i];    overlap[i]    = 0;  }# endif}/* * NAME:	III_freqinver() * DESCRIPTION:	perform subband frequency inversion for odd sample lines */staticvoid III_freqinver(mad_fixed_t sample[18][32], unsigned int sb){  unsigned int i;# if 1 || defined(ASO_INTERLEAVE1) || defined(ASO_INTERLEAVE2)  {    register mad_fixed_t tmp1, tmp2;    tmp1 = sample[1][sb];    tmp2 = sample[3][sb];    for (i = 1; i < 13; i += 4) {      sample[i + 0][sb] = -tmp1;      tmp1 = sample[i + 4][sb];      sample[i + 2][sb] = -tmp2;      tmp2 = sample[i + 6][sb];    }    sample[13][sb] = -tmp1;    tmp1 = sample[17][sb];    sample[15][sb] = -tmp2;    sample[17][sb] = -tmp1;  }# else  for (i = 1; i < 18; i += 2)    sample[i][sb] = -sample[i][sb];# endif}/* * NAME:	III_decode() * DESCRIPTION:	decode frame main_data */staticenum mad_error III_decode(struct mad_bitptr *ptr, struct mad_frame *frame,			  struct sideinfo *si, unsigned int nch){  struct mad_header *header = &frame->header;  unsigned int sfreqi, ngr, gr;  {    unsigned int sfreq;    sfreq = header->samplerate;    if (header->flags & MAD_FLAG_MPEG_2_5_EXT)      sfreq *= 2;    /* 48000 => 0, 44100 => 1, 32000 => 2,       24000 => 3, 22050 => 4, 16000 => 5 */    sfreqi = ((sfreq >>  7) & 0x000f) +             ((sfreq >> 15) & 0x0001) - 8;    if (header->flags & MAD_FLAG_MPEG_2_5_EXT)      sfreqi += 3;  }  /* scalefactors, Huffman decoding, requantization */  ngr = (header->flags & MAD_FLAG_LSF_EXT) ? 1 : 2;  for (gr = 0; gr < ngr; ++gr) {    struct granule *granule = &si->gr[gr];    unsigned char const *sfbwidth[2];    mad_fixed_t xr[2][576];    unsigned int ch;    enum mad_error error;    for (ch = 0; ch < nch; ++ch) {      struct channel *channel = &granule->ch[ch];      unsigned int part2_length;      sfbwidth[ch] = sfbwidth_table[sfreqi].l;      if (channel->block_type == 2) {	sfbwidth[ch] = (channel->flags & mixed_block_flag) ?	  sfbwidth_table[sfreqi].m : sfbwidth_table[sfreqi].s;      }      if (header->flags & MAD_FLAG_LSF_EXT) {	part2_length = III_scalefactors_lsf(ptr, channel,					    ch == 0 ? 0 : &si->gr[1].ch[1],					    header->mode_extension);      }      else {	part2_length = III_scalefactors(ptr, channel, &si->gr[0].ch[ch],					gr == 0 ? 0 : si->scfsi[ch]);      }      error = III_huffdecode(ptr, xr[ch], channel, sfbwidth[ch], part2_length);      if (error)	return error;    }    /* joint stereo processing */    if (header->mode == MAD_MODE_JOINT_STEREO && header->mode_extension) {      error = III_stereo(xr, granule, header, sfbwidth[0]);      if (error)	return error;    }    /* reordering, alias reduction, IMDCT, overlap-add, frequency inversion */    for (ch = 0; ch < nch; ++ch) {      struct channel const *channel = &granule->ch[ch];      mad_fixed_t (*sample)[32] = &frame->sbsample[ch][18 * gr];      unsigned int sb, l, i, sblimit;      mad_fixed_t output[36];      if (channel->block_type == 2) {	III_reorder(xr[ch], channel, sfbwidth[ch]);# if !defined(OPT_STRICT)	/*	 * According to ISO/IEC 11172-3, "Alias reduction is not applied for	 * granules with block_type == 2 (short block)." However, other	 * sources suggest alias reduction should indeed be performed on the	 * lower two subbands of mixed blocks. Most other implementations do	 * this, so by default we will too.	 */	if (channel->flags & mixed_block_flag)	  III_aliasreduce(xr[ch], 36);# endif      }      else	III_aliasreduce(xr[ch], 576);      l = 0;      /* subbands 0-1 */      if (channel->block_type != 2 || (channel->flags & mixed_block_flag)) {	unsigned int block_type;	block_type = channel->block_type;	if (channel->flags & mixed_block_flag)	  block_type = 0;	/* long blocks */	for (sb = 0; sb < 2; ++sb, l += 18) {	  III_imdct_l(&xr[ch][l], output, block_type);	  III_overlap(output, (*frame->overlap)[ch][sb], sample, sb);	}      }      else {	/* short blocks */	for (sb = 0; sb < 2; ++sb, l += 18) {	  III_imdct_s(&xr[ch][l], output);	  III_overlap(output, (*frame->overlap)[ch][sb], sample, sb);	}      }      III_freqinver(sample, 1);      /* (nonzero) subbands 2-31 */      i = 576;      while (i > 36 && xr[ch][i - 1] == 0)	--i;      sblimit = 32 - (576 - i) / 18;      if (channel->block_type != 2) {	/* long blocks */	for (sb = 2; sb < sblimit; ++sb, l += 18) {	  III_imdct_l(&xr[ch][l], output, channel->block_type);	  III_overlap(output, (*frame->overlap)[ch][sb], sample, sb);	  if (sb & 1)	    III_freqinver(sample, sb);	}      }      else {	/* short blocks */	for (sb = 2; sb < sblimit; ++sb, l += 18) {	  III_imdct_s(&xr[ch][l], output);	  III_overlap(output, (*frame->overlap)[ch][sb], sample, sb);	  if (sb & 1)	    III_freqinver(sample, sb);	}      }      /* remaining (zero) subbands */      for (sb = sblimit; sb < 32; ++sb) {	III_overlap_z((*frame->overlap)[ch][sb], sample, sb);	if (sb & 1)	  III_freqinver(sample, sb);      }    }  }  return MAD_ERROR_NONE;}/* * NAME:	layer->III() * DESCRIPTION:	decode a single Layer III frame */int mad_layer_III(struct mad_stream *stream, struct mad_frame *frame){  struct mad_header *header = &frame->header;  unsigned int nch, priv_bitlen, next_md_begin = 0;  unsigned int si_len, data_bitlen, md_len;  unsigned int frame_space, frame_used, frame_free;  struct mad_bitptr ptr;  struct sideinfo si;  enum mad_error error;  int result = 0;  /* allocate Layer III dynamic structures */  if (stream->main_data == 0) {    stream->main_data = malloc(MAD_BUFFER_MDLEN);    if (stream->main_data == 0) {      stream->error = MAD_ERROR_NOMEM;      return -1;    }  }  if (frame->overlap == 0) {    //frame->overlap = calloc(2 * 32 * 18, sizeof(mad_fixed_t));
	frame->overlap = malloc(2 * 32 * 18 * sizeof(mad_fixed_t));
	memset(frame->overlap, 0, 2 * 32 * 18 * sizeof(mad_fixed_t));    if (frame->overlap == 0) {      stream->error = MAD_ERROR_NOMEM;      return -1;    }  }  nch = MAD_NCHANNELS(header);  si_len = (header->flags & MAD_FLAG_LSF_EXT) ?    (nch == 1 ? 9 : 17) : (nch == 1 ? 17 : 32);  /* check frame sanity */  if (stream->next_frame - mad_bit_nextbyte(&stream->ptr) <      (signed int) si_len) {    stream->error = MAD_ERROR_BADFRAMELEN;    stream->md_len = 0;    return -1;  }  /* check CRC word */  if (header->flags & MAD_FLAG_PROTECTION) {    header->crc_check =      mad_bit_crc(stream->ptr, si_len * CHAR_BIT, header->crc_check);    if (header->crc_check != header->crc_target &&	!(frame->options & MAD_OPTION_IGNORECRC)) {      stream->error = MAD_ERROR_BADCRC;      result = -1;    }  }  /* decode frame side information */  error = III_sideinfo(&stream->ptr, nch, header->flags & MAD_FLAG_LSF_EXT,		       &si, &data_bitlen, &priv_bitlen);  if (error && result == 0) {    stream->error = error;    result = -1;  }  header->flags        |= priv_bitlen;  header->private_bits |= si.private_bits;  /* find main_data of next frame */  {    struct mad_bitptr peek;    unsigned long header;    mad_bit_init(&peek, stream->next_frame);    header = mad_bit_read(&peek, 32);    if ((header & 0xffe60000L) /* syncword | layer */ == 0xffe20000L) {      if (!(header & 0x00010000L))  /* protection_bit */	mad_bit_skip(&peek, 16);  /* crc_check */      next_md_begin =	mad_bit_read(&peek, (header & 0x00080000L) /* ID */ ? 9 : 8);    }    mad_bit_finish(&peek);  }  /* find main_data of this frame */  frame_space = stream->next_frame - mad_bit_nextbyte(&stream->ptr);  if (next_md_begin > si.main_data_begin + frame_space)    next_md_begin = 0;  md_len = si.main_data_begin + frame_space - next_md_begin;  frame_used = 0;  if (si.main_data_begin == 0) {    ptr = stream->ptr;    stream->md_len = 0;    frame_used = md_len;  }  else {    if (si.main_data_begin > stream->md_len) {      if (result == 0) {	stream->error = MAD_ERROR_BADDATAPTR;	result = -1;      }    }    else {      mad_bit_init(&ptr,		   *stream->main_data + stream->md_len - si.main_data_begin);      if (md_len > si.main_data_begin) {	assert(stream->md_len + md_len -	       si.main_data_begin <= MAD_BUFFER_MDLEN);	memcpy(*stream->main_data + stream->md_len,	       mad_bit_nextbyte(&stream->ptr),	       frame_used = md_len - si.main_data_begin);	stream->md_len += frame_used;      }    }  }  frame_free = frame_space - frame_used;  /* decode main_data */  if (result == 0) {    error = III_decode(&ptr, frame, &si, nch);    if (error) {      stream->error = error;      result = -1;    }    /* designate ancillary bits */    stream->anc_ptr    = ptr;    stream->anc_bitlen = md_len * CHAR_BIT - data_bitlen;  }# if 0 && defined(DEBUG)  fprintf(stderr,	  "main_data_begin:%u, md_len:%u, frame_free:%u, "	  "data_bitlen:%u, anc_bitlen: %u\n",	  si.main_data_begin, md_len, frame_free,	  data_bitlen, stream->anc_bitlen);# endif  /* preload main_data buffer with up to 511 bytes for next frame(s) */  if (frame_free >= next_md_begin) {    memcpy(*stream->main_data,	   stream->next_frame - next_md_begin, next_md_begin);    stream->md_len = next_md_begin;  }  else {    if (md_len < si.main_data_begin) {      unsigned int extra;      extra = si.main_data_begin - md_len;      if (extra + frame_free > next_md_begin)	extra = next_md_begin - frame_free;      if (extra < stream->md_len) {	memmove(*stream->main_data,		*stream->main_data + stream->md_len - extra, extra);	stream->md_len = extra;      }    }    else      stream->md_len = 0;    memcpy(*stream->main_data + stream->md_len,	   stream->next_frame - frame_free, frame_free);    stream->md_len += frame_free;  }  return result;}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品网站免费观看| 国产盗摄精品一区二区三区在线| 日本欧美韩国一区三区| 精品在线免费观看| 丁香一区二区三区| 在线观看av一区| 日韩免费看的电影| 日韩理论片网站| 天堂影院一区二区| 国产美女一区二区| 在线免费精品视频| 精品国产露脸精彩对白| 中文字幕在线一区二区三区| 亚洲综合免费观看高清在线观看| 日韩va欧美va亚洲va久久| 国产很黄免费观看久久| 欧美性猛交xxxx黑人交| 久久丝袜美腿综合| 亚洲一区在线电影| 国内成+人亚洲+欧美+综合在线 | 91精品国产欧美一区二区| 精品国产乱码久久久久久免费 | 99视频在线精品| 欧美精品丝袜中出| 国产三级欧美三级| 丝袜美腿亚洲一区| 成年人午夜久久久| 欧美一区二区高清| 中文字幕欧美一| 国内外成人在线| 欧美日韩一区中文字幕| 国产精品免费丝袜| 奇米综合一区二区三区精品视频| 99热精品国产| 久久久久99精品国产片| 人妖欧美一区二区| 色哟哟一区二区三区| 欧美激情一区二区三区四区| 日韩精品成人一区二区在线| 色综合久久久久综合体桃花网| 欧美精品一区二区三| 亚洲v中文字幕| 9i看片成人免费高清| www国产精品av| 秋霞影院一区二区| 欧美色区777第一页| 亚洲婷婷综合色高清在线| 国产精品自拍一区| 日韩一卡二卡三卡四卡| 一二三四区精品视频| proumb性欧美在线观看| 久久久久久久综合狠狠综合| 天天综合日日夜夜精品| 在线观看欧美日本| 最新久久zyz资源站| 成人一区二区三区| 久久久久久毛片| 狠狠色2019综合网| 欧美电影免费观看高清完整版在 | 欧美三级在线看| 自拍偷在线精品自拍偷无码专区| 国产一区二区三区免费播放| 欧美大黄免费观看| 美腿丝袜在线亚洲一区| 在线播放一区二区三区| 亚洲成年人网站在线观看| 在线一区二区三区| 亚洲精品乱码久久久久久| 播五月开心婷婷综合| 国产日韩影视精品| 成人精品鲁一区一区二区| 国产人成一区二区三区影院| 国产精品456| 久久精品亚洲国产奇米99| 国产不卡视频一区二区三区| 国产日韩欧美在线一区| 国产精品系列在线播放| 久久久91精品国产一区二区三区| 激情久久五月天| 久久久国产精品不卡| 国产麻豆精品视频| 国产精品水嫩水嫩| 91色婷婷久久久久合中文| 亚洲伦在线观看| 欧美三片在线视频观看| 香蕉加勒比综合久久| 欧美一卡在线观看| 激情都市一区二区| 日本一区二区三区免费乱视频| 丰满放荡岳乱妇91ww| 综合久久久久久久| 欧美日韩一区视频| 日本午夜精品视频在线观看| 精品动漫一区二区三区在线观看| 国产曰批免费观看久久久| 国产女主播在线一区二区| 成人黄色网址在线观看| 一区二区高清视频在线观看| 欧美日韩免费观看一区三区| 免费在线观看不卡| 久久久蜜臀国产一区二区| 9l国产精品久久久久麻豆| 亚洲成人综合视频| 精品999久久久| 白白色 亚洲乱淫| 亚洲午夜日本在线观看| 日韩免费电影网站| 成人午夜伦理影院| 一区二区三区在线影院| 91精品国产色综合久久ai换脸| 极品瑜伽女神91| 国产精品不卡在线| 欧美高清dvd| 国产成人自拍网| 亚洲精品水蜜桃| 日韩欧美一卡二卡| 99久久99久久综合| 日韩成人一区二区| 国产精品久久久久久久久晋中| 欧美日韩中文字幕一区| 国产综合色视频| 亚洲精品va在线观看| 日韩一区二区精品葵司在线| www.亚洲免费av| 日韩国产高清在线| 国产清纯白嫩初高生在线观看91 | 亚洲第一福利一区| 国产香蕉久久精品综合网| 在线看国产一区二区| 激情综合网最新| 亚洲免费视频中文字幕| 91麻豆精品国产91久久久更新时间| 福利一区在线观看| 视频一区二区三区中文字幕| 亚洲国产精华液网站w| 91精品国产入口在线| 91原创在线视频| 激情伊人五月天久久综合| 亚洲精品国产a久久久久久 | 成人免费视频一区二区| 午夜成人免费电影| 中文字幕中文字幕一区二区| 欧美成人video| 欧美优质美女网站| 成人污污视频在线观看| 久久国产综合精品| 亚洲国产欧美在线人成| 国产精品电影一区二区| 欧美刺激午夜性久久久久久久| 色8久久精品久久久久久蜜 | 亚洲免费视频成人| 国产欧美一二三区| 欧美zozozo| 欧美日韩在线三级| 色综合天天综合色综合av| 国产一区二区不卡在线| 蜜臀久久99精品久久久画质超高清 | 亚洲成人tv网| 亚洲男人都懂的| 国产精品素人视频| 国产香蕉久久精品综合网| 日韩免费视频一区| 7777精品久久久大香线蕉| 色88888久久久久久影院野外| 成人av一区二区三区| 国产成人无遮挡在线视频| 看电影不卡的网站| 奇米一区二区三区| 爽好久久久欧美精品| 亚洲一区二区三区四区五区中文 | 91官网在线免费观看| 成人白浆超碰人人人人| 国产乱妇无码大片在线观看| 麻豆精品一区二区三区| 日本亚洲三级在线| 蜜臀av一区二区在线免费观看 | 日韩欧美综合一区| 7777精品久久久大香线蕉| 欧美高清精品3d| 欧美一区二区三区免费在线看| 欧美日韩在线播放一区| 欧美日韩国产天堂| 欧美日韩另类国产亚洲欧美一级| 欧美自拍偷拍一区| 欧美在线免费观看亚洲| 91国内精品野花午夜精品| 色悠悠久久综合| 欧美日免费三级在线| 欧美久久久久久久久| 91精品国产91久久久久久一区二区 | 国产日韩精品一区| 欧美国产精品中文字幕| 国产精品久线在线观看| 中文字幕日韩一区| 亚洲精品一卡二卡| 水野朝阳av一区二区三区| 免费观看30秒视频久久| 久久66热re国产| 国产成人精品网址| 99久久777色|