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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? getpic.c

?? MPEG2編解碼的源代碼.zip
?? C
?? 第 1 頁 / 共 3 頁
字號:
  /* copy or add block data into picture */  for (comp=0; comp<block_count; comp++)  {    /* SCALABILITY: SNR */    /* ISO/IEC 13818-2 section 7.8.3.4: Addition of coefficients from        the two a layers */    if (Two_Streams && enhan.scalable_mode==SC_SNR)      Sum_Block(comp); /* add SNR enhancement layer data to base layer */    /* MPEG-2 saturation and mismatch control */    /* base layer could be MPEG-1 stream, enhancement MPEG-2 SNR */    /* ISO/IEC 13818-2 section 7.4.3 and 7.4.4: Saturation and Mismatch control */    if ((Two_Streams && enhan.scalable_mode==SC_SNR) || ld->MPEG2_Flag)      Saturate(ld->block[comp]);    /* ISO/IEC 13818-2 section Annex A: inverse DCT */    if (Reference_IDCT_Flag)      Reference_IDCT(ld->block[comp]);    else      Fast_IDCT(ld->block[comp]);        /* ISO/IEC 13818-2 section 7.6.8: Adding prediction and coefficient data */    Add_Block(comp,bx,by,dct_type,(macroblock_type & MACROBLOCK_INTRA)==0);  }}/* ISO/IEC 13818-2 section 7.6.6 */static void skipped_macroblock(dc_dct_pred, PMV, motion_type,   motion_vertical_field_select, stwtype, macroblock_type)int dc_dct_pred[3];int PMV[2][2][2];int *motion_type;int motion_vertical_field_select[2][2];int *stwtype;int *macroblock_type;{  int comp;    /* SCALABILITY: Data Paritioning */  if (base.scalable_mode==SC_DP)    ld = &base;  for (comp=0; comp<block_count; comp++)    Clear_Block(comp);  /* reset intra_dc predictors */  /* ISO/IEC 13818-2 section 7.2.1: DC coefficients in intra blocks */  dc_dct_pred[0]=dc_dct_pred[1]=dc_dct_pred[2]=0;  /* reset motion vector predictors */  /* ISO/IEC 13818-2 section 7.6.3.4: Resetting motion vector predictors */  if (picture_coding_type==P_TYPE)    PMV[0][0][0]=PMV[0][0][1]=PMV[1][0][0]=PMV[1][0][1]=0;  /* derive motion_type */  if (picture_structure==FRAME_PICTURE)    *motion_type = MC_FRAME;  else  {    *motion_type = MC_FIELD;    /* predict from field of same parity */    /* ISO/IEC 13818-2 section 7.6.6.1 and 7.6.6.3: P field picture and B field       picture */    motion_vertical_field_select[0][0]=motion_vertical_field_select[0][1] =       (picture_structure==BOTTOM_FIELD);  }  /* skipped I are spatial-only predicted, */  /* skipped P and B are temporal-only predicted */  /* ISO/IEC 13818-2 section 7.7.6: Skipped macroblocks */  *stwtype = (picture_coding_type==I_TYPE) ? 8 : 0; /* IMPLEMENTATION: clear MACROBLOCK_INTRA */  *macroblock_type&= ~MACROBLOCK_INTRA;}/* return==-1 means go to next picture *//* the expression "start of slice" is used throughout the normative   body of the MPEG specification */static int start_of_slice(MBAmax, MBA, MBAinc,   dc_dct_pred, PMV)int MBAmax;int *MBA;int *MBAinc;int dc_dct_pred[3];int PMV[2][2][2];{  unsigned int code;  int slice_vert_pos_ext;  ld = &base;  Fault_Flag = 0;  next_start_code();  code = Show_Bits(32);  if (code<SLICE_START_CODE_MIN || code>SLICE_START_CODE_MAX)  {    /* only slice headers are allowed in picture_data */    if (!Quiet_Flag)      printf("start_of_slice(): Premature end of picture\n");    return(-1);  /* trigger: go to next picture */  }  Flush_Buffer32();   /* decode slice header (may change quantizer_scale) */  slice_vert_pos_ext = slice_header();   /* SCALABILITY: Data Partitioning */  if (base.scalable_mode==SC_DP)  {    ld = &enhan;    next_start_code();    code = Show_Bits(32);    if (code<SLICE_START_CODE_MIN || code>SLICE_START_CODE_MAX)    {      /* only slice headers are allowed in picture_data */      if (!Quiet_Flag)        printf("DP: Premature end of picture\n");      return(-1);    /* trigger: go to next picture */    }    Flush_Buffer32();    /* decode slice header (may change quantizer_scale) */    slice_vert_pos_ext = slice_header();    if (base.priority_breakpoint!=1)      ld = &base;  }  /* decode macroblock address increment */  *MBAinc = Get_macroblock_address_increment();  if (Fault_Flag)   {    printf("start_of_slice(): MBAinc unsuccessful\n");    return(0);   /* trigger: go to next slice */  }  /* set current location */  /* NOTE: the arithmetic used to derive macroblock_address below is   *       equivalent to ISO/IEC 13818-2 section 6.3.17: Macroblock   */  *MBA = ((slice_vert_pos_ext<<7) + (code&255) - 1)*mb_width + *MBAinc - 1;  *MBAinc = 1; /* first macroblock in slice: not skipped */  /* reset all DC coefficient and motion vector predictors */  /* reset all DC coefficient and motion vector predictors */  /* ISO/IEC 13818-2 section 7.2.1: DC coefficients in intra blocks */  dc_dct_pred[0]=dc_dct_pred[1]=dc_dct_pred[2]=0;    /* ISO/IEC 13818-2 section 7.6.3.4: Resetting motion vector predictors */  PMV[0][0][0]=PMV[0][0][1]=PMV[1][0][0]=PMV[1][0][1]=0;  PMV[0][1][0]=PMV[0][1][1]=PMV[1][1][0]=PMV[1][1][1]=0;  /* successfull: trigger decode macroblocks in slice */  return(1);}/* ISO/IEC 13818-2 sections 7.2 through 7.5 */static int decode_macroblock(macroblock_type, stwtype, stwclass,  motion_type, dct_type, PMV, dc_dct_pred,   motion_vertical_field_select, dmvector)int *macroblock_type; int *stwtype;int *stwclass;int *motion_type; int *dct_type;int PMV[2][2][2]; int dc_dct_pred[3]; int motion_vertical_field_select[2][2];int dmvector[2];{  /* locals */  int quantizer_scale_code;   int comp;  int motion_vector_count;   int mv_format;   int dmv;   int mvscale;  int coded_block_pattern;  /* SCALABILITY: Data Patitioning */  if (base.scalable_mode==SC_DP)  {    if (base.priority_breakpoint<=2)      ld = &enhan;    else      ld = &base;  }  /* ISO/IEC 13818-2 section 6.3.17.1: Macroblock modes */  macroblock_modes(macroblock_type, stwtype, stwclass,    motion_type, &motion_vector_count, &mv_format, &dmv, &mvscale,    dct_type);  if (Fault_Flag) return(0);  /* trigger: go to next slice */  if (*macroblock_type & MACROBLOCK_QUANT)  {    quantizer_scale_code = Get_Bits(5);#ifdef TRACE    if (Trace_Flag)    {      printf("quantiser_scale_code (");      Print_Bits(quantizer_scale_code,5,5);      printf("): %d\n",quantizer_scale_code);    }#endif /* TRACE */    /* ISO/IEC 13818-2 section 7.4.2.2: Quantizer scale factor */    if (ld->MPEG2_Flag)      ld->quantizer_scale =      ld->q_scale_type ? Non_Linear_quantizer_scale[quantizer_scale_code]        : (quantizer_scale_code << 1);    else      ld->quantizer_scale = quantizer_scale_code;    /* SCALABILITY: Data Partitioning */    if (base.scalable_mode==SC_DP)      /* make sure base.quantizer_scale is valid */      base.quantizer_scale = ld->quantizer_scale;  }  /* motion vectors */  /* ISO/IEC 13818-2 section 6.3.17.2: Motion vectors */  /* decode forward motion vectors */  if ((*macroblock_type & MACROBLOCK_MOTION_FORWARD)     || ((*macroblock_type & MACROBLOCK_INTRA)     && concealment_motion_vectors))  {    if (ld->MPEG2_Flag)      motion_vectors(PMV,dmvector,motion_vertical_field_select,        0,motion_vector_count,mv_format,f_code[0][0]-1,f_code[0][1]-1,        dmv,mvscale);    else      motion_vector(PMV[0][0],dmvector,      forward_f_code-1,forward_f_code-1,0,0,full_pel_forward_vector);  }  if (Fault_Flag) return(0);  /* trigger: go to next slice */  /* decode backward motion vectors */  if (*macroblock_type & MACROBLOCK_MOTION_BACKWARD)  {    if (ld->MPEG2_Flag)      motion_vectors(PMV,dmvector,motion_vertical_field_select,        1,motion_vector_count,mv_format,f_code[1][0]-1,f_code[1][1]-1,0,        mvscale);    else      motion_vector(PMV[0][1],dmvector,        backward_f_code-1,backward_f_code-1,0,0,full_pel_backward_vector);  }  if (Fault_Flag) return(0);  /* trigger: go to next slice */  if ((*macroblock_type & MACROBLOCK_INTRA) && concealment_motion_vectors)    Flush_Buffer(1); /* remove marker_bit */  if (base.scalable_mode==SC_DP && base.priority_breakpoint==3)    ld = &enhan;  /* macroblock_pattern */  /* ISO/IEC 13818-2 section 6.3.17.4: Coded block pattern */  if (*macroblock_type & MACROBLOCK_PATTERN)  {    coded_block_pattern = Get_coded_block_pattern();    if (chroma_format==CHROMA422)    {      /* coded_block_pattern_1 */      coded_block_pattern = (coded_block_pattern<<2) | Get_Bits(2); #ifdef TRACE       if (Trace_Flag)       {         printf("coded_block_pattern_1: ");         Print_Bits(coded_block_pattern,2,2);         printf(" (%d)\n",coded_block_pattern&3);       }#endif /* TRACE */     }     else if (chroma_format==CHROMA444)     {      /* coded_block_pattern_2 */      coded_block_pattern = (coded_block_pattern<<6) | Get_Bits(6); #ifdef TRACE      if (Trace_Flag)      {        printf("coded_block_pattern_2: ");        Print_Bits(coded_block_pattern,6,6);        printf(" (%d)\n",coded_block_pattern&63);      }#endif /* TRACE */    }  }  else    coded_block_pattern = (*macroblock_type & MACROBLOCK_INTRA) ?       (1<<block_count)-1 : 0;  if (Fault_Flag) return(0);  /* trigger: go to next slice */  /* decode blocks */  for (comp=0; comp<block_count; comp++)  {    /* SCALABILITY: Data Partitioning */    if (base.scalable_mode==SC_DP)    ld = &base;    Clear_Block(comp);    if (coded_block_pattern & (1<<(block_count-1-comp)))    {      if (*macroblock_type & MACROBLOCK_INTRA)      {        if (ld->MPEG2_Flag)          Decode_MPEG2_Intra_Block(comp,dc_dct_pred);        else          Decode_MPEG1_Intra_Block(comp,dc_dct_pred);      }      else      {        if (ld->MPEG2_Flag)          Decode_MPEG2_Non_Intra_Block(comp);        else          Decode_MPEG1_Non_Intra_Block(comp);      }      if (Fault_Flag) return(0);  /* trigger: go to next slice */    }  }  if(picture_coding_type==D_TYPE)  {    /* remove end_of_macroblock (always 1, prevents startcode emulation) */    /* ISO/IEC 11172-2 section 2.4.2.7 and 2.4.3.6 */    marker_bit("D picture end_of_macroblock bit");  }  /* reset intra_dc predictors */  /* ISO/IEC 13818-2 section 7.2.1: DC coefficients in intra blocks */  if (!(*macroblock_type & MACROBLOCK_INTRA))    dc_dct_pred[0]=dc_dct_pred[1]=dc_dct_pred[2]=0;  /* reset motion vector predictors */  if ((*macroblock_type & MACROBLOCK_INTRA) && !concealment_motion_vectors)  {    /* intra mb without concealment motion vectors */    /* ISO/IEC 13818-2 section 7.6.3.4: Resetting motion vector predictors */    PMV[0][0][0]=PMV[0][0][1]=PMV[1][0][0]=PMV[1][0][1]=0;    PMV[0][1][0]=PMV[0][1][1]=PMV[1][1][0]=PMV[1][1][1]=0;  }  /* special "No_MC" macroblock_type case */  /* ISO/IEC 13818-2 section 7.6.3.5: Prediction in P pictures */  if ((picture_coding_type==P_TYPE)     && !(*macroblock_type & (MACROBLOCK_MOTION_FORWARD|MACROBLOCK_INTRA)))  {    /* non-intra mb without forward mv in a P picture */    /* ISO/IEC 13818-2 section 7.6.3.4: Resetting motion vector predictors */    PMV[0][0][0]=PMV[0][0][1]=PMV[1][0][0]=PMV[1][0][1]=0;    /* derive motion_type */    /* ISO/IEC 13818-2 section 6.3.17.1: Macroblock modes, frame_motion_type */    if (picture_structure==FRAME_PICTURE)      *motion_type = MC_FRAME;    else    {      *motion_type = MC_FIELD;      /* predict from field of same parity */      motion_vertical_field_select[0][0] = (picture_structure==BOTTOM_FIELD);    }  }  if (*stwclass==4)  {    /* purely spatially predicted macroblock */    /* ISO/IEC 13818-2 section 7.7.5.1: Resetting motion vector predictions */    PMV[0][0][0]=PMV[0][0][1]=PMV[1][0][0]=PMV[1][0][1]=0;    PMV[0][1][0]=PMV[0][1][1]=PMV[1][1][0]=PMV[1][1][1]=0;  }  /* successfully decoded macroblock */  return(1);} /* decode_macroblock */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品免费在线观看| 欧美xxxx在线观看| 国产乱人伦偷精品视频不卡| 亚洲一区在线观看视频| 国产精品美女久久久久aⅴ国产馆| 69堂成人精品免费视频| 欧美色倩网站大全免费| 色94色欧美sute亚洲线路二| 93久久精品日日躁夜夜躁欧美| 国产福利一区二区三区在线视频| 日本不卡一二三| 日韩av电影一区| 青青草精品视频| 免费av网站大全久久| 日韩激情中文字幕| 琪琪一区二区三区| 久久精品国产免费看久久精品| 日韩精品一区第一页| 日本va欧美va瓶| 国产一区二区三区电影在线观看| 国产综合成人久久大片91| 国产大陆a不卡| 久久久久国产一区二区三区四区| 久久精品欧美一区二区三区麻豆| 久久精品欧美日韩| 一区二区三区四区在线免费观看| 午夜久久久久久久久久一区二区| 亚洲成人免费观看| 国产自产高清不卡| 91久久精品日日躁夜夜躁欧美| 色欧美88888久久久久久影院| 欧洲一区二区av| 欧美大片国产精品| 亚洲婷婷国产精品电影人久久| 一区二区三区不卡视频在线观看 | 日本一区二区视频在线| 亚洲欧美成人一区二区三区| 首页亚洲欧美制服丝腿| 国产成人av电影在线播放| 欧美日韩视频专区在线播放| 国产欧美日韩在线视频| 爽好久久久欧美精品| 成人av综合在线| 精品国产精品一区二区夜夜嗨| 亚洲私人影院在线观看| 欧美亚日韩国产aⅴ精品中极品| 精品久久一区二区三区| 亚洲第一二三四区| 99热在这里有精品免费| 久久先锋影音av| 热久久免费视频| 色狠狠桃花综合| 中文字幕一区二区三区在线不卡 | 亚洲国产成人高清精品| jvid福利写真一区二区三区| 久久综合九色综合97_久久久| 亚洲bt欧美bt精品777| 91成人看片片| 亚洲柠檬福利资源导航| 9i看片成人免费高清| 亚洲视频狠狠干| 国产69精品久久99不卡| 国产欧美日韩三级| 成人午夜av在线| 国产欧美精品一区二区色综合| 国产成人精品亚洲777人妖| 国产亚洲一区二区在线观看| 国产乱对白刺激视频不卡| 久久亚洲一级片| 顶级嫩模精品视频在线看| 国产欧美精品一区二区三区四区 | 国产一区不卡视频| 国产欧美一区二区精品忘忧草| 国产精品乡下勾搭老头1| 国产精品日韩精品欧美在线| 精品粉嫩超白一线天av| 国产成人午夜精品5599| 亚洲欧洲国产日本综合| 在线免费观看不卡av| 日本一不卡视频| 国产精品国产精品国产专区不蜜| 91福利精品第一导航| 免费不卡在线观看| 亚洲三级在线观看| 欧美日本一区二区三区| 国产一区在线观看麻豆| 亚洲女人小视频在线观看| 欧美一级xxx| 99久久精品国产一区二区三区 | 国产白丝精品91爽爽久久| 亚洲视频一二三| 久久精品亚洲乱码伦伦中文| 欧美三级韩国三级日本一级| 国产精品1区2区| 日本午夜一本久久久综合| 亚洲丝袜另类动漫二区| 久久久综合视频| 欧美挠脚心视频网站| 99精品热视频| 国产高清精品在线| 久久精品国产99久久6| 亚洲精选一二三| 国产精品丝袜久久久久久app| 欧美久久一区二区| 欧美视频你懂的| 91浏览器在线视频| caoporm超碰国产精品| 国产乱码一区二区三区| 久久精品噜噜噜成人av农村| 午夜国产精品一区| 亚洲成人第一页| 亚洲成人av电影| 午夜视频一区在线观看| 亚洲一区二区视频在线| 一区二区三区日韩精品视频| 国产精品久久久久久久久久久免费看| 日韩欧美视频在线| 26uuu久久天堂性欧美| 欧美一区二区三区在线观看| 51午夜精品国产| 欧美成人精品高清在线播放| 欧美精品一区二区三区蜜桃 | 亚洲午夜一二三区视频| 性感美女久久精品| 美国十次综合导航| 精品一区二区三区av| 国产精品一二三在| 99精品一区二区| 欧美女孩性生活视频| 精品国产sm最大网站| 国产精品美女一区二区| 亚洲国产日韩一区二区| 美美哒免费高清在线观看视频一区二区 | 国产精品亲子乱子伦xxxx裸| 中文字幕在线观看一区二区| 亚洲在线成人精品| 麻豆91在线看| 色婷婷国产精品| 欧美mv日韩mv国产网站app| 国产精品少妇自拍| 亚洲成人av电影| 成人毛片在线观看| 91精品国产综合久久久久久久久久| www久久精品| 香港成人在线视频| 丁香啪啪综合成人亚洲小说 | 欧美日韩中文字幕精品| 国产视频在线观看一区二区三区| 一区二区三区视频在线看| 国产精品一区二区免费不卡| 欧美肥大bbwbbw高潮| **欧美大码日韩| 丰满白嫩尤物一区二区| 日韩手机在线导航| 亚洲卡通欧美制服中文| av欧美精品.com| 久久综合色天天久久综合图片| 亚洲国产成人av网| 欧美视频三区在线播放| 国产精品18久久久久久久网站| 欧美一区二区免费视频| 亚洲18女电影在线观看| 一本到不卡精品视频在线观看| 国产欧美日韩一区二区三区在线观看| 蜜桃av一区二区三区电影| 欧美日韩国产美| 亚洲综合一二三区| 欧美日韩精品欧美日韩精品一 | 国产91精品露脸国语对白| 久久婷婷久久一区二区三区| 看国产成人h片视频| 日韩欧美亚洲国产另类 | 色香蕉久久蜜桃| 亚洲男人天堂av网| 欧美羞羞免费网站| 免费看欧美美女黄的网站| 欧美一区二区三区播放老司机| 蜜臀av亚洲一区中文字幕| 日韩午夜在线观看| 成人自拍视频在线| 欧美午夜不卡在线观看免费| 国产三级一区二区三区| 欧美激情一区二区三区蜜桃视频| 久久久久久一级片| 亚洲bt欧美bt精品| 欧美色网一区二区| 亚洲图片欧美综合| 日本高清免费不卡视频| 亚洲精品在线网站| 裸体歌舞表演一区二区| 成人av在线观| 欧美天堂一区二区三区| 国产精品国产三级国产aⅴ入口| 国产成a人亚洲| 欧美一区二区美女| 中文字幕制服丝袜一区二区三区 | 91在线观看美女| 波多野洁衣一区| 日韩一区二区不卡| 亚洲一区二区av电影|