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

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

?? getvlc.cpp

?? EVC做的Windows Mobile 的H263網絡視頻
?? CPP
字號:
////////////////////////////////////////////////////////////////////////////
//
//
//    Project     : VideoNet version 1.1.
//    Description : Peer to Peer Video Conferencing over the LAN.
//	  Author      :	Nagareshwar Y Talekar ( nsry2002@yahoo.co.in)
//    Date        : 15-6-2004.
//
//    This is the modified version of tmndecode (H.263 decoder) 
//    written by Karl & Robert.It was in ANSI C. I have converted into C++
//    so that it can be integrated into any windows application. I have 
//    removed some of the files which had display and file storing 
//    functions.I have removed the unnecessary code and also added some
//    new files..
//	  Original library dealt with files. Input & Output , both were files.
//    I have done some major changes so that it can be used for real time 
//    decoding process. Now one can use this library for decoding H263 frames. 
//
//
//    File description : 
//    Name    : GetVlc.cpp
//
/////////////////////////////////////////////////////////////////////////////

/************************************************************************
 *
 *  getvlc.c, variable length decoding for tmndecode (H.263 decoder)
 *  Copyright (C) 1996  Telenor R&D, Norway
 *        Karl Olav Lillevold <Karl.Lillevold@nta.no>
 *
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 2 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program; if not, write to the Free Software
 *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 *
 *  Karl Olav Lillevold               <Karl.Lillevold@nta.no>
 *  Telenor Research and Development
 *  P.O.Box 83                        tel.:   +47 63 84 84 00
 *  N-2007 Kjeller, Norway            fax.:   +47 63 81 00 76
 *
 *  Robert Danielsen                  e-mail: Robert.Danielsen@nta.no
 *  Telenor Research and Development  www:    http://www.nta.no/brukere/DVC/
 *  P.O.Box 83                        tel.:   +47 63 84 84 00
 *  N-2007 Kjeller, Norway            fax.:   +47 63 81 00 76
 *  
 ************************************************************************/

/*
 * based on mpeg2decode, (C) 1994, MPEG Software Simulation Group
 * and mpeg2play, (C) 1994 Stefan Eckart
 *                         <stefan@lis.e-technik.tu-muenchen.de>
 *
 */

#include "stdafx.h"
#include "GetVlc.h"


// Definitions of variables......

VLCtab TMNMVtab0[] = {
{3,4}, {61,4}, {2,3}, {2,3}, {62,3}, {62,3}, 
{1,2}, {1,2}, {1,2}, {1,2}, {63,2}, {63,2}, {63,2}, {63,2}
};

VLCtab TMNMVtab1[] = {
{12,10}, {52,10}, {11,10}, {53,10}, {10,9}, {10,9}, 
{54,9}, {54,9}, {9,9}, {9,9}, {55,9}, {55,9}, 
{8,9}, {8,9}, {56,9}, {56,9}, {7,7}, {7,7}, 
{7,7}, {7,7}, {7,7}, {7,7}, {7,7}, {7,7}, 
{57,7}, {57,7}, {57,7}, {57,7}, {57,7}, {57,7}, 
{57,7}, {57,7}, {6,7}, {6,7}, {6,7}, {6,7}, 
{6,7}, {6,7}, {6,7}, {6,7}, {58,7}, {58,7}, 
{58,7}, {58,7}, {58,7}, {58,7}, {58,7}, {58,7}, 
{5,7}, {5,7}, {5,7}, {5,7}, {5,7}, {5,7}, 
{5,7}, {5,7}, {59,7}, {59,7}, {59,7}, {59,7}, 
{59,7}, {59,7}, {59,7}, {59,7}, {4,6}, {4,6}, 
{4,6}, {4,6}, {4,6}, {4,6}, {4,6}, {4,6}, 
{4,6}, {4,6}, {4,6}, {4,6}, {4,6}, {4,6}, 
{4,6}, {4,6}, {60,6}, {60,6},{60,6},{60,6},
{60,6},{60,6},{60,6},{60,6},{60,6},{60,6},
{60,6},{60,6},{60,6},{60,6},{60,6},{60,6}
};

VLCtab TMNMVtab2[] = {
{32,12}, {31,12}, {33,12}, {30,11}, {30,11}, {34,11}, 
{34,11}, {29,11}, {29,11}, {35,11}, {35,11}, {28,11}, 
{28,11}, {36,11}, {36,11}, {27,11}, {27,11}, {37,11}, 
{37,11}, {26,11}, {26,11}, {38,11}, {38,11}, {25,11}, 
{25,11}, {39,11}, {39,11}, {24,10}, {24,10}, {24,10}, 
{24,10}, {40,10}, {40,10}, {40,10}, {40,10}, {23,10}, 
{23,10}, {23,10}, {23,10}, {41,10}, {41,10}, {41,10}, 
{41,10}, {22,10}, {22,10}, {22,10}, {22,10}, {42,10}, 
{42,10}, {42,10}, {42,10}, {21,10}, {21,10}, {21,10}, 
{21,10}, {43,10}, {43,10}, {43,10}, {43,10}, {20,10}, 
{20,10}, {20,10}, {20,10}, {44,10}, {44,10}, {44,10}, 
{44,10}, {19,10}, {19,10}, {19,10}, {19,10}, {45,10}, 
{45,10}, {45,10}, {45,10}, {18,10}, {18,10}, {18,10}, 
{18,10}, {46,10}, {46,10}, {46,10}, {46,10}, {17,10}, 
{17,10}, {17,10}, {17,10}, {47,10}, {47,10}, {47,10}, 
{47,10}, {16,10}, {16,10}, {16,10}, {16,10}, {48,10}, 
{48,10}, {48,10}, {48,10}, {15,10}, {15,10}, {15,10}, 
{15,10}, {49,10}, {49,10}, {49,10}, {49,10}, {14,10}, 
{14,10}, {14,10}, {14,10}, {50,10}, {50,10}, {50,10}, 
{50,10}, {13,10}, {13,10}, {13,10}, {13,10}, {51,10}, 
{51,10}, {51,10}, {51,10}
};


VLCtab MCBPCtab[] = {
{-1,0},
{255,9}, {52,9}, {36,9}, {20,9}, {49,9}, {35,8}, {35,8}, {19,8}, {19,8}, 
{50,8}, {50,8}, {51,7}, {51,7}, {51,7}, {51,7}, {34,7}, {34,7}, {34,7}, 
{34,7}, {18,7}, {18,7}, {18,7}, {18,7}, {33,7}, {33,7}, {33,7}, {33,7}, 
{17,7}, {17,7}, {17,7}, {17,7}, {4,6}, {4,6}, {4,6}, {4,6}, {4,6}, 
{4,6}, {4,6}, {4,6}, {48,6}, {48,6}, {48,6}, {48,6}, {48,6}, {48,6}, 
{48,6}, {48,6}, {3,5}, {3,5}, {3,5}, {3,5}, {3,5}, {3,5}, {3,5}, 
{3,5}, {3,5}, {3,5}, {3,5}, {3,5}, {3,5}, {3,5}, {3,5}, {3,5}, 
{32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, 
{32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, 
{32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {32,4}, 
{32,4}, {32,4}, {32,4}, {32,4}, {32,4}, {16,4}, {16,4}, {16,4}, {16,4}, 
{16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, 
{16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, 
{16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, {16,4}, 
{16,4}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, 
{2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, 
{2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, 
{2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, 
{2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, 
{2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, 
{2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, {2,3}, 
{2,3}, {2,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, 
{1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, 
{1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, 
{1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, 
{1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, 
{1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, 
{1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, {1,3}, 
{1,3}, {1,3}, {1,3}, 
};



VLCtab MCBPCtabintra[] = {
{-1,0},
{20,6}, {36,6}, {52,6}, {4,4}, {4,4}, {4,4}, 
{4,4}, {19,3}, {19,3}, {19,3}, {19,3}, {19,3}, 
{19,3}, {19,3}, {19,3}, {35,3}, {35,3}, {35,3}, 
{35,3}, {35,3}, {35,3}, {35,3}, {35,3}, {51,3}, 
{51,3}, {51,3}, {51,3}, {51,3}, {51,3}, {51,3}, 
{51,3},
};



VLCtab CBPYtab[48] =
{ {-1,0}, {-1,0}, {9,6}, {6,6}, {7,5}, {7,5}, {11,5}, {11,5},
  {13,5}, {13,5}, {14,5}, {14,5}, {15,4}, {15,4}, {15,4}, {15,4}, 
  {3,4}, {3,4}, {3,4}, {3,4}, {5,4},{5,4},{5,4},{5,4},
  {1,4}, {1,4}, {1,4}, {1,4}, {10,4}, {10,4}, {10,4}, {10,4},
  {2,4}, {2,4}, {2,4}, {2,4}, {12,4}, {12,4}, {12,4}, {12,4}, 
  {4,4}, {4,4}, {4,4}, {4,4}, {8,4}, {8,4}, {8,4}, {8,4}, 
};








int getTMNMV()
{
  int code;

  if (trace)
    fputs("motion_code (",dlog);

  if (getbits1())
  {
    if (trace)
      fputs("1): 0\n",dlog);
    return 0;
  }

  if ((code = showbits(12))>=512)
  {
    code = (code>>8) - 2;
    flushbits(TMNMVtab0[code].len);

    if (trace)
    {
      fputs("0",dlog);
      printbits(code+2,4,TMNMVtab0[code].len);
      //fputs("): %d\n", TMNMVtab0[code].val);
    }

    return TMNMVtab0[code].val;
  }

  if (code>=128)
  {
    code = (code>>2) -32;
    flushbits(TMNMVtab1[code].len);

    if (trace)
    {
      fputs("0",dlog);
      printbits(code+32,10,TMNMVtab1[code].len);
     // printf("): %d\n",TMNMVtab1[code].val);
    }

    return TMNMVtab1[code].val;
  }

  if ((code-=5)<0)
  {
    if (!quiet)
      fputs("Invalid motion_vector code\n",dlog);
    fault=1;
    return 0;
  }

  flushbits(TMNMVtab2[code].len);

  if (trace)
  {
    fputs("0",dlog);
    printbits(code+5,12,TMNMVtab2[code].len);
   // printf("): %d\n",TMNMVtab2[code].val);
  }

  return TMNMVtab2[code].val;
}


int getMCBPC()
{
  int code;

  if (trace)
    fputs("MCBPC (",dlog);

  code = showbits(9);

  if (code == 1) {
    /* macroblock stuffing */
    if (trace)
      fputs("000000001): stuffing\n",dlog);
    flushbits(9);
    return 255;
  }

  if (code == 0) {
    if (!quiet) 
      fputs("Invalid MCBPC code\n",dlog);
    fault = 1;
    return 0;
  }
    
  if (code>=256)
  {
    flushbits(1);
   // if (trace)
   //  fputs(1): %d\n",0);
    return 0;
  }
    
  flushbits(MCBPCtab[code].len);

  if (trace)
  {
    printbits(code,9,MCBPCtab[code].len);
    //printf("): %d\n",MCBPCtab[code].val);
  }

  return MCBPCtab[code].val;
}

int getMODB()
{
  int code;
  int MODB;

  if (trace)
    fputs("MODB (",dlog);

  code = showbits(2);

  if (code < 2) {
    if (trace)
      fputs("0): MODB = 0\n",dlog);
    MODB = 0;
    flushbits(1);
  }
  else if (code == 2) {
    if (trace)
      fputs("10): MODB = 1\n",dlog);
    MODB = 1;
    flushbits(2);
  }
  else { /* code == 3 */
    if (trace)
      fputs("11): MODB = 2\n",dlog);
    MODB = 2;
    flushbits(2);
  }
  return MODB;
}


int getMCBPCintra()
{
  int code;

  if (trace)
    fputs("MCBPCintra (",dlog);

  code = showbits(9);

  if (code == 1) {
    /* macroblock stuffing */
    if (trace)
      fputs("000000001): stuffing\n",dlog);
    flushbits(9);
    return 255;
  }

  if (code < 8) {
    if (!quiet) 
      fputs("Invalid MCBPCintra code\n",dlog);
    fault = 1;
    return 0;
  }

  code >>= 3;
    
  if (code>=32)
  {
    flushbits(1);
    //if (trace)
    //  printf("1): %d\n",3);
    return 3;
  }

  flushbits(MCBPCtabintra[code].len);

  if (trace)
  {
    printbits(code,6,MCBPCtabintra[code].len);
    //printf("): %d\n",MCBPCtabintra[code].val);
  }

  return MCBPCtabintra[code].val;
}

int getCBPY()
{
  int code;

  if (trace)
    fputs("CBPY (",dlog);

  code = showbits(6);
  if (code < 2) {
    if (!quiet) 
      fputs("Invalid CBPY code\n",dlog);
    fault = 1;
    return -1;
  }
    
  if (code>=48)
  {
    flushbits(2);
    //if (trace)
     // printf("11): %d\n",0);
    return 0;
  }

  flushbits(CBPYtab[code].len);

  if (trace)
  {
    printbits(code,6,CBPYtab[code].len);
    //printf("): %d\n",CBPYtab[code].val);
  }

  return CBPYtab[code].val;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本不卡视频一二三区| 欧美一级片免费看| 亚洲国产精品成人久久综合一区 | 国产精品夫妻自拍| 成人网页在线观看| 亚洲欧美另类小说| 欧美日韩国产高清一区二区| 偷拍日韩校园综合在线| 精品福利一区二区三区免费视频| 国产在线播放一区三区四| 久久精品人人爽人人爽| 91亚洲男人天堂| 午夜欧美一区二区三区在线播放| 日韩精品一区二区三区四区视频| 大胆亚洲人体视频| 亚洲二区视频在线| 欧美videos中文字幕| 国产精品2024| 亚洲日本乱码在线观看| 制服丝袜亚洲色图| 国产999精品久久| 一区二区三区中文免费| 欧美tickling网站挠脚心| 成人激情综合网站| 麻豆91精品91久久久的内涵| 国产精品免费视频一区| 在线免费观看日韩欧美| 激情欧美日韩一区二区| 亚洲美女精品一区| 精品免费日韩av| 91久久精品一区二区三区| 久久精品国产久精国产爱| 国产精品久久一卡二卡| 欧美一级电影网站| 91色九色蝌蚪| 国产乱一区二区| 亚洲成人一区在线| 中文字幕高清一区| 日韩亚洲电影在线| 91国内精品野花午夜精品| 国内精品在线播放| 亚洲国产精品一区二区久久恐怖片| 337p粉嫩大胆噜噜噜噜噜91av | 色噜噜夜夜夜综合网| 麻豆精品在线视频| 一区二区三区在线视频免费 | 成人高清视频在线| 日本不卡视频一二三区| 一区二区三区91| 中文一区一区三区高中清不卡| 欧美一区二区福利在线| 91福利在线看| www.性欧美| 国产精品一区一区三区| 日韩成人午夜电影| 亚洲一区二区高清| 亚洲品质自拍视频| 亚洲视频在线观看三级| 国产欧美日韩精品a在线观看| 日韩午夜在线播放| 欧美高清精品3d| 日本乱人伦aⅴ精品| kk眼镜猥琐国模调教系列一区二区 | 久久综合久久综合久久| 欧美高清精品3d| 欧美裸体一区二区三区| 在线观看免费亚洲| 色94色欧美sute亚洲线路一ni| 91视视频在线观看入口直接观看www| 国产不卡视频在线播放| 国产精品白丝jk白祙喷水网站| 日日夜夜精品视频天天综合网| 韩国欧美一区二区| 精品女同一区二区| 欧美在线免费观看亚洲| 亚洲一区二区三区国产| 亚洲欧美日韩精品久久久久| 中文字幕欧美激情一区| 国产精品私人影院| 中文字幕中文字幕在线一区| 国产精品欧美久久久久无广告 | 91在线一区二区| 99精品视频在线观看| 99精品视频在线观看| 91麻豆免费观看| 色综合久久综合网| 欧美色图12p| 欧美吞精做爰啪啪高潮| 欧美精品三级在线观看| 欧美一区二区不卡视频| 日韩欧美高清在线| 久久久国际精品| 国产精品电影一区二区| 亚洲精品一卡二卡| 久久久久国产精品麻豆ai换脸 | 日韩影院精彩在线| 日本高清视频一区二区| 欧美mv和日韩mv国产网站| 欧美最猛性xxxxx直播| 国产91综合网| 床上的激情91.| 欧美日韩日日夜夜| 久久久久久久久久看片| 亚洲三级在线播放| 欧美激情一区二区三区不卡| 26uuu亚洲综合色| 中文字幕亚洲成人| 日韩精品亚洲专区| yourporn久久国产精品| 777久久久精品| 亚洲男人天堂一区| 日本va欧美va精品| 91免费看片在线观看| 欧美成人aa大片| 亚洲三级在线看| 国产精品一区二区久激情瑜伽| 欧美性猛交xxxx乱大交退制版| 久久久久久久久一| 韩国v欧美v日本v亚洲v| 欧美男男青年gay1069videost| 69堂亚洲精品首页| 国产无人区一区二区三区| 亚洲精品视频观看| 亚洲欧美自拍偷拍色图| 亚洲一区在线播放| 精品在线观看视频| 99精品在线观看视频| 欧美电影免费观看完整版| 中文字幕一区二区在线观看| 亚洲一区二区av电影| 韩国女主播成人在线| 91在线视频播放| 日韩精品专区在线| 亚洲精品国产品国语在线app| 精品影视av免费| 欧美日韩在线不卡| 国产精品毛片久久久久久| 蜜桃视频在线观看一区二区| 色婷婷激情久久| 国产女人18毛片水真多成人如厕| 日韩一区欧美二区| 91久久精品一区二区三区| 日本一区二区成人在线| 久久99久久99精品免视看婷婷| 欧美日韩精品欧美日韩精品| 中文字幕一区免费在线观看| 国产一区二区三区免费看| 91麻豆精品国产91久久久使用方法| 中文字幕一区日韩精品欧美| 国产老肥熟一区二区三区| 欧美一区二区在线免费播放| 一区二区三区免费| 99久久久无码国产精品| 国产夜色精品一区二区av| 久久99久久精品| 在线播放中文字幕一区| 亚洲成人免费看| 91福利视频网站| 亚洲欧美日韩一区二区 | 在线亚洲+欧美+日本专区| 国产日韩欧美综合在线| 国产在线精品国自产拍免费| 日韩一区二区在线观看| 日韩av中文字幕一区二区三区| 欧美日韩黄色影视| 亚洲福利视频导航| 欧美系列在线观看| 午夜av电影一区| 91精品婷婷国产综合久久| 亚洲无线码一区二区三区| 欧美色爱综合网| 亚洲国产日韩精品| 欧美喷潮久久久xxxxx| 日韩av二区在线播放| 欧美一区二区三区小说| 日韩精品成人一区二区三区| 欧美精品久久天天躁| 日韩在线a电影| 欧美精品一区二区三区很污很色的| 久久国产精品色| 国产丝袜在线精品| 丰满白嫩尤物一区二区| 中文字幕在线不卡| 91成人免费在线| 秋霞成人午夜伦在线观看| 欧美一级免费大片| 日本欧美大码aⅴ在线播放| 91精品国产综合久久精品性色| 久久66热偷产精品| 国产欧美日韩一区二区三区在线观看| av成人免费在线观看| 亚洲午夜精品网| 欧美一级高清大全免费观看| 国产精品白丝jk黑袜喷水| 中文字幕亚洲电影| 91精品国产一区二区人妖| 国产成人综合网| 亚洲午夜av在线| 久久久久久综合| 欧美亚洲禁片免费|