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

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

?? recon.c

?? MPEG2編解碼的源代碼.zip
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* Predict.c, motion compensation routines                                    *//* Copyright (C) 1996, MPEG Software Simulation Group. All Rights Reserved. *//* * Disclaimer of Warranty * * These software programs are available to the user without any license fee or * royalty on an "as is" basis.  The MPEG Software Simulation Group disclaims * any and all warranties, whether express, implied, or statuary, including any * implied warranties or merchantability or of fitness for a particular * purpose.  In no event shall the copyright-holder be liable for any * incidental, punitive, or consequential damages of any kind whatsoever * arising from the use of these programs. * * This disclaimer of warranty extends to the user of these programs and user's * customers, employees, agents, transferees, successors, and assigns. * * The MPEG Software Simulation Group does not represent or warrant that the * programs furnished hereunder are free of infringement of any third-party * patents. * * Commercial implementations of MPEG-1 and MPEG-2 video, including shareware, * are subject to royalty fees to patent holders.  Many of these patents are * general enough such that they are unavoidable regardless of implementation * design. * */#include <stdio.h>#include "config.h"#include "global.h"/* private prototypes */static void form_prediction _ANSI_ARGS_((unsigned char *src[], int sfield,  unsigned char *dst[], int dfield,  int lx, int lx2, int w, int h, int x, int y, int dx, int dy,  int average_flag));static void form_component_prediction _ANSI_ARGS_((unsigned char *src, unsigned char *dst,  int lx, int lx2, int w, int h, int x, int y, int dx, int dy, int average_flag));void form_predictions(bx,by,macroblock_type,motion_type,PMV,motion_vertical_field_select,dmvector,stwtype)int bx, by;int macroblock_type;int motion_type;int PMV[2][2][2], motion_vertical_field_select[2][2], dmvector[2];int stwtype;{  int currentfield;  unsigned char **predframe;  int DMV[2][2];  int stwtop, stwbot;  stwtop = stwtype%3; /* 0:temporal, 1:(spat+temp)/2, 2:spatial */  stwbot = stwtype/3;  if ((macroblock_type & MACROBLOCK_MOTION_FORWARD)    || (picture_coding_type==P_TYPE))  {    if (picture_structure==FRAME_PICTURE)    {      if ((motion_type==MC_FRAME)         || !(macroblock_type & MACROBLOCK_MOTION_FORWARD))      {        /* frame-based prediction (broken into top and bottom halves             for spatial scalability prediction purposes) */        if (stwtop<2)          form_prediction(forward_reference_frame,0,current_frame,0,            Coded_Picture_Width,Coded_Picture_Width<<1,16,8,bx,by,            PMV[0][0][0],PMV[0][0][1],stwtop);        if (stwbot<2)          form_prediction(forward_reference_frame,1,current_frame,1,            Coded_Picture_Width,Coded_Picture_Width<<1,16,8,bx,by,            PMV[0][0][0],PMV[0][0][1],stwbot);      }      else if (motion_type==MC_FIELD) /* field-based prediction */      {        /* top field prediction */        if (stwtop<2)          form_prediction(forward_reference_frame,motion_vertical_field_select[0][0],            current_frame,0,Coded_Picture_Width<<1,Coded_Picture_Width<<1,16,8,            bx,by>>1,PMV[0][0][0],PMV[0][0][1]>>1,stwtop);        /* bottom field prediction */        if (stwbot<2)          form_prediction(forward_reference_frame,motion_vertical_field_select[1][0],            current_frame,1,Coded_Picture_Width<<1,Coded_Picture_Width<<1,16,8,            bx,by>>1,PMV[1][0][0],PMV[1][0][1]>>1,stwbot);      }      else if (motion_type==MC_DMV) /* dual prime prediction */      {        /* calculate derived motion vectors */        Dual_Prime_Arithmetic(DMV,dmvector,PMV[0][0][0],PMV[0][0][1]>>1);        if (stwtop<2)        {          /* predict top field from top field */          form_prediction(forward_reference_frame,0,current_frame,0,            Coded_Picture_Width<<1,Coded_Picture_Width<<1,16,8,bx,by>>1,            PMV[0][0][0],PMV[0][0][1]>>1,0);          /* predict and add to top field from bottom field */          form_prediction(forward_reference_frame,1,current_frame,0,            Coded_Picture_Width<<1,Coded_Picture_Width<<1,16,8,bx,by>>1,            DMV[0][0],DMV[0][1],1);        }        if (stwbot<2)        {          /* predict bottom field from bottom field */          form_prediction(forward_reference_frame,1,current_frame,1,            Coded_Picture_Width<<1,Coded_Picture_Width<<1,16,8,bx,by>>1,            PMV[0][0][0],PMV[0][0][1]>>1,0);          /* predict and add to bottom field from top field */          form_prediction(forward_reference_frame,0,current_frame,1,            Coded_Picture_Width<<1,Coded_Picture_Width<<1,16,8,bx,by>>1,            DMV[1][0],DMV[1][1],1);        }      }      else        /* invalid motion_type */        printf("invalid motion_type\n");    }    else /* TOP_FIELD or BOTTOM_FIELD */    {      /* field picture */      currentfield = (picture_structure==BOTTOM_FIELD);      /* determine which frame to use for prediction */      if ((picture_coding_type==P_TYPE) && Second_Field         && (currentfield!=motion_vertical_field_select[0][0]))        predframe = backward_reference_frame; /* same frame */      else        predframe = forward_reference_frame; /* previous frame */      if ((motion_type==MC_FIELD)        || !(macroblock_type & MACROBLOCK_MOTION_FORWARD))      {        /* field-based prediction */        if (stwtop<2)          form_prediction(predframe,motion_vertical_field_select[0][0],current_frame,0,            Coded_Picture_Width<<1,Coded_Picture_Width<<1,16,16,bx,by,            PMV[0][0][0],PMV[0][0][1],stwtop);      }      else if (motion_type==MC_16X8)      {        if (stwtop<2)        {          form_prediction(predframe,motion_vertical_field_select[0][0],current_frame,0,            Coded_Picture_Width<<1,Coded_Picture_Width<<1,16,8,bx,by,            PMV[0][0][0],PMV[0][0][1],stwtop);          /* determine which frame to use for lower half prediction */          if ((picture_coding_type==P_TYPE) && Second_Field             && (currentfield!=motion_vertical_field_select[1][0]))            predframe = backward_reference_frame; /* same frame */          else            predframe = forward_reference_frame; /* previous frame */          form_prediction(predframe,motion_vertical_field_select[1][0],current_frame,0,            Coded_Picture_Width<<1,Coded_Picture_Width<<1,16,8,bx,by+8,            PMV[1][0][0],PMV[1][0][1],stwtop);        }      }      else if (motion_type==MC_DMV) /* dual prime prediction */      {        if (Second_Field)          predframe = backward_reference_frame; /* same frame */        else          predframe = forward_reference_frame; /* previous frame */        /* calculate derived motion vectors */        Dual_Prime_Arithmetic(DMV,dmvector,PMV[0][0][0],PMV[0][0][1]);        /* predict from field of same parity */        form_prediction(forward_reference_frame,currentfield,current_frame,0,          Coded_Picture_Width<<1,Coded_Picture_Width<<1,16,16,bx,by,          PMV[0][0][0],PMV[0][0][1],0);        /* predict from field of opposite parity */        form_prediction(predframe,!currentfield,current_frame,0,          Coded_Picture_Width<<1,Coded_Picture_Width<<1,16,16,bx,by,          DMV[0][0],DMV[0][1],1);      }      else        /* invalid motion_type */        printf("invalid motion_type\n");    }    stwtop = stwbot = 1;  }  if (macroblock_type & MACROBLOCK_MOTION_BACKWARD)  {    if (picture_structure==FRAME_PICTURE)    {      if (motion_type==MC_FRAME)      {        /* frame-based prediction */        if (stwtop<2)          form_prediction(backward_reference_frame,0,current_frame,0,            Coded_Picture_Width,Coded_Picture_Width<<1,16,8,bx,by,            PMV[0][1][0],PMV[0][1][1],stwtop);        if (stwbot<2)          form_prediction(backward_reference_frame,1,current_frame,1,            Coded_Picture_Width,Coded_Picture_Width<<1,16,8,bx,by,            PMV[0][1][0],PMV[0][1][1],stwbot);      }      else /* field-based prediction */      {        /* top field prediction */        if (stwtop<2)          form_prediction(backward_reference_frame,motion_vertical_field_select[0][1],            current_frame,0,Coded_Picture_Width<<1,Coded_Picture_Width<<1,16,8,            bx,by>>1,PMV[0][1][0],PMV[0][1][1]>>1,stwtop);        /* bottom field prediction */        if (stwbot<2)          form_prediction(backward_reference_frame,motion_vertical_field_select[1][1],            current_frame,1,Coded_Picture_Width<<1,Coded_Picture_Width<<1,16,8,            bx,by>>1,PMV[1][1][0],PMV[1][1][1]>>1,stwbot);      }    }    else /* TOP_FIELD or BOTTOM_FIELD */    {      /* field picture */      if (motion_type==MC_FIELD)      {        /* field-based prediction */        form_prediction(backward_reference_frame,motion_vertical_field_select[0][1],

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美成aⅴ人在线观看| 在线欧美日韩精品| 欧美一级xxx| 麻豆极品一区二区三区| 欧美高清在线一区二区| 欧美亚洲一区二区三区四区| 欧美高清www午色夜在线视频| 免费观看久久久4p| 色婷婷久久久久swag精品| 中文字幕在线不卡| 欧美日韩一区二区在线观看| 国产一区二区三区| 欧美电影免费观看高清完整版| 色噜噜偷拍精品综合在线| 色婷婷精品大在线视频| 色吊一区二区三区| 欧美精品免费视频| 久久久久久久一区| 中文字幕一区二区三区不卡在线 | 欧美三级欧美一级| 亚洲一二三区视频在线观看| 中文字幕中文在线不卡住| 久久久亚洲精华液精华液精华液 | 久久综合久色欧美综合狠狠| 91蜜桃免费观看视频| 国产成人午夜99999| 国产欧美一区二区精品忘忧草| 成人av一区二区三区| 国产一区二区三区在线观看免费| 日韩成人av影视| 国产亚洲一区二区三区在线观看| 在线免费不卡电影| 久久国产精品72免费观看| 亚洲中国最大av网站| 久久久久亚洲蜜桃| 精品理论电影在线观看 | 丝袜亚洲另类欧美综合| 亚洲精品中文字幕在线观看| 国产精品国产三级国产aⅴ中文| 欧美精品一区视频| 久久精品一区四区| 国产精品视频第一区| 亚洲电影一级黄| 亚洲国产成人porn| 午夜精品福利一区二区蜜股av| 亚洲精品视频观看| 综合久久久久久| 精品国产亚洲在线| 成a人片亚洲日本久久| 国产精品一级黄| 成人中文字幕电影| 亚洲亚洲精品在线观看| 日本一不卡视频| 久久91精品国产91久久小草| 久久91精品久久久久久秒播| 国产高清精品久久久久| 一级做a爱片久久| 日韩一级二级三级精品视频| 成人激情免费电影网址| 日韩欧美在线一区二区三区| av电影天堂一区二区在线| 日韩精品乱码免费| 一区二区三区蜜桃网| 亚洲欧美成人一区二区三区| 91精品国产综合久久香蕉的特点| 91丨porny丨中文| 色噜噜久久综合| 在线视频综合导航| 欧美另类z0zxhd电影| 欧美日韩黄色影视| 欧美丰满少妇xxxbbb| 日韩欧美黄色影院| 日韩欧美一区二区视频| 精品日本一线二线三线不卡 | 国产999精品久久久久久绿帽| 一区二区三区四区在线免费观看| 亚洲三级在线看| 26uuu亚洲婷婷狠狠天堂| 99re8在线精品视频免费播放| 成人av在线一区二区| eeuss影院一区二区三区| 欧美一级专区免费大片| 精东粉嫩av免费一区二区三区| 亚洲一区二区在线观看视频| 久久久精品一品道一区| 亚洲另类中文字| 精品一区二区三区影院在线午夜| 成人h版在线观看| 5858s免费视频成人| 国产精品久久久一本精品| 欧美精品xxxxbbbb| 国产无一区二区| 肉色丝袜一区二区| 91在线视频免费观看| 精品sm在线观看| 亚洲一区在线观看视频| 国产iv一区二区三区| 欧美日韩精品一区二区在线播放| 日本一区二区电影| 久久精品久久久精品美女| 91麻豆高清视频| 国产丝袜欧美中文另类| 奇米影视一区二区三区小说| 不卡一区中文字幕| 337p日本欧洲亚洲大胆精品| 午夜精品福利一区二区三区蜜桃| 不卡的av中国片| 国产日韩欧美精品一区| 麻豆91精品视频| 欧美日韩专区在线| 亚洲精品欧美在线| 久草这里只有精品视频| 国产成人欧美日韩在线电影| 日韩免费电影网站| 日韩电影在线一区二区| 欧美午夜精品一区二区蜜桃| 亚洲国产精品ⅴa在线观看| 韩国女主播成人在线观看| 欧美一卡2卡三卡4卡5免费| 亚洲成年人网站在线观看| 91日韩在线专区| 亚洲青青青在线视频| 99久久99久久精品免费观看| 国产精品久久网站| 不卡一卡二卡三乱码免费网站| 国产欧美一区二区精品性色 | 99久久久国产精品| 中文字幕高清一区| 成人永久免费视频| 国产精品久久久久婷婷二区次 | 亚洲另类在线制服丝袜| 成人午夜视频福利| 国产精品色婷婷久久58| 国产精品一区二区男女羞羞无遮挡 | 日本道免费精品一区二区三区| 亚洲欧洲精品一区二区三区| 国产超碰在线一区| 中文子幕无线码一区tr| 丁香天五香天堂综合| 中文字幕一区三区| 色哟哟国产精品| 亚洲成国产人片在线观看| 欧美日韩精品欧美日韩精品一| 午夜精品久久久久久不卡8050| 欧美精品在欧美一区二区少妇| 日韩国产精品久久久久久亚洲| 欧美一区二区私人影院日本| 精品写真视频在线观看| 国产人伦精品一区二区| av电影天堂一区二区在线| 久久久影视传媒| 免费成人结看片| 久久夜色精品一区| 懂色av一区二区三区免费观看| 自拍偷在线精品自拍偷无码专区| 成人h动漫精品一区二| 亚洲少妇30p| 欧美日韩成人在线一区| 久久99久久久久| 国产精品视频看| 欧美综合亚洲图片综合区| 蜜臀久久久99精品久久久久久| 久久久精品黄色| 在线免费观看视频一区| 日韩国产欧美视频| 欧美国产一区二区| 欧美优质美女网站| 国内成人精品2018免费看| 亚洲欧洲精品一区二区三区不卡| 欧美日韩在线三区| 国产在线播放一区| 亚洲人成伊人成综合网小说| 日韩一区二区在线观看视频| 国产91色综合久久免费分享| 亚洲大片一区二区三区| 7777精品伊人久久久大香线蕉完整版 | 国产一区中文字幕| 一区二区三区欧美在线观看| 91超碰这里只有精品国产| 国产a区久久久| 丝袜美腿高跟呻吟高潮一区| 久久综合久久鬼色中文字| 色老汉一区二区三区| 国内成人自拍视频| 亚洲成a人在线观看| 国产视频一区二区在线| 欧美日韩在线电影| 高清av一区二区| 免费欧美高清视频| 亚洲欧洲国产专区| 精品国产不卡一区二区三区| 欧美综合一区二区| 成人av动漫在线| 国产成人精品www牛牛影视| 欧美色综合久久| www.亚洲在线| 韩国v欧美v亚洲v日本v| 亚洲成人午夜影院| 日韩伦理电影网| www成人在线观看|