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

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

?? fast_me.h

?? jm_frext22.ZIP的壓縮文件,主要用于嵌入式系統圖象的編解碼的開發.
?? H
字號:
/*!
 ************************************************************************
 * \brief
 * Macro definitions and global variables for fast integer pel motion 
 * estimation and fractional pel motio estimation
 * \ Main contributors: (see contributors.h for copyright, address and affiliation details)
 *   Zhibo Chen         <chenzhibo@tsinghua.org.cn>
 *   JianFeng Xu        <fenax@video.mdc.tsinghua.edu.cn>  
 * \date   : 2003.4
 ************************************************************************
 */
#ifndef _FAST_ME_H_
#define _FAST_ME_H_
#include "global.h"
#include "mbuffer.h"

#define EARLY_TERMINATION  if(ref>0)  \
  {                                                                    \
  if ((min_mcost-pred_SAD_ref)<pred_SAD_ref*betaThird)             \
  goto third_step;                                             \
  else if((min_mcost-pred_SAD_ref)<pred_SAD_ref*betaSec)           \
  goto sec_step;                                               \
  }                                                                    \
  else if(blocktype>1)                                                 \
  {                                                                    \
  if ((min_mcost-pred_SAD_uplayer)<pred_SAD_uplayer*betaThird)     \
    {                                                                \
    goto third_step;                                             \
    }                                                                \
    else if((min_mcost-pred_SAD_uplayer)<pred_SAD_uplayer*betaSec)   \
    goto sec_step;                                               \
  }                                                                    \
  else                                                                 \
  {                                                                    \
  if ((min_mcost-pred_SAD_space)<pred_SAD_space*betaThird)         \
    {                                                                \
    goto third_step;                                             \
    }                                                                \
    else if((min_mcost-pred_SAD_space)<pred_SAD_space*betaSec)       \
    goto sec_step;                                               \
  }


#define SEARCH_ONE_PIXEL  if(abs(cand_x - center_x) <=search_range && abs(cand_y - center_y)<= search_range) \
    { \
    if(!McostState[cand_y-center_y+search_range][cand_x-center_x+search_range]) \
    { \
    mcost = MV_COST (lambda_factor, mvshift, cand_x, cand_y, pred_x, pred_y); \
    mcost = PartCalMad(ref_pic, orig_pic, get_ref_line,blocksize_y,blocksize_x,blocksize_x4,mcost,min_mcost,cand_x,cand_y); \
    McostState[cand_y-center_y+search_range][cand_x-center_x+search_range] = mcost; \
    if (mcost < min_mcost) \
    { \
    best_x = cand_x; \
    best_y = cand_y; \
    min_mcost = mcost; \
    } \
    } \
    }
#define SEARCH_ONE_PIXEL1(value_iAbort) if(abs(cand_x - center_x) <=search_range && abs(cand_y - center_y)<= search_range) \
      { \
      if(!McostState[cand_y-center_y+search_range][cand_x-center_x+search_range]) \
        { \
        mcost = MV_COST (lambda_factor, mvshift, cand_x, cand_y, pred_x, pred_y); \
        mcost = PartCalMad(ref_pic, orig_pic, get_ref_line,blocksize_y,blocksize_x,blocksize_x4,mcost,min_mcost,cand_x,cand_y); \
        McostState[cand_y-center_y+search_range][cand_x-center_x+search_range] = mcost; \
        if (mcost < min_mcost) \
          { \
          best_x = cand_x; \
          best_y = cand_y; \
          min_mcost = mcost; \
          iAbort = value_iAbort; \
          } \
        } \
      }


int **McostState; //state for integer pel search

int *****all_mincost;//store the MV and SAD information needed;
int *****all_bwmincost;//store for backward prediction
int pred_SAD_space,pred_SAD_time,pred_SAD_ref,pred_SAD_uplayer;//SAD prediction
int FME_blocktype;  //blocktype for FME SetMotionVectorPredictor
int pred_MV_time[2],pred_MV_ref[2],pred_MV_uplayer[2];//pred motion vector by space or tempral correlation,Median is provided

//for early termination
float Quantize_step;
float  Bsize[8];
int Thresh4x4;
float AlphaSec[8];
float AlphaThird[8];
int  flag_intra[124];//HD enough
int  flag_intra_SAD;
void DefineThreshold();
void DefineThresholdMB();

char **SearchState; //state for fractional pel search
void DefineThreshold();
void DefineThresholdMB();
int get_mem_mincost (int****** mv);
int get_mem_bwmincost (int****** mv);
int get_mem_FME();
void free_mem_mincost (int***** mv);
void free_mem_bwmincost (int***** mv);
void free_mem_FME();
void   decide_intrabk_SAD();
void skip_intrabk_SAD(int best_mode, int ref_max);

int                                     //  ==> minimum motion cost after search
FastIntegerPelBlockMotionSearch  (pel_t**   orig_pic,     // <--  not used
                                  int       ref,          // <--  reference frame (0... or -1 (backward))
                                  int       list,
                                  int       pic_pix_x,    // <--  absolute x-coordinate of regarded AxB block
                                  int       pic_pix_y,    // <--  absolute y-coordinate of regarded AxB block
                                  int       blocktype,    // <--  block type (1-16x16 ... 7-4x4)
                                  int       pred_mv_x,    // <--  motion vector predictor (x) in sub-pel units
                                  int       pred_mv_y,    // <--  motion vector predictor (y) in sub-pel units
                                  int*      mv_x,         //  --> motion vector (x) - in pel units
                                  int*      mv_y,         //  --> motion vector (y) - in pel units
                                  int       search_range, // <--  1-d search range in pel units                         
                                  int       min_mcost,    // <--  minimum motion cost (cost for center or huge value)
                                  double    lambda) ;      // <--  lagrangian parameter for determining motion cost

int AddUpSADQuarter(int pic_pix_x,int pic_pix_y,int blocksize_x,int blocksize_y,
                    int cand_mv_x,int cand_mv_y, StorablePicture *ref_picture, pel_t**   orig_pic, 
                    int Mvmcost, int min_mcost,int useABT);

int                                                   //  ==> minimum motion cost after search
FastSubPelBlockMotionSearch (pel_t**   orig_pic,      // <--  original pixel values for the AxB block
                             int       ref,           // <--  reference frame (0... or -1 (backward))
                             int       list,
                             int       pic_pix_x,     // <--  absolute x-coordinate of regarded AxB block
                             int       pic_pix_y,     // <--  absolute y-coordinate of regarded AxB block
                             int       blocktype,     // <--  block type (1-16x16 ... 7-4x4)
                             int       pred_mv_x,     // <--  motion vector predictor (x) in sub-pel units
                             int       pred_mv_y,     // <--  motion vector predictor (y) in sub-pel units
                             int*      mv_x,          // <--> in: search center (x) / out: motion vector (x) - in pel units
                             int*      mv_y,          // <--> in: search center (y) / out: motion vector (y) - in pel units
                             int       search_pos2,   // <--  search positions for    half-pel search  (default: 9)
                             int       search_pos4,   // <--  search positions for quarter-pel search  (default: 9)
                             int       min_mcost,     // <--  minimum motion cost (cost for center or huge value)
                             double    lambda,
                             int  useABT);        // <--  lagrangian parameter for determining motion cost

int                                               //  ==> minimum motion cost after search
SubPelBlockMotionSearch (pel_t**   orig_pic,      // <--  original pixel values for the AxB block
                         int       ref,           // <--  reference frame (0... or -1 (backward))
                         int       list,
                         int       pic_pix_x,     // <--  absolute x-coordinate of regarded AxB block
                         int       pic_pix_y,     // <--  absolute y-coordinate of regarded AxB block
                         int       blocktype,     // <--  block type (1-16x16 ... 7-4x4)
                         int       pred_mv_x,     // <--  motion vector predictor (x) in sub-pel units
                         int       pred_mv_y,     // <--  motion vector predictor (y) in sub-pel units
                         int*      mv_x,          // <--> in: search center (x) / out: motion vector (x) - in pel units
                         int*      mv_y,          // <--> in: search center (y) / out: motion vector (y) - in pel units
                         int       search_pos2,   // <--  search positions for    half-pel search  (default: 9)
                         int       search_pos4,   // <--  search positions for quarter-pel search  (default: 9)
                         int       min_mcost,     // <--  minimum motion cost (cost for center or huge value)
                         double    lambda         // <--  lagrangian parameter for determining motion cost
                         );

int                                         //  ==> minimum motion cost after search
FME_BlockMotionSearch (int       ref,           // <--  reference frame (0... or -1 (backward))
                       int       list,
                       int       pic_pix_x,     // <--  absolute x-coordinate of regarded AxB block
                       int       pic_pix_y,     // <--  absolute y-coordinate of regarded AxB block
                       int       blocktype,     // <--  block type (1-16x16 ... 7-4x4)
                       int       search_range,  // <--  1-d search range for integer-position search
                       double    lambda         // <--  lagrangian parameter for determining motion cost
                       );

int                                              //!< minimum motion cost after search
noFME_BlockMotionSearch (int       ref,          //!< reference idx
                         int       list,         //!< reference pciture list
                         int       mb_x,         //!< x-coordinate inside macroblock
                         int       mb_y,         //!< y-coordinate inside macroblock
                         int       blocktype,    //!< block type (1-16x16 ... 7-4x4)
                         int       search_range, //!< 1-d search range for integer-position search
                         double    lambda        //!< lagrangian parameter for determining motion cost
                         );
#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区四区在线播放| 91精品国产一区二区| 日本一区二区三区四区| 国产一区欧美日韩| 久久亚洲一区二区三区四区| 国产成人午夜视频| 国产精品二三区| 在线观看视频一区二区| 午夜精品久久久久久久| 日韩一区二区精品| 久久国产麻豆精品| 欧美激情在线一区二区| 91网页版在线| 日韩高清一级片| 精品国产成人在线影院| 国产成人午夜99999| 一区二区三区在线视频观看 | 欧美性高清videossexo| 亚洲二区在线观看| 欧美精品一区二区三区一线天视频| 国产精品系列在线播放| 自拍偷拍欧美激情| 在线成人免费观看| 成人一区在线观看| 亚洲va国产va欧美va观看| 欧美精品一区二区在线播放| 99久久精品国产毛片| 日韩一区欧美二区| 国产精品久久久久久亚洲毛片| 欧美亚洲动漫精品| 国产又粗又猛又爽又黄91精品| 亚洲色图清纯唯美| 欧美成人r级一区二区三区| 成人黄色软件下载| 日韩中文字幕区一区有砖一区 | 国产白丝网站精品污在线入口| 亚洲三级电影全部在线观看高清| 欧美一区二区高清| 99视频国产精品| 麻豆精品视频在线观看免费| 亚洲欧美日韩久久精品| 久久久久久久久免费| 欧美在线观看一区| 成人av在线电影| 日韩电影一二三区| 日韩伦理av电影| 国产日韩欧美在线一区| 8x8x8国产精品| 91麻豆福利精品推荐| 久久国产生活片100| 一区二区三区国产豹纹内裤在线| 久久精品一区二区三区四区| 在线不卡的av| 日本高清视频一区二区| 春色校园综合激情亚洲| 久久精品国产成人一区二区三区| 亚洲午夜电影网| 自拍偷拍国产精品| 国产喂奶挤奶一区二区三区| 精品美女在线播放| 69久久99精品久久久久婷婷| 在线观看亚洲一区| 99精品1区2区| 成人精品国产一区二区4080| 国产成人精品综合在线观看 | 欧美精品乱码久久久久久按摩| 99re视频精品| 成人激情动漫在线观看| 国产成人午夜精品5599| 国产米奇在线777精品观看| 久久激情五月激情| 久久成人精品无人区| 奇米在线7777在线精品| 日韩主播视频在线| 免费在线观看精品| 七七婷婷婷婷精品国产| 日本中文字幕一区二区有限公司| 性做久久久久久久免费看| 亚洲黄网站在线观看| 亚洲精品乱码久久久久| 亚洲天堂久久久久久久| 最新日韩在线视频| 中文字幕一区二区三区四区不卡| 国产精品视频一二三| 国产精品水嫩水嫩| 国产精品日产欧美久久久久| 中文字幕精品综合| 亚洲欧美影音先锋| 一区二区久久久久久| 亚洲一区二区欧美日韩| 香蕉成人伊视频在线观看| 日韩经典一区二区| 久久草av在线| 国v精品久久久网| 99re这里只有精品视频首页| 色婷婷国产精品久久包臀 | 秋霞电影一区二区| 狠狠色综合日日| 国产精品一区二区三区网站| 成熟亚洲日本毛茸茸凸凹| 国产不卡在线视频| 91国偷自产一区二区开放时间 | 在线精品视频一区二区| 欧美日韩国产另类一区| 日韩一区二区在线播放| 国产丝袜美腿一区二区三区| 亚洲三级在线看| 亚洲成a天堂v人片| 国产真实乱子伦精品视频| 成人听书哪个软件好| 欧美性生活一区| 精品国产乱码久久久久久久| 国产精品天干天干在观线| 亚洲精品视频在线| 青娱乐精品视频| 成人涩涩免费视频| 欧美日韩中文字幕一区二区| 精品福利一区二区三区免费视频| 中文一区二区完整视频在线观看| 亚洲一本大道在线| 国产激情91久久精品导航| 欧美性生活一区| 久久久久久**毛片大全| 亚洲影院久久精品| 国产福利一区二区| 欧美日韩国产成人在线免费| 久久这里只有精品6| 一区二区三区在线视频免费| 国产精品自拍一区| 欧美三级在线播放| 亚洲欧洲另类国产综合| 美腿丝袜在线亚洲一区| 欧洲一区在线观看| 中文字幕精品在线不卡| 日本不卡123| 91精品福利在线| 亚洲国产成人一区二区三区| 日本中文字幕一区| 色综合久久久久综合体| 久久奇米777| 免费人成精品欧美精品| 色悠久久久久综合欧美99| 久久免费的精品国产v∧| 日本美女视频一区二区| 91视频一区二区三区| 国产午夜久久久久| 蜜臀久久久99精品久久久久久| 色偷偷成人一区二区三区91| 国产欧美一区二区精品忘忧草| 人人超碰91尤物精品国产| 在线视频你懂得一区| 中文字幕欧美一| 成人深夜在线观看| 国产亚洲一区二区三区在线观看| 免费日本视频一区| 日韩欧美国产系列| 轻轻草成人在线| 欧美一区二区私人影院日本| 亚洲成人在线网站| 91猫先生在线| 亚洲视频免费在线| 99国产精品久| 中文字幕一区在线观看视频| 粗大黑人巨茎大战欧美成人| 国产精品一区一区三区| 国产精品丝袜91| 91麻豆免费在线观看| 国产主播一区二区三区| 狠狠色丁香九九婷婷综合五月| 精品日韩一区二区三区| 成人蜜臀av电影| 国产欧美精品一区| 日韩一区二区三免费高清| 国产精品影视在线观看| 另类专区欧美蜜桃臀第一页| 久久久噜噜噜久久中文字幕色伊伊 | 天天色综合天天| 色婷婷精品大视频在线蜜桃视频| 国产精品久久久久婷婷二区次| 国产99久久久国产精品| 国产精品污网站| 日韩精品国产欧美| 日本女优在线视频一区二区| 午夜免费久久看| 亚洲精品国产成人久久av盗摄| 中文字幕在线观看不卡| 欧美一区二区三区在线电影| 99国产精品久久久久久久久久久| 日韩电影免费一区| 精品福利一区二区三区免费视频| 欧美日韩不卡视频| 日韩欧美在线123| 91麻豆精品国产91久久久| 欧美一区二区三区四区在线观看| 欧美日韩免费观看一区二区三区| 欧美一区二区三区在| 国产精品三级视频| 亚洲一二三四在线观看| 成人手机电影网| 91精品国产一区二区三区香蕉|