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

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

?? mpegplayer.java

?? 用java寫出的播放器
?? JAVA
?? 第 1 頁 / 共 4 頁
字號:
    }    return getACValue();  }  /**   * Returns AC luminance or chrominance coefficients   */  public int[] getACValue() throws IOException {    int code = showBits(16);    if (code >= 10240)      code = (code >> 11) + 112;    else if (code >= 8192)      code = (code >> 8) + 72;    else if (code >= 1024)      code = (code >> 9) + 88;    else if (code >= 512)      code = (code >> 6) + 72;    else if (code >= 256)      code = (code >> 4) + 48;    else if (code >= 128)      code = (code >> 3) + 32;    else if (code >= 64)      code = (code >> 2) + 16;    else if (code >= 32)      code >>= 1;    else if (code >= 16)      code -= 16;    else      throw new IOException("Invalid DCT coefficient code");    flushBits(DCTtable[code][1]);    data[0] = DCTtable[code][0] & 0xFF;    data[1] = DCTtable[code][0] >>> 8;    if (data[0] == ESC) {      data[0] = getBits(6);      data[1] = getBits(8);      if (data[1] == 0x00)	data[1] = getBits(8);      else if (data[1] == 0x80)	data[1] = getBits(8) - 256;      else if (data[1] >= 0x80)	data[1] -= 256;    }    else if (data[0] != EOB) {      if (getBits(1) != 0)	data[1] = -data[1];    }    return data;  }}/** * Fast inverse two-dimensional discrete cosine transform algorithm * by Chen-Wang using 32 bit integer arithmetic (8 bit coefficients). */class IDCT {  /**   * The basic DCT block is 8x8 samples   */  private final static int DCTSIZE = 8;  /**   * Integer arithmetic precision constants   */  private final static int PASS_BITS = 3;  private final static int CONST_BITS = 11;  /**   * Precomputed DCT cosine kernel functions:   *  Ci = (2^CONST_BITS)*sqrt(2.0)*cos(i * PI / 16.0)   */  private final static int C1 = 2841;  private final static int C2 = 2676;  private final static int C3 = 2408;  private final static int C5 = 1609;  private final static int C6 = 1108;  private final static int C7 = 565;  public static void transform(int block[]) {    /* pass 1: process rows */    for (int i = 0, offset = 0; i < DCTSIZE; i++, offset += DCTSIZE) {      /* get coefficients */      int d0 = block[offset + 0];      int d4 = block[offset + 1];      int d3 = block[offset + 2];      int d7 = block[offset + 3];      int d1 = block[offset + 4];      int d6 = block[offset + 5];      int d2 = block[offset + 6];      int d5 = block[offset + 7];      int d8;      /* AC terms all zero? */      if ((d1 | d2 | d3 | d4 | d5 | d6 | d7) == 0) {	d0 <<= PASS_BITS;	block[offset + 0] = d0;	block[offset + 1] = d0;	block[offset + 2] = d0;	block[offset + 3] = d0;	block[offset + 4] = d0;	block[offset + 5] = d0;	block[offset + 6] = d0;	block[offset + 7] = d0;	continue;      }      /* first stage */      d8 = (d4 + d5) * C7;      d4 = d8 + d4 * (C1 - C7);      d5 = d8 - d5 * (C1 + C7);      d8 = (d6 + d7) * C3;      d6 = d8 - d6 * (C3 - C5);      d7 = d8 - d7 * (C3 + C5);      /* second stage */      d8 = ((d0 + d1) << CONST_BITS) + (1 << (CONST_BITS - PASS_BITS - 1));      d0 = ((d0 - d1) << CONST_BITS) + (1 << (CONST_BITS - PASS_BITS - 1));      d1 = (d2 + d3) * C6;      d2 = d1 - d2 * (C2 + C6);      d3 = d1 + d3 * (C2 - C6);      d1 = d4 + d6;      d4 = d4 - d6;      d6 = d5 + d7;      d5 = d5 - d7;      /* third stage */      d7 = d8 + d3;      d8 = d8 - d3;      d3 = d0 + d2;      d0 = d0 - d2;      d2 = ((d4 + d5) * 181) >> 8;      d4 = ((d4 - d5) * 181) >> 8;      /* output stage */      block[offset + 0] = (d7 + d1) >> (CONST_BITS - PASS_BITS);      block[offset + 7] = (d7 - d1) >> (CONST_BITS - PASS_BITS);      block[offset + 1] = (d3 + d2) >> (CONST_BITS - PASS_BITS);      block[offset + 6] = (d3 - d2) >> (CONST_BITS - PASS_BITS);      block[offset + 2] = (d0 + d4) >> (CONST_BITS - PASS_BITS);      block[offset + 5] = (d0 - d4) >> (CONST_BITS - PASS_BITS);      block[offset + 3] = (d8 + d6) >> (CONST_BITS - PASS_BITS);      block[offset + 4] = (d8 - d6) >> (CONST_BITS - PASS_BITS);    }    /* pass 2: process columns */    for (int i = 0, offset = 0; i < DCTSIZE; i++, offset++) {      /* get coefficients */      int d0 = block[offset + DCTSIZE*0];      int d4 = block[offset + DCTSIZE*1];      int d3 = block[offset + DCTSIZE*2];      int d7 = block[offset + DCTSIZE*3];      int d1 = block[offset + DCTSIZE*4];      int d6 = block[offset + DCTSIZE*5];      int d2 = block[offset + DCTSIZE*6];      int d5 = block[offset + DCTSIZE*7];      int d8;      /* AC terms all zero? */      if ((d1 | d2 | d3 | d4 | d5 | d6 | d7) == 0) {	d0 >>= PASS_BITS + 3;	block[offset + DCTSIZE*0] = d0;	block[offset + DCTSIZE*1] = d0;	block[offset + DCTSIZE*2] = d0;	block[offset + DCTSIZE*3] = d0;	block[offset + DCTSIZE*4] = d0;	block[offset + DCTSIZE*5] = d0;	block[offset + DCTSIZE*6] = d0;	block[offset + DCTSIZE*7] = d0;	continue;      }      /* first stage */      d8 = (d4 + d5) * C7;      d4 = (d8 + d4 * (C1 - C7)) >> 3;      d5 = (d8 - d5 * (C1 + C7)) >> 3;      d8 = (d6 + d7) * C3;      d6 = (d8 - d6 * (C3 - C5)) >> 3;      d7 = (d8 - d7 * (C3 + C5)) >> 3;      /* second stage */      d8 = ((d0 + d1) << (CONST_BITS - 3)) + (1 << (CONST_BITS + PASS_BITS-1));      d0 = ((d0 - d1) << (CONST_BITS - 3)) + (1 << (CONST_BITS + PASS_BITS-1));      d1 = (d2 + d3) * C6;      d2 = (d1 - d2 * (C2 + C6)) >> 3;      d3 = (d1 + d3 * (C2 - C6)) >> 3;      d1 = d4 + d6;      d4 = d4 - d6;      d6 = d5 + d7;      d5 = d5 - d7;      /* third stage */      d7 = d8 + d3;      d8 = d8 - d3;      d3 = d0 + d2;      d0 = d0 - d2;      d2 = ((d4 + d5) * 181) >> 8;      d4 = ((d4 - d5) * 181) >> 8;      /* output stage */      block[offset + DCTSIZE*0] = (d7 + d1) >> (CONST_BITS + PASS_BITS);      block[offset + DCTSIZE*7] = (d7 - d1) >> (CONST_BITS + PASS_BITS);      block[offset + DCTSIZE*1] = (d3 + d2) >> (CONST_BITS + PASS_BITS);      block[offset + DCTSIZE*6] = (d3 - d2) >> (CONST_BITS + PASS_BITS);      block[offset + DCTSIZE*2] = (d0 + d4) >> (CONST_BITS + PASS_BITS);      block[offset + DCTSIZE*5] = (d0 - d4) >> (CONST_BITS + PASS_BITS);      block[offset + DCTSIZE*3] = (d8 + d6) >> (CONST_BITS + PASS_BITS);      block[offset + DCTSIZE*4] = (d8 - d6) >> (CONST_BITS + PASS_BITS);    }  }}/** * Motion vector information used for MPEG-1 motion prediction. */class MotionVector {  /**   * Motion vector displacements (6 bits)   */  public int horizontal;  public int vertical;  /**   * Motion vector displacement residual size   */  private int residualSize;  /**   * Motion displacement in half or full pixels?   */  private boolean pixelSteps;  /**   * Initializes the motion vector object   */  public MotionVector() {    horizontal = vertical = 0;    residualSize = 0;    pixelSteps = false;  }  /**   * Changes the current motion vector predictors   */  public void setVector(int horizontal, int vertical) {    this.horizontal = horizontal;    this.vertical = vertical;  }  /**   * Reads the picture motion vector information   */  public void getMotionInfo(BitInputStream stream) throws IOException {    pixelSteps = (stream.getBits(1) != 0);    residualSize = (stream.getBits(3) - 1);  }  /**   * Reads the macro block motion vectors   */  public void getMotionVector(VLCInputStream stream) throws IOException {    horizontal = getMotionDisplacement(stream, horizontal);    vertical = getMotionDisplacement(stream, vertical);  }  /**   * Reads and reconstructs the motion vector displacements   */  private int getMotionDisplacement(VLCInputStream stream, int vector)    throws IOException {    int code = stream.getMVCode();    int residual = (code != 0 && residualSize != 0 ?		    stream.getBits(residualSize) : 0);    int limit = 16 << residualSize;    if (pixelSteps)      vector >>= 1;    if (code > 0) {      if ((vector += ((code - 1) << residualSize) + residual + 1) >= limit)	vector -= limit << 1;    }    else if (code < 0) {      if ((vector -= ((-code - 1) << residualSize) + residual + 1) < -limit)	vector += limit << 1;    }    if (pixelSteps)      vector <<= 1;    return vector;  }}/** * Macroblock decoder and dequantizer for MPEG-1 video streams. */class Macroblock {  /**   * Macroblock type encoding   */  public final static int I_TYPE   = 1;  public final static int P_TYPE   = 2;  public final static int B_TYPE   = 3;  public final static int D_TYPE   = 4;  /**   * Macroblock type bit fields   */  public final static int INTRA    = 0x01;  public final static int PATTERN  = 0x02;  public final static int BACKWARD = 0x04;  public final static int FORWARD  = 0x08;  public final static int QUANT    = 0x10;  public final static int EMPTY    = 0x80;  /**   * Default quantization matrix for intra coded macro blocks   */  private final static int defaultIntraMatrix[] = {    8, 16, 16, 19, 16, 19, 22, 22,    22, 22, 22, 22, 26, 24, 26, 27,    27, 27, 26, 26, 26, 26, 27, 27,    27, 29, 29, 29, 34, 34, 34, 29,    29, 29, 27, 27, 29, 29, 32, 32,    34, 34, 37, 38, 37, 35, 35, 34,    35, 38, 38, 40, 40, 40, 48, 48,    46, 46, 56, 56, 58, 69, 69, 83  };  /**   * Mapping for zig-zag scan ordering   */  private final static int zigzag[] = {    0,	1,  8, 16,  9,	2,  3, 10,    17, 24, 32, 25, 18, 11,  4,  5,    12, 19, 26, 33, 40, 48, 41, 34,    27, 20, 13,  6,  7, 14, 21, 28,    35, 42, 49, 56, 57, 50, 43, 36,    29, 22, 15, 23, 30, 37, 44, 51,    58, 59, 52, 45, 38, 31, 39, 46,    53, 60, 61, 54, 47, 55, 62, 63  };  /**   * Quantization scale for macro blocks   */  private int scale;  /**   * Quantization matrix for intra coded blocks   */  private int intraMatrix[];  /**   * Quantization matrix for inter coded blocks   */  private int interMatrix[];  /**   * Color components sample blocks (8 bits)   */  private int block[][];  /**   * Predictors for DC coefficients (10 bits)   */  private int predictor[];  /**   * Macroblock type encoding   */  private int type;  /**   * Macroblock type flags   */  private int flags;  /**   * Motion prediction vectors   */  private MotionVector forward;  private MotionVector backward;  /**   * Initializes the MPEG-1 macroblock decoder object   */  public Macroblock() {    /* create quantization matrices */    intraMatrix = new int[64];    interMatrix = new int[64];    /* create motion prediction vectors */    forward = new MotionVector();    backward = new MotionVector();    /* create DCT blocks and predictors */    block = new int[6][64];    predictor = new int[3];    /* set up default macro block types */    type = I_TYPE;    flags = EMPTY;    /* set up default quantization scale */    scale = 0;    /* set up default quantization matrices */    for (int i = 0; i < 64; i++) {      intraMatrix[i] = defaultIntraMatrix[i];      interMatrix[i] = 16;    }    /* set up default DC coefficient predictors */    for (int i = 0; i < 3; i++)      predictor[i] = 1024;  }  /**   * Returns the quantization scale   */  public int getScale() {    return scale;  }  /**   * Changes the quantization scale   */  public void setScale(int scale) {    this.scale = scale;  }  /**   * Returns the quantization matrix for intra coded blocks   */  public int[] getIntraMatrix() {    return intraMatrix;  }  /**   * Changes the quantization matrix for intra coded blocks   */  public void setIntraMatrix(int matrix[]) {    for (int i = 0; i < 64; i++)      intraMatrix[i] = matrix[i];  }  /**   * Returns the quantization matrix for inter coded blocks   */  public int[] getInterMatrix() {    return interMatrix;  }  /**   * Changes the quantization matrix for inter coded blocks   */  public void setInterMatrix(int matrix[]) {    for (int i = 0; i < 64; i++)      interMatrix[i] = matrix[i];  }  /**   * Returns the macroblock type encoding   */  public int getType() {    return type;  }  /**   * Changes the macroblock type encoding   */  public void setType(int type) {    this.type = type;  }  /**   * Returns the component block of samples   */  public int[][] getData() {    return block;  }  /**   * Changes the component block of samples   */  public void setData(int component, int data[]) {    for (int i = 0; i < 64; i++)      block[component][i] = data[i];  }  /**   * Returns the macro block type flags   */  public int getFlags() {    return flags;  }  /**   * Changes the macro block type flags   */  public void setFlags(int flags) {    this.flags = flags;  }  /**   * Returns true if the block is empty   */  public boolean isEmpty() {    return (flags & EMPTY) != 0;  }  /**   * Returns true if the block is intra coded   */  public boolean isIntraCoded() {    return (flags & INTRA) != 0;  }  /**   * Returns true if the block is pattern coded   */  public boolean isPatternCoded() {    return ((flags & PATTERN) != 0);  }  /**   * Returns true if the block is forward predicted   */  public boolean isBackwardPredicted() {    return (flags & BACKWARD) != 0;  }  /**   * Returns true if the block is backward predicted   */  public boolean isForwardPredicted() {    return (flags & FORWARD) != 0;  }  /**   * Returns true if the block is forward and backward predicted   */  public boolean isBidirPredicted() {    return ((flags & FORWARD) != 0) && ((flags & BACKWARD) != 0);  }  /**   * Returns true if the block has a quantization scale   */  public boolean isQuantScaled() {    return ((flags & QUANT) != 0);  }  /**   * Returns the forward motion vector   */  public MotionVector getForwardVector() {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久久亚洲综合影院红桃| 狠狠色狠狠色综合系列| 久久精品亚洲精品国产欧美kt∨| 欧美一区二区三区白人| 欧美在线观看视频在线| 色一区在线观看| 色哟哟日韩精品| 欧美无乱码久久久免费午夜一区| 在线欧美日韩精品| 欧美人狂配大交3d怪物一区 | 精品亚洲国内自在自线福利| 亚洲妇女屁股眼交7| 五月天亚洲婷婷| 婷婷开心久久网| 老司机精品视频在线| 精品亚洲porn| 成人国产一区二区三区精品| av福利精品导航| 欧美天堂一区二区三区| 91精品欧美综合在线观看最新| 日韩一区二区三区视频在线观看| 欧美不卡一区二区三区四区| 国产视频一区不卡| 一区二区三区在线视频免费| 日本欧美在线看| 国产精品一区不卡| av爱爱亚洲一区| 91精品国产综合久久精品| 欧美成人精品高清在线播放| 国产午夜三级一区二区三| 亚洲欧美视频在线观看视频| 午夜精品久久久久久久久| 精品系列免费在线观看| 91亚洲男人天堂| 欧美成人午夜电影| 亚洲另类在线一区| 久久精品国产一区二区| 91啦中文在线观看| 精品处破学生在线二十三| 亚洲视频中文字幕| 黑人巨大精品欧美黑白配亚洲| 91丨九色porny丨蝌蚪| 日韩免费观看高清完整版在线观看| 国产日韩精品久久久| 香蕉久久一区二区不卡无毒影院| 国产成人日日夜夜| 制服视频三区第一页精品| 国产精品麻豆久久久| 美日韩一区二区| 欧美性生活影院| 国产精品丝袜91| 麻豆91免费看| 欧美伦理视频网站| 中文字幕一区二区三区在线观看| 久久激五月天综合精品| 欧美网站大全在线观看| 国产精品久久久爽爽爽麻豆色哟哟| 日韩精品免费视频人成| 91精品国产免费久久综合| 亚洲欧洲日产国码二区| 国产精品996| 久久综合狠狠综合久久综合88 | 国产精品久久久久久久久搜平片| 免费在线观看一区| 欧美性欧美巨大黑白大战| 久久精品亚洲精品国产欧美| 久久草av在线| 日韩午夜中文字幕| 免费国产亚洲视频| 538prom精品视频线放| 一区二区三区精品在线| youjizz久久| 国产区在线观看成人精品| 久久国产福利国产秒拍| 欧美一级在线视频| 日韩二区三区在线观看| 欧美美女直播网站| 午夜久久久影院| 91麻豆自制传媒国产之光| 国产日韩一级二级三级| 粉嫩av一区二区三区粉嫩 | 激情文学综合网| 欧美一级二级三级乱码| 亚洲一区二区在线免费观看视频| 日韩一级在线观看| 五月天激情综合网| 欧美日韩精品一区视频| 石原莉奈一区二区三区在线观看| 欧美在线观看一二区| 亚洲国产视频a| 日韩一区二区高清| 国产一区二区三区综合 | 成人免费观看av| 国产精品丝袜91| 在线国产电影不卡| 日韩va欧美va亚洲va久久| 欧美一区二区三区免费在线看| 美女看a上一区| 国产女同互慰高潮91漫画| 99久久婷婷国产精品综合| 一区二区成人在线观看| 日韩三级.com| av在线一区二区三区| 天天爽夜夜爽夜夜爽精品视频| 精品成人免费观看| 91免费国产视频网站| 男女男精品网站| 国产精品乱人伦| 欧美日韩国产综合一区二区| 九九国产精品视频| 亚洲欧美偷拍另类a∨色屁股| 欧美一级日韩一级| www.视频一区| 精品一区在线看| 一区二区三区四区中文字幕| 亚洲欧洲美洲综合色网| 欧美色综合影院| 国产成人精品在线看| 亚洲一区二区不卡免费| 国产欧美日本一区二区三区| 欧美狂野另类xxxxoooo| 丁香亚洲综合激情啪啪综合| 日韩国产精品91| 中文字幕色av一区二区三区| 欧美一区二区视频在线观看2020| 国产夫妻精品视频| 日韩黄色免费电影| 亚洲视频免费在线观看| 欧美成人三级电影在线| 91国产免费观看| 成人一区二区三区视频在线观看| 日本aⅴ免费视频一区二区三区| 国产精品成人免费精品自在线观看| 欧美一区二区日韩一区二区| 欧美主播一区二区三区| 成人中文字幕在线| 国产中文一区二区三区| 蜜桃av一区二区在线观看| 一区二区三区在线观看视频| 国产精品日产欧美久久久久| 久久婷婷国产综合精品青草 | 久久66热偷产精品| 亚洲午夜免费福利视频| 一区视频在线播放| 国产精品久久夜| 国产亚洲精品中文字幕| 欧美精品一区二区三区高清aⅴ | 精品国内二区三区| 在线不卡中文字幕播放| 欧美久久久久久久久| 欧美又粗又大又爽| 91国产精品成人| 欧美怡红院视频| 欧美在线观看视频一区二区三区| 色哟哟一区二区| 91在线精品一区二区| 91看片淫黄大片一级在线观看| 99亚偷拍自图区亚洲| 91网站最新网址| 在线观看91视频| 3d动漫精品啪啪一区二区竹菊| 国产日韩欧美一区二区三区乱码| 26uuu色噜噜精品一区| 久久久久久免费| 中文字幕欧美日本乱码一线二线| 久久久精品国产99久久精品芒果 | 欧美日韩综合在线免费观看| 欧美三级蜜桃2在线观看| 欧美日韩你懂的| 日韩欧美一区二区三区在线| 2023国产精品| 国产精品污www在线观看| 日韩毛片精品高清免费| 亚洲精品日韩一| 亚洲午夜国产一区99re久久| 亚洲18色成人| 国产真实乱子伦精品视频| 成人黄动漫网站免费app| 日本黄色一区二区| 日韩一区二区在线播放| 国产人伦精品一区二区| 亚洲伦理在线免费看| 日韩综合一区二区| 国产麻豆精品在线| 91精彩视频在线观看| 91精品国产全国免费观看| 国产欧美一区二区精品性色超碰| 亚洲欧美日韩电影| 奇米在线7777在线精品 | 亚洲精品久久久蜜桃| 调教+趴+乳夹+国产+精品| 国产一区二区三区蝌蚪| 91福利在线播放| 久久久久久久综合日本| 亚洲综合视频网| 国产一区亚洲一区| 欧美日韩视频在线观看一区二区三区 | 狠狠色丁香婷婷综合久久片| 91麻豆国产福利在线观看| 日韩精品在线看片z|