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

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

?? motion.c

?? mp3解碼程序vc++環(huán)境下運行
?? C
?? 第 1 頁 / 共 5 頁
字號:
 *curref:當(dāng)前的重建圖像幀(用來根據(jù)第一個場預(yù)測第二個場)
 *sxf,syf:前向搜索窗口
 *sxb,syb:后向搜索窗口
 *mbi:指向宏塊信息結(jié)構(gòu)體的指針
 *secondfield:指示一幀圖像的第二個場
 *ipflag:指示當(dāng)前P圖像幀是由I圖像幀所預(yù)測產(chǎn)生的

 *輸出結(jié)果mbi->
 *mb_type: 0, MB_INTRA, MB_FORWARD, MB_BACKWARD, MB_FORWARD|MB_BACKWARD
 *MV[][][]: 運動向量 (場格式)
 *mv_field_sel: 頂部/底部場
 *motion_type: MC_FIELD, MC_16X8
 */static void field_ME(oldorg,neworg,oldref,newref,cur,curref,i,j,  sxf,syf,sxb,syb,mbi,secondfield,ipflag)unsigned char *oldorg,*neworg,*oldref,*newref,*cur,*curref;int i,j,sxf,syf,sxb,syb;struct mbinfo *mbi;int secondfield,ipflag;{  int w2;  unsigned char *mb, *toporg, *topref, *botorg, *botref;  int var,vmc,v0,dmc,dmcfieldi,dmc8i;  int imin,jmin,imin8u,jmin8u,imin8l,jmin8l,dmcfield,dmc8,sel,sel8u,sel8l;  int iminf,jminf,imin8uf,jmin8uf,imin8lf,jmin8lf,dmcfieldf,dmc8f,self,sel8uf,sel8lf;  int iminr,jminr,imin8ur,jmin8ur,imin8lr,jmin8lr,dmcfieldr,dmc8r,selr,sel8ur,sel8lr;  int imins,jmins,ds,imindmv,jmindmv,vmc_dp,dmc_dp;  w2 = width<<1;  mb = cur + i + w2*j;  if (pict_struct==BOTTOM_FIELD)    mb += width;  var = variance(mb,w2);  if (pict_type==I_TYPE)    mbi->mb_type = MB_INTRA;  else if (pict_type==P_TYPE)  {    toporg = oldorg;    topref = oldref;    botorg = oldorg + width;    botref = oldref + width;    if (secondfield)    {            if (pict_struct==TOP_FIELD)      {                botorg = cur + width;        botref = curref + width;      }      else      {                toporg = cur;        topref = curref;      }    }    field_estimate(toporg,topref,botorg,botref,mb,i,j,sxf,syf,ipflag,                   &imin,&jmin,&imin8u,&jmin8u,&imin8l,&jmin8l,                   &dmcfield,&dmc8,&sel,&sel8u,&sel8l,&imins,&jmins,&ds);    if (M==1 && !ipflag)        dpfield_estimate(topref,botref,mb,i,j,imins,jmins,&imindmv,&jmindmv,        &dmc_dp,&vmc_dp);        if (M==1 && !ipflag && dmc_dp<dmc8 && dmc_dp<dmcfield)    {            mbi->motion_type = MC_DMV;      dmc = dmc_dp;           vmc = vmc_dp;         }    else if (dmc8<dmcfield)    {       /* 16x8 預(yù)測 */      mbi->motion_type = MC_16X8;      /* 上半部分宏塊*/      vmc = dist2((sel8u?botref:topref) + (imin8u>>1) + w2*(jmin8u>>1),                  mb,w2,imin8u&1,jmin8u&1,8);      /* lower half block */      vmc+= dist2((sel8l?botref:topref) + (imin8l>>1) + w2*(jmin8l>>1),                  mb+8*w2,w2,imin8l&1,jmin8l&1,8);    }    else    {      /* 下半部分宏塊 */      mbi->motion_type = MC_FIELD;      vmc = dist2((sel?botref:topref) + (imin>>1) + w2*(jmin>>1),                  mb,w2,imin&1,jmin&1,16);    }    /* 選擇幀內(nèi)編碼還是非幀內(nèi)編碼*/    if (vmc>var && vmc>=9*256)      mbi->mb_type = MB_INTRA;    else    {            if (!ipflag)        v0 = dist2(((pict_struct==BOTTOM_FIELD)?botref:topref) + i + w2*j,                   mb,w2,0,0,16);      if (ipflag || (4*v0>5*vmc && v0>=9*256))      {        var = vmc;        mbi->mb_type = MB_FORWARD;        if (mbi->motion_type==MC_FIELD)        {          mbi->MV[0][0][0] = imin - (i<<1);          mbi->MV[0][0][1] = jmin - (j<<1);          mbi->mv_field_sel[0][0] = sel;        }        else if (mbi->motion_type==MC_DMV)        {                    mbi->MV[0][0][0] = imins - (i<<1);          mbi->MV[0][0][1] = jmins - (j<<1);                   mbi->dmvector[0] = imindmv;          mbi->dmvector[1] = jmindmv;        }        else        {          mbi->MV[0][0][0] = imin8u - (i<<1);          mbi->MV[0][0][1] = jmin8u - (j<<1);          mbi->MV[1][0][0] = imin8l - (i<<1);          mbi->MV[1][0][1] = jmin8l - ((j+8)<<1);          mbi->mv_field_sel[0][0] = sel8u;          mbi->mv_field_sel[1][0] = sel8l;        }      }      else      {                var = v0;        mbi->mb_type = 0;        mbi->motion_type = MC_FIELD;        mbi->MV[0][0][0] = 0;        mbi->MV[0][0][1] = 0;        mbi->mv_field_sel[0][0] = (pict_struct==BOTTOM_FIELD);      }    }  }  else /* 如果為B幀圖像*/  {    /* 前向預(yù)測*/    field_estimate(oldorg,oldref,oldorg+width,oldref+width,mb,                   i,j,sxf,syf,0,                   &iminf,&jminf,&imin8uf,&jmin8uf,&imin8lf,&jmin8lf,                   &dmcfieldf,&dmc8f,&self,&sel8uf,&sel8lf,&imins,&jmins,&ds);     /*后向預(yù)測*/    field_estimate(neworg,newref,neworg+width,newref+width,mb,                   i,j,sxb,syb,0,                   &iminr,&jminr,&imin8ur,&jmin8ur,&imin8lr,&jmin8lr,                   &dmcfieldr,&dmc8r,&selr,&sel8ur,&sel8lr,&imins,&jmins,&ds);     /* 計算雙向預(yù)測的距離*/    /* 場 */    dmcfieldi = bdist1(oldref + (self?width:0) + (iminf>>1) + w2*(jminf>>1),                       newref + (selr?width:0) + (iminr>>1) + w2*(jminr>>1),                       mb,w2,iminf&1,jminf&1,iminr&1,jminr&1,16);    /* 16x8 上半塊*/    dmc8i = bdist1(oldref + (sel8uf?width:0) + (imin8uf>>1) + w2*(jmin8uf>>1),                   newref + (sel8ur?width:0) + (imin8ur>>1) + w2*(jmin8ur>>1),                   mb,w2,imin8uf&1,jmin8uf&1,imin8ur&1,jmin8ur&1,8);    /* 16x8 下半塊 */    dmc8i+= bdist1(oldref + (sel8lf?width:0) + (imin8lf>>1) + w2*(jmin8lf>>1),                   newref + (sel8lr?width:0) + (imin8lr>>1) + w2*(jmin8lr>>1),                   mb+8*w2,w2,imin8lf&1,jmin8lf&1,imin8lr&1,jmin8lr&1,8);   /*選擇距離最小的預(yù)測類型*/    if (dmcfieldi<dmc8i && dmcfieldi<dmcfieldf && dmcfieldi<dmc8f        && dmcfieldi<dmcfieldr && dmcfieldi<dmc8r)    {      /* 內(nèi)插*/      mbi->mb_type = MB_FORWARD|MB_BACKWARD;      mbi->motion_type = MC_FIELD;      vmc = bdist2(oldref + (self?width:0) + (iminf>>1) + w2*(jminf>>1),                   newref + (selr?width:0) + (iminr>>1) + w2*(jminr>>1),                   mb,w2,iminf&1,jminf&1,iminr&1,jminr&1,16);    }    else if (dmc8i<dmcfieldf && dmc8i<dmc8f             && dmc8i<dmcfieldr && dmc8i<dmc8r)    {      /* 16x8, 內(nèi)插*/      mbi->mb_type = MB_FORWARD|MB_BACKWARD;      mbi->motion_type = MC_16X8;      /* 上半塊 */      vmc = bdist2(oldref + (sel8uf?width:0) + (imin8uf>>1) + w2*(jmin8uf>>1),                   newref + (sel8ur?width:0) + (imin8ur>>1) + w2*(jmin8ur>>1),                   mb,w2,imin8uf&1,jmin8uf&1,imin8ur&1,jmin8ur&1,8);      /* 下半塊 */      vmc+= bdist2(oldref + (sel8lf?width:0) + (imin8lf>>1) + w2*(jmin8lf>>1),                   newref + (sel8lr?width:0) + (imin8lr>>1) + w2*(jmin8lr>>1),                   mb+8*w2,w2,imin8lf&1,jmin8lf&1,imin8lr&1,jmin8lr&1,8);    }    else if (dmcfieldf<dmc8f && dmcfieldf<dmcfieldr && dmcfieldf<dmc8r)    {            mbi->mb_type = MB_FORWARD;      mbi->motion_type = MC_FIELD;      vmc = dist2(oldref + (self?width:0) + (iminf>>1) + w2*(jminf>>1),                  mb,w2,iminf&1,jminf&1,16);    }    else if (dmc8f<dmcfieldr && dmc8f<dmc8r)    {       /* 16x8, 前向*/      mbi->mb_type = MB_FORWARD;      mbi->motion_type = MC_16X8;            vmc = dist2(oldref + (sel8uf?width:0) + (imin8uf>>1) + w2*(jmin8uf>>1),                  mb,w2,imin8uf&1,jmin8uf&1,8);           vmc+= dist2(oldref + (sel8lf?width:0) + (imin8lf>>1) + w2*(jmin8lf>>1),                  mb+8*w2,w2,imin8lf&1,jmin8lf&1,8);    }    else if (dmcfieldr<dmc8r)    {            mbi->mb_type = MB_BACKWARD;      mbi->motion_type = MC_FIELD;      vmc = dist2(newref + (selr?width:0) + (iminr>>1) + w2*(jminr>>1),                  mb,w2,iminr&1,jminr&1,16);    }    else    {            mbi->mb_type = MB_BACKWARD;      mbi->motion_type = MC_16X8;           vmc = dist2(newref + (sel8ur?width:0) + (imin8ur>>1) + w2*(jmin8ur>>1),                  mb,w2,imin8ur&1,jmin8ur&1,8);      vmc+= dist2(newref + (sel8lr?width:0) + (imin8lr>>1) + w2*(jmin8lr>>1),                  mb+8*w2,w2,imin8lr&1,jmin8lr&1,8);    }       if (vmc>var && vmc>=9*256)      mbi->mb_type = MB_INTRA;    else    {      var = vmc;      if (mbi->motion_type==MC_FIELD)      {        /* 前向 */        mbi->MV[0][0][0] = iminf - (i<<1);        mbi->MV[0][0][1] = jminf - (j<<1);        mbi->mv_field_sel[0][0] = self;        /* 后向 */        mbi->MV[0][1][0] = iminr - (i<<1);        mbi->MV[0][1][1] = jminr - (j<<1);        mbi->mv_field_sel[0][1] = selr;      }      else /* MC_16X8 */      {        /* 前向 */        mbi->MV[0][0][0] = imin8uf - (i<<1);        mbi->MV[0][0][1] = jmin8uf - (j<<1);        mbi->mv_field_sel[0][0] = sel8uf;        mbi->MV[1][0][0] = imin8lf - (i<<1);        mbi->MV[1][0][1] = jmin8lf - ((j+8)<<1);        mbi->mv_field_sel[1][0] = sel8lf;        /* 后向 */        mbi->MV[0][1][0] = imin8ur - (i<<1);        mbi->MV[0][1][1] = jmin8ur - (j<<1);        mbi->mv_field_sel[0][1] = sel8ur;        mbi->MV[1][1][0] = imin8lr - (i<<1);        mbi->MV[1][1][1] = jmin8lr - ((j+8)<<1);        mbi->mv_field_sel[1][1] = sel8lr;      }    }  }  mbi->var = var;}/* * 幀圖像運動估計 *  */static void frame_estimate(org,ref,mb,i,j,sx,sy,  iminp,jminp,imintp,jmintp,iminbp,jminbp,dframep,dfieldp,tselp,bselp,  imins,jmins)unsigned char *org,*ref,*mb;int i,j,sx,sy;int *iminp,*jminp;int *imintp,*jmintp,*iminbp,*jminbp;int *dframep,*dfieldp;int *tselp,*bselp;int imins[2][2],jmins[2][2];{  int dt,db,dmint,dminb;  int imint,iminb,jmint,jminb;  /* frame prediction */  *dframep = fullsearch(org,ref,mb,width,i,j,sx,sy,16,width,height,                        iminp,jminp);  /* predict top field from top field */  dt = fullsearch(org,ref,mb,width<<1,i,j>>1,sx,sy>>1,8,width,height>>1,                  &imint,&jmint);  /* predict top field from bottom field */  db = fullsearch(org+width,ref+width,mb,width<<1,i,j>>1,sx,sy>>1,8,width,height>>1,                  &iminb,&jminb);  imins[0][0] = imint;  jmins[0][0] = jmint;  imins[1][0] = iminb;  jmins[1][0] = jminb;  /* select prediction for top field */  if (dt<=db)  {    dmint=dt; *imintp=imint; *jmintp=jmint; *tselp=0;  }  else  {    dmint=db; *imintp=iminb; *jmintp=jminb; *tselp=1;  }  /* predict bottom field from top field */  dt = fullsearch(org,ref,mb+width,width<<1,i,j>>1,sx,sy>>1,8,width,height>>1,                  &imint,&jmint);  /* predict bottom field from bottom field */  db = fullsearch(org+width,ref+width,mb+width,width<<1,i,j>>1,sx,sy>>1,8,width,height>>1,                  &iminb,&jminb);  imins[0][1] = imint;  jmins[0][1] = jmint;  imins[1][1] = iminb;  jmins[1][1] = jminb;  /* select prediction for bottom field */  if (db<=dt)  {    dminb=db; *iminbp=iminb; *jminbp=jminb; *bselp=1;  }  else  {    dminb=dt; *iminbp=imint; *jminbp=jmint; *bselp=0;  }  *dfieldp=dmint+dminb;}/* * 場圖片運動預(yù)測程序 * * toporg:原始上半部分場地址
 *topref:重建的上半部分場地址
 *botorg:原始下半部分參考場地址
 *botref:重建的下半部分參考場的地址
 *mb:待匹配的宏塊
 *i,j:宏塊的位置(即搜索窗口的中心)
 *iminp,jminp,selp,dfieldp:最佳預(yù)測場的位置和距離
 *imin8up,jmin8up,sel8up:上半部分宏塊的最佳預(yù)測的位置
 *imin8lp,jmin8lp,sel8lp:下半部分宏塊的最佳預(yù)測的位置
 *d8p:最佳16×8的預(yù)測塊的距離
 *iminsp,jminsp,dsp:最佳同奇偶性預(yù)測場的位置和距離
 */
static void field_estimate(toporg,topref,botorg,botref,mb,i,j,sx,sy,ipflag,  iminp,jminp,imin8up,jmin8up,imin8lp,jmin8lp,dfieldp,d8p,selp,sel8up,sel8lp,  iminsp,jminsp,dsp)unsigned char *toporg, *topref, *botorg, *botref, *mb;int i,j,sx,sy;int ipflag;int *iminp, *jminp;int *imin8up, *jmin8up, *imin8lp, *jmin8lp;int *dfieldp,*d8p;int *selp, *sel8up, *sel8lp;int *iminsp, *jminsp, *dsp;{  int dt, db, imint, jmint, iminb, jminb, notop, nobot;  /* 如果ipflag為1則僅從對偶場預(yù)測 */  notop = ipflag && (pict_struct==TOP_FIELD);  nobot = ipflag && (pict_struct==BOTTOM_FIELD);   /*場預(yù)測*/
  /* 從上半部分場預(yù)測當(dāng)前場 */  if (notop)    dt = 65536;   else    dt = fullsearch(toporg,topref,mb,width<<1,                    i,j,sx,sy>>1,16,width,height>>1,                    &imint,&jmint);   /* 從下半部分場預(yù)測當(dāng)前場*/  if (nobot)    db = 65536;   else    db = fullsearch(botorg,botref,mb,width<<1,                    i,j,sx,sy>>1,16,width,height>>1,                    &iminb,&jminb);  if (pict_struct==TOP_FIELD)  {    *iminsp = imint; *jminsp = jmint; *dsp = dt;  }  else  {

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产麻豆精品theporn| 青青草视频一区| 91视频国产资源| 日韩美女啊v在线免费观看| 91免费观看视频在线| 亚洲自拍偷拍av| 欧美一区午夜视频在线观看| 老司机午夜精品| 国产精品全国免费观看高清| 色综合色狠狠天天综合色| 亚洲福利视频导航| 精品国产凹凸成av人导航| 成人黄色av电影| 亚洲成人激情av| 久久亚洲二区三区| 99精品欧美一区二区三区小说 | 成人国产一区二区三区精品| 中文字幕日本乱码精品影院| 91国在线观看| 久久国产麻豆精品| 亚洲日本免费电影| 欧美一级欧美一级在线播放| 成人午夜视频在线观看| 亚洲成人激情av| 国产精品久久久久一区二区三区| 色综合久久天天综合网| 国产在线精品视频| 亚洲一区在线观看免费 | 国产精品视频免费看| 色婷婷久久久久swag精品| 日本aⅴ亚洲精品中文乱码| 日本一区二区免费在线| 欧美群妇大交群中文字幕| 国产成人精品影院| 视频一区二区三区在线| 国产日韩影视精品| 欧美军同video69gay| 99久精品国产| 国产在线观看免费一区| 午夜a成v人精品| ...xxx性欧美| 久久亚洲二区三区| 91精品国产综合久久久久| a在线播放不卡| 国产精品资源在线观看| 午夜精品视频在线观看| 国产精品久久久久影院| 精品国产一区二区精华| 5月丁香婷婷综合| 在线一区二区观看| 成人免费观看视频| 国产乱码精品一区二区三 | 亚洲一区二区三区国产| 久久久精品免费免费| 欧美高清www午色夜在线视频| eeuss鲁片一区二区三区在线看| 久久精品国产澳门| 日韩一区精品字幕| 亚洲狠狠爱一区二区三区| 国产精品动漫网站| 亚洲国产成人一区二区三区| 欧美v国产在线一区二区三区| 欧美精品高清视频| 欧美亚洲动漫制服丝袜| 91麻豆.com| 一本一道久久a久久精品| 成人免费视频视频在线观看免费| 国产精品亚洲视频| 国产美女精品人人做人人爽| 久草热8精品视频在线观看| 丝袜美腿成人在线| 日韩激情在线观看| 婷婷久久综合九色国产成人| 亚洲观看高清完整版在线观看| 亚洲男人的天堂一区二区 | 国产夜色精品一区二区av| 91精品国产麻豆| 日韩午夜激情免费电影| 91精品国产入口在线| 日韩一区二区中文字幕| 欧美一级二级在线观看| 欧美电影免费提供在线观看| 日韩精品一区二区三区蜜臀| 亚洲精品在线免费播放| 久久奇米777| 亚洲欧洲日韩综合一区二区| 中文一区二区完整视频在线观看| 日本一区二区三区视频视频| 最新日韩在线视频| 亚洲一二三专区| 日精品一区二区三区| 狠狠色狠狠色综合系列| 成人免费毛片片v| 日本韩国视频一区二区| 91精品国产综合久久久久久久久久 | 国产精品私人影院| 一区二区三区在线视频免费观看| 亚洲小说欧美激情另类| 卡一卡二国产精品| 波多野洁衣一区| 欧美性欧美巨大黑白大战| 日韩欧美亚洲国产精品字幕久久久 | 福利一区二区在线| 欧日韩精品视频| 日韩欧美一级二级三级久久久| 26uuu亚洲综合色欧美| 国产精品免费aⅴ片在线观看| 亚洲日本va午夜在线影院| 人人爽香蕉精品| 成人美女在线视频| 欧美猛男gaygay网站| 国产色91在线| 亚洲综合区在线| 国产一区二区精品久久91| 欧美综合欧美视频| 国产亚洲1区2区3区| 亚洲成人手机在线| 成人一二三区视频| 在线播放91灌醉迷j高跟美女 | 91精品国产综合久久久久久久久久| 精品嫩草影院久久| 亚洲制服丝袜av| 成人久久18免费网站麻豆| 欧美精品精品一区| 亚洲欧美另类小说视频| 韩国成人精品a∨在线观看| 在线看日本不卡| 国产精品乱子久久久久| 日日摸夜夜添夜夜添精品视频| 99热99精品| 欧美精品一区二区精品网| 亚洲国产精品一区二区www| 国产a视频精品免费观看| 欧美一区二区三区四区五区| 成人免费在线视频观看| 久久精品国产999大香线蕉| 在线观看日韩高清av| 国产精品乱人伦一区二区| 黄色成人免费在线| 日韩午夜三级在线| 亚洲3atv精品一区二区三区| 成人一道本在线| 久久一区二区三区四区| 日本不卡视频在线观看| 91久久免费观看| 中文字幕中文字幕在线一区| 黄色成人免费在线| 日韩一级片在线观看| 日韩国产一区二| 欧美色综合久久| 一区二区在线电影| 99综合影院在线| 国产精品丝袜久久久久久app| 精品在线播放免费| 91精品国产乱码| 秋霞电影一区二区| 欧美精品一二三四| 亚洲国产精品久久久久秋霞影院| 91麻豆国产福利在线观看| 国产精品久久久久一区二区三区| 福利视频网站一区二区三区| 久久久久久黄色| 国产老女人精品毛片久久| xfplay精品久久| 国产真实乱对白精彩久久| 精品国产乱码久久久久久闺蜜| 免费成人在线观看| 欧美xxxx老人做受| 国产精品99精品久久免费| 久久人人97超碰com| 激情综合色播激情啊| 精品国一区二区三区| 黄网站免费久久| 日本一区二区三区在线观看| av电影在线观看不卡| 国产精品久久久久三级| 99精品热视频| 亚洲成人你懂的| 欧美一区二区人人喊爽| 激情成人综合网| 中文字幕免费观看一区| 91丨porny丨国产| 亚洲国产精品久久不卡毛片| 欧美精品xxxxbbbb| 久热成人在线视频| 国产亲近乱来精品视频| 97se亚洲国产综合自在线| 一区二区视频免费在线观看| 欧美高清精品3d| 国产麻豆精品久久一二三| 国产精品久久毛片a| 在线免费观看日本欧美| 日韩不卡一区二区| 久久久精品免费观看| 一本大道av伊人久久综合| 亚洲第一在线综合网站| 久久久久久久综合日本| 91丨porny丨在线| 免费不卡在线视频| 中文字幕日韩欧美一区二区三区|