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

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

?? putpic.c

?? jpeg and mpeg 編解碼技術源代碼
?? C
字號:
/* putpic.c, 塊和運動向量編碼程序/

#include <stdio.h>#include "global.h"static void putmvs(int MV[2][2][2], int PMV[2][2][2],  int mv_field_sel[2][2], int dmvector[2], int s, int motion_type,  int hor_f_code, int vert_f_code);/* 量化和完整圖像的變長編碼*/void putpict(frame)unsigned char *frame;{  int i, j, k, comp, cc;  int mb_type;  int PMV[2][2][2];  int prev_mquant;  int cbp, MBAinc;  rc_init_pict(frame);   putpicthdr();  prev_mquant = rc_start_mb();   k = 0;  for (j=0; j<mb_height2; j++)  {    /* macroblock row loop */    for (i=0; i<mb_width; i++)    {      /* macroblock loop */      if (i==0)      {        alignbits();          putbits(SLICE_MIN_START+j,32);           /* quantiser_scale_code */        putbits(q_scale_type ? map_non_linear_mquant[prev_mquant]                             : prev_mquant >> 1, 5);          putbits(0,1); /* extra_bit_slice */          for (cc=0; cc<3; cc++)          dc_dct_pred[cc] = 0;        PMV[0][0][0]=PMV[0][0][1]=PMV[1][0][0]=PMV[1][0][1]=0;        PMV[0][1][0]=PMV[0][1][1]=PMV[1][1][0]=PMV[1][1][1]=0;          MBAinc = i + 1;      }      mb_type = mbinfo[k].mb_type;      mbinfo[k].mquant = rc_calc_mquant(k);      /* 量化宏塊*/      if (mb_type & MB_INTRA)      {        for (comp=0; comp<block_count; comp++)          quant_intra(blocks[k*block_count+comp],blocks[k*block_count+comp],                      dc_prec,intra_q,recip_intra_q, mbinfo[k].mquant);        mbinfo[k].cbp = cbp = (1<<block_count) - 1;      }      else      {        cbp = 0;        for (comp=0;comp<block_count;comp++)          cbp = (cbp<<1) | quant_non_intra(blocks[k*block_count+comp],                                           blocks[k*block_count+comp],                                           inter_q, recip_inter_q,mbinfo[k].mquant);        mbinfo[k].cbp = cbp;        if (cbp)          mb_type|= MB_PATTERN;      }      if (cbp && prev_mquant!=mbinfo[k].mquant)        mb_type|= MB_QUANT;      if (i!=0 && i!=mb_width-1 && !cbp)      {        if (pict_type==P_TYPE && !(mb_type&MB_FORWARD))        {          for (cc=0; cc<3; cc++)            dc_dct_pred[cc] = 0;          PMV[0][0][0]=PMV[0][0][1]=PMV[1][0][0]=PMV[1][0][1]=0;          PMV[0][1][0]=PMV[0][1][1]=PMV[1][1][0]=PMV[1][1][1]=0;          mbinfo[k].mb_type = mb_type;          mbinfo[k].skipped = 1;          MBAinc++;          k++;          continue;        }        if (pict_type==B_TYPE && pict_struct==FRAME_PICTURE            && mbinfo[k].motion_type==MC_FRAME            && ((mbinfo[k-1].mb_type^mb_type)&(MB_FORWARD|MB_BACKWARD))==0            && (!(mb_type&MB_FORWARD) ||                (PMV[0][0][0]==mbinfo[k].MV[0][0][0] &&                 PMV[0][0][1]==mbinfo[k].MV[0][0][1]))            && (!(mb_type&MB_BACKWARD) ||                (PMV[0][1][0]==mbinfo[k].MV[0][1][0] &&                 PMV[0][1][1]==mbinfo[k].MV[0][1][1])))        {                    mbinfo[k].mb_type = mb_type;          mbinfo[k].skipped = 1;          MBAinc++;          k++;          continue;        }        if (pict_type==B_TYPE && pict_struct!=FRAME_PICTURE            && mbinfo[k].motion_type==MC_FIELD            && ((mbinfo[k-1].mb_type^mb_type)&(MB_FORWARD|MB_BACKWARD))==0            && (!(mb_type&MB_FORWARD) ||                (PMV[0][0][0]==mbinfo[k].MV[0][0][0] &&                 PMV[0][0][1]==mbinfo[k].MV[0][0][1] &&                 mbinfo[k].mv_field_sel[0][0]==(pict_struct==BOTTOM_FIELD)))            && (!(mb_type&MB_BACKWARD) ||                (PMV[0][1][0]==mbinfo[k].MV[0][1][0] &&                 PMV[0][1][1]==mbinfo[k].MV[0][1][1] &&                 mbinfo[k].mv_field_sel[0][1]==(pict_struct==BOTTOM_FIELD))))        {          mbinfo[k].mb_type = mb_type;          mbinfo[k].skipped = 1;          MBAinc++;          k++;          continue;        }      }      mbinfo[k].skipped = 0;      if (pict_type==P_TYPE && !cbp && !(mb_type&MB_FORWARD))        mb_type|= MB_FORWARD;      putaddrinc(MBAinc);       MBAinc = 1;      putmbtype(pict_type,mb_type); /* macroblock type */      if (mb_type & (MB_FORWARD|MB_BACKWARD) && !frame_pred_dct)        putbits(mbinfo[k].motion_type,2);      if (pict_struct==FRAME_PICTURE && cbp && !frame_pred_dct)        putbits(mbinfo[k].dct_type,1);      if (mb_type & MB_QUANT)      {        putbits(q_scale_type ? map_non_linear_mquant[mbinfo[k].mquant]                             : mbinfo[k].mquant>>1,5);        prev_mquant = mbinfo[k].mquant;      }      if (mb_type & MB_FORWARD)      {        /* forward motion vectors, update predictors */        putmvs(mbinfo[k].MV,PMV,mbinfo[k].mv_field_sel,mbinfo[k].dmvector,0,          mbinfo[k].motion_type,forw_hor_f_code,forw_vert_f_code);      }      if (mb_type & MB_BACKWARD)      {        /* backward motion vectors, update predictors */        putmvs(mbinfo[k].MV,PMV,mbinfo[k].mv_field_sel,mbinfo[k].dmvector,1,          mbinfo[k].motion_type,back_hor_f_code,back_vert_f_code);      }      if (mb_type & MB_PATTERN)      {        putcbp((cbp >> (block_count-6)) & 63);        if (chroma_format!=CHROMA420)          putbits(cbp,block_count-6);      }      for (comp=0; comp<block_count; comp++)      {        /* block loop */        if (cbp & (1<<(block_count-1-comp)))        {          if (mb_type & MB_INTRA)          {            cc = (comp<4) ? 0 : (comp&1)+1;            putintrablk(blocks[k*block_count+comp],cc);          }          else            putnonintrablk(blocks[k*block_count+comp]);        }      }      /* reset predictors */      if (!(mb_type & MB_INTRA))        for (cc=0; cc<3; cc++)          dc_dct_pred[cc] = 0;      if (mb_type & MB_INTRA || (pict_type==P_TYPE && !(mb_type & MB_FORWARD)))      {        PMV[0][0][0]=PMV[0][0][1]=PMV[1][0][0]=PMV[1][0][1]=0;        PMV[0][1][0]=PMV[0][1][1]=PMV[1][1][0]=PMV[1][1][1]=0;      }      mbinfo[k].mb_type = mb_type;      k++;    }  }  rc_update_pict();  vbv_end_of_picture();}/* 輸出運動向量 * * 該程序也對運動向量的預測進行更新 */ static void putmvs(MV,PMV,mv_field_sel,dmvector,s,motion_type,  hor_f_code,vert_f_code)int MV[2][2][2],PMV[2][2][2];int mv_field_sel[2][2];int dmvector[2];int s,motion_type,hor_f_code,vert_f_code;{  if (pict_struct==FRAME_PICTURE)  {    if (motion_type==MC_FRAME)    {      /* frame prediction */      putmv(MV[0][s][0]-PMV[0][s][0],hor_f_code);      putmv(MV[0][s][1]-PMV[0][s][1],vert_f_code);      PMV[0][s][0]=PMV[1][s][0]=MV[0][s][0];      PMV[0][s][1]=PMV[1][s][1]=MV[0][s][1];    }    else if (motion_type==MC_FIELD)    {      /* field prediction */      putbits(mv_field_sel[0][s],1);      putmv(MV[0][s][0]-PMV[0][s][0],hor_f_code);      putmv((MV[0][s][1]>>1)-(PMV[0][s][1]>>1),vert_f_code);      putbits(mv_field_sel[1][s],1);      putmv(MV[1][s][0]-PMV[1][s][0],hor_f_code);      putmv((MV[1][s][1]>>1)-(PMV[1][s][1]>>1),vert_f_code);      PMV[0][s][0]=MV[0][s][0];      PMV[0][s][1]=MV[0][s][1];      PMV[1][s][0]=MV[1][s][0];      PMV[1][s][1]=MV[1][s][1];    }    else    {      /* dual prime prediction */      putmv(MV[0][s][0]-PMV[0][s][0],hor_f_code);      putdmv(dmvector[0]);      putmv((MV[0][s][1]>>1)-(PMV[0][s][1]>>1),vert_f_code);      putdmv(dmvector[1]);      PMV[0][s][0]=PMV[1][s][0]=MV[0][s][0];      PMV[0][s][1]=PMV[1][s][1]=MV[0][s][1];    }  }  else  {    /* field picture */    if (motion_type==MC_FIELD)    {      /* field prediction */      putbits(mv_field_sel[0][s],1);      putmv(MV[0][s][0]-PMV[0][s][0],hor_f_code);      putmv(MV[0][s][1]-PMV[0][s][1],vert_f_code);      PMV[0][s][0]=PMV[1][s][0]=MV[0][s][0];      PMV[0][s][1]=PMV[1][s][1]=MV[0][s][1];    }    else if (motion_type==MC_16X8)    {      /* 16x8 prediction */      putbits(mv_field_sel[0][s],1);      putmv(MV[0][s][0]-PMV[0][s][0],hor_f_code);      putmv(MV[0][s][1]-PMV[0][s][1],vert_f_code);      putbits(mv_field_sel[1][s],1);      putmv(MV[1][s][0]-PMV[1][s][0],hor_f_code);      putmv(MV[1][s][1]-PMV[1][s][1],vert_f_code);      PMV[0][s][0]=MV[0][s][0];      PMV[0][s][1]=MV[0][s][1];      PMV[1][s][0]=MV[1][s][0];      PMV[1][s][1]=MV[1][s][1];    }    else    {      /* dual prime prediction */      putmv(MV[0][s][0]-PMV[0][s][0],hor_f_code);      putdmv(dmvector[0]);      putmv(MV[0][s][1]-PMV[0][s][1],vert_f_code);      putdmv(dmvector[1]);      PMV[0][s][0]=PMV[1][s][0]=MV[0][s][0];      PMV[0][s][1]=PMV[1][s][1]=MV[0][s][1];    }  }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一区二区免费高清| 3d成人h动漫网站入口| 久久电影网站中文字幕| 午夜精品久久久久久久久久 | 粉嫩一区二区三区在线看| 日本va欧美va精品发布| 亚洲一区二区三区自拍| 亚洲一二三专区| 三级欧美韩日大片在线看| 丝袜脚交一区二区| 麻豆成人免费电影| 国产在线精品免费| 高清不卡一区二区| 91蜜桃视频在线| 91黄色在线观看| 欧美精品日韩精品| 日韩精品一区二区三区蜜臀| 国产亚洲欧洲997久久综合| 中文字幕不卡的av| 亚洲精品免费看| 日韩精品视频网站| 国产不卡视频一区二区三区| 99精品久久只有精品| 欧美人伦禁忌dvd放荡欲情| 欧美夫妻性生活| 久久久久久久久久久久电影| 日韩一区欧美一区| 青青草原综合久久大伊人精品 | 美女高潮久久久| 国产精品一区二区x88av| 91激情在线视频| 久久嫩草精品久久久久| 亚洲自拍偷拍欧美| 国产一区二区三区在线看麻豆| a级高清视频欧美日韩| 在线不卡中文字幕播放| 欧美国产1区2区| 五月天婷婷综合| 成人黄色一级视频| 日韩一区二区三区视频| 中文字幕一区在线观看| 青青草国产成人av片免费| 99热精品国产| 久久久.com| 日韩在线一区二区三区| 99re亚洲国产精品| 久久九九全国免费| 日本va欧美va瓶| 在线中文字幕一区二区| 国产日产亚洲精品系列| 日本视频中文字幕一区二区三区| 成人小视频免费观看| 欧美变态口味重另类| 亚洲成av人在线观看| 91丨九色丨黑人外教| 国产欧美一二三区| 国产一区二区三区蝌蚪| 日韩精品一区二区三区在线| 香蕉成人啪国产精品视频综合网| gogogo免费视频观看亚洲一| 精品处破学生在线二十三| 日本中文字幕一区二区有限公司| 欧美在线观看视频在线| 亚洲欧美综合色| 成人精品在线视频观看| 国产农村妇女精品| 国产一区二区三区四区五区入口| 日韩午夜电影在线观看| 视频一区二区三区在线| 欧美色精品天天在线观看视频| 最新国产成人在线观看| jizzjizzjizz欧美| 亚洲同性同志一二三专区| 99麻豆久久久国产精品免费 | 91精品国产色综合久久ai换脸 | 蜜桃视频一区二区三区| 欧美一级午夜免费电影| 久久精品噜噜噜成人88aⅴ| 91精品国产福利| 蜜桃视频在线观看一区| 欧美mv日韩mv| 国产精品一二三四五| 亚洲国产精华液网站w| 夫妻av一区二区| 国产日产欧产精品推荐色| 国产福利一区二区三区在线视频| 国产亚洲成年网址在线观看| 成人免费毛片片v| 亚洲激情图片一区| 欧美二区在线观看| 韩国v欧美v日本v亚洲v| 中文字幕 久热精品 视频在线| 成人激情综合网站| 亚洲成av人片一区二区梦乃| 91.麻豆视频| 国产精品影视天天线| 亚洲人成网站色在线观看| 欧美日韩高清一区二区| 蜜桃久久久久久| 国产精品拍天天在线| 欧美性极品少妇| 激情文学综合丁香| **网站欧美大片在线观看| 欧美日韩高清影院| 国产精品中文字幕欧美| 亚洲综合色自拍一区| 精品国产人成亚洲区| a在线欧美一区| 蜜桃久久av一区| 国产精品乱子久久久久| 337p亚洲精品色噜噜| 成人永久免费视频| 日韩精品视频网| 国产精品视频免费看| 91精品国产综合久久精品| 成人一道本在线| 青青草国产精品97视觉盛宴 | 亚洲一区二区高清| 国产欧美日韩在线看| 精品视频一区三区九区| 国产成人丝袜美腿| 日韩和欧美一区二区| 综合久久国产九一剧情麻豆| 精品美女一区二区| 欧美日韩一区二区电影| 丰满亚洲少妇av| 激情小说亚洲一区| 丝袜美腿亚洲综合| 亚洲综合一二区| 中文字幕在线一区免费| 久久综合色天天久久综合图片| 欧美日韩一区二区三区四区五区| 成人做爰69片免费看网站| 精品写真视频在线观看| 日韩国产在线一| 亚洲一区二区高清| 亚洲欧美日韩成人高清在线一区| 精品成人一区二区三区四区| 欧美精品 国产精品| 欧美亚洲综合另类| 99久久国产综合精品麻豆| 国产高清在线精品| 久草在线在线精品观看| 日本欧美韩国一区三区| 午夜a成v人精品| 婷婷久久综合九色国产成人| 亚洲一区视频在线观看视频| 亚洲乱码中文字幕综合| 综合分类小说区另类春色亚洲小说欧美| 日韩免费视频一区二区| 精品噜噜噜噜久久久久久久久试看| 欧美精品在线一区二区三区| 精品视频一区 二区 三区| 欧美日韩大陆在线| 91精品国产欧美一区二区18| 欧美日韩国产经典色站一区二区三区 | 91热门视频在线观看| 成人aaaa免费全部观看| 97久久超碰精品国产| 日本道精品一区二区三区 | 日本视频中文字幕一区二区三区| 午夜精品爽啪视频| 免费欧美日韩国产三级电影| 青青青伊人色综合久久| 韩国精品主播一区二区在线观看| 国内精品嫩模私拍在线| 成人综合日日夜夜| 91浏览器打开| 欧美日韩国产大片| 欧美不卡一二三| 国产色产综合产在线视频| 中文在线一区二区 | 欧美mv日韩mv| 中文字幕欧美国产| 亚洲综合网站在线观看| 久久国产成人午夜av影院| 高清免费成人av| 欧美日韩国产首页| 精品第一国产综合精品aⅴ| √…a在线天堂一区| 日韩成人av影视| 成人一区二区三区在线观看| 91豆麻精品91久久久久久| 精品剧情v国产在线观看在线| 国产精品久久久久久久岛一牛影视| 亚洲另类春色校园小说| 日本欧美韩国一区三区| 成人精品国产一区二区4080| 欧美高清视频不卡网| 国产丝袜在线精品| 亚洲午夜私人影院| 高清国产午夜精品久久久久久| 在线欧美日韩国产| 国产亚洲自拍一区| 亚洲大尺度视频在线观看| 国产精品一区二区在线观看不卡| 一本久道久久综合中文字幕 | 亚洲色欲色欲www在线观看| 日韩电影在线观看一区| 北条麻妃国产九九精品视频|