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

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

?? getvlc.c

?? MPEG2編解碼的源代碼.zip
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* getvlc.c, variable length 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"#include "getvlc.h"/* private prototypes *//* generic picture macroblock type processing functions */static int Get_I_macroblock_type _ANSI_ARGS_((void));static int Get_P_macroblock_type _ANSI_ARGS_((void));static int Get_B_macroblock_type _ANSI_ARGS_((void));static int Get_D_macroblock_type _ANSI_ARGS_((void));/* spatial picture macroblock type processing functions */static int Get_I_Spatial_macroblock_type _ANSI_ARGS_((void));static int Get_P_Spatial_macroblock_type _ANSI_ARGS_((void));static int Get_B_Spatial_macroblock_type _ANSI_ARGS_((void));static int Get_SNR_macroblock_type _ANSI_ARGS_((void));int Get_macroblock_type(){  int macroblock_type = 0;  if (ld->scalable_mode==SC_SNR)    macroblock_type = Get_SNR_macroblock_type();  else  {    switch (picture_coding_type)    {    case I_TYPE:      macroblock_type = ld->pict_scal ? Get_I_Spatial_macroblock_type() : Get_I_macroblock_type();      break;    case P_TYPE:      macroblock_type = ld->pict_scal ? Get_P_Spatial_macroblock_type() : Get_P_macroblock_type();      break;    case B_TYPE:      macroblock_type = ld->pict_scal ? Get_B_Spatial_macroblock_type() : Get_B_macroblock_type();      break;    case D_TYPE:      macroblock_type = Get_D_macroblock_type();      break;    default:      printf("Get_macroblock_type(): unrecognized picture coding type\n");      break;    }  }  return macroblock_type;}static int Get_I_macroblock_type(){#ifdef TRACE  if (Trace_Flag)    printf("macroblock_type(I) ");#endif /* TRACE */  if (Get_Bits1())  {#ifdef TRACE    if (Trace_Flag)      printf("(1): Intra (1)\n");#endif /* TRACE */    return 1;  }  if (!Get_Bits1())  {    if (!Quiet_Flag)      printf("Invalid macroblock_type code\n");    Fault_Flag = 1;  }#ifdef TRACE  if (Trace_Flag)    printf("(01): Intra, Quant (17)\n");#endif /* TRACE */  return 17;}static char *MBdescr[]={  "",                  "Intra",        "No MC, Coded",         "",  "Bwd, Not Coded",    "",             "Bwd, Coded",           "",  "Fwd, Not Coded",    "",             "Fwd, Coded",           "",  "Interp, Not Coded", "",             "Interp, Coded",        "",  "",                  "Intra, Quant", "No MC, Coded, Quant",  "",  "",                  "",             "Bwd, Coded, Quant",    "",  "",                  "",             "Fwd, Coded, Quant",    "",  "",                  "",             "Interp, Coded, Quant", ""};static int Get_P_macroblock_type(){  int code;#ifdef TRACE  if (Trace_Flag)    printf("macroblock_type(P) (");#endif /* TRACE */  if ((code = Show_Bits(6))>=8)  {    code >>= 3;    Flush_Buffer(PMBtab0[code].len);#ifdef TRACE    if (Trace_Flag)    {      Print_Bits(code,3,PMBtab0[code].len);      printf("): %s (%d)\n",MBdescr[(int)PMBtab0[code].val],PMBtab0[code].val);    }#endif /* TRACE */    return PMBtab0[code].val;  }  if (code==0)  {    if (!Quiet_Flag)      printf("Invalid macroblock_type code\n");    Fault_Flag = 1;    return 0;  }  Flush_Buffer(PMBtab1[code].len);#ifdef TRACE  if (Trace_Flag)  {    Print_Bits(code,6,PMBtab1[code].len);    printf("): %s (%d)\n",MBdescr[(int)PMBtab1[code].val],PMBtab1[code].val);  }#endif /* TRACE */  return PMBtab1[code].val;}static int Get_B_macroblock_type(){  int code;#ifdef TRACE  if (Trace_Flag)    printf("macroblock_type(B) (");#endif /* TRACE */  if ((code = Show_Bits(6))>=8)  {    code >>= 2;    Flush_Buffer(BMBtab0[code].len);#ifdef TRACE    if (Trace_Flag)    {      Print_Bits(code,4,BMBtab0[code].len);      printf("): %s (%d)\n",MBdescr[(int)BMBtab0[code].val],BMBtab0[code].val);    }#endif /* TRACE */    return BMBtab0[code].val;  }  if (code==0)  {    if (!Quiet_Flag)      printf("Invalid macroblock_type code\n");    Fault_Flag = 1;    return 0;  }  Flush_Buffer(BMBtab1[code].len);#ifdef TRACE  if (Trace_Flag)  {    Print_Bits(code,6,BMBtab1[code].len);    printf("): %s (%d)\n",MBdescr[(int)BMBtab1[code].val],BMBtab1[code].val);  }#endif /* TRACE */  return BMBtab1[code].val;}static int Get_D_macroblock_type(){  if (!Get_Bits1())  {    if (!Quiet_Flag)      printf("Invalid macroblock_type code\n");    Fault_Flag=1;  }  return 1;}/* macroblock_type for pictures with spatial scalability */static int Get_I_Spatial_macroblock_type(){  int code;#ifdef TRACE  if (Trace_Flag)    printf("macroblock_type(I,spat) (");#endif /* TRACE */  code = Show_Bits(4);  if (code==0)  {    if (!Quiet_Flag)      printf("Invalid macroblock_type code\n");    Fault_Flag = 1;    return 0;  }#ifdef TRACE  if (Trace_Flag)  {    Print_Bits(code,4,spIMBtab[code].len);    printf("): %02x\n",spIMBtab[code].val);  }#endif /* TRACE */  Flush_Buffer(spIMBtab[code].len);  return spIMBtab[code].val;}static int Get_P_Spatial_macroblock_type(){  int code;#ifdef TRACE  if (Trace_Flag)    printf("macroblock_type(P,spat) (");#endif /* TRACE */  code = Show_Bits(7);  if (code<2)  {    if (!Quiet_Flag)      printf("Invalid macroblock_type code\n");    Fault_Flag = 1;    return 0;  }  if (code>=16)  {    code >>= 3;    Flush_Buffer(spPMBtab0[code].len);#ifdef TRACE    if (Trace_Flag)    {      Print_Bits(code,4,spPMBtab0[code].len);      printf("): %02x\n",spPMBtab0[code].val);    }#endif /* TRACE */    return spPMBtab0[code].val;  }  Flush_Buffer(spPMBtab1[code].len);#ifdef TRACE  if (Trace_Flag)  {    Print_Bits(code,7,spPMBtab1[code].len);    printf("): %02x\n",spPMBtab1[code].val);  }#endif /* TRACE */  return spPMBtab1[code].val;}static int Get_B_Spatial_macroblock_type(){  int code;  VLCtab *p;#ifdef TRACE  if (Trace_Flag)    printf("macroblock_type(B,spat) (");#endif /* TRACE */  code = Show_Bits(9);  if (code>=64)    p = &spBMBtab0[(code>>5)-2];  else if (code>=16)    p = &spBMBtab1[(code>>2)-4];  else if (code>=8)    p = &spBMBtab2[code-8];  else  {    if (!Quiet_Flag)      printf("Invalid macroblock_type code\n");    Fault_Flag = 1;    return 0;  }  Flush_Buffer(p->len);#ifdef TRACE  if (Trace_Flag)  {    Print_Bits(code,9,p->len);    printf("): %02x\n",p->val);  }#endif /* TRACE */  return p->val;}static int Get_SNR_macroblock_type(){  int code;#ifdef TRACE			/* *CH* */  if (Trace_Flag)    printf("macroblock_type(SNR) (");#endif TRACE  code = Show_Bits(3);  if (code==0)  {    if (!Quiet_Flag)      printf("Invalid macroblock_type code\n");    Fault_Flag = 1;    return 0;  }  Flush_Buffer(SNRMBtab[code].len);#ifdef TRACE			/* *CH* */  if (Trace_Flag)  {    Print_Bits(code,3,SNRMBtab[code].len);    printf("): %s (%d)\n",MBdescr[(int)SNRMBtab[code].val],SNRMBtab[code].val);  }#endif TRACE  return SNRMBtab[code].val;}int Get_motion_code(){  int code;#ifdef TRACE  if (Trace_Flag)    printf("motion_code (");#endif /* TRACE */  if (Get_Bits1())  {#ifdef TRACE    if (Trace_Flag)      printf("0): 0\n");#endif /* TRACE */    return 0;  }  if ((code = Show_Bits(9))>=64)  {    code >>= 6;    Flush_Buffer(MVtab0[code].len);#ifdef TRACE    if (Trace_Flag)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产免费成人在线视频| 狂野欧美性猛交blacked| 天堂资源在线中文精品| 国产经典欧美精品| 日韩美女视频一区二区| 亚洲va欧美va天堂v国产综合| 久久99国内精品| 欧美日韩日日骚| 亚洲精品中文在线影院| 国产麻豆一精品一av一免费 | 欧美三级三级三级爽爽爽| 久久久久久日产精品| 亚洲成人777| 91视视频在线观看入口直接观看www | a亚洲天堂av| 欧美v国产在线一区二区三区| 亚洲精品国产无套在线观| 国产精品白丝av| 欧美一区二区三区系列电影| 亚洲精品免费在线观看| 国产成人福利片| 性做久久久久久免费观看| 9久草视频在线视频精品| 日韩色在线观看| 亚洲国产精品人人做人人爽| 成人av综合一区| 欧美国产在线观看| 国产精品18久久久久久久久| 欧美成人bangbros| 日本不卡一二三| 欧美一区二区在线观看| 亚洲va国产va欧美va观看| 欧美专区在线观看一区| 一区二区三区资源| 在线观看亚洲精品视频| 亚洲成av人片在线观看| 欧美三级三级三级爽爽爽| 性做久久久久久免费观看| 在线播放亚洲一区| 日韩av在线免费观看不卡| 337p亚洲精品色噜噜噜| 日本美女一区二区| www激情久久| 国产成人在线视频播放| 久久精品视频在线看| 高清shemale亚洲人妖| 中文字幕在线观看一区| 一本大道av一区二区在线播放| 亚洲精选视频在线| 精品视频一区二区不卡| 奇米影视一区二区三区小说| 日韩一级黄色片| 精品一区二区三区不卡| 久久免费午夜影院| 成人动漫一区二区三区| 亚洲三级在线免费观看| 精品视频在线视频| 精品一区二区在线免费观看| 中文在线免费一区三区高中清不卡| 99r国产精品| 亚洲电影你懂得| 日韩欧美一卡二卡| 成人黄色在线网站| 午夜电影网亚洲视频| 久久只精品国产| 国产偷v国产偷v亚洲高清| 99在线精品一区二区三区| 亚洲电影欧美电影有声小说| 99精品国产91久久久久久| 亚洲一区二区欧美| 国产精品视频第一区| fc2成人免费人成在线观看播放| 亚洲精品日韩一| 精品国产一区二区三区av性色 | 日韩二区三区在线观看| 精品日产卡一卡二卡麻豆| 国产aⅴ综合色| 亚洲成a人在线观看| 国产亚洲精品bt天堂精选| 日本精品一区二区三区四区的功能| 日本美女一区二区| 亚洲欧洲另类国产综合| 欧美一区二区免费视频| 成人激情午夜影院| 久久国产精品色| 亚洲精品高清视频在线观看| 精品久久久久久最新网址| 色婷婷精品大视频在线蜜桃视频 | 国产精品正在播放| 亚洲综合自拍偷拍| 久久久久国产一区二区三区四区| 91毛片在线观看| 国产精品自在在线| 丝袜美腿亚洲一区| 亚洲欧美偷拍三级| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 国产精品福利影院| 精品国产免费一区二区三区四区| 欧美探花视频资源| 91一区二区三区在线播放| 国产美女娇喘av呻吟久久| 日本麻豆一区二区三区视频| 一区二区不卡在线播放 | 粉嫩av一区二区三区| 蜜臂av日日欢夜夜爽一区| 亚洲福利视频导航| 亚洲欧洲精品成人久久奇米网| 欧美变态tickle挠乳网站| 在线电影院国产精品| 欧美在线观看你懂的| 91视频91自| 成人动漫一区二区三区| 国产成人精品一区二区三区四区| 久久99精品国产麻豆婷婷洗澡| 日本中文字幕不卡| 五月婷婷综合激情| 亚洲第一狼人社区| 亚洲mv大片欧洲mv大片精品| 亚洲精品免费在线| 亚洲午夜精品网| 亚洲国产精品精华液网站| 亚洲宅男天堂在线观看无病毒| 亚洲欧美国产三级| 亚洲裸体xxx| 亚洲黄色在线视频| 亚洲小说欧美激情另类| 亚洲成a人片在线不卡一二三区| 亚洲影视在线观看| 亚洲成av人片| 日韩福利视频导航| 国产在线精品视频| 成人福利电影精品一区二区在线观看| 国产99久久久国产精品潘金| 丁香激情综合国产| 96av麻豆蜜桃一区二区| 日本电影亚洲天堂一区| 欧美午夜理伦三级在线观看| 欧美绝品在线观看成人午夜影视| 欧美精品一二三区| 欧美zozozo| 日本一区二区三区四区在线视频| 中文字幕一区二区三区在线观看| 夜色激情一区二区| 麻豆久久久久久久| 国产成+人+日韩+欧美+亚洲| 成人高清视频免费观看| 欧美亚洲国产bt| 精品国产一区二区三区久久影院| 中文字幕不卡在线播放| 亚洲综合一区二区| 六月婷婷色综合| 不卡的电影网站| 欧美片网站yy| 国产欧美一区视频| 亚洲一区二区在线免费观看视频| 美腿丝袜亚洲综合| 成人av在线电影| 91精品午夜视频| 欧美激情一区二区三区不卡| 亚洲午夜久久久久中文字幕久| 九色综合狠狠综合久久| 99久久精品免费观看| 日韩一级免费一区| 亚洲精品国产无套在线观| 激情久久久久久久久久久久久久久久| 成人黄色一级视频| 精品日韩欧美在线| 玉米视频成人免费看| 激情久久五月天| 精品1区2区3区| 国产视频在线观看一区二区三区 | 亚洲黄色免费电影| 麻豆久久久久久久| 在线视频国内自拍亚洲视频| 久久先锋影音av鲁色资源| 午夜伊人狠狠久久| 99久久99久久精品免费看蜜桃| 日韩一区二区三区免费看| 亚洲欧美一区二区久久| 国产不卡视频一区二区三区| 日韩三级中文字幕| 亚洲成人动漫精品| 91啪亚洲精品| 国产精品入口麻豆九色| 久久av中文字幕片| 欧美一区二区在线免费播放| 亚洲国产综合视频在线观看| 成人app网站| 欧美激情一区二区三区全黄| 国产在线一区观看| 日韩欧美中文一区| 日韩成人精品在线观看| 欧美亚洲国产bt| 尤物在线观看一区| 91麻豆精品一区二区三区| 中文乱码免费一区二区| 国产成+人+日韩+欧美+亚洲| 久久久国产午夜精品| 激情另类小说区图片区视频区| 日韩欧美一级精品久久|