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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? verify.c

?? 視頻音頻編碼程序 視頻音頻編碼程序 視頻音頻編碼程序
?? C
字號:
/* verify.c  * * 比特流驗證程序 * * */#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 */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品毛片久久久久久久| 丰满少妇久久久久久久| 精品一区二区三区的国产在线播放 | 中文字幕日韩一区| 欧美精品一区二区三区四区 | 91免费观看国产| 美女高潮久久久| 日本韩国一区二区三区| 精品影视av免费| 91麻豆福利精品推荐| 日本vs亚洲vs韩国一区三区二区 | 91精品福利视频| 日本特黄久久久高潮| 国产精品1区2区3区在线观看| 亚洲人123区| 免费av成人在线| 一级特黄大欧美久久久| 国产精品免费久久久久| 首页国产丝袜综合| 99国产精品久久久久久久久久久| 91精品国产综合久久香蕉的特点 | 欧美日韩亚洲综合在线| 337p日本欧洲亚洲大胆精品| av一区二区三区在线| 欧美一二三在线| 亚洲成人av福利| 欧洲亚洲国产日韩| 国产精品免费久久| 99视频精品在线| 国产在线视视频有精品| 欧美成人女星排名| 国产精品一区二区黑丝| 日韩欧美色电影| 麻豆精品一区二区av白丝在线| 91麻豆精品国产自产在线观看一区| 欧美午夜精品久久久久久孕妇 | 成人h精品动漫一区二区三区| 久久九九99视频| 国产精品国产三级国产普通话三级 | 亚洲一区二区三区不卡国产欧美| eeuss国产一区二区三区| 国产校园另类小说区| 国产精品一区免费在线观看| 久久综合狠狠综合久久综合88| 国产成人免费视频一区| 亚洲国产成人一区二区三区| 不卡影院免费观看| 亚洲欧美一区二区不卡| 亚洲第一久久影院| 日韩欧美在线综合网| 精品免费99久久| 成人av免费网站| 一个色综合网站| 国内精品久久久久影院色| 国内不卡的二区三区中文字幕 | 手机精品视频在线观看| 国产一区在线观看麻豆| 国产精品女主播av| 一区二区三区四区乱视频| 日韩欧美第一区| 成人app软件下载大全免费| 日本久久电影网| 国产成人a级片| 99re热这里只有精品视频| 欧美精品一级二级| 成人一区二区三区中文字幕| 亚洲成av人片一区二区梦乃| 国产亚洲欧美中文| 香蕉成人啪国产精品视频综合网| 久久综合色8888| 欧美精选一区二区| 中文av字幕一区| 精品日韩99亚洲| 亚洲在线观看免费| 国产精品免费观看视频| 精品国产乱码久久久久久图片| 91久久线看在观草草青青 | 欧美激情艳妇裸体舞| 88在线观看91蜜桃国自产| 91亚洲精品一区二区乱码| 欧美sm极限捆绑bd| 三级亚洲高清视频| 综合久久综合久久| 国产精品丝袜久久久久久app| 欧美成人r级一区二区三区| 一区二区三区产品免费精品久久75| 国产传媒日韩欧美成人| 欧美一区二区三区四区视频| 亚洲一区二区精品3399| www国产精品av| 日韩一级在线观看| 精品人在线二区三区| 日韩欧美一区二区在线视频| 亚洲一二三区在线观看| 91色|porny| 一本久道中文字幕精品亚洲嫩| 91一区二区三区在线播放| 国产精品国产馆在线真实露脸| 日韩毛片一二三区| 亚洲v精品v日韩v欧美v专区 | 久久女同精品一区二区| 国产综合色产在线精品| 国产一区二区免费视频| 国产激情91久久精品导航| 中文av一区特黄| 亚洲视频免费在线观看| 亚洲午夜免费电影| 欧美aaaaa成人免费观看视频| 久久99国产精品成人| 精品精品国产高清a毛片牛牛| 国产日韩欧美在线一区| 1区2区3区国产精品| 亚洲一区二区成人在线观看| 欧美美女激情18p| 成a人片国产精品| 欧美精品久久99久久在免费线| 免费高清成人在线| 成人午夜激情视频| 欧美日韩午夜精品| 久久精品欧美日韩精品| 中文字幕精品—区二区四季| 亚洲综合清纯丝袜自拍| 欧美刺激午夜性久久久久久久| 国产精品女同互慰在线看| 亚洲成人午夜电影| 国产清纯在线一区二区www| 亚洲综合小说图片| 中文字幕在线视频一区| 欧美嫩在线观看| 综合激情成人伊人| 91精品国产免费| 一区二区成人在线视频| 国产日韩av一区二区| 色综合激情五月| 99精品欧美一区二区三区综合在线| 色菇凉天天综合网| 狠狠色2019综合网| 欧美午夜电影在线播放| 亚洲视频一二三| 欧美白人最猛性xxxxx69交| 亚洲欧洲精品天堂一级| 日韩亚洲欧美成人一区| 亚洲一级在线观看| 国产亚洲欧美一级| 欧美日韩在线三区| 99精品视频在线观看| 国产精品色婷婷久久58| 国产乱码精品一区二区三| 免费成人性网站| 日韩欧美黄色影院| 美女诱惑一区二区| 午夜久久电影网| 欧美午夜视频网站| 91精品国产一区二区| 国产suv精品一区二区三区| 一区二区三区视频在线看| hitomi一区二区三区精品| 国产一区二区三区日韩| 国产欧美日韩麻豆91| 国产成人自拍网| 欧美大尺度电影在线| 日韩视频免费直播| 精品一区二区三区欧美| 精品久久久久久亚洲综合网| 国产黄色91视频| 亚洲人成精品久久久久| 国产精品国产精品国产专区不蜜 | 天堂在线一区二区| 日韩不卡手机在线v区| 91精品免费在线观看| 蜜桃精品视频在线| 精品夜夜嗨av一区二区三区| 国产又黄又大久久| 一区二区三区四区不卡视频| 国产精品18久久久久久vr| 成人综合在线网站| 樱桃国产成人精品视频| 亚洲成av人片一区二区三区| 青青草精品视频| 国产高清无密码一区二区三区| 99国产精品国产精品毛片| 欧美色倩网站大全免费| 欧美mv日韩mv国产网站app| 国产一区二区在线观看免费| 一区在线中文字幕| 精品国产网站在线观看| 99天天综合性| 欧美亚洲一区三区| 大胆亚洲人体视频| 欧美精品色综合| 国产激情一区二区三区| 亚洲综合在线电影| 欧美激情在线免费观看| 8x8x8国产精品| 国产精品久久久久婷婷二区次| 一区二区不卡在线播放| 久久嫩草精品久久久久| 一区二区三区高清不卡| 中文字幕中文在线不卡住| 国产亚洲欧洲997久久综合|