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

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

?? p_picture.c

?? tmn3.2編解碼源程序 Linux C環境編寫 文件齊全 壓縮包完整 試用正常 歡迎試用
?? C
?? 第 1 頁 / 共 5 頁
字號:
		             * the previous quantizer,current quantizer is coded into dquant parameter*/                dquant = QP_new;              }            }          }        }	      pic->DQUANT = dquant;        /* modify mode if dquant != 0 (e.g. MODE_INTER -> MODE_INTER_Q           * or MODE_INTER4V -> MODE_INTER4V_Q) */        Mode = ModifyMode(MV[0][j+1][i+1]->Mode,pic->DQUANT, EPTYPE);        MV[0][j+1][i+1]->Mode = Mode;      }      pic->MB = i + j * (pels/MB_SIZE);            /* store the QP for every macroblock */      quant_map[j+1][i+1] = QP_xmitted;      if ((rcoeff = (int *)malloc(sizeof(int)*384)) == NULL)       {        fprintf(stderr,"MB_Coder: Could not allocate space for rcoeff\n");        exit(-1);      }        if ( Mode == MODE_INTER || Mode == MODE_INTER_Q ||           Mode == MODE_INTER4V || Mode==MODE_INTER4V_Q)      {        /* Predict P-MB */	      diff = Predict_P( curr,prev_recon,prev_ipol, pred_P,                          i*MB_SIZE,j*MB_SIZE,MV,pic->PB, pic->RTYPE);      }      else       {        /* fill prediction array with 0s */        memset (pred_P, 0, sizeof (MB_Structure));        /* fill the difference array with the current macroblock pixels */        diff = (MB_Structure *)malloc(sizeof(MB_Structure));      	FillLumBlock(i*MB_SIZE, j*MB_SIZE, curr, diff);        FillChromBlock(i*MB_SIZE, j*MB_SIZE, curr, diff);      }      /* P or INTRA Macroblock */      if ((qcoeff_P=(int *)malloc(sizeof(int)*384)) == 0)       {        fprintf(stderr,"coder(): Couldn't allocate qcoeff_P.\n");        exit(-1);      }      coeff = MB_Encode(diff);      if (advanced_intra_coding)       {        if (!(Mode == MODE_INTRA || Mode == MODE_INTRA_Q))         {          for (k=0;k<6;k++)           {                /* store default coeff if non-intra macroblock */            store_coeff[(i + j * pels/MB_SIZE) * 384 + k * 64] = 1024;            store_rcoeff[(i + j * pels/MB_SIZE) * 384 + k * 64] = 1024;          }          for (k=0;k<6;k++)          {            Quant_blk(coeff,qcoeff_P,QP_xmitted, Mode,k);          }          CBP = FindCBP(qcoeff_P, Mode, 64);          if (CBP == 0 && (Mode == MODE_INTER || Mode == MODE_INTER_Q))           {            ZeroMBlock(diff);          }          else          {              for (k=0;k<6;k++)            {              Quant_blk(coeff,qcoeff_P,QP_xmitted, Mode,k);              Dequant(qcoeff_P, rcoeff, QP_xmitted, Mode,k);            }            MB_Decode(rcoeff, diff);          }        }        else         {          if ((pcoeff=(int *)malloc(sizeof(int)*384)) == 0)           {            fprintf(stderr,"coder(): Couldn't allocate pcoeff.\n");            exit(-1);          }          /* store the quantized DCT coefficients */          memcpy( (void *) (store_coeff + (i + j*pels/MB_SIZE)*384), (void *) coeff, sizeof(int) * 384);          /* Do Intra mode prediction */          pic->Intra_Mode = Choose_Intra_Mode(pcoeff, store_coeff, i, j, newgob);          for (k=0;k<6;k++)           {             Intra_AC_DC_Encode(coeff, store_rcoeff, pic->Intra_Mode, i, j, newgob,k);            Quant_blk(coeff,pcoeff,QP_xmitted,Mode,k);            Dequant(pcoeff, rcoeff, QP_xmitted, Mode,k);            Intra_AC_DC_Decode(rcoeff, store_rcoeff, pic->Intra_Mode, i, j, newgob,k);          }          MB_Decode(rcoeff, diff);          CBP = FindCBP(pcoeff,Mode,64);        }          }      else      {          for (k=0;k<6;k++)          Quant_blk(coeff,qcoeff_P,QP_xmitted, Mode,k);        CBP = FindCBP(qcoeff_P, Mode, 64);        if (CBP == 0 && (Mode == MODE_INTER || Mode == MODE_INTER_Q))           ZeroMBlock(diff);        else        {          for (k=0;k<6;k++)              Dequant(qcoeff_P, rcoeff, QP_xmitted, Mode,k);           MB_Decode(rcoeff, diff);        }      }      recon_data_P = MB_Reconstruct (diff, pred_P);      Clip(recon_data_P);      free(diff);      free(coeff);              /* Predict B-MB using reconstructed P-MB and prev. recon. image */      if (pic->PB)       {        diff = Predict_B( B_image, prev_recon, prev_ipol_woRTYPE,pred_B,i*MB_SIZE, j*MB_SIZE,                          MV,B_f_MV, recon_data_P, frameskip, pic->TRB, pic->PB,                           &PB_pred_type);        if (QP_xmitted == 0)        {          /* (QP = 0 means no quantization) */          QP_B = 0;          }        else         {          QP_B = mmax(1,mmin(31,bquant[pic->BQUANT]*QP_xmitted/4));        }        if ((qcoeff_B=(int *)malloc(sizeof(int)*384)) == 0)         {		      fprintf(stderr,"coder(): Couldn't allocate qcoeff_B.\n");          exit(-1);        }        coeff = MB_Encode(diff);        for (k=0;k<6;k++)          Quant_blk(coeff,qcoeff_B,QP_B, MODE_INTER,k);        CBPB = FindCBP(qcoeff_B, MODE_INTER, 64);                 if (CBPB)        {           for (k=0;k<6;k++)            Dequant(qcoeff_B, rcoeff, QP_B, MODE_INTER,k);          MB_Decode(rcoeff, diff);        }        else          ZeroMBlock(diff);        recon_data_B = MB_Reconstruct(diff,pred_B);        Clip(recon_data_B);        /* decide MODB */         if (pic->PB == IM_PB_FRAMES)         {          if (CBPB)          {            if (PB_pred_type == FORWARD_PREDICTION)              pic->MODB = PBMODE_CBPB_FRW_PRED;            else if (PB_pred_type == BACKWARD_PREDICTION)            pic->MODB = PBMODE_CBPB_BCKW_PRED;            else              pic->MODB = PBMODE_CBPB_BIDIR_PRED;          }           else          {            if (PB_pred_type == FORWARD_PREDICTION)              pic->MODB = PBMODE_FRW_PRED;             else if (PB_pred_type == BACKWARD_PREDICTION)              pic->MODB = PBMODE_BCKW_PRED;            else              pic->MODB = PBMODE_BIDIR_PRED;          }          if (PB_pred_type == FORWARD_PREDICTION)          {            /* Store the forward predicted MV instead of PB delta. */            MV[6][j + 1][i + 1]->x = B_f_MV[0][j + 1][i + 1]->x;            MV[6][j + 1][i + 1]->y = B_f_MV[0][j + 1][i + 1]->y;            MV[6][j + 1][i + 1]->x_half = B_f_MV[0][j + 1][i + 1]->x_half;            MV[6][j + 1][i + 1]->y_half = B_f_MV[0][j + 1][i + 1]->y_half;          }          if (PB_pred_type == BACKWARD_PREDICTION)          {            MV[6][j + 1][i + 1]->x = 0;            MV[6][j + 1][i + 1]->y = 0;            MV[6][j + 1][i + 1]->x_half = 0;            MV[6][j + 1][i + 1]->y_half = 0;          }        }        else         {          if (CBPB)           {            pic->MODB = PBMODE_CBPB_MVDB;          }          else            {            if (MV[6][j+1][i+1]->x == 0 && MV[6][j+1][i+1]->y == 0)              pic->MODB = PBMODE_NORMAL;            else              pic->MODB = PBMODE_MVDB;          }        }        free(diff);        free(coeff);              }      else        ZeroVec(MV[6][j+1][i+1]); /* Zero out PB deltas */      if ((CBP==0) && (CBPB==0) && (EqualVec(MV[0][j+1][i+1],&ZERO)) &&           (EqualVec(MV[6][j+1][i+1],&ZERO)) &&          (Mode == MODE_INTER || Mode == MODE_INTER_Q) &&          (pic->MODB==0))       {         /* Skipped MB : both CBP and CBPB are zero, 16x16 vector is zero,         * PB delta vector is zero, Mode = MODE_INTER and B picture is         * predicted bidirectionally. */        coded_map[j+1][i+1] = 0;        quant_map[j+1][i+1] = 0;        if (Mode == MODE_INTER_Q || Mode == MODE_INTER4V_Q)         {          /* DQUANT != 0 but not coded anyway */          QP_xmitted = QP_prev;          pic->DQUANT = 0;          Mode = MODE_INTER;        }        if (!syntax_arith_coding)          CountBitsMB(Mode,1,CBP,CBPB,pic,bits,0);        else          Count_sac_BitsMB(Mode,1,CBP,CBPB,pic,bits);      }      else       {        /* Normal MB */        if (!syntax_arith_coding)         {           /* VLC */          CountBitsMB(Mode,0,CBP,CBPB,pic,bits,0);          if (!CBP || !CBPB)            intra_refresh[j+1][i+1] += 1;          if (Mode == MODE_INTER  || Mode == MODE_INTER_Q)           {            coded_map[j+1][i+1] = 1;            quant_map[j+1][i+1] = QP_xmitted;            bits->no_inter++;            CountBitsVectors(MV, bits, i, j, Mode, newgob, pic, 0);          }          else if (Mode == MODE_INTER4V || Mode == MODE_INTER4V_Q)           {            coded_map[j+1][i+1] = 1;            quant_map[j+1][i+1] = QP_xmitted;            bits->no_inter4v++;            CountBitsVectors(MV, bits, i, j, Mode, newgob, pic, 0);          }          else           {            /* MODE_INTRA or MODE_INTRA_Q */            coded_map[j+1][i+1] = 2;            quant_map[j+1][i+1] = QP_xmitted;            intra_refresh[j+1][i+1] = 0;                       bits->no_intra++;            if (pic->PB)            {              CountBitsVectors(MV, bits, i, j, Mode, newgob, pic, 0);            }          }          if ( (Mode == MODE_INTRA || Mode == MODE_INTRA_Q) &&                advanced_intra_coding )          {            Scan(pcoeff,pic->Intra_Mode);            CountBitsCoeff(pcoeff, Mode, CBP, bits, 64);          }          else if (CBP || Mode == MODE_INTRA || Mode == MODE_INTRA_Q)          {            Scan(qcoeff_P,0);            CountBitsCoeff(qcoeff_P, Mode, CBP, bits, 64);            }                  if (CBPB)          {            Scan(qcoeff_B,0);            CountBitsCoeff(qcoeff_B, MODE_INTER, CBPB, bits, 64);          }        }         /* end VLC */        else         {           /* SAC */          Count_sac_BitsMB(Mode,0,CBP,CBPB,pic,bits);          if (!CBP || !CBPB)            intra_refresh[j+1][i+1] += 1;          if (Mode == MODE_INTER  || Mode == MODE_INTER_Q)           {            coded_map[j+1][i+1] = 1;            quant_map[j+1][i+1] = QP_xmitted;                  bits->no_inter++;            Count_sac_BitsVectors(MV, bits, i, j, Mode, newgob, pic);          }          else if (Mode == MODE_INTER4V || Mode == MODE_INTER4V_Q)           {            coded_map[j+1][i+1] = 1;            quant_map[j+1][i+1] = QP_xmitted;            bits->no_inter4v++;            Count_sac_BitsVectors(MV, bits, i, j, Mode, newgob, pic);          }          else           {            /* MODE_INTRA or MODE_INTRA_Q */            coded_map[j+1][i+1] = 2;            quant_map[j+1][i+1] = QP_xmitted;            intra_refresh[j+1][i+1] = 0;            bits->no_intra++;            if (pic->PB)	            Count_sac_BitsVectors(MV, bits, i, j, Mode, newgob, pic);          }          if ((Mode == MODE_INTRA || Mode == MODE_INTRA_Q) &&               advanced_intra_coding)          {            Scan(pcoeff, pic->Intra_Mode);            Count_sac_BitsCoeff(pcoeff, Mode, CBP, bits, 64);          }          else if ( CBP || Mode == MODE_INTRA || Mode == MODE_INTRA_Q)          {            Scan(qcoeff_P,0);                       Count_sac_BitsCoeff(qcoeff_P, Mode, CBP, bits, 64);          }          if (CBPB)          {            Scan(qcoeff_B,0);            Count_sac_BitsCoeff(qcoeff_B, MODE_INTER, CBPB, bits, 64);          }         }        /* end SAC */        QP_prev = QP_xmitted;      }      /* update the rate control parameters for TMN-8 rate control */      if (rate_control_method == TMN8_RC)       {         AddBitsPicture (bits);          UpdateRateControlMB((bits->total - bits_prev->total),                            ((bits->Y + bits->C)-(bits_prev->Y + bits_prev->C)), i, j, QP_xmitted);          bits_prev->total = bits->total;        bits_prev->Y = bits->Y;        bits_prev->C = bits->C;      }       abs_mb_num++;      QP_cumulative += QP_xmitted;     #ifdef PRINTQ       /* most useful when quantizer changes within a picture */      if (QuantChangePostponed)        fprintf(stdout,"@%2d",QP_xmitted);      else        fprintf(stdout," %2d",QP_xmitted);#endif      if (pic->PB)       {        ReconImage(i,j,recon_data_B,B_recon);      }      ReconImage(i,j,recon_data_P,recon);      if ( (PCT_IPB == pic->picture_coding_type) || PCT_PB == pic->picture_coding_type )      {        free(qcoeff_B);        free(recon_data_B);      }      free(recon_data_P);      free(qcoeff_P);      free(rcoeff);      if (advanced_intra_coding && (Mode == MODE_INTRA || Mode == MODE_INTRA_Q))          free(pcoeff);    }    }#ifdef PRINTQ    fprintf(stdout,"\n");#endif  }  /* Do the deblocking filtering, not used in true B pictures. */  if (deblocking_filter)   {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区免费观看| 久久久高清一区二区三区| 成人天堂资源www在线| 精品一区二区三区久久| 麻豆一区二区99久久久久| 性久久久久久久久久久久| 亚洲国产综合91精品麻豆| 亚洲国产成人av| 天天操天天干天天综合网| 奇米在线7777在线精品| 麻豆国产91在线播放| 狠狠久久亚洲欧美| 国产成人一区在线| proumb性欧美在线观看| 日本二三区不卡| 777午夜精品视频在线播放| 精品日韩一区二区三区免费视频| 91麻豆精品国产91久久久| 欧美一区二区日韩一区二区| 91精品国产日韩91久久久久久| 在线不卡中文字幕| 欧美精品一区二区三区很污很色的| 精品免费国产二区三区| 国产精品看片你懂得| 亚洲美女精品一区| 久久精品噜噜噜成人88aⅴ| 国产九九视频一区二区三区| 大胆欧美人体老妇| 欧美中文字幕一区| 精品国一区二区三区| 中文字幕一区在线观看| 日日摸夜夜添夜夜添精品视频| 久久成人18免费观看| 波多野结衣在线一区| 欧美日韩中字一区| 国产日韩欧美a| 亚洲成av人**亚洲成av**| 国内精品在线播放| 欧美色大人视频| 国产亚洲午夜高清国产拍精品| 一区二区三区美女视频| 激情六月婷婷久久| 在线观看视频一区二区| 亚洲精品一区二区三区精华液| 中日韩免费视频中文字幕| 天天综合网天天综合色| 菠萝蜜视频在线观看一区| 91精品国产欧美一区二区18| 国产精品卡一卡二卡三| 蜜桃精品视频在线| 欧美自拍丝袜亚洲| 国产精品网站一区| 久久99精品久久久久久久久久久久 | 国产女人aaa级久久久级| 樱桃国产成人精品视频| 国产精品一区二区三区四区| 欧美日本乱大交xxxxx| 中日韩av电影| 国产乱码精品一区二区三| 69堂成人精品免费视频| 亚洲日本中文字幕区| 国产精品夜夜爽| 精品国产伦一区二区三区免费| 一级中文字幕一区二区| 91麻豆福利精品推荐| 中文字幕av一区二区三区高| 极品少妇一区二区三区精品视频| 欧美视频在线观看一区| 亚洲激情五月婷婷| 99精品国产视频| 中文字幕一区二区三区不卡在线| 国产成人免费视| 久久精品免视看| 国产精品自产自拍| 久久婷婷综合激情| 国产精品99久久久久久宅男| 久久欧美一区二区| 国产美女视频一区| 久久久精品影视| 国产成人精品一区二区三区四区 | 亚洲黄一区二区三区| 一本色道久久综合狠狠躁的推荐| 日韩一区中文字幕| 日本韩国一区二区三区视频| 亚洲男人的天堂av| 欧美影院午夜播放| 日本三级亚洲精品| 国产亚洲女人久久久久毛片| 国产伦精品一区二区三区免费| 久久精品亚洲精品国产欧美kt∨| 国产精品亚洲视频| 综合中文字幕亚洲| 精品1区2区3区| 日韩中文欧美在线| 久久综合久久综合亚洲| 国产99久久久久| 亚洲欧美日韩久久| 在线播放中文字幕一区| 国产在线播放一区三区四| 日韩一区在线播放| 欧美精品在线视频| 国产成人在线网站| 亚洲亚洲精品在线观看| 欧美成人精精品一区二区频| 国产成人aaa| 亚洲一区二区三区不卡国产欧美| 91麻豆精品国产91久久久久久| 国产成人午夜精品5599| 亚洲精品videosex极品| 日韩精品专区在线| a4yy欧美一区二区三区| 日韩精品一二三区| 中文字幕第一页久久| 欧美在线|欧美| 国产精品中文欧美| 午夜亚洲国产au精品一区二区| 欧美不卡一区二区三区四区| av亚洲精华国产精华精| 久久电影国产免费久久电影| 亚洲色欲色欲www| 欧美videos中文字幕| 一本一本大道香蕉久在线精品| 麻豆精品久久久| 亚洲综合激情网| 国产日韩精品一区二区三区 | 麻豆精品一区二区三区| 亚洲欧美另类小说视频| 精品国产乱码久久久久久闺蜜| 91丨porny丨户外露出| 国内久久精品视频| 日本美女一区二区| 性做久久久久久免费观看欧美| 国产精品久久看| 国产亚洲制服色| 亚洲精品在线一区二区| 欧美精品高清视频| 在线免费精品视频| 日本精品视频一区二区| 97国产精品videossex| 国产精品一品二品| 国产在线一区二区综合免费视频| 日韩va欧美va亚洲va久久| 一区二区三区在线免费播放| 国产精品久久久久毛片软件| 久久午夜羞羞影院免费观看| 日韩精品在线一区二区| 日韩久久精品一区| 日韩欧美国产麻豆| 精品国产一二三| 欧美成人午夜电影| 精品福利在线导航| 久久久亚洲精品石原莉奈 | 日本一区二区不卡视频| 欧美精品久久99| 日韩中文字幕亚洲一区二区va在线| 亚洲三级在线看| 欧美日本精品一区二区三区| 日本丰满少妇一区二区三区| 91福利区一区二区三区| 欧美综合色免费| 欧美人妇做爰xxxⅹ性高电影| 在线观看日韩毛片| 欧美久久免费观看| 精品国产乱码久久久久久浪潮 | 久久久五月婷婷| 久久这里都是精品| 国产欧美一区二区三区网站 | 精品免费国产一区二区三区四区| 日韩欧美你懂的| 国产亚洲精品7777| 国产精品久久三区| 亚洲国产精品一区二区久久| 日韩精品一二三四| 国产精品99久久久久久宅男| www.久久精品| 欧美日本国产一区| 久久丝袜美腿综合| 国产精品国模大尺度视频| 亚洲精品菠萝久久久久久久| 日韩精品久久理论片| 激情文学综合丁香| 97se亚洲国产综合自在线| 欧美三级资源在线| 久久久久亚洲蜜桃| 一区二区三区美女| 精品一二三四区| 色视频一区二区| 欧美成人精品福利| 亚洲色图视频网站| 免费观看30秒视频久久| 99国产精品视频免费观看| 在线不卡欧美精品一区二区三区| 国产夜色精品一区二区av| 亚洲成人黄色小说| 成人av先锋影音| 日韩欧美一级精品久久| 亚洲精品视频在线看| 国产一区二区三区高清播放| 欧美专区亚洲专区| 国产精品日产欧美久久久久|