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

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

?? rdwtblock.c

?? QccPack implementation in C
?? C
?? 第 1 頁 / 共 5 頁
字號:
  int return_value;  double search_row, search_col;  double current_window_size;  double final_search_step;  double current_search_step;  int mv_row, mv_col;    QccVIDRDWTBlockBlockInitialize(&current_block);  QccVIDRDWTBlockBlockInitialize(&reference_block);    current_block.blocksize = blocksize;  if (QccVIDRDWTBlockBlockAlloc(&current_block))    {      QccErrorAddMessage("(QccVIDRDWTBlockMotionEstimation): Error calling QccVIDRDWTBlockBlockAlloc()");      goto Error;    }  reference_block.blocksize = blocksize;  if (QccVIDRDWTBlockBlockAlloc(&reference_block))    {      QccErrorAddMessage("(QccVIDRDWTBlockMotionEstimation): Error calling QccVIDRDWTBlockBlockAlloc()");      goto Error;    }    num_rows = current_subband_pyramid->num_rows;  num_cols = current_subband_pyramid->num_cols;  num_levels = current_subband_pyramid->num_levels;  num_phases = (1 << num_levels);    switch (subpixel_accuracy)    {    case QCCVID_ME_FULLPIXEL:      final_search_step = 1.0;      break;    case QCCVID_ME_HALFPIXEL:      final_search_step = 0.5;      break;    case QCCVID_ME_QUARTERPIXEL:      final_search_step = 0.25;      break;    case QCCVID_ME_EIGHTHPIXEL:      final_search_step = 0.125;      break;    default:      QccErrorAddMessage("(QccVIDRDWTBlockMotionEstimation): Unrecognized subpixel accuracy");      goto Error;    }    for (row = 0; row < num_rows; row += blocksize)    for (col = 0; col < num_cols; col += blocksize)      {        if (QccVIDRDWTBlockExtractBlock(current_subband_pyramid,                                        &current_block,                                        row,                                        col,                                        num_rows,                                        num_cols,                                        num_levels))	  {            QccErrorAddMessage("(QccVIDRDWTBlockMotionEstimation): Error calling QccVIDRDWTBlockExtractBlock()");	    goto Error;	  }	        mv_row = row / blocksize;        mv_col = col / blocksize;                horizontal_motion->image[mv_row][mv_col] = 0.0;        vertical_motion->image[mv_row][mv_col] = 0.0;                for (current_search_step = 1.0;             current_search_step >= final_search_step;             current_search_step /= 2)          {            search_row = row +               vertical_motion->image[mv_row][mv_col];            search_col = col +               horizontal_motion->image[mv_row][mv_col];                        current_window_size =              (current_search_step == 1.0) ?              (double)QCCVIDRDWTBLOCK_WINDOWSIZE : current_search_step;                        if (QccVIDRDWTBlockMotionEstimationSearch(reference_frame_phases,                                                      &current_block,                                                      &reference_block,                                                      num_rows,                                                      num_cols,                                                      num_levels,                                                      search_row,                                                      search_col,                                                      current_window_size,                                                      current_search_step,                                                      subpixel_accuracy,                                                      &u,                                                      &v))              {                QccErrorAddMessage("(QccVIDRDWTBlockMotionEstimation): Error calling QccVIDRDWTBlockMotionEstimationSearch()");                goto Error;              }                        horizontal_motion->image[mv_row][mv_col] += u;            vertical_motion->image[mv_row][mv_col] += v;          }      }    return_value = 0;  goto Return; Error:  return_value = 1; Return:  QccVIDRDWTBlockBlockFree(&current_block);  QccVIDRDWTBlockBlockFree(&reference_block);  return(return_value);}static int QccVIDRDWTBlockMotionCompensation(QccWAVSubbandPyramid                                             ****reference_frame_phases,                                             QccWAVSubbandPyramid                                             *current_subband_pyramid,                                             QccIMGImageComponent                                             *horizontal_motion,                                             QccIMGImageComponent                                             *vertical_motion,                                             int blocksize,                                             int subpixel_accuracy){  int row, col;  int num_rows, num_cols;  int num_levels;  int num_phases;  int subsample_pattern_row, subsample_pattern_col;  double reference_frame_row, reference_frame_col;  int integer_row, integer_col;  int subpixel_row, subpixel_col;  int num_subpixels;  QccVIDRDWTBlockBlock reference_block;  QccWAVSubbandPyramid predicted_frame;  int return_value;  QccVIDRDWTBlockBlockInitialize(&reference_block);  QccWAVSubbandPyramidInitialize(&predicted_frame);  reference_block.blocksize = blocksize;  if (QccVIDRDWTBlockBlockAlloc(&reference_block))    {      QccErrorAddMessage("(QccVIDRDWTBlockInverseMotionCompensation): Error calling QccVIDRDWTBlockBlockAlloc()");      goto Error;    }  num_rows = current_subband_pyramid->num_rows;  num_cols = current_subband_pyramid->num_cols;  num_levels = current_subband_pyramid->num_levels;  num_phases = (1 << num_levels);  switch (subpixel_accuracy)    {    case QCCVID_ME_FULLPIXEL:      num_subpixels = 1;      break;    case QCCVID_ME_HALFPIXEL:      num_subpixels = 2;      break;    case QCCVID_ME_QUARTERPIXEL:      num_subpixels = 4;      break;    case QCCVID_ME_EIGHTHPIXEL:      num_subpixels = 8;      break;    default:      QccErrorAddMessage("(QccVIDRDWTBlockInverseMotionCompensation): Unrecognized subpixel accuracy");      return(1);    }  predicted_frame.num_levels = num_levels;  predicted_frame.num_rows = num_rows;  predicted_frame.num_cols = num_cols;  if (QccWAVSubbandPyramidAlloc(&predicted_frame))    {      QccErrorAddMessage("(QccVIDRDWTBlockInverseMotionCompensation): Error calling QccWAVSubbandPyramidAlloc()");      goto Error;    }  for (row = 0; row < num_rows; row += blocksize)    for (col = 0; col < num_cols; col += blocksize)      {        reference_frame_col =          horizontal_motion->image          [row / blocksize]          [col / blocksize] + col;        reference_frame_row =           vertical_motion->image          [row / blocksize]          [col / blocksize] + row;        integer_row = (int)floor(reference_frame_row);        integer_col = (int)floor(reference_frame_col);        subpixel_row =          (int)((reference_frame_row - integer_row) * num_subpixels);        subpixel_col =          (int)(fabs(reference_frame_col - integer_col) * num_subpixels);        subsample_pattern_row = QccMathModulus(integer_row, num_phases);        subsample_pattern_col = QccMathModulus(integer_col, num_phases);	        if (QccVIDRDWTBlockExtractBlock(&reference_frame_phases                                        [subpixel_row][subpixel_col]                                        [subsample_pattern_row]                                        [subsample_pattern_col],                                        &reference_block,                                        integer_row,                                        integer_col,                                        num_rows,                                        num_cols,                                        num_levels))	  {            QccErrorAddMessage("(QccVIDRDWTBlockInverseMotionCompensation): Error calling ExtractWaveletBlock()");	    goto Error;	  }                if (QccVIDRDWTBlockInsertBlock(&predicted_frame,                                       &reference_block,                                       row,                                       col,                                       num_rows,                                       num_cols,                                       num_levels))	  {            QccErrorAddMessage("(QccVIDRDWTBlockInverseMotionCompensation): Error calling QccVIDRDWTBlockInsertBlock()");	    goto Error;	  }      }    for (row = 0; row < num_rows; row++)    for (col = 0; col < num_cols; col++)      current_subband_pyramid->matrix[row][col] -=        predicted_frame.matrix[row][col];    return_value = 0;  goto Return; Error:  return_value = 1; Return:  QccVIDRDWTBlockBlockFree(&reference_block);  QccWAVSubbandPyramidFree(&predicted_frame);  return(return_value);}static int QccVIDRDWTBlockInverseMotionCompensation(QccWAVSubbandPyramid                                                    ****reference_frame_phases,                                                    QccWAVSubbandPyramid                                                    *current_subband_pyramid,                                                    QccIMGImageComponent                                                    *horizontal_motion,                                                    QccIMGImageComponent                                                    *vertical_motion,                                                    int blocksize,                                                    int subpixel_accuracy){  int row, col;  int num_rows, num_cols;  int num_levels;  int num_phases;  int subsample_pattern_row, subsample_pattern_col;  double reference_frame_row, reference_frame_col;  int integer_row, integer_col;  int subpixel_row, subpixel_col;  int num_subpixels;  QccVIDRDWTBlockBlock reference_block;  QccWAVSubbandPyramid predicted_frame;  int return_value;  QccVIDRDWTBlockBlockInitialize(&reference_block);  QccWAVSubbandPyramidInitialize(&predicted_frame);  reference_block.blocksize = blocksize;  if (QccVIDRDWTBlockBlockAlloc(&reference_block))    {      QccErrorAddMessage("(QccVIDRDWTBlockInverseMotionCompensation): Error calling QccVIDRDWTBlockBlockAlloc()");      goto Error;    }  num_rows = current_subband_pyramid->num_rows;  num_cols = current_subband_pyramid->num_cols;  num_levels = current_subband_pyramid->num_levels;  num_phases = (1 << num_levels);  switch (subpixel_accuracy)    {    case QCCVID_ME_FULLPIXEL:      num_subpixels = 1;      break;    case QCCVID_ME_HALFPIXEL:      num_subpixels = 2;      break;    case QCCVID_ME_QUARTERPIXEL:      num_subpixels = 4;      break;    case QCCVID_ME_EIGHTHPIXEL:      num_subpixels = 8;      break;    default:      QccErrorAddMessage("(QccVIDRDWTBlockInverseMotionCompensation): Unrecognized subpixel accuracy");      return(1);    }  predicted_frame.num_levels = num_levels;  predicted_frame.num_rows = num_rows;  predicted_frame.num_cols = num_cols;  if (QccWAVSubbandPyramidAlloc(&predicted_frame))    {      QccErrorAddMessage("(QccVIDRDWTBlockInverseMotionCompensation): Error calling QccWAVSubbandPyramidAlloc()");      goto Error;    }  for (row = 0; row < num_rows; row += blocksize)    for (col = 0; col < num_cols; col += blocksize)      {        reference_frame_col =          horizontal_motion->image          [row / blocksize]          [col / blocksize] + col;        reference_frame_row =           vertical_motion->image          [row / blocksize]          [col / blocksize] + row;        integer_row = (int)floor(reference_frame_row);        integer_col = (int)floor(reference_frame_col);        subpixel_row =          (int)((reference_frame_row - integer_row) * num_subpixels);        subpixel_col =          (int)(fabs(reference_frame_col - integer_col) * num_subpixels);        subsample_pattern_row = QccMathModulus(integer_row, num_phases);        subsample_pattern_col = QccMathModulus(integer_col, num_phases);	        if (QccVIDRDWTBlockExtractBlock(&reference_frame_phases                                        [subpixel_row][subpixel_col]                                        [subsample_pattern_row]                                        [subsample_pattern_col],                                        &reference_block,                                        integer_row,                                        integer_col,                                        num_rows,                                        num_cols,                                        num_levels))	  {            QccErrorAddMessage("(QccVIDRDWTBlockInverseMotionCompensation): Error calling ExtractWaveletBlock()");	    goto Error;	  }                if (QccVIDRDWTBlockInsertBlock(&predicted_frame,                                       &reference_block,                                       row,                                       col,                                       num_rows,                                       num_cols,                                       num_levels))	  {            QccErrorAddMessage("(QccVIDRDWTBlockInverseMotionCompensation): Error calling QccVIDRDWTBlockInsertBlock()");	    goto Error;	  }      }    for (row = 0; row < num_rows; row++)    for (col = 0; col < num_cols; col++)      current_subband_pyramid->matrix[row][col] +=

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品日韩一| 国产三区在线成人av| 欧美变态口味重另类| 亚洲美女在线国产| 激情六月婷婷久久| 欧美色图激情小说| 亚洲色图欧洲色图婷婷| 国产精品一色哟哟哟| 91精品国产乱| 午夜久久福利影院| 色婷婷久久久综合中文字幕| 国产亚洲人成网站| 久久不见久久见免费视频7| 精品视频全国免费看| 亚洲啪啪综合av一区二区三区| 国产一区二区三区四区五区美女| 欧美电影一区二区| 欧美伦理视频网站| 一区二区欧美精品| 国产.欧美.日韩| 日韩女优制服丝袜电影| 视频一区视频二区中文字幕| 在线观看免费一区| 亚洲午夜视频在线| 欧美在线视频日韩| 亚洲一级二级三级| 欧美视频在线一区二区三区 | 日本道色综合久久| 中文天堂在线一区| 成人午夜精品在线| 国产精品丝袜91| 99久久国产综合精品麻豆| 国产精品成人免费在线| 不卡视频一二三四| 玉足女爽爽91| 亚洲主播在线播放| 免费看欧美女人艹b| 欧美日韩精品久久久| 亚洲国产欧美另类丝袜| 在线精品视频免费播放| 午夜视频一区二区三区| 欧美丰满一区二区免费视频 | 884aa四虎影成人精品一区| 一级特黄大欧美久久久| 色先锋久久av资源部| 亚洲女厕所小便bbb| 欧美日韩一区不卡| 青青草国产成人av片免费| 精品国产伦一区二区三区观看体验| 麻豆精品一区二区综合av| 久久精品视频网| 播五月开心婷婷综合| 青青国产91久久久久久| 这里只有精品电影| 国产一区二区电影| 成人欧美一区二区三区白人| 在线观看三级视频欧美| 日韩精品乱码av一区二区| 欧美白人最猛性xxxxx69交| 国产精品99久久久久久久vr | 成人福利视频在线看| 中文字幕日韩av资源站| 欧美日韩一区在线观看| 激情欧美日韩一区二区| 亚洲女子a中天字幕| 欧美一区二区三区思思人| 粉嫩高潮美女一区二区三区| 亚洲一区二区在线免费观看视频| 日韩一区二区精品在线观看| 成人听书哪个软件好| 亚洲123区在线观看| 国产亚洲精品bt天堂精选| 欧美亚洲动漫精品| 豆国产96在线|亚洲| 日韩成人精品在线观看| 国产精品成人免费在线| 日韩一区二区电影| 色综合婷婷久久| 国产精品99久久不卡二区| 香蕉久久一区二区不卡无毒影院| 久久精品网站免费观看| 91精品午夜视频| 91免费国产在线| 国产精品一区二区无线| 日韩成人免费电影| 亚洲一区二区欧美| 国产精品国产自产拍高清av| xvideos.蜜桃一区二区| 欧美日韩中文一区| 91在线你懂得| 高清av一区二区| 韩国成人精品a∨在线观看| 五月婷婷激情综合| 亚洲视频一区在线| 欧美激情一区二区三区| 精品久久国产97色综合| 欧美剧在线免费观看网站| 91福利精品第一导航| 99视频在线精品| 成人视屏免费看| 国产精品资源网站| 国产老女人精品毛片久久| 轻轻草成人在线| 爽好多水快深点欧美视频| 亚洲综合精品自拍| 亚洲国产一区在线观看| 亚洲蜜臀av乱码久久精品| 亚洲欧美视频在线观看| 日韩一区在线看| 亚洲欧洲日产国码二区| 国产精品国产精品国产专区不蜜| 国产视频一区二区在线| 欧美成人综合网站| 欧美成人官网二区| 精品免费99久久| 精品va天堂亚洲国产| 亚洲精品一线二线三线| 日韩欧美精品在线视频| 日韩午夜中文字幕| 欧美tickle裸体挠脚心vk| 久久精品日产第一区二区三区高清版| www国产成人| 中文一区一区三区高中清不卡| 中文字幕欧美日韩一区| 中文字幕一区二区5566日韩| 亚洲欧美日韩国产一区二区三区| 国产精品电影一区二区| 亚洲一区二区三区小说| 午夜一区二区三区在线观看| 日本欧美加勒比视频| 精品亚洲成a人| 粉嫩嫩av羞羞动漫久久久| 一本大道久久a久久精品综合| 色婷婷综合久色| 欧美放荡的少妇| 久久噜噜亚洲综合| 亚洲视频1区2区| 石原莉奈在线亚洲二区| 国产一区不卡精品| 91色乱码一区二区三区| 8x8x8国产精品| 中文av一区二区| 亚洲www啪成人一区二区麻豆| 奇米777欧美一区二区| 国产91对白在线观看九色| 在线观看国产一区二区| 2020国产精品| 亚洲色图20p| 极品少妇一区二区三区精品视频| www.日本不卡| 制服丝袜在线91| 中文字幕欧美区| 丝袜美腿一区二区三区| 成人app网站| 日韩视频免费直播| 综合分类小说区另类春色亚洲小说欧美 | 亚洲欧洲精品一区二区精品久久久| 亚洲综合免费观看高清完整版| 久久精品国产亚洲一区二区三区| 99精品久久免费看蜜臀剧情介绍| 91麻豆精品国产91久久久资源速度| 国产日产精品1区| 视频一区视频二区在线观看| 从欧美一区二区三区| 欧美精品免费视频| 成人欧美一区二区三区黑人麻豆| 韩国av一区二区三区在线观看| 欧美在线小视频| 中文字幕中文字幕一区| 激情六月婷婷久久| 3d动漫精品啪啪一区二区竹菊| 综合欧美亚洲日本| 激情六月婷婷综合| 欧美一卡二卡三卡四卡| 亚洲午夜在线视频| aaa亚洲精品| 国产午夜精品久久| 久久99精品国产麻豆不卡| 欧美日韩的一区二区| 亚洲黄一区二区三区| 成人av在线观| 欧美国产精品一区二区| 久久国产人妖系列| 日韩欧美国产wwwww| 亚洲电影视频在线| 91久久精品一区二区| 国产精品欧美一级免费| 国产成人免费视频精品含羞草妖精 | 久久国内精品自在自线400部| 欧美日韩一区二区三区视频| 亚洲综合偷拍欧美一区色| 国产黑丝在线一区二区三区| 欧美一区二区高清| 日本不卡123| 51午夜精品国产| 免费一级片91| 精品久久久久久久久久久久包黑料 | 午夜精品一区二区三区电影天堂| 91麻豆.com| 亚洲一区电影777|