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

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

?? decoder.c

?? 網絡MPEG4IP流媒體開發源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
      if (dx == 1) {        result = (result + imY[pres_y][max(0,min(maxold_x,x_pos))])/2;      }      else if (dx == 3) {        result = (result + imY[pres_y][max(0,min(maxold_x,x_pos+1))])/2;      }    }    else if (dx == 0) {      pres_x = max(0,min(maxold_x,x_pos));      for(y=-2;y<4;y++) {        pres_y = max(0,min(maxold_y,y_pos+y));        result += imY[pres_y][pres_x]*COEF[y+2];      }      result = max(0, min(255, (result+16)/32));      if (dy == 1) {        result = (result + imY[max(0,min(maxold_y,y_pos))][pres_x])/2;      }      else if (dy == 3) {        result = (result + imY[max(0,min(maxold_y,y_pos+1))][pres_x])/2;      }    }    else if (dx == 2) {      for(y=-2;y<4;y++) {        result = 0;        pres_y = max(0,min(maxold_y,y_pos+y));        for(x=-2;x<4;x++) {          pres_x = max(0,min(maxold_x,x_pos+x));          result += imY[pres_y][pres_x]*COEF[x+2];        }        tmp_res[y+2] = result;      }      result = 0;      for(y=-2;y<4;y++) {        result += tmp_res[y+2]*COEF[y+2];      }      result = max(0, min(255, (result+512)/1024));      if (dy == 1) {        result = (result + max(0, min(255, (tmp_res[2]+16)/32)))/2;      }      else if (dy == 3) {        result = (result + max(0, min(255, (tmp_res[3]+16)/32)))/2;      }    }    else if (dy == 2) {      for(x=-2;x<4;x++) {        result = 0;        pres_x = max(0,min(maxold_x,x_pos+x));        for(y=-2;y<4;y++) {          pres_y = max(0,min(maxold_y,y_pos+y));          result += imY[pres_y][pres_x]*COEF[y+2];        }        tmp_res[x+2] = result;      }      result = 0;      for(x=-2;x<4;x++) {        result += tmp_res[x+2]*COEF[x+2];      }      result = max(0, min(255, (result+512)/1024));      if (dx == 1) {        result = (result + max(0, min(255, (tmp_res[2]+16)/32)))/2;      }      else {        result = (result + max(0, min(255, (tmp_res[3]+16)/32)))/2;      }    }    else {      result = 0;      pres_y = dy == 1 ? y_pos : y_pos+1;      pres_y = max(0,min(maxold_y,pres_y));      for(x=-2;x<4;x++) {        pres_x = max(0,min(maxold_x,x_pos+x));        result += imY[pres_y][pres_x]*COEF[x+2];      }      result1 = max(0, min(255, (result+16)/32));      result = 0;      pres_x = dx == 1 ? x_pos : x_pos+1;      pres_x = max(0,min(maxold_x,pres_x));      for(y=-2;y<4;y++) {        pres_y = max(0,min(maxold_y,y_pos+y));        result += imY[pres_y][pres_x]*COEF[y+2];      }      result2 = max(0, min(255, (result+16)/32));      result = (result1+result2)/2;    }  }  return result;}  /*!  ************************************************************************************* * \brief *    Performs the simulation of the packet losses, calls the error concealment funcs *    and copies the decoded images to the reference frame buffers of the decoders  * ************************************************************************************* */void UpdateDecoders(){  int k;  for (k=0; k<input->NoOfDecoders; k++)  {    Build_Status_Map(status_map); // simulates the packet losses    Error_Concealment(decY_best[k], status_map, decref[k]); // for the moment error concealment is just a "copy"    // Move decoded frames to reference buffers: (at the decoders this is done     // without interpolation (upsampling) - upsampling is done while decoding    DecOneForthPix(decY_best[k], decref[k]);   }}/*!  ************************************************************************************* * \brief *    Copies one (reconstructed) image to the respective reference frame buffer * * \note *    This is used at the "many decoders in the encoder" * \param dY *    The reconstructed image * \param dref *    The reference buffer ************************************************************************************* */void DecOneForthPix(byte **dY, byte ***dref){  int j, ref=img->number%img->buf_cycle;  for (j=0; j<img->height; j++)    memcpy(dref[ref][j], dY[j], img->width);}/*!  ************************************************************************************* * \brief *    Gives the prediction residue for this MB. * * \param mode *    The encoding mode of this MB. ************************************************************************************* */void compute_residue(int mode){  int i,j;  if (mode == MBMODE_INTRA16x16)  /* Intra 16 MB*/    for (i=0; i<MB_BLOCK_SIZE; i++)      for (j=0; j<MB_BLOCK_SIZE; j++)        resY[j][i] = imgY[img->pix_y+j][img->pix_x+i]-img->mprr_2[mode][j][i]; /* SOS: Is this correct? or maybe mprr_2[][i][j] ??*/  else    for (i=0; i<MB_BLOCK_SIZE; i++)  /* Inter MB */      for (j=0; j<MB_BLOCK_SIZE; j++)        resY[j][i] = imgY[img->pix_y+j][img->pix_x+i]-img->mpr[i][j];}/*!  ************************************************************************************* * \brief *    Builds a random status map showing whether each MB is received or lost, based *    on the packet loss rate and the slice structure. * * \param s_map *    The status map to be filled ************************************************************************************* */void Build_Status_Map(byte **s_map){  int i,j,slice=-1,mb=0,jj,ii,packet_lost;  jj = img->height/MB_BLOCK_SIZE;  ii = img->width/MB_BLOCK_SIZE;  for (j=0 ; j<jj; j++)    for (i=0 ; i<ii; i++)    {      if (!input->slice_mode || img->mb_data[mb].slice_nr != slice) /* new slice */      {        if ((double)rand()/(double)RAND_MAX*100 < input->LossRate)          packet_lost=1;        else          packet_lost=0;                slice++;      }      if (packet_lost)        s_map[j][i]=0;      else        s_map[j][i]=1;      mb++;    }}/*!  ************************************************************************************* * \brief *    Performs some sort of error concealment for the areas that are lost according *    to the status_map *     * \param inY *    Error concealment is performed on this frame imY[][] * \param s_map *    The status map shows which areas are lost. * \param refY *    The set of reference frames - may be used for the error concealment. ************************************************************************************* */void Error_Concealment(byte **inY, byte **s_map, byte ***refY){  int mb_y, mb_x, mb_h, mb_w;  mb_h = img->height/MB_BLOCK_SIZE;  mb_w = img->width/MB_BLOCK_SIZE;    for (mb_y=0; mb_y < mb_h; mb_y++)    for (mb_x=0; mb_x < mb_w; mb_x++)      if (!s_map[mb_y][mb_x])        Conceal_Error(inY, mb_y, mb_x, refY);}/*!  ************************************************************************************* * \brief *    Copies a certain MB (mb_y,mb_x) of the frame inY[][] from the previous frame. *    For the time there is no better EC... ************************************************************************************* */void Conceal_Error(byte **inY, int mb_y, int mb_x, byte ***refY){  int i,j;  int ref_inx = (img->number-1)%img->no_multpred;  int pos_y = mb_y*MB_BLOCK_SIZE, pos_x = mb_x*MB_BLOCK_SIZE;  if (img->number)  {    for (j=0;j<MB_BLOCK_SIZE;j++)      for (i=0;i<MB_BLOCK_SIZE;i++)        inY[pos_y+j][pos_x+i] = refY[ref_inx][pos_y+j][pos_x+i];  }  else  {    for (j=0;j<MB_BLOCK_SIZE;j++)      for (i=0;i<MB_BLOCK_SIZE;i++)        inY[pos_y+j][pos_x+i] = 127;  }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品国产三级国产aⅴ中文| 久久成人免费网站| 偷拍一区二区三区| 毛片av一区二区三区| 韩国av一区二区三区| 波多野结衣中文字幕一区二区三区| 91免费精品国自产拍在线不卡| 欧美色综合影院| 亚洲欧美一区二区三区国产精品| 曰韩精品一区二区| 久久精品国产精品亚洲红杏| 国产精品一区久久久久| 色激情天天射综合网| 日韩欧美中文字幕公布| 国产精品视频在线看| 亚洲福利一区二区| 国产乱子伦视频一区二区三区| 91丨九色丨蝌蚪富婆spa| 91精品国产一区二区三区香蕉| 国产亚洲欧美色| 亚洲国产精品一区二区尤物区| 狠狠色丁香久久婷婷综合_中 | 欧美三级韩国三级日本三斤| 欧美va亚洲va在线观看蝴蝶网| 亚洲欧洲av在线| 男男gaygay亚洲| 91在线视频播放地址| 日韩小视频在线观看专区| 综合欧美亚洲日本| 麻豆精品新av中文字幕| 日本韩国一区二区三区| 久久综合久久综合久久综合| 亚洲综合无码一区二区| 懂色一区二区三区免费观看| 欧美日韩另类一区| 中文字幕在线播放不卡一区| 久久99久久久欧美国产| 欧美视频在线不卡| 成人欧美一区二区三区视频网页| 麻豆国产91在线播放| 欧美在线你懂得| 中文字幕免费观看一区| 久久综合综合久久综合| 91国内精品野花午夜精品| 久久久精品国产99久久精品芒果| 视频一区中文字幕| 欧美自拍丝袜亚洲| 一区精品在线播放| 成人免费观看视频| 精品国产亚洲在线| 天堂蜜桃一区二区三区| 色综合久久六月婷婷中文字幕| 国产色爱av资源综合区| 狠狠v欧美v日韩v亚洲ⅴ| 69av一区二区三区| 午夜在线电影亚洲一区| 欧美性猛交一区二区三区精品| 国产精品久久影院| 国产一区二区美女诱惑| 精品日韩99亚洲| 秋霞成人午夜伦在线观看| 欧美日韩在线播放三区四区| 亚洲三级免费电影| av色综合久久天堂av综合| 国产欧美日韩不卡免费| 精品一区二区三区免费观看| 日韩视频中午一区| 蜜臀久久久99精品久久久久久| 欧美日韩亚洲另类| 午夜精品免费在线| 欧美日韩国产综合久久| 亚洲动漫第一页| 欧美三片在线视频观看| 亚洲网友自拍偷拍| 欧美色欧美亚洲另类二区| 亚洲制服丝袜av| 精品视频免费看| 艳妇臀荡乳欲伦亚洲一区| 色综合久久六月婷婷中文字幕| 亚洲欧美一区二区三区久本道91 | 国产三级三级三级精品8ⅰ区| 麻豆精品久久久| 精品日韩99亚洲| 国产精品白丝av| 国产精品电影一区二区三区| 色综合亚洲欧洲| 亚洲国产日日夜夜| 亚洲欧洲精品一区二区精品久久久| 国产成人夜色高潮福利影视| 久久天天做天天爱综合色| 国产九九视频一区二区三区| 国产午夜一区二区三区| 99久久亚洲一区二区三区青草| 亚洲视频 欧洲视频| 日本电影亚洲天堂一区| 天天av天天翘天天综合网 | 看片的网站亚洲| 国产亚洲欧美日韩日本| av一区二区久久| 一区二区三区成人| 91精品国产色综合久久不卡电影| 另类人妖一区二区av| 国产三级精品视频| 色婷婷av一区二区三区软件| 亚洲r级在线视频| 精品国产一区久久| www.视频一区| 亚洲成人7777| 久久久亚洲国产美女国产盗摄| 成人性生交大片免费看中文网站| 亚洲男人电影天堂| 欧美一区二区三区在| 国产大陆精品国产| 亚洲精品久久嫩草网站秘色| 欧美一区国产二区| 成人免费视频网站在线观看| 亚洲精选免费视频| 日韩欧美久久一区| 99视频一区二区三区| 天涯成人国产亚洲精品一区av| 欧美tickle裸体挠脚心vk| 99久久婷婷国产综合精品| 婷婷开心激情综合| 国产三级精品三级在线专区| 欧美性一区二区| 国内不卡的二区三区中文字幕 | 国产精品456露脸| 亚洲综合一区二区精品导航| 精品国产伦一区二区三区观看方式 | 91在线视频在线| 日日摸夜夜添夜夜添亚洲女人| 国产亚洲欧美一区在线观看| 欧美性色黄大片| 成人午夜免费电影| 欧美a一区二区| 亚洲女与黑人做爰| 久久日韩粉嫩一区二区三区| 欧美又粗又大又爽| 国产精品香蕉一区二区三区| 婷婷夜色潮精品综合在线| 日本一区二区三区久久久久久久久不| 欧美三级资源在线| 99国产精品国产精品久久| 久久超级碰视频| 亚洲一区在线观看网站| 国产精品美女久久福利网站| 欧美一区二区三区免费观看视频 | 一区二区三区在线免费视频| 国产无遮挡一区二区三区毛片日本| 欧美日本乱大交xxxxx| 97精品久久久久中文字幕 | 国产精品视频一二三区| 日韩欧美亚洲另类制服综合在线 | 国产成人免费视频精品含羞草妖精| 亚洲国产中文字幕| 18欧美乱大交hd1984| 久久色视频免费观看| 制服.丝袜.亚洲.另类.中文| 色成人在线视频| 成人国产视频在线观看| 国产一区二区不卡在线 | 欧美一级久久久久久久大片| 91高清视频免费看| 一本大道久久a久久精品综合| 国产经典欧美精品| 国产露脸91国语对白| 麻豆一区二区在线| 免费观看91视频大全| 无吗不卡中文字幕| 亚洲国产精品久久人人爱蜜臀| 18成人在线视频| 成人免费在线播放视频| 中文字幕乱码亚洲精品一区 | 成人性生交大片免费看视频在线| 精品一区二区三区在线视频| 日韩va亚洲va欧美va久久| 亚洲国产欧美一区二区三区丁香婷| 亚洲丝袜另类动漫二区| 国产精品久久久久久亚洲毛片| 国产欧美日韩另类视频免费观看| 久久精品水蜜桃av综合天堂| 久久亚洲影视婷婷| 久久这里只精品最新地址| 精品91自产拍在线观看一区| 欧美成va人片在线观看| 精品区一区二区| 欧美va亚洲va国产综合| 精品国产亚洲在线| 久久久不卡网国产精品一区| 久久午夜电影网| 久久精品免费在线观看| 国产精品少妇自拍| 日韩毛片视频在线看| 亚洲精品中文在线影院| 夜夜嗨av一区二区三区中文字幕| 亚洲国产日日夜夜| 免费视频一区二区| 激情偷乱视频一区二区三区| 国产精品一区二区久久不卡 | 亚洲久本草在线中文字幕|