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

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

?? putvlc.c

?? mpeg2編解標準源
?? C
字號:
/* putvlc.c, generation of variable length codes                            *//* 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"#include "vlc.h"/* private prototypes */static void putDC _ANSI_ARGS_((sVLCtable *tab, int val));/* generate variable length code for luminance DC coefficient */void putDClum(val)int val;{  putDC(DClumtab,val);}/* generate variable length code for chrominance DC coefficient */void putDCchrom(val)int val;{  putDC(DCchromtab,val);}/* generate variable length code for DC coefficient (7.2.1) */static void putDC(tab,val)sVLCtable *tab;int val;{  int absval, size;  absval = (val<0) ? -val : val; /* abs(val) */  if (absval>2047 || (mpeg1 && absval>255))  {    /* should never happen */    sprintf(errortext,"DC value out of range (%d)\n",val);    error(errortext);  }  /* compute dct_dc_size */  size = 0;  while (absval)  {    absval >>= 1;    size++;  }  /* generate VLC for dct_dc_size (Table B-12 or B-13) */  putbits(tab[size].code,tab[size].len);  /* append fixed length code (dc_dct_differential) */  if (size!=0)  {    if (val>=0)      absval = val;    else      absval = val + (1<<size) - 1; /* val + (2 ^ size) - 1 */    putbits(absval,size);  }}/* generate variable length code for first coefficient * of a non-intra block (7.2.2.2) */void putACfirst(run,val)int run,val;{  if (run==0 && (val==1 || val==-1)) /* these are treated differently */    putbits(2|(val<0),2); /* generate '1s' (s=sign), (Table B-14, line 2) */  else    putAC(run,val,0); /* no difference for all others */}/* generate variable length code for other DCT coefficients (7.2.2) */void putAC(run,signed_level,vlcformat)int run,signed_level,vlcformat;{  int level, len;  VLCtable *ptab;  level = (signed_level<0) ? -signed_level : signed_level; /* abs(signed_level) */  /* make sure run and level are valid */  if (run<0 || run>63 || level==0 || level>2047 || (mpeg1 && level>255))  {    sprintf(errortext,"AC value out of range (run=%d, signed_level=%d)\n",      run,signed_level);    error(errortext);  }  len = 0;  if (run<2 && level<41)  {    /* vlcformat selects either of Table B-14 / B-15 */    if (vlcformat)      ptab = &dct_code_tab1a[run][level-1];    else      ptab = &dct_code_tab1[run][level-1];    len = ptab->len;  }  else if (run<32 && level<6)  {    /* vlcformat selects either of Table B-14 / B-15 */    if (vlcformat)      ptab = &dct_code_tab2a[run-2][level-1];    else      ptab = &dct_code_tab2[run-2][level-1];    len = ptab->len;  }  if (len!=0) /* a VLC code exists */  {    putbits(ptab->code,len);    putbits(signed_level<0,1); /* sign */  }  else  {    /* no VLC for this (run, level) combination: use escape coding (7.2.2.3) */    putbits(1l,6); /* Escape */    putbits(run,6); /* 6 bit code for run */    if (mpeg1)    {      /* ISO/IEC 11172-2 uses a 8 or 16 bit code */      if (signed_level>127)        putbits(0,8);      if (signed_level<-127)        putbits(128,8);      putbits(signed_level,8);    }    else    {      /* ISO/IEC 13818-2 uses a 12 bit code, Table B-16 */      putbits(signed_level,12);    }  }}/* generate variable length code for macroblock_address_increment (6.3.16) */void putaddrinc(addrinc)int addrinc;{  while (addrinc>33)  {    putbits(0x08,11); /* macroblock_escape */    addrinc-= 33;  }  putbits(addrinctab[addrinc-1].code,addrinctab[addrinc-1].len);}/* generate variable length code for macroblock_type (6.3.16.1) */void putmbtype(pict_type,mb_type)int pict_type,mb_type;{  putbits(mbtypetab[pict_type-1][mb_type].code,          mbtypetab[pict_type-1][mb_type].len);}/* generate variable length code for motion_code (6.3.16.3) */void putmotioncode(motion_code)int motion_code;{  int abscode;  abscode = (motion_code>=0) ? motion_code : -motion_code; /* abs(motion_code) */  putbits(motionvectab[abscode].code,motionvectab[abscode].len);  if (motion_code!=0)    putbits(motion_code<0,1); /* sign, 0=positive, 1=negative */}/* generate variable length code for dmvector[t] (6.3.16.3), Table B-11 */void putdmv(dmv)int dmv;{  if (dmv==0)    putbits(0,1);  else if (dmv>0)    putbits(2,2);  else    putbits(3,2);}/* generate variable length code for coded_block_pattern (6.3.16.4) * * 4:2:2, 4:4:4 not implemented */void putcbp(cbp)int cbp;{  putbits(cbptable[cbp].code,cbptable[cbp].len);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产视频一区在线播放| 欧美不卡一区二区| 亚洲欧美一区二区三区孕妇| 成人黄色网址在线观看| 国产精品福利一区| 91黄视频在线观看| 亚洲网友自拍偷拍| 7777精品伊人久久久大香线蕉的 | 国产欧美精品区一区二区三区 | 色激情天天射综合网| 一区二区在线观看免费| 欧美日韩精品二区第二页| 毛片一区二区三区| 国产欧美精品日韩区二区麻豆天美| 99久久精品情趣| 午夜日韩在线观看| 精品日韩成人av| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 亚洲欧美电影一区二区| 欧美日韩国产首页| 国产成人精品aa毛片| 亚洲综合激情网| 精品播放一区二区| 欧美专区亚洲专区| 国产尤物一区二区在线| 亚洲视频一区在线| 欧美tickle裸体挠脚心vk| 99久久99久久精品免费看蜜桃| 亚洲国产精品欧美一二99| 久久综合狠狠综合久久综合88| 91小视频在线免费看| 久久国产麻豆精品| 亚洲国产综合在线| 日本一区二区不卡视频| 91精品国产欧美一区二区| a亚洲天堂av| 欧美亚男人的天堂| 丁香亚洲综合激情啪啪综合| 午夜在线电影亚洲一区| 国产精品久久久久国产精品日日| 欧美顶级少妇做爰| 91麻豆精品视频| 国产精品综合网| 天天综合天天做天天综合| 亚洲人成亚洲人成在线观看图片| 精品日韩欧美在线| 欧美电影影音先锋| 欧美中文字幕一二三区视频| 国产成人亚洲精品青草天美| 日韩高清欧美激情| 亚洲综合视频网| 自拍视频在线观看一区二区| 国产三级精品视频| 日韩精品一区二区三区swag| 欧美日韩亚洲综合一区| 一本大道久久a久久精品综合 | a在线播放不卡| 国产一区二区三区在线观看免费| 亚洲国产一区二区三区青草影视| 亚洲欧洲在线观看av| 国产欧美久久久精品影院| 久久亚洲免费视频| 日韩午夜激情av| 69p69国产精品| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 99久久久无码国产精品| 成人国产免费视频| 丰满岳乱妇一区二区三区| 国产一区二区三区高清播放| 久久99在线观看| 激情成人综合网| 国产一区二区不卡老阿姨| 国产精品综合在线视频| 国产盗摄精品一区二区三区在线 | 亚洲一区二区精品视频| 一区二区三区在线视频免费观看| 亚洲男同性恋视频| 亚洲黄色片在线观看| 亚洲一二三级电影| 午夜激情一区二区三区| 老司机一区二区| 国产经典欧美精品| 日韩手机在线导航| 精品国产电影一区二区| 久久精品视频网| 国产精品美女一区二区三区| 一区在线中文字幕| 亚洲一区二区三区四区中文字幕 | 精品亚洲成a人| 国产一区二区不卡在线| 成av人片一区二区| 欧美视频精品在线| 欧美一级国产精品| 亚洲国产高清在线| 一区二区欧美在线观看| 日韩电影一区二区三区| 国产精品综合在线视频| 99精品欧美一区二区三区小说| 91视频免费观看| 欧美日本国产视频| 久久久久久亚洲综合影院红桃| 国产精品你懂的| 性欧美疯狂xxxxbbbb| 国产精品自拍三区| 91网站在线观看视频| 91精品国产综合久久久久久久| 久久久影院官网| 亚洲一区二区视频在线观看| 精品一区二区精品| 91在线精品一区二区三区| 91精品国产综合久久福利软件 | 亚洲欧洲中文日韩久久av乱码| 亚洲电影第三页| 国产成人精品影院| 欧美日韩国产高清一区二区 | 国产欧美精品一区二区色综合 | 欧美本精品男人aⅴ天堂| 国产精品对白交换视频| 日韩av午夜在线观看| 99久精品国产| 欧美精品一区二区高清在线观看 | 91精品在线一区二区| 日本一区二区视频在线| 亚洲动漫第一页| 成人激情视频网站| 日韩一级完整毛片| 亚洲激情综合网| 国产成人一级电影| 日韩色视频在线观看| 亚洲欧美日韩国产另类专区| 激情文学综合网| 欧美精品少妇一区二区三区| 国产精品国产三级国产普通话蜜臀 | 精品中文字幕一区二区| 色综合天天综合网天天看片| 青青草伊人久久| 色综合婷婷久久| 国产女同性恋一区二区| 久久精品国产99| 欧美猛男男办公室激情| 一级精品视频在线观看宜春院 | 欧美巨大另类极品videosbest| 国产精品久久久一本精品| 精品一区中文字幕| 制服丝袜中文字幕亚洲| 亚洲第一会所有码转帖| 91亚洲精华国产精华精华液| 中文字幕二三区不卡| 国产经典欧美精品| 国产午夜精品一区二区三区视频| 免费人成黄页网站在线一区二区 | 色综合欧美在线| 一区二区中文视频| 成人福利视频网站| 国产精品嫩草影院com| 高清久久久久久| 久久久久99精品一区| 狠狠色狠狠色综合系列| 精品国产一二三区| 国内精品视频一区二区三区八戒| 日韩午夜在线播放| 久久国产成人午夜av影院| 欧美日韩aaaaaa| 免费观看久久久4p| 精品国产乱码久久久久久老虎 | 色香蕉成人二区免费| 亚洲人吸女人奶水| 在线免费观看日本一区| 一区二区高清视频在线观看| 欧美性猛交xxxx乱大交退制版 | 亚洲人成人一区二区在线观看| 97久久精品人人澡人人爽| 亚洲毛片av在线| 欧美综合亚洲图片综合区| 亚洲va在线va天堂| 日韩精品专区在线| 国产91高潮流白浆在线麻豆 | 亚洲精品视频免费看| 在线欧美日韩精品| 丝袜美腿亚洲综合| 欧美成人video| 国产91丝袜在线播放0| 日韩一区欧美一区| 在线亚洲人成电影网站色www| eeuss鲁片一区二区三区在线观看| 日韩美女视频一区二区| 欧美日韩专区在线| 九一久久久久久| 国产精品青草久久| 在线观看av一区| 精品一区二区免费视频| 中文字幕一区二区三区在线不卡| 在线观看亚洲成人| 麻豆视频一区二区| 国产亚洲欧美一区在线观看| 色一情一乱一乱一91av| 美女爽到高潮91| 中文字幕一区二区三区在线不卡| 欧美日韩精品一区二区三区蜜桃 | 国产精品私人自拍|