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

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

?? verify.c

?? mpeg2解壓縮從C語言源碼 沒有注釋
?? C
字號:
/* verify.c  * * Bitstream verification routines * * */#ifdef VERIFY #include <stdio.h>#include <stdlib.h>#include <ctype.h>#include <fcntl.h>#include <math.h>     /* needed for ceil() */#include "config.h"#include "global.h"/* #define DEBUG  */#ifdef DEBUG#define PC #endif#ifdef PC#include <conio.h>    /* needed for getch() */#endif /* PC *//*    Check picture headers:  due to the VBV definition of picture data,   this routine must be called immediately before any picture data    is parsed. (before the first slice start code, including any slice    start code stuffing).*/static void Check_VBV_Delay _ANSI_ARGS_((int Bitstream_Framenum, int Sequence_Framenum));void Check_Headers(Bitstream_Framenum, Sequence_Framenum)int Bitstream_Framenum;int Sequence_Framenum;{  if((!low_delay)&&(vbv_delay!=0)&&(vbv_delay!=0xFFFF))    Check_VBV_Delay(Bitstream_Framenum, Sequence_Framenum);  /* clear out the header tracking variables so we have an accurate      count next time */  Clear_Verify_Headers();}/*  * Verify vbv_delay value in picture header  * (low_delay==1 checks not implemented. this does not exhaustively test all  *  possibilities suggested in ISO/IEC 13818-2 Annex C.  It only checks *  for constant rate streams) * * Q:how do we tell a variable rate stream from a constant rate stream anyway? *   it's not as simple as vbv_delay==0xFFFF, since we need meaningful  *   vbv_delay values to calculate the piecewise rate in the first place! * * Also: no special provisions at the beginning or end of a sequence */static void Check_VBV_Delay(Bitstream_Framenum, Sequence_Framenum)int Bitstream_Framenum;int Sequence_Framenum;{  double B;   /* buffer size                   */  double Bn;  /* buffer fullness for picture n */  double R;   /* bitrate                       */  double I;   /* time interval (t[n+1] - t[n]) */  double T;   /* inverse of the frame rate (frame period) */  int d;  int internal_vbv_delay;    static int previous_IorP_picture_structure;  static int previous_IorP_repeat_first_field;  static int previous_IorP_top_field_first;  static int previous_vbv_delay;  static int previous_bitstream_position;  static double previous_Bn;  static double E;      /* maximum quantization error or mismatch */    if((Sequence_Framenum==0)&&(!Second_Field))   {  /* first coded picture of sequence */    R = bit_rate;    /* the initial buffer occupancy is taken on faith       that is, we believe what is transmitted in the first coded picture header       to be the true/actual buffer occupancy */        Bn = (R * (double) vbv_delay) / 90000.0;    B = 16 * 1024 * vbv_buffer_size;        /* maximum quantization error in bitrate (bit_rate_value is quantized/       rounded-up to units of 400 bits/sec as per ISO/IEC 13818-2        section 6.3.3 */        E = (400.0/frame_rate) + 400;#ifdef DEBUG    printf("vbv_buffer_size (B) = %.0f, Bn=%f, E=%f, \nbitrate=%f, vbv_delay=%d frame_rate=%f\n",       B, Bn, E, bit_rate, vbv_delay, frame_rate); #endif  }  else /* not the first coded picture of sequence */  {    /* derive the interval (I).  The interval tells us how many constant rate bits     * will have been downloaded to the buffer during the current picture period     *     * interval assumes that:      *  1. whilst we are decoding the current I or P picture, we are displaying      *     the previous I or P picture which was stored in the reorder     *     buffer (pointed to by forward_reference_frame in this implementation)     *     *  2. B pictures are output ("displayed") at the time when they are decoded      *      */    if(progressive_sequence) /* Annex C.9 (progressive_sequence==1, low_delay==0) */    {      T = 1/frame_rate; /* inverse of the frame rate (frame period) */      if(picture_coding_type==B_TYPE)      {        if(repeat_first_field==1)        {          if(top_field_first==1)            I = T*3;  /* three frame periods */          else            I = T*2;  /* two frame periods */        }        else          I = T;      /* one frame period */      }      else /* P or I frame */      {        if(previous_IorP_repeat_first_field==1)        {          if(previous_IorP_top_field_first==1)            I = 3*T;          else            I = 2*T;        }        else          I = T;      }    }    else /* Annex C.11 (progressive_sequence==0, low_delay==0) */    {            T = 1/(2*frame_rate); /* inverse of two times the frame rate (field period) */      if(picture_coding_type==B_TYPE)      {        if(picture_structure==FRAME_PICTURE)        {          if(repeat_first_field==0)            I = 2*T;  /* two field periods */          else            I = 3*T;  /* three field periods */        }        else /* B field */        {          I = T;      /* one field period */        }      }      else /* I or P picture */      {        if(picture_structure==FRAME_PICTURE)        {          if(previous_IorP_repeat_first_field==0)            I = 2*T;          else            I = 3*T;        }        else        {          if(Second_Field==0)  /* first field of current frame */            I = T;          else /* second field of current frame */          {            /* formula: previous I or P display period (2*T or 3*T) minus the                very recent decode period (T) of the first field of the current                frame */            if(previous_IorP_picture_structure!=FRAME_PICTURE               || previous_IorP_repeat_first_field==0)              I = 2*T - T;  /* a net of one field period */             else if(previous_IorP_picture_structure==FRAME_PICTURE               && previous_IorP_repeat_first_field==1)              I = 3*T - T;  /* a net of two field periods */          }        }      }    }    /* derive coded size of previous picture */    d  = ld->Bitcnt - previous_bitstream_position;    /* Rate = Distance/Time */    /* piecewise constant rate (variable rate stream) calculation     * R =  ((double) d /((previous_vbv_delay - vbv_delay)/90000 + I));     */    R = bit_rate;    /* compute buffer fullness just before removing picture n      *     * Bn = previous_Bn + (I*R) - d;     (recursive formula)     *      *   where:     *     *    n           is the current picture     *     *    Bn          is the buffer fullness for the current picture     *     *    previous_Bn is the buffer fullness of the previous picture     *     *    (I*R )      is the bits accumulated during the current picture      *                period     *     *    d           is the number of bits removed during the decoding of the      *                previous picture     */    Bn = previous_Bn + (I*R) - d;    /* compute internally derived vbv_delay (rouding up with ceil()) */    internal_vbv_delay = (int) ceil((90000 * Bn / bit_rate));#ifdef DEBUG    printf("\nvbv_delay: internal=%d, bitstream=%d\n", internal_vbv_delay, vbv_delay);        printf("Bn=%f, prevBn=%f, I=%f, R=%f, d=%d\n", Bn, previous_Bn, I, R, d);    printf("frame(%d), pictstruct(%d), picttype(%d)\n", Sequence_Framenum,       picture_structure, picture_coding_type);    /* report error */    if(internal_vbv_delay != vbv_delay)    {      printf("WARNING: internal_vbv_delay(%d) != vbv_delay(%d)\n",        internal_vbv_delay, vbv_delay);    }#endif  } /* not the first coded picture of sequence */#ifdef PC  getch();#endif /* PC */    /* update generic tracking variables */  previous_bitstream_position = ld->Bitcnt ;  previous_vbv_delay          = vbv_delay;  previous_Bn                 = Bn;  /* reference picture: reordered/delayed output picture */  if(picture_coding_type!=B_TYPE)  {    previous_IorP_repeat_first_field = repeat_first_field;    previous_IorP_top_field_first    = top_field_first;    previous_IorP_picture_structure  = picture_structure;  }}/* variables to keep track of the occurance of redundant headers between pictures */void Clear_Verify_Headers(){  verify_sequence_header = 0;  verify_group_of_pictures_header = 0;  verify_picture_header = 0;  verify_slice_header = 0;  verify_sequence_extension = 0;  verify_sequence_display_extension = 0;  verify_quant_matrix_extension = 0;  verify_sequence_scalable_extension = 0;  verify_picture_display_extension = 0;  verify_picture_coding_extension = 0;  verify_picture_spatial_scalable_extension = 0;  verify_picture_temporal_scalable_extension = 0;  verify_copyright_extension = 0;}#endif /* VERIFY */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一二三四区精品视频| 日本一区免费视频| 色综合天天综合网天天狠天天| 日本美女视频一区二区| 日日摸夜夜添夜夜添亚洲女人| 亚洲精品网站在线观看| 一区二区三区欧美| 亚洲在线中文字幕| 日韩精品一二三| 毛片av一区二区| 韩国精品免费视频| 丁香婷婷综合激情五月色| 国产老肥熟一区二区三区| 国产九色精品成人porny| 国产激情精品久久久第一区二区 | 无码av免费一区二区三区试看 | 4438成人网| 欧美一区二区高清| 久久亚洲欧美国产精品乐播| 国产婷婷色一区二区三区四区| 国产午夜精品在线观看| 18成人在线观看| 亚洲第一主播视频| 国产一区欧美一区| 一本大道久久a久久综合婷婷| 欧美色精品天天在线观看视频| 欧美猛男超大videosgay| 精品国产一区二区三区av性色| 欧美精品一区二区三| 亚洲欧美日韩在线播放| 日本亚洲最大的色成网站www| 精品午夜久久福利影院| 91蜜桃免费观看视频| 91 com成人网| 中文字幕在线视频一区| 亚洲成av人在线观看| 国产成人精品在线看| 欧美日韩亚洲国产综合| 久久久不卡网国产精品一区| 一区二区三区在线观看视频| 蜜臀av性久久久久蜜臀aⅴ流畅| 成人在线综合网| 91精品视频网| 中文字幕一区二区三| 日本不卡不码高清免费观看| 99精品视频一区二区三区| 欧美一区国产二区| 亚洲美女区一区| 国产精品1区2区3区在线观看| 欧美系列一区二区| 久久久久88色偷偷免费| 视频一区欧美精品| 色偷偷成人一区二区三区91 | 男人操女人的视频在线观看欧美 | 日本道免费精品一区二区三区| 久久午夜羞羞影院免费观看| 丝袜国产日韩另类美女| 91在线小视频| 中文一区二区在线观看| 国内久久精品视频| 欧美精品tushy高清| 亚洲一二三专区| av高清久久久| 国产精品久久久久一区| 韩国毛片一区二区三区| 7777精品伊人久久久大香线蕉超级流畅 | 亚洲欧洲国产专区| 国产成人亚洲综合a∨婷婷 | 成人美女视频在线观看| 久久青草欧美一区二区三区| 免费在线观看日韩欧美| 69堂国产成人免费视频| 亚洲成人www| 欧美色视频在线观看| 亚洲国产成人porn| 欧美日韩在线不卡| 石原莉奈一区二区三区在线观看| 欧美亚洲综合在线| 亚洲成av人**亚洲成av**| 欧美在线影院一区二区| 亚洲一区二区在线观看视频| 欧美日免费三级在线| 亚洲综合精品久久| 欧美日韩亚洲综合一区| 午夜不卡av免费| 日韩女优视频免费观看| 精品一区二区日韩| 欧美经典三级视频一区二区三区| 成人伦理片在线| 亚洲人成7777| 欧美一区午夜精品| 久久爱另类一区二区小说| 国产亚洲一区二区三区四区| 国产精品99久久久久久似苏梦涵| 国产精品色婷婷| 一本色道久久综合亚洲aⅴ蜜桃 | 日韩天堂在线观看| 国产精品一区二区你懂的| 国产精品久久毛片a| 91美女蜜桃在线| 肉肉av福利一精品导航| 久久九九全国免费| 色婷婷激情综合| 美女www一区二区| 国产精品你懂的在线欣赏| 色偷偷成人一区二区三区91| 日韩成人av影视| 中文在线一区二区| 欧美精品久久一区| 高清成人在线观看| 日韩黄色在线观看| 国产精品污污网站在线观看| 欧美日韩dvd在线观看| 国产在线视频一区二区| 亚洲夂夂婷婷色拍ww47| www精品美女久久久tv| 色八戒一区二区三区| 精品亚洲porn| 亚洲123区在线观看| 国产精品三级av在线播放| 在线成人午夜影院| 97精品视频在线观看自产线路二| 美女视频一区二区三区| 中文字幕一区二区三区精华液| 91精品午夜视频| 欧美亚洲精品一区| 国产成人8x视频一区二区| 日本视频一区二区三区| 亚洲精品国产无天堂网2021 | 懂色av一区二区三区蜜臀| 亚洲国产毛片aaaaa无费看| 久久久不卡网国产精品一区| 欧美丰满少妇xxxbbb| 一本在线高清不卡dvd| 国产91丝袜在线播放| 精品制服美女丁香| 午夜a成v人精品| 亚洲一区二区三区中文字幕| 国产精品电影院| 国产三级欧美三级| 久久久久成人黄色影片| 日韩美女久久久| 久久综合国产精品| 精品国产91乱码一区二区三区| 欧美日韩国产中文| 欧美日韩一区二区在线观看 | 奇米色一区二区| 亚洲综合av网| 亚洲一区二区三区自拍| 亚洲欧美另类久久久精品| 国产精品久久久久三级| 国产人妖乱国产精品人妖| 国产蜜臀av在线一区二区三区| 2014亚洲片线观看视频免费| 26uuu另类欧美亚洲曰本| 欧美电影免费观看高清完整版| 欧美一区二区三区在线观看视频| 欧美肥妇bbw| 日韩一级黄色大片| 久久久另类综合| 国产片一区二区三区| 中文字幕av一区二区三区高| 国产精品蜜臀av| 亚洲免费色视频| 亚洲成a人片在线观看中文| 天堂成人国产精品一区| 蜜臀a∨国产成人精品| 寂寞少妇一区二区三区| 国产馆精品极品| 91片在线免费观看| 欧美日韩成人在线| 精品国偷自产国产一区| 国产午夜久久久久| 一区二区在线观看免费| 日本欧美韩国一区三区| 国产精品综合一区二区| 99久久久久免费精品国产| 欧美丝袜自拍制服另类| 日韩写真欧美这视频| 欧美激情一区二区三区全黄| 亚洲免费av高清| 久久99久久精品欧美| www.亚洲在线| 欧美美女激情18p| 久久久久久久网| 亚洲图片欧美视频| 激情六月婷婷久久| 色婷婷综合久久久中文一区二区| 欧美三级电影一区| 国产校园另类小说区| 亚洲第一电影网| 国产一区视频在线看| 在线免费视频一区二区| 精品蜜桃在线看| 亚洲精品国产高清久久伦理二区| 麻豆久久久久久| 日本久久精品电影| 久久日一线二线三线suv| 亚洲自拍偷拍综合| 国产精品18久久久久久久久|