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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? coder.cpp

?? Netmeeting是Windows系統(tǒng)自帶的網(wǎng)上聊天軟件
?? CPP
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
////////////////////////////////////////////////////////////////////////////
//
//
//    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.
//
//    I have converted origional fast h.263 encoder library from C to C++ 
//	  so that it can be integrated into any windows application easily.
//	  I have removed some of unnecessary codes/files from the
//	  fast h263 library.Also moved definitions and declarations
//	  in their proper .h and .cpp files.
//
//    File description : 
//    Name    : coder.cpp
//
//
/////////////////////////////////////////////////////////////////////////////


/************************************************* * libr263: fast H.263 encoder library * * Copyright (C) 1996, Roalt Aalmoes, Twente University * SPA multimedia group * * Based on Telenor TMN 1.6 encoder (Copyright (C) 1995, Telenor R&D) * created by Karl Lillevold  * * Author encoder: Roalt Aalmoes, <aalmoes@huygens.nl> *  * Date: 31-07-96 **************************************************/     /* Modyfied by Roalt Aalmoes with better algorithms and performance
 * objectives * * Warning: Although I tried to remove all advanced options code,
 * there might still be some artifacts in the code. Please do not
 * blame me for not removing all of it. 
 * Removing all advanced and alternating quantization code was done
 * for performance reasons. I'm sorry these options are not 
 * implemented here, but see the tmn1.7 code for a slow functioning
 * advanced H.263 compression algorithm. 
 *****************************************************************//* Notes for clear code: */
/* var. j is used for row indexing of MB in frame */
/* var. i is used for column indexing of MB in frame */

/*  pic is declared global */
/* MV is changed: it is now a real array of MV instead of array of pointers
   to MV. Its range is also equal to MVs encoded, without border MVs 
   Advantages: No more mallocs and frees in the code, disadvantages: ?? */
/* PictImage structure is replaced by int pointer. Drawback: not flexible for
   other format. */

#include "stdafx.h"
#include "coder.h"
#include "countbit.h"
#include "pred.h"
#include "quant.h"
#include "mot_est.h"
#include "dct.h"/********************************************************************** *
 *	Name:		Clip
 *	Description:    clips recontructed data 0-255
 *	
 *	Input:	        pointer to recon. data structure
 *	Side effects:   data structure clipped
 *
 *	Date: 960715 	Author: Roalt Aalmoes
 *
 ***********************************************************************///__inline__ void Clip(MB_Structure *data) void Clip(MB_Structure *data) 
{  int n;  int *mb_ptr = (int *) data;  for (n = 0; n < 256 + 64 + 64; n++) {    *mb_ptr = mmin(255,mmax(0,*mb_ptr));    mb_ptr++;  }}/* Encodes one frame intra using params */void CodeIntraH263(CParam *params, Bits *bits){  unsigned int *new_recon;  MB_Structure *data = (MB_Structure *)malloc(sizeof(MB_Structure));  int *qcoeff;  int Mode = MODE_INTRA;  int CBP;  int i,j;  new_recon = params->recon;    ZeroBits(bits);    Global::pic->QUANT = params->Q_intra;  Global::pic->picture_coding_type = PCT_INTRA;  bits->header += CountBitsPicture(Global::pic);    for ( j = 0; j < Global::mbr; j++) {    /* insert sync in *every* slice if use_gobsync is chosen */    if (Global::pic->use_gobsync && j != 0)      bits->header += CountBitsSlice(j,params->Q_intra);       for ( i = 0; i < Global::mbc; i++) {      Global::pic->MB = i + j * Global::mbc;      bits->no_intra++;      FillLumBlock(i*MB_SIZE, j*MB_SIZE, params->data, data);      FillChromBlock(i*MB_SIZE, j*MB_SIZE, params->data, data);      qcoeff = MB_EncodeAndFindCBP(data, params->Q_intra, Mode, &CBP);      /* Do standard VLC encoding */      /* COD = 0 ,Every block is coded as Intra frame */      CountBitsMB(Mode,0,CBP,0,Global::pic,bits);
      CountBitsCoeff(qcoeff, Mode, CBP,bits,64);
     
      MB_Decode(qcoeff, data, params->Q_intra, Mode);
      Clip(data);
      ReconImage(i,j,data,new_recon);
      free(qcoeff);    }  }  Global::pic->QP_mean = params->Q_intra;

  params->recon = new_recon;

  AddBitsPicture(bits);
  free(data);  return;}/********************************************************************** * *	Name:		MB_Encode
 *	Description:	DCT and quantization of Macroblocks
 *
 *	Input:		MB data struct, mquant (1-31, 0 = no quant),
 *			MB info struct
 *	Returns:	Pointer to quantized coefficients 
 *	Side effects:	
 *
 *	Date: 930128	Author: Robert.Danielsen@nta.no
 * **********************************************************************//* If you compare original quant with FindCBP, you see they both act   on the same range of coefficients in the cases INTRA (1..63) or    INTER (0..63) */int *MB_EncodeAndFindCBP(MB_Structure *mb_orig, int QP, int I, int *CBP){				  int		i, j, k, l, row, col;  int		fblock[64];  int		coeff[384];  int		*coeff_ind;  int 	        *qcoeff;  int		*qcoeff_ind;  int CBP_Mask = 32;  *CBP = 0;			/* CBP gives bit pattern of lowest 6 bits				   that specify which coordinates are not 				   zero. Bits 6 (32) to 2 (4) repr. four				   8x8 Y parts of macroblock, while bits				   1 (2) and 0 (1) repr. resp. the U and				   V component */  if ((qcoeff=(int *)malloc(sizeof(int)*384)) == 0) {
    fprintf(stderr,"mb_encode(): Couldn't allocate qcoeff.\n");
    exit(0);
  }  coeff_ind = coeff;  qcoeff_ind = qcoeff;  for (k=0;k<16;k+=8) {    for (l=0;l<16;l+=8) {      for (i=k,row=0;row<64;i++,row+=8) {#if LONGISDOUBLEINT	for (j=l,col=0;col<8;j += 2,col +=2 ) {	  *(long *) (fblock+row+col) = * (long *) &(mb_orig->lum[i][j]);	}#else	for (j=l,col=0;col<8;j++ , col++ ) {	  *(int *) (fblock+row+col) = * (int *) &(mb_orig->lum[i][j]);	}#endif      }      Dct(fblock,coeff_ind);      *CBP |= QuantAndFindCBP(coeff_ind,qcoeff_ind,QP,I,CBP_Mask);      coeff_ind += 64;      qcoeff_ind += 64;      CBP_Mask = CBP_Mask>>1;    } /* end l */  } /* End k */  for (i=0;i<8;i++) {#ifdef LONGISDOUBLEINT    for (j=0;j<8;j += 2) {      *(long *) (fblock+i*8+j) = *(long *) &(mb_orig->Cb[i][j]);    }#else    for (j=0;j<8;j++) {      *(int *) (fblock+i*8+j) = *(int *) &(mb_orig->Cb[i][j]);    }    #endif  }  Dct(fblock,coeff_ind);
  *CBP |= QuantAndFindCBP(coeff_ind,qcoeff_ind,QP,I,CBP_Mask /* i == 4 */); 
  coeff_ind += 64;
  qcoeff_ind += 64;
  CBP_Mask = CBP_Mask>>1;  for (i=0;i<8;i++) {#ifdef LONGISDOUBLEINT    for (j=0;j<8;j += 2) {      * (long *) (fblock+i*8+j) = *(long *) &(mb_orig->Cr[i][j]);    }#else    for (j=0;j<8;j ++) {      * (int *) (fblock+i*8+j) = *(int *) &(mb_orig->Cr[i][j]);    }#endif  }  Dct(fblock,coeff_ind);  *CBP |= QuantAndFindCBP(coeff_ind,qcoeff_ind,QP,I, CBP_Mask /* i == 5 */);     return qcoeff;}/********************************************************************** * *	Name:		MB_Decode *	Description:	Reconstruction of quantized DCT-coded Macroblocks *
 *	Input:		Quantized coefficients, MB data
 *			QP (1-31, 0 = no quant), MB info block
 *	Returns:	int (just 0)
 *	Side effects:	 * *	Date: 930128	Author: Robert.Danielsen@nta.no * **********************************************************************/     int MB_Decode(int *qcoeff, MB_Structure *mb_recon, int QP, int I){  int	i, j, k, l, row, col;  int	*iblock;  int	*qcoeff_ind;  int	*rcoeff, *rcoeff_ind;  if ((iblock = (int *)malloc(sizeof(int)*64)) == NULL) {    fprintf(stderr,"MB_Coder: Could not allocate space for iblock\n");    exit(-1);  }  if ((rcoeff = (int *)malloc(sizeof(int)*384)) == NULL) {    fprintf(stderr,"MB_Coder: Could not allocate space for rcoeff\n");    exit(-1);  }    /* For control purposes */  /* Zero data */  for (i = 0; i < 16; i++)#ifdef LONGISDOUBLEINT    for (j = 0; j < 8; j+=2)      *(long *) &(mb_recon->lum[i][j]) = 0L;#else    for (j = 0; j < 8; j++)      *(int *) &(mb_recon->lum[i][j]) = 0;#endif  for (i = 0; i < 8; i++) #ifdef LONGISDOUBLEINT    for (j = 0; j < 8; j += 2) {      *(long *) &(mb_recon->Cb[i][j]) = 0L;      *(long *) &(mb_recon->Cr[i][j]) = 0L;    }#else    for (j = 0; j < 8; j ++) {      *(int *) &(mb_recon->Cb[i][j]) = 0;      *(int *) &(mb_recon->Cr[i][j]) = 0;    }#endif  qcoeff_ind = qcoeff;  rcoeff_ind = rcoeff;  for (k=0;k<16;k+=8) {    for (l=0;l<16;l+=8) {      Dequant(qcoeff_ind,rcoeff_ind,QP,I);#ifdef STANDARDIDCT  idctref(rcoeff_ind,iblock); #else  idct(rcoeff_ind,iblock); #endif      qcoeff_ind += 64;      rcoeff_ind += 64;      for (i=k,row=0;row<64;i++,row+=8) {#ifdef LONGISDOUBLEINT	for (j=l,col=0;col<8;j += 2,col += 2) {	  *(long *) &(mb_recon->lum[i][j]) = * (long *) (iblock+row+col);       	}#else	for (j=l,col=0;col<8; j++, col++) {	  *(int *) &(mb_recon->lum[i][j]) = * (int *) (iblock+row+col);       	}#endif      }    }  }  Dequant(qcoeff_ind,rcoeff_ind,QP,I);#ifdef STANDARDIDCT  idctref(rcoeff_ind,iblock); #else  idct(rcoeff_ind,iblock); #endif  qcoeff_ind += 64;  rcoeff_ind += 64;  for (i=0;i<8;i++) {#ifdef LONGISDOUBLEINT    for (j=0;j<8;j +=2 ) {      *(long *) &(mb_recon->Cb[i][j]) = *(long *) (iblock+i*8+j);    }#else    for (j=0;j<8;j++ ) {      *(int *) &(mb_recon->Cb[i][j]) = *(int *) (iblock+i*8+j);    }#endif  }  Dequant(qcoeff_ind,rcoeff_ind,QP,I);#ifdef STANDARDIDCT  idctref(rcoeff_ind,iblock); #else  idct(rcoeff_ind,iblock); #endif  for (i=0;i<8;i++) {#ifdef LONGISDOUBLEINT    for (j=0;j<8;j += 2) {      *(long *) &(mb_recon->Cr[i][j]) = *(long *) (iblock+i*8+j);    }#else    for (j=0;j<8;j++) {      *(int *) &(mb_recon->Cr[i][j]) = *(int *) (iblock+i*8+j);    }#endif

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久99精品久久久久久| 国产欧美日韩另类一区| 欧美日韩小视频| 91国偷自产一区二区三区观看| 99视频国产精品| 成人av免费网站| 99久久国产综合色|国产精品| 成人免费av资源| 成人av高清在线| av电影在线观看完整版一区二区| 99久久久无码国产精品| 97久久人人超碰| 在线影视一区二区三区| 欧美日韩一区二区电影| 6080午夜不卡| 欧美videos中文字幕| 国产欧美一区二区在线| 国产精品情趣视频| 亚洲激情图片qvod| 日韩极品在线观看| 久久精品国产秦先生| 国产精品资源在线看| 成人app在线| 欧美怡红院视频| 欧美一级免费大片| 国产调教视频一区| 亚洲免费高清视频在线| 视频一区二区不卡| 国产在线国偷精品产拍免费yy | 国产iv一区二区三区| 成人激情黄色小说| 在线观看网站黄不卡| 91精品蜜臀在线一区尤物| 久久久亚洲综合| 亚洲欧美电影院| 免费久久99精品国产| 国产传媒日韩欧美成人| 91久久线看在观草草青青| 日韩视频在线永久播放| 国产精品素人一区二区| 亚洲一区在线视频观看| 精品一区二区精品| 99久久99精品久久久久久| 欧美一区二区在线免费播放| 中文av一区特黄| 日韩精品视频网| 成人性视频网站| 8v天堂国产在线一区二区| 国产精品乱人伦| 日韩高清不卡一区二区三区| 成人少妇影院yyyy| 91精品国产综合久久精品性色| 日本一区二区电影| 舔着乳尖日韩一区| 成人h精品动漫一区二区三区| 69堂成人精品免费视频| 亚洲日本在线看| 狠狠色狠狠色综合系列| 欧美亚洲高清一区| 亚洲国产精品激情在线观看| 午夜一区二区三区在线观看| 大美女一区二区三区| 日韩一区二区免费高清| 一区二区三区加勒比av| 国产真实乱偷精品视频免| 欧美喷水一区二区| 中文字幕一区在线| 激情五月婷婷综合网| 欧美日韩一区二区三区高清| 国产精品福利电影一区二区三区四区| 蜜臀久久99精品久久久久久9 | 在线不卡a资源高清| 国产精品久久久久精k8 | 欧美日韩免费在线视频| 国产日韩欧美精品综合| 麻豆久久久久久| 欧美日韩在线观看一区二区 | 午夜精品久久久久久久| 成人av在线一区二区| 欧美精品一区二区久久婷婷| 午夜精品免费在线观看| 色欧美乱欧美15图片| 中文字幕精品在线不卡| 国内精品视频666| 91麻豆精品国产91久久久资源速度| 亚洲色图欧美在线| 99精品欧美一区二区三区小说| 久久久久99精品一区| 精品亚洲成av人在线观看| 884aa四虎影成人精品一区| 亚洲小少妇裸体bbw| 在线视频欧美区| 亚洲乱码国产乱码精品精98午夜 | 国产91丝袜在线播放| 日韩一区二区三区免费看| 无吗不卡中文字幕| 欧洲色大大久久| 樱花影视一区二区| 色婷婷综合五月| 亚洲一区在线免费观看| 在线视频观看一区| 亚洲自拍欧美精品| 色呦呦一区二区三区| 亚洲女人****多毛耸耸8| 色婷婷综合激情| 一区二区三区国产精品| 欧美系列一区二区| 亚洲高清在线精品| 欧美精品 国产精品| 三级在线观看一区二区| 欧美日韩成人综合在线一区二区| 亚洲成人激情自拍| 日韩一级精品视频在线观看| 免费欧美日韩国产三级电影| 精品久久久久久无| 国产精品综合二区| 最新日韩av在线| 在线观看视频一区二区欧美日韩| 亚洲国产一区二区在线播放| 欧美日韩国产经典色站一区二区三区| 亚洲成人免费av| 精品少妇一区二区三区免费观看| 国产精品亚洲第一| 中文字幕在线不卡国产视频| 91麻豆国产福利在线观看| 亚洲品质自拍视频| 91精品国产综合久久小美女| 激情文学综合网| 亚洲天堂免费看| 欧美猛男男办公室激情| 久久99精品国产麻豆不卡| 国产清纯在线一区二区www| 一本大道久久精品懂色aⅴ| 丝袜a∨在线一区二区三区不卡| 日韩欧美国产一区二区三区| 国产毛片一区二区| 亚洲精品成a人| 日韩欧美高清一区| 成人一区二区三区视频| 亚洲成人av一区二区三区| 精品久久久久久久久久久久久久久 | 午夜精品久久久久久久99水蜜桃| 日韩久久精品一区| 99re这里都是精品| 免播放器亚洲一区| 中文字幕在线观看一区| 日韩一区二区在线看| www.66久久| 麻豆成人久久精品二区三区红| 国产精品网站在线观看| 欧美日韩国产天堂| jizz一区二区| 麻豆精品视频在线观看免费| ●精品国产综合乱码久久久久| 欧美一二三在线| eeuss鲁片一区二区三区| 欧美aaaaaa午夜精品| 中文字幕视频一区| 日韩一区二区在线观看视频播放| 99视频精品在线| 精品中文av资源站在线观看| 亚洲免费看黄网站| 久久蜜桃av一区精品变态类天堂 | 国产精品网友自拍| 日韩欧美黄色影院| 欧美伊人久久大香线蕉综合69 | 欧美人妖巨大在线| 成人免费视频一区| 狠狠色综合播放一区二区| 一区二区激情视频| 国产欧美一区二区三区鸳鸯浴| 欧美群妇大交群的观看方式| av网站免费线看精品| 国产一二精品视频| 日韩av一区二区三区四区| 一区二区三区产品免费精品久久75 | 国产精品私人自拍| 精品sm在线观看| 欧美一区二区在线观看| 欧美在线制服丝袜| 99re这里只有精品首页| 国产成人av影院| 久久国产福利国产秒拍| 亚洲成av人**亚洲成av**| 一区二区在线观看视频在线观看| 中文字幕高清一区| 久久―日本道色综合久久| 欧美一区二区三区色| 欧美日韩一区二区三区免费看| 日本韩国一区二区三区视频| 成人av资源在线| 成人动漫视频在线| 国产1区2区3区精品美女| 经典三级视频一区| 激情偷乱视频一区二区三区| 免费观看91视频大全| 三级在线观看一区二区| 午夜精品免费在线观看| 日日欢夜夜爽一区| 天天色天天操综合|