亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
国产精品久久午夜| 欧美亚洲国产一区在线观看网站| 欧美丰满嫩嫩电影| 亚洲激情在线播放| 色八戒一区二区三区| 中日韩av电影| 国产精品18久久久久久久久| 欧美mv和日韩mv国产网站| 美女一区二区视频| 欧美日韩精品一区视频| 亚洲午夜精品在线| 欧美久久久久久蜜桃| 亚洲一区二区三区不卡国产欧美| 色老头久久综合| 亚洲国产精品久久久久婷婷884| 91视频xxxx| 一区二区欧美国产| 欧美日韩小视频| 蜜臀久久久99精品久久久久久| 在线播放一区二区三区| 五月天亚洲婷婷| 日韩亚洲欧美一区| 三级在线观看一区二区| 欧美美女一区二区三区| 午夜电影一区二区三区| 日韩一区二区在线看片| 日韩精彩视频在线观看| 欧美mv日韩mv| 国产a视频精品免费观看| 国产精品对白交换视频| 精品视频在线免费看| 奇米精品一区二区三区在线观看一| 91精品国产91综合久久蜜臀| 久久99精品国产.久久久久| 国产夜色精品一区二区av| 高清av一区二区| 亚洲欧美国产77777| 日韩欧美在线不卡| 成人国产免费视频| 欧美aa在线视频| 国产精品色噜噜| 日韩欧美中文字幕精品| 色哟哟亚洲精品| 国产乱码精品1区2区3区| 亚洲精品成人悠悠色影视| 久久久久久**毛片大全| 欧美日韩mp4| jlzzjlzz欧美大全| 狠狠色2019综合网| 无吗不卡中文字幕| 亚洲欧洲日韩一区二区三区| 欧美精品一区二区蜜臀亚洲| 欧美日韩在线免费视频| av一区二区三区四区| 九九视频精品免费| 午夜精品免费在线观看| 亚洲日本va在线观看| 久久夜色精品国产噜噜av| 91精品国产91久久综合桃花| 91麻豆蜜桃一区二区三区| 国产91精品一区二区麻豆亚洲| 免费精品视频最新在线| 亚洲电影中文字幕在线观看| 国产精品第一页第二页第三页| 亚洲精品在线免费播放| 日韩亚洲欧美在线观看| 欧美福利视频一区| 欧美在线视频你懂得| 91蜜桃网址入口| 不卡视频在线观看| 成人性生交大片免费看在线播放| 韩国v欧美v日本v亚洲v| 日韩av不卡一区二区| 亚洲激情一二三区| 一区二区三区免费观看| 亚洲黄色片在线观看| 亚洲欧美在线aaa| 中文字幕亚洲在| 国产精品毛片久久久久久| 国产精品久久久久永久免费观看 | 成人av动漫在线| 国产成人综合网| 国产精品一级二级三级| 久久超碰97中文字幕| 黄色日韩三级电影| 狠狠色丁香久久婷婷综合_中| 久久精品99国产国产精| 久久精品二区亚洲w码| 国产精品主播直播| 成人综合在线视频| 成人app在线观看| 色婷婷av一区二区三区大白胸| 色综合天天狠狠| 欧美三级午夜理伦三级中视频| 7777精品伊人久久久大香线蕉完整版| 欧美区视频在线观看| 欧美电影免费观看高清完整版在 | 中文字幕在线不卡视频| 亚洲三级免费观看| 亚洲一区二区av在线| 青青草国产成人99久久| 美国精品在线观看| 国产精品一区二区x88av| 岛国av在线一区| 99re这里都是精品| 9191国产精品| 337p日本欧洲亚洲大胆精品 | 亚洲欧美日韩中文播放| 亚洲国产aⅴ天堂久久| 美美哒免费高清在线观看视频一区二区 | 一区二区三区精品在线| 三级亚洲高清视频| 国产一区二区三区不卡在线观看| 成人黄色电影在线 | 中文字幕巨乱亚洲| 亚洲韩国一区二区三区| 久久99国产精品久久99果冻传媒| 国产精品一区三区| 91国模大尺度私拍在线视频| 日韩欧美一区二区视频| 国产精品久久久久久久久免费桃花 | 亚洲精品videosex极品| 美女视频第一区二区三区免费观看网站| 国产精品系列在线播放| 欧美视频中文一区二区三区在线观看| 精品欧美黑人一区二区三区| 亚洲色图一区二区| 麻豆视频观看网址久久| 91麻豆国产福利精品| 久久综合狠狠综合久久激情| 亚洲欧美视频在线观看视频| 免费高清在线视频一区·| 99精品欧美一区| 3d成人动漫网站| 专区另类欧美日韩| 国产在线日韩欧美| 欧美午夜免费电影| 国产精品伦理在线| 久久99精品国产.久久久久久 | 亚洲成在人线免费| 成人午夜电影小说| 欧美大片在线观看一区| 亚洲综合在线免费观看| 国产成人综合亚洲网站| 欧美一区二区女人| 亚洲一区电影777| 色久优优欧美色久优优| 欧美韩国日本不卡| 精品一区二区在线观看| 欧美区一区二区三区| 亚洲欧美电影院| 不卡一区二区在线| 久久久精品2019中文字幕之3| 亚瑟在线精品视频| 欧美综合天天夜夜久久| 中文字幕在线不卡视频| 福利电影一区二区三区| 精品久久国产字幕高潮| 日本三级亚洲精品| 7777女厕盗摄久久久| 午夜影院在线观看欧美| 色欲综合视频天天天| 国产精品初高中害羞小美女文| 国产一区二区三区观看| 久久久电影一区二区三区| 看片的网站亚洲| 日韩写真欧美这视频| 日韩成人av影视| 欧美精品免费视频| 日韩主播视频在线| 欧美老年两性高潮| 亚洲资源在线观看| 欧美午夜电影在线播放| 亚洲成人综合视频| 欧美精品第1页| 日韩成人精品在线观看| 日韩一级片在线观看| 毛片一区二区三区| 精品国产一区二区精华| 国产一级精品在线| 欧美国产乱子伦| 成人av第一页| 曰韩精品一区二区| 欧美日韩一级视频| 日本不卡一区二区| 欧美精品一区二区三区高清aⅴ| 国产一区二区在线观看免费| 国产日韩三级在线| 91在线小视频| 亚洲大片精品永久免费| 精品久久久久久综合日本欧美| 国产一区二区成人久久免费影院| 国产日韩欧美制服另类| 91亚洲资源网| 午夜精品视频一区| 精品国产成人在线影院 | 91在线无精精品入口| 亚洲午夜日本在线观看| 欧美电影免费观看高清完整版| 国产乱国产乱300精品|