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

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

?? motion.c

?? MPEG2編解碼的源代碼.zip
?? C
字號(hào):
/* motion.c, motion vector decoding                                         *//* 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 decode_motion_vector _ANSI_ARGS_((int *pred, int r_size, int motion_code,  int motion_residualesidual, int full_pel_vector));/* ISO/IEC 13818-2 sections 6.2.5.2, 6.3.17.2, and 7.6.3: Motion vectors */void motion_vectors(PMV,dmvector,  motion_vertical_field_select,s,motion_vector_count,mv_format,h_r_size,v_r_size,dmv,mvscale)int PMV[2][2][2];int dmvector[2];int motion_vertical_field_select[2][2];int s, motion_vector_count, mv_format, h_r_size, v_r_size, dmv, mvscale;{  if (motion_vector_count==1)  {    if (mv_format==MV_FIELD && !dmv)    {      motion_vertical_field_select[1][s] = motion_vertical_field_select[0][s] = Get_Bits(1);#ifdef TRACE      if (Trace_Flag)      {        printf("motion_vertical_field_select[][%d] (%d): %d\n",s,          motion_vertical_field_select[0][s],motion_vertical_field_select[0][s]);      }#endif /* TRACE */    }    motion_vector(PMV[0][s],dmvector,h_r_size,v_r_size,dmv,mvscale,0);    /* update other motion vector predictors */    PMV[1][s][0] = PMV[0][s][0];    PMV[1][s][1] = PMV[0][s][1];  }  else  {    motion_vertical_field_select[0][s] = Get_Bits(1);#ifdef TRACE    if (Trace_Flag)    {      printf("motion_vertical_field_select[0][%d] (%d): %d\n",s,        motion_vertical_field_select[0][s],motion_vertical_field_select[0][s]);    }#endif /* TRACE */    motion_vector(PMV[0][s],dmvector,h_r_size,v_r_size,dmv,mvscale,0);    motion_vertical_field_select[1][s] = Get_Bits(1);#ifdef TRACE    if (Trace_Flag)    {      printf("motion_vertical_field_select[1][%d] (%d): %d\n",s,        motion_vertical_field_select[1][s],motion_vertical_field_select[1][s]);    }#endif /* TRACE */    motion_vector(PMV[1][s],dmvector,h_r_size,v_r_size,dmv,mvscale,0);  }}/* get and decode motion vector and differential motion vector    for one prediction */void motion_vector(PMV,dmvector,  h_r_size,v_r_size,dmv,mvscale,full_pel_vector)int *PMV;int *dmvector;int h_r_size;int v_r_size;int dmv; /* MPEG-2 only: get differential motion vectors */int mvscale; /* MPEG-2 only: field vector in frame pic */int full_pel_vector; /* MPEG-1 only */{  int motion_code, motion_residual;  /* horizontal component */  /* ISO/IEC 13818-2 Table B-10 */  motion_code = Get_motion_code();  motion_residual = (h_r_size!=0 && motion_code!=0) ? Get_Bits(h_r_size) : 0;#ifdef TRACE  if (Trace_Flag)  {    if (h_r_size!=0 && motion_code!=0)    {      printf("motion_residual (");      Print_Bits(motion_residual,h_r_size,h_r_size);      printf("): %d\n",motion_residual);    }  }#endif /* TRACE */  decode_motion_vector(&PMV[0],h_r_size,motion_code,motion_residual,full_pel_vector);  if (dmv)    dmvector[0] = Get_dmvector();  /* vertical component */  motion_code     = Get_motion_code();  motion_residual = (v_r_size!=0 && motion_code!=0) ? Get_Bits(v_r_size) : 0;#ifdef TRACE  if (Trace_Flag)  {    if (v_r_size!=0 && motion_code!=0)    {      printf("motion_residual (");      Print_Bits(motion_residual,v_r_size,v_r_size);      printf("): %d\n",motion_residual);    }  }#endif /* TRACE */  if (mvscale)    PMV[1] >>= 1; /* DIV 2 */  decode_motion_vector(&PMV[1],v_r_size,motion_code,motion_residual,full_pel_vector);  if (mvscale)    PMV[1] <<= 1;  if (dmv)    dmvector[1] = Get_dmvector();#ifdef TRACE  if (Trace_Flag)    printf("PMV = %d,%d\n",PMV[0],PMV[1]);#endif /* TRACE */}/* calculate motion vector component *//* ISO/IEC 13818-2 section 7.6.3.1: Decoding the motion vectors *//* Note: the arithmetic here is more elegant than that which is shown    in 7.6.3.1.  The end results (PMV[][][]) should, however, be the same.  */static void decode_motion_vector(pred,r_size,motion_code,motion_residual,full_pel_vector)int *pred;int r_size, motion_code, motion_residual;int full_pel_vector; /* MPEG-1 (ISO/IEC 11172-1) support */{  int lim, vec;  lim = 16<<r_size;  vec = full_pel_vector ? (*pred >> 1) : (*pred);  if (motion_code>0)  {    vec+= ((motion_code-1)<<r_size) + motion_residual + 1;    if (vec>=lim)      vec-= lim + lim;  }  else if (motion_code<0)  {    vec-= ((-motion_code-1)<<r_size) + motion_residual + 1;    if (vec<-lim)      vec+= lim + lim;  }  *pred = full_pel_vector ? (vec<<1) : vec;}/* ISO/IEC 13818-2 section 7.6.3.6: Dual prime additional arithmetic */void Dual_Prime_Arithmetic(DMV,dmvector,mvx,mvy)int DMV[][2];int *dmvector; /* differential motion vector */int mvx, mvy;  /* decoded mv components (always in field format) */{  if (picture_structure==FRAME_PICTURE)  {    if (top_field_first)    {      /* vector for prediction of top field from bottom field */      DMV[0][0] = ((mvx  +(mvx>0))>>1) + dmvector[0];      DMV[0][1] = ((mvy  +(mvy>0))>>1) + dmvector[1] - 1;      /* vector for prediction of bottom field from top field */      DMV[1][0] = ((3*mvx+(mvx>0))>>1) + dmvector[0];      DMV[1][1] = ((3*mvy+(mvy>0))>>1) + dmvector[1] + 1;    }    else    {      /* vector for prediction of top field from bottom field */      DMV[0][0] = ((3*mvx+(mvx>0))>>1) + dmvector[0];      DMV[0][1] = ((3*mvy+(mvy>0))>>1) + dmvector[1] - 1;      /* vector for prediction of bottom field from top field */      DMV[1][0] = ((mvx  +(mvx>0))>>1) + dmvector[0];      DMV[1][1] = ((mvy  +(mvy>0))>>1) + dmvector[1] + 1;    }  }  else  {    /* vector for prediction from field of opposite 'parity' */    DMV[0][0] = ((mvx+(mvx>0))>>1) + dmvector[0];    DMV[0][1] = ((mvy+(mvy>0))>>1) + dmvector[1];    /* correct for vertical field shift */    if (picture_structure==TOP_FIELD)      DMV[0][1]--;    else      DMV[0][1]++;  }}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美绝品在线观看成人午夜影视| 成人18视频在线播放| 欧美tk—视频vk| av一区二区三区黑人| 一区二区三区在线免费播放 | 久久综合网色—综合色88| 国产麻豆精品在线| 亚洲午夜激情网站| 亚洲精选视频免费看| 欧美亚洲综合另类| 色婷婷久久一区二区三区麻豆| 成人黄色大片在线观看| 不卡一区中文字幕| jlzzjlzz欧美大全| 欧美午夜精品久久久久久孕妇| 欧美婷婷六月丁香综合色| 欧美吞精做爰啪啪高潮| 正在播放亚洲一区| 精品国产百合女同互慰| 久久久影院官网| 国产精品久久久一本精品| 综合久久久久久| 亚洲永久精品国产| 天天综合色天天| 麻豆国产精品官网| 国产精品99久久久久久久vr| 成人深夜视频在线观看| 91美女精品福利| 欧美日韩精品二区第二页| 欧美大片在线观看| 日本一区二区三区四区在线视频| 中文字幕亚洲视频| 亚洲图片欧美综合| 精品一区二区三区视频| 国产69精品久久99不卡| 色老汉av一区二区三区| 欧美麻豆精品久久久久久| 欧美成人一级视频| 亚洲欧美综合网| 日韩二区在线观看| 国产成人精品网址| 欧美日韩一区二区三区视频 | 欧美精品一区二区三区视频| 国产精品你懂的在线欣赏| 一区二区不卡在线播放 | av一二三不卡影片| 欧美肥妇bbw| 欧美国产综合色视频| 99久精品国产| 欧美体内she精高潮| 亚洲视频免费看| 午夜精品一区二区三区免费视频 | 成人午夜av电影| 99精品视频在线免费观看| 日韩免费一区二区| 毛片不卡一区二区| 亚洲高清久久久| 国产麻豆一精品一av一免费| 91欧美激情一区二区三区成人| 欧美日本一区二区三区四区| 久久久久久久久久久黄色| 亚洲欧美偷拍三级| 韩日av一区二区| 欧美日韩国产另类一区| 中文一区一区三区高中清不卡| 亚洲成a人片在线不卡一二三区 | 成人免费视频视频在线观看免费| 亚洲免费成人av| 国内久久精品视频| 欧美色图激情小说| 国产精品无遮挡| 精品一区在线看| 欧美日韩电影一区| 亚洲美女视频在线观看| 国产一区不卡视频| 91精品国产综合久久久久久久久久| 国产精品久久一卡二卡| 精品亚洲免费视频| 欧美精品xxxxbbbb| 亚洲一级不卡视频| 91免费看片在线观看| 久久综合成人精品亚洲另类欧美 | 不卡影院免费观看| 国产欧美精品一区| 国产在线不卡一卡二卡三卡四卡| 欧美三日本三级三级在线播放| 一区视频在线播放| 成人美女视频在线看| 久久久无码精品亚洲日韩按摩| 天堂成人免费av电影一区| 91成人网在线| 亚洲精品成人天堂一二三| 成人激情黄色小说| 国产欧美日本一区二区三区| 国产一区二区三区香蕉| 日韩精品中文字幕在线不卡尤物| 日韩高清欧美激情| 日韩一区和二区| 蜜臀av国产精品久久久久| 欧美一区二视频| 日韩av电影天堂| 三级久久三级久久| 久久综合久久综合亚洲| 欧美在线播放高清精品| 免费高清不卡av| 日韩码欧中文字| 日韩精品中文字幕一区二区三区| 久久成人免费日本黄色| 国产精品免费丝袜| 日韩一区二区三区四区五区六区 | 捆绑紧缚一区二区三区视频 | 99久久精品99国产精品| 国产精品免费av| 成人黄色国产精品网站大全在线免费观看| 国产偷国产偷精品高清尤物| 国产ts人妖一区二区| 国产精品另类一区| 91亚洲资源网| 亚洲影院在线观看| 欧美日韩精品一二三区| 麻豆91在线播放免费| 久久综合久久综合久久综合| 国产成人av资源| 亚洲色图.com| 欧美手机在线视频| 免费成人av在线| 欧美精品一区二区三区蜜桃| 国产精品99久| 亚洲日本欧美天堂| 欧美三区免费完整视频在线观看| 无吗不卡中文字幕| wwww国产精品欧美| 成人动漫一区二区三区| 亚洲人成网站在线| 宅男噜噜噜66一区二区66| 激情成人综合网| 亚洲色图色小说| 欧美一区二区视频在线观看2020| 韩国成人精品a∨在线观看| 国产精品欧美一级免费| 欧美午夜精品久久久| 国产麻豆精品视频| 亚洲精品国久久99热| 3d动漫精品啪啪1区2区免费| 国产一区二区三区电影在线观看| 国产精品久久久久久久岛一牛影视| 91国偷自产一区二区三区成为亚洲经典 | 欧美日本一区二区在线观看| 国产综合色精品一区二区三区| 国产精品理伦片| 欧美精品色综合| 成人午夜激情视频| 亚洲成av人片| 国产精品久久毛片a| 91精品国产高清一区二区三区 | 国内精品第一页| 亚洲免费观看高清完整版在线| 亚洲免费观看在线观看| k8久久久一区二区三区| 在线播放中文一区| 2024国产精品| 亚洲欧美日韩电影| 日本不卡在线视频| 国产精品资源网| 欧美日韩午夜在线| 2021久久国产精品不只是精品| 国产精品人成在线观看免费| 亚洲黄色性网站| 激情综合亚洲精品| 亚洲免费观看在线视频| 成人av中文字幕| 美女视频黄频大全不卡视频在线播放| 欧美韩国日本综合| 日韩欧美国产小视频| 91国产免费看| 成人国产视频在线观看| 久久99久久精品| 亚洲成人1区2区| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 91精品国产综合久久久蜜臀图片| 日本久久一区二区三区| 丁香五精品蜜臀久久久久99网站 | 日本女人一区二区三区| 欧美色偷偷大香| 久久久av毛片精品| 日韩电影在线一区| 91视频免费看| 中文字幕人成不卡一区| 亚洲二区视频在线| 色综合久久中文字幕综合网| 国产欧美va欧美不卡在线| 免费在线观看一区| 欧美一卡二卡三卡| 视频在线观看91| 制服.丝袜.亚洲.中文.综合| 成人免费视频一区| 成人精品视频.| 亚洲人xxxx| 色综合中文字幕国产 | 亚洲国产欧美另类丝袜|