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

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

?? getpic.c

?? MPEG2編解碼的源代碼.zip
?? C
?? 第 1 頁 / 共 3 頁
字號:
  *pdct_type = dct_type;}/* move/add 8x8-Block from block[comp] to backward_reference_frame *//* copy reconstructed 8x8 block from block[comp] to current_frame[] * ISO/IEC 13818-2 section 7.6.8: Adding prediction and coefficient data * This stage also embodies some of the operations implied by: *   - ISO/IEC 13818-2 section 7.6.7: Combining predictions *   - ISO/IEC 13818-2 section 6.1.3: Macroblock*/static void Add_Block(comp,bx,by,dct_type,addflag)int comp,bx,by,dct_type,addflag;{  int cc,i, j, iincr;  unsigned char *rfp;  short *bp;    /* derive color component index */  /* equivalent to ISO/IEC 13818-2 Table 7-1 */  cc = (comp<4) ? 0 : (comp&1)+1; /* color component index */  if (cc==0)  {    /* luminance */    if (picture_structure==FRAME_PICTURE)      if (dct_type)      {        /* field DCT coding */        rfp = current_frame[0]              + Coded_Picture_Width*(by+((comp&2)>>1)) + bx + ((comp&1)<<3);        iincr = (Coded_Picture_Width<<1) - 8;      }      else      {        /* frame DCT coding */        rfp = current_frame[0]              + Coded_Picture_Width*(by+((comp&2)<<2)) + bx + ((comp&1)<<3);        iincr = Coded_Picture_Width - 8;      }    else    {      /* field picture */      rfp = current_frame[0]            + (Coded_Picture_Width<<1)*(by+((comp&2)<<2)) + bx + ((comp&1)<<3);      iincr = (Coded_Picture_Width<<1) - 8;    }  }  else  {    /* chrominance */    /* scale coordinates */    if (chroma_format!=CHROMA444)      bx >>= 1;    if (chroma_format==CHROMA420)      by >>= 1;    if (picture_structure==FRAME_PICTURE)    {      if (dct_type && (chroma_format!=CHROMA420))      {        /* field DCT coding */        rfp = current_frame[cc]              + Chroma_Width*(by+((comp&2)>>1)) + bx + (comp&8);        iincr = (Chroma_Width<<1) - 8;      }      else      {        /* frame DCT coding */        rfp = current_frame[cc]              + Chroma_Width*(by+((comp&2)<<2)) + bx + (comp&8);        iincr = Chroma_Width - 8;      }    }    else    {      /* field picture */      rfp = current_frame[cc]            + (Chroma_Width<<1)*(by+((comp&2)<<2)) + bx + (comp&8);      iincr = (Chroma_Width<<1) - 8;    }  }  bp = ld->block[comp];  if (addflag)  {    for (i=0; i<8; i++)    {      for (j=0; j<8; j++)      {        *rfp = Clip[*bp++ + *rfp];        rfp++;      }      rfp+= iincr;    }  }  else  {    for (i=0; i<8; i++)    {      for (j=0; j<8; j++)        *rfp++ = Clip[*bp++ + 128];      rfp+= iincr;    }  }}/* ISO/IEC 13818-2 section 7.8 */static void Decode_SNR_Macroblock(SNRMBA, SNRMBAinc, MBA, MBAmax, dct_type)  int *SNRMBA, *SNRMBAinc;  int MBA, MBAmax;  int *dct_type;{  int SNRmacroblock_type, SNRcoded_block_pattern, SNRdct_type, dummy;   int slice_vert_pos_ext, quantizer_scale_code, comp, code;  ld = &enhan;  if (*SNRMBAinc==0)  {    if (!Show_Bits(23)) /* next_start_code */    {      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("SNR: Premature end of picture\n");        return;      }      Flush_Buffer32();      /* decode slice header (may change quantizer_scale) */      slice_vert_pos_ext = slice_header();      /* decode macroblock address increment */      *SNRMBAinc = Get_macroblock_address_increment();      /* set current location */      *SNRMBA =        ((slice_vert_pos_ext<<7) + (code&255) - 1)*mb_width + *SNRMBAinc - 1;      *SNRMBAinc = 1; /* first macroblock in slice: not skipped */    }    else /* not next_start_code */    {      if (*SNRMBA>=MBAmax)      {        if (!Quiet_Flag)          printf("Too many macroblocks in picture\n");        return;      }      /* decode macroblock address increment */      *SNRMBAinc = Get_macroblock_address_increment();    }  }  if (*SNRMBA!=MBA)  {    /* streams out of sync */    if (!Quiet_Flag)      printf("Cant't synchronize streams\n");    return;  }  if (*SNRMBAinc==1) /* not skipped */  {    macroblock_modes(&SNRmacroblock_type, &dummy, &dummy,      &dummy, &dummy, &dummy, &dummy, &dummy,      &SNRdct_type);    if (SNRmacroblock_type & MACROBLOCK_PATTERN)      *dct_type = SNRdct_type;    if (SNRmacroblock_type & MACROBLOCK_QUANT)    {      quantizer_scale_code = Get_Bits(5);      ld->quantizer_scale =        ld->q_scale_type ? Non_Linear_quantizer_scale[quantizer_scale_code] : quantizer_scale_code<<1;    }    /* macroblock_pattern */    if (SNRmacroblock_type & MACROBLOCK_PATTERN)    {      SNRcoded_block_pattern = Get_coded_block_pattern();      if (chroma_format==CHROMA422)        SNRcoded_block_pattern = (SNRcoded_block_pattern<<2) | Get_Bits(2); /* coded_block_pattern_1 */      else if (chroma_format==CHROMA444)        SNRcoded_block_pattern = (SNRcoded_block_pattern<<6) | Get_Bits(6); /* coded_block_pattern_2 */    }    else      SNRcoded_block_pattern = 0;    /* decode blocks */    for (comp=0; comp<block_count; comp++)    {      Clear_Block(comp);      if (SNRcoded_block_pattern & (1<<(block_count-1-comp)))        Decode_MPEG2_Non_Intra_Block(comp);    }  }  else /* SNRMBAinc!=1: skipped macroblock */  {    for (comp=0; comp<block_count; comp++)      Clear_Block(comp);  }  ld = &base;}/* IMPLEMENTATION: set scratch pad macroblock to zero */static void Clear_Block(comp)int comp;{  short *Block_Ptr;  int i;  Block_Ptr = ld->block[comp];  for (i=0; i<64; i++)    *Block_Ptr++ = 0;}/* SCALABILITY: add SNR enhancement layer block data to base layer *//* ISO/IEC 13818-2 section 7.8.3.4: Addition of coefficients from the two layes */static void Sum_Block(comp)int comp;{  short *Block_Ptr1, *Block_Ptr2;  int i;  Block_Ptr1 = base.block[comp];  Block_Ptr2 = enhan.block[comp];  for (i=0; i<64; i++)    *Block_Ptr1++ += *Block_Ptr2++;}/* limit coefficients to -2048..2047 *//* ISO/IEC 13818-2 section 7.4.3 and 7.4.4: Saturation and Mismatch control */static void Saturate(Block_Ptr)short *Block_Ptr;{  int i, sum, val;  sum = 0;  /* ISO/IEC 13818-2 section 7.4.3: Saturation */  for (i=0; i<64; i++)  {    val = Block_Ptr[i];    if (val>2047)      val = 2047;    else if (val<-2048)      val = -2048;    Block_Ptr[i] = val;    sum+= val;  }  /* ISO/IEC 13818-2 section 7.4.4: Mismatch control */  if ((sum&1)==0)    Block_Ptr[63]^= 1;}/* reuse old picture buffers as soon as they are no longer needed    based on life-time axioms of MPEG */static void Update_Picture_Buffers(){                             int cc;              /* color component index */  unsigned char *tmp;  /* temporary swap pointer */  for (cc=0; cc<3; cc++)  {    /* B pictures do not need to be save for future reference */    if (picture_coding_type==B_TYPE)    {      current_frame[cc] = auxframe[cc];    }    else    {      /* only update at the beginning of the coded frame */      if (!Second_Field)      {        tmp = forward_reference_frame[cc];        /* the previously decoded reference frame is stored           coincident with the location where the backward            reference frame is stored (backwards prediction is not           needed in P pictures) */        forward_reference_frame[cc] = backward_reference_frame[cc];                /* update pointer for potential future B pictures */        backward_reference_frame[cc] = tmp;      }      /* can erase over old backward reference frame since it is not used         in a P picture, and since any subsequent B pictures will use the          previously decoded I or P frame as the backward_reference_frame */      current_frame[cc] = backward_reference_frame[cc];    }    /* IMPLEMENTATION:       one-time folding of a line offset into the pointer which stores the       memory address of the current frame saves offsets and conditional        branches throughout the remainder of the picture processing loop */    if (picture_structure==BOTTOM_FIELD)      current_frame[cc]+= (cc==0) ? Coded_Picture_Width : Chroma_Width;  }}/* store last frame */void Output_Last_Frame_of_Sequence(Framenum)int Framenum;{  if (Second_Field)    printf("last frame incomplete, not stored\n");  else    Write_Frame(backward_reference_frame,Framenum-1);}static void frame_reorder(Bitstream_Framenum, Sequence_Framenum)int Bitstream_Framenum, Sequence_Framenum;{  /* tracking variables to insure proper output in spatial scalability */  static int Oldref_progressive_frame, Newref_progressive_frame;  if (Sequence_Framenum!=0)  {    if (picture_structure==FRAME_PICTURE || Second_Field)    {      if (picture_coding_type==B_TYPE)        Write_Frame(auxframe,Bitstream_Framenum-1);      else      {        Newref_progressive_frame = progressive_frame;        progressive_frame = Oldref_progressive_frame;        Write_Frame(forward_reference_frame,Bitstream_Framenum-1);        Oldref_progressive_frame = progressive_frame = Newref_progressive_frame;      }    }#ifdef DISPLAY    else if (Output_Type==T_X11)    {      if(!Display_Progressive_Flag)        Display_Second_Field();    }#endif  }  else    Oldref_progressive_frame = progressive_frame;}/* ISO/IEC 13818-2 section 7.6 */static void motion_compensation(MBA, macroblock_type, motion_type, PMV,   motion_vertical_field_select, dmvector, stwtype, dct_type)int MBA;int macroblock_type;int motion_type;int PMV[2][2][2];int motion_vertical_field_select[2][2];int dmvector[2];int stwtype;int dct_type;{  int bx, by;  int comp;  /* derive current macroblock position within picture */  /* ISO/IEC 13818-2 section 6.3.1.6 and 6.3.1.7 */  bx = 16*(MBA%mb_width);  by = 16*(MBA/mb_width);  /* motion compensation */  if (!(macroblock_type & MACROBLOCK_INTRA))    form_predictions(bx,by,macroblock_type,motion_type,PMV,      motion_vertical_field_select,dmvector,stwtype);    /* SCALABILITY: Data Partitioning */  if (base.scalable_mode==SC_DP)    ld = &base;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产色综合久久久蜜香臀| 欧美精品在线观看播放| 亚洲午夜日本在线观看| 26uuu另类欧美| 欧美在线免费播放| 成人网在线免费视频| 蜜臀精品久久久久久蜜臀| 日韩美女啊v在线免费观看| 欧美一区二区三区在线电影| 91麻豆精品秘密| 国产麻豆视频精品| 日本欧美在线看| 亚洲欧美电影院| 中文无字幕一区二区三区| 欧美一区二区三区人| 欧美在线free| 99r国产精品| 成人在线一区二区三区| 狠狠色丁香久久婷婷综| 琪琪久久久久日韩精品| 亚洲影院理伦片| 中文字幕日韩一区| 国产丝袜在线精品| 久久亚洲精品小早川怜子| 欧美一区二区三区四区五区 | 在线免费观看日本欧美| 不卡影院免费观看| 国产乱人伦精品一区二区在线观看| 日韩福利电影在线观看| 亚洲第一在线综合网站| 亚洲精品精品亚洲| 亚洲欧美日韩国产手机在线| 欧美激情艳妇裸体舞| 久久嫩草精品久久久精品| 26uuu久久天堂性欧美| 欧美xxxxx裸体时装秀| 日韩欧美亚洲一区二区| 日韩午夜中文字幕| 欧美一区中文字幕| 337p亚洲精品色噜噜| 欧美日韩免费一区二区三区| 欧美日韩高清在线播放| 欧美日韩在线播放三区四区| 欧美色视频在线观看| 欧美久久一区二区| 91精品国产综合久久久久| 欧美肥妇毛茸茸| 欧美电视剧免费全集观看| 欧美mv日韩mv亚洲| 国产网站一区二区| 国产精品国产馆在线真实露脸| 国产精品久久久久久一区二区三区 | 青青草国产精品亚洲专区无| 青青草国产精品97视觉盛宴| 久久成人综合网| 国产麻豆视频一区| 不卡区在线中文字幕| 91污片在线观看| 欧美日产国产精品| 日韩你懂的在线播放| 久久久久久久综合狠狠综合| 欧美激情在线观看视频免费| 亚洲人成亚洲人成在线观看图片| 亚洲一区中文日韩| 久久精品久久99精品久久| 国产麻豆精品在线观看| 波多野结衣精品在线| 色嗨嗨av一区二区三区| 欧美福利视频一区| 欧美精品一区二区三| 国产精品萝li| 午夜成人免费电影| 国产高清不卡一区| 在线视频观看一区| 欧美一级高清大全免费观看| 国产偷国产偷亚洲高清人白洁| 伊人婷婷欧美激情| 精品在线你懂的| 色呦呦国产精品| 日韩午夜激情av| 中文字幕亚洲在| 青青草97国产精品免费观看 | 亚洲综合色区另类av| 日韩欧美激情四射| 精品免费视频一区二区| 久久新电视剧免费观看| 亚洲精品第1页| 韩国一区二区三区| 日韩色视频在线观看| 一个色综合网站| 欧美日韩国产综合视频在线观看 | 99精品1区2区| 欧美精品一区视频| 中文字幕亚洲在| 国产真实精品久久二三区| 日韩三区在线观看| 欧美激情一二三区| 亚洲一区二区在线免费观看视频| 一区二区三区产品免费精品久久75| 一区二区三区中文在线观看| 蜜桃av噜噜一区二区三区小说| 国产老女人精品毛片久久| 99精品视频免费在线观看| 3atv在线一区二区三区| 亚洲午夜精品久久久久久久久| 国产一区二区精品久久| 日韩精品一区二区三区四区| 成人免费视频一区| 一区二区三区免费看视频| 色狠狠综合天天综合综合| 水蜜桃久久夜色精品一区的特点 | 2022国产精品视频| 婷婷久久综合九色综合绿巨人 | 国产美女视频91| 一本久久综合亚洲鲁鲁五月天 | 久久99国产精品成人| 色播五月激情综合网| 亚洲人成亚洲人成在线观看图片 | 欧美主播一区二区三区美女| 26uuu久久天堂性欧美| 国产在线精品一区二区夜色 | 不卡视频免费播放| 日本一区二区三区dvd视频在线| 国产电影精品久久禁18| 91精品久久久久久久91蜜桃| 成人免费高清在线观看| 国产精品污www在线观看| 色94色欧美sute亚洲线路一ni| 不卡区在线中文字幕| 欧美伊人久久大香线蕉综合69 | 亚洲一区欧美一区| 91麻豆国产福利精品| 国产片一区二区| 成人丝袜视频网| 欧美国产禁国产网站cc| 粉嫩久久99精品久久久久久夜| 久久综合九色欧美综合狠狠| 韩国一区二区在线观看| 久久久精品国产免费观看同学| 国内精品在线播放| 国产午夜精品一区二区三区四区 | 国产在线不卡一卡二卡三卡四卡| 91精品国产麻豆| 奇米精品一区二区三区在线观看| 欧美一级日韩不卡播放免费| 免费精品视频最新在线| 久久中文字幕电影| 国产suv精品一区二区三区| 中文字幕乱码日本亚洲一区二区| 丁香五精品蜜臀久久久久99网站| 国产精品午夜春色av| 日韩欧美一区二区免费| 精品无人区卡一卡二卡三乱码免费卡| 日韩精品中文字幕一区| 国产一区二区在线观看视频| 欧美精品一区二区高清在线观看 | 不卡大黄网站免费看| 亚洲视频你懂的| 欧美色视频在线| 激情久久久久久久久久久久久久久久| 久久亚洲综合av| 一本在线高清不卡dvd| 亚洲bdsm女犯bdsm网站| 精品久久久久久久久久久院品网| 国产成人综合亚洲网站| 亚洲精品日日夜夜| 日韩一区二区免费在线电影| 国产传媒久久文化传媒| 尤物视频一区二区| 精品福利视频一区二区三区| 成人性生交大片| 午夜精品影院在线观看| 欧美精品一区视频| 91国产免费看| 久久成人av少妇免费| 综合电影一区二区三区| 欧美二区在线观看| 高清成人免费视频| 亚洲成av人片观看| 国产欧美精品在线观看| 欧美性生交片4| 国产精品一区二区三区四区| 亚洲精品欧美二区三区中文字幕| 日韩写真欧美这视频| 色呦呦日韩精品| 国产一区欧美二区| 亚洲宅男天堂在线观看无病毒| 精品国产一区二区精华| 91福利精品视频| 国产激情91久久精品导航| 五月天视频一区| 亚洲少妇最新在线视频| 日韩欧美在线123| 色先锋资源久久综合| 国产精品综合在线视频| 午夜国产精品影院在线观看| 国产日产欧美一区| 日韩欧美在线1卡| 欧美日韩国产在线播放网站| 成人av资源网站|