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

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

?? ldecod.c

?? Mobile IP VCEG的信道模擬程序
?? C
?? 第 1 頁 / 共 3 頁
字號:
			fprintf(p_log," ------------------------------------------------------------------------------------------\n");
		}
	}
	else
		p_log=fopen("log.dec","a");                    /* File exist,just open for appending */

#ifdef WIN32
	_strdate( timebuf );
	fprintf(p_log,"| %1.5s |",timebuf );

	_strtime( timebuf);
	fprintf(p_log," % 1.5s |",timebuf);
#else
       	now = time ((time_t *) NULL);	/* Get the system time and put it into 'now' as 'calender time' */
	time (&now);
	l_time = localtime (&now);
	strftime (string, sizeof string, "%d-%b-%Y", l_time);
	fprintf(p_log,"| %1.5s |",string );

	strftime (string, sizeof string, "%H:%M:%S", l_time);
	fprintf(p_log,"| %1.5s |",string );
#endif

	fprintf(p_log,"%20.20s|",inp->infile);

	fprintf(p_log,"%3d |",img->number);

	fprintf(p_log,"%6.3f|",snr->snr_y1);
	fprintf(p_log,"%6.3f|",snr->snr_u1);
	fprintf(p_log,"%6.3f|",snr->snr_v1);
	fprintf(p_log,"%6.3f|",snr->snr_ya);
	fprintf(p_log,"%6.3f|",snr->snr_ua);
	fprintf(p_log,"%6.3f|\n",snr->snr_va);

	fclose(p_log);

	sprintf(string,"%s", DATADECFILE);
	p_log=fopen(string,"a");

	if(Bframe_ctr != 0) // B picture used
	{
		fprintf(p_log, "%3d %2d %2d %2.2f %2.2f %2.2f %5d "
			"%2.2f %2.2f %2.2f %5d "
			"%2.2f %2.2f %2.2f %5d %.3f\n",
			img->number, 0, img->qp,
			snr->snr_y1,
			snr->snr_u1,
			snr->snr_v1,
			0,
			0.0,
			0.0,
			0.0,
			0,
			snr->snr_ya,
			snr->snr_ua,
			snr->snr_va,
			0,
			(double)0.001*tot_time/(img->number+Bframe_ctr-1));
	}
	else 
	{
		fprintf(p_log, "%3d %2d %2d %2.2f %2.2f %2.2f %5d "
			"%2.2f %2.2f %2.2f %5d "
			"%2.2f %2.2f %2.2f %5d %.3f\n",
			img->number, 0, img->qp,
			snr->snr_y1,
			snr->snr_u1,
			snr->snr_v1,
			0,
			0.0,
			0.0,
			0.0,
			0,
			snr->snr_ya,
			snr->snr_ua,
			snr->snr_va,
			0,
			(double)0.001*tot_time/img->number);
    }	
    fclose(p_log);
    }

/************************************************************************
*
*  Name :       void malloc_slice()
*
*  Description: Allocates the slice structure along with its dependent 
*				data structures
*
*  Input      : Input Parameters struct inp_par *inp,  struct img_par *img
*
************************************************************************/
void malloc_slice(struct inp_par *inp, struct img_par *img)
{
	DataPartition *dataPart;
	Slice *currSlice;
    const int buffer_size = MAX_CODED_FRAME_SIZE; /* picture size unknown at this time, this value is to check */

	switch(inp->of_mode) /* init depending on NAL mode */
	{
		case PAR_OF_26L:
			/* Current File Format */
			img->currentSlice = (Slice *) calloc(1, sizeof(Slice));
			if ( (currSlice = img->currentSlice) == NULL)
			{
				fprintf(stderr, "Memory allocation for Slice datastruct in NAL-mode %d failed", inp->of_mode);
				exit(1);
			}
			if (inp->symbol_mode == CABAC)
			{
				/* create all context models */
				currSlice->mot_ctx = create_contexts_MotionInfo();
				currSlice->tex_ctx = create_contexts_TextureInfo();
			}

			switch(inp->partition_mode)
			{
			case PAR_DP_1:
				currSlice->max_part_nr = 1;
				break;
			default:
				error("Data Partitioning Mode not supported!");
				break;
			}

			currSlice->partArr = (DataPartition *) calloc(1, sizeof(DataPartition));
			if (currSlice->partArr == NULL)
			{
				fprintf(stderr, "Memory allocation for Data Partition datastruct in NAL-mode %d failed", inp->of_mode);
				exit(1);
			}			
			dataPart = currSlice->partArr;	
			dataPart->bitstream = (Bitstream *) calloc(1, sizeof(Bitstream));
			if (dataPart->bitstream == NULL)
			{
				fprintf(stderr, "Memory allocation for Bitstream datastruct in NAL-mode %d failed", inp->of_mode);
				exit(1);
			}
			dataPart->bitstream->streamBuffer = (byte *) calloc(buffer_size, sizeof(byte));
			if (dataPart->bitstream->streamBuffer == NULL)
			{
				fprintf(stderr, "Memory allocation for bitstream buffer in NAL-mode %d failed", inp->of_mode);
				exit(1);
			}
			return;
		default: 
			fprintf(stderr, "Output File Mode %d not supported", inp->of_mode);
			exit(1);
	}				
	
}

/************************************************************************
*
*  Name :       void free_slice()
*
*  Description: Memory frees of the Slice structure and of its dependent 
*				data structures
*
*  Input      : Input Parameters struct inp_par *inp,  struct img_par *img
*
************************************************************************/
void free_slice(struct inp_par *inp, struct img_par *img)
{
	DataPartition *dataPart;
	Slice *currSlice = img->currentSlice;

	switch(inp->of_mode) /* init depending on NAL mode */
	{
		case PAR_OF_26L:
			/* Current File Format */
			dataPart = currSlice->partArr;	/* only one active data partition */
			if (dataPart->bitstream->streamBuffer != NULL)
				free(dataPart->bitstream->streamBuffer);
			if (dataPart->bitstream != NULL)
				free(dataPart->bitstream);
			if (currSlice->partArr != NULL)
				free(currSlice->partArr);
			if (inp->symbol_mode == CABAC)
			{
				/* delete all context models */
				delete_contexts_MotionInfo(currSlice->mot_ctx);
				delete_contexts_TextureInfo(currSlice->tex_ctx);
			}
			if (currSlice != NULL)
				free(img->currentSlice);
			break;
		default: 
			fprintf(stderr, "Output File Mode %d not supported", inp->of_mode);
			exit(1);
	}				
	
}

/************************************************************************
*
*  Name :       int get_mem4global_buffers(struct inp_par *inp, struct img_par *img)
*
*  Description: Dynamic memory allocation of frame size related global buffers
*               buffers are defined in global.h, allocated memory must be freed in
*               void free_mem4global_buffers()    
*
*  Input      : Input Parameters struct inp_par *inp, Image Parameters struct img_par *img
*
*  Output     : Number of allocated bytes
*
************************************************************************/
int get_mem4global_buffers(struct inp_par *inp, struct img_par *img)
{
	int j,memory_size=0;
#ifdef _ADAPT_LAST_GROUP_
	extern int *last_P_no;
#endif

	img->buf_cycle = inp->buf_cycle+1;

#ifdef _ADAPT_LAST_GROUP_
	if ((last_P_no = (int*)malloc(img->buf_cycle*sizeof(int))) == NULL) no_mem_exit(1);
#endif
	
	/* allocate memory for encoding frame buffers: imgY, imgUV*/ 
	/* byte imgY[288][352]; */
	/* byte imgUV[2][144][176]; */
	memory_size += get_mem2D(&imgY, img->height, img->width);
	memory_size += get_mem3D(&imgUV, 2, img->height_cr, img->width_cr);
	
	/* allocate memory for multiple ref. frame buffers: mref, mcref*/ 
	/* rows and cols for croma component mcef[ref][croma][4x][4y] are switched */
	/* compared to luma mref[ref][4y][4x] for whatever reason */
	/* number of reference frames increased by one for next P-frame*/
	memory_size += get_mem3D(&mref, img->buf_cycle+1, img->height, img->width);
	
	if((mcef = (byte****)calloc(img->buf_cycle+1,sizeof(byte***))) == NULL) no_mem_exit(1);
	for(j=0;j<img->buf_cycle+1;j++)
        memory_size += get_mem3D(&(mcef[j]), 2, img->height_cr*2, img->width_cr*2);
		
	/* allocate memory for B-frame coding (last upsampled P-frame): mref_P, mcref_P*/ 
	/*byte mref[1152][1408];  */   /* 1/4 pix luma  */
	/*byte mcef[2][352][288]; */   /* pix chroma    */
/*	memory_size += get_mem2D(&mref_P, img->height*4, img->width*4);
	memory_size += get_mem3D(&mcef_P, 2, img->height_cr*2, img->width_cr*2);
*/	
	/* allocate memory for mref_P_small B pictures */
	/* byte mref_P_small[288][352];       */
/*	memory_size += get_mem2D(&mref_P_small, img->height, img->width);
*/
    /* allocate memory for imgY_prev */
	/* byte imgY_prev[288][352];       */
	/* byte imgUV_prev[2][144][176];       */
	memory_size += get_mem2D(&imgY_prev, img->height, img->width);
    memory_size += get_mem3D(&imgUV_prev, 2, img->height_cr, img->width_cr);
	
	/* allocate memory for reference frames of each block: refFrArr*/ 
	/* int  refFrArr[72][88];  */
	memory_size += get_mem2Dint(&refFrArr, img->height/BLOCK_SIZE, img->width/BLOCK_SIZE);
	
	/* allocate memory for filter strength for 4x4 lums and croma blocks:loopb, loopc*/ 
	/*byte loopb[92][76]; i.e.[x][y]*/
	/*byte loopc[48][40]; */
	memory_size += get_mem2D(&loopb, img->width/BLOCK_SIZE+4, img->height/BLOCK_SIZE+4);
	memory_size += get_mem2D(&loopc, img->width_cr/BLOCK_SIZE+4, img->height_cr/BLOCK_SIZE+4);

	/* allocate memory for reference frame in find_snr */ 
    //byte imgY_ref[288][352];
	//byte imgUV_ref[2][144][176];
    memory_size += get_mem2D(&imgY_ref, img->height, img->width);
    memory_size += get_mem3D(&imgUV_ref, 2, img->height_cr, img->width_cr);

    /* allocate memory for loop_filter */ 
    // byte imgY_tmp[288][352];                      /* temp luma image */
    // byte imgUV_tmp[2][144][176];                  /* temp chroma image */
    memory_size += get_mem2D(&imgY_tmp, img->height, img->width);
    memory_size += get_mem3D(&imgUV_tmp, 2, img->height_cr, img->width_cr);

    /* allocate memory in structure img */ 
    if(((img->mb_data) = (Macroblock *) calloc((img->width/MB_BLOCK_SIZE) * (img->height/MB_BLOCK_SIZE),sizeof(Macroblock))) == NULL) 
	    no_mem_exit(1);
    if(((img->slice_numbers) = (int *) calloc((img->width/MB_BLOCK_SIZE) * (img->height/MB_BLOCK_SIZE),sizeof(int))) == NULL) 
	    no_mem_exit(1);
    // img => int mv[92][72][3]
    memory_size += get_mem3Dint(&(img->mv),img->width/BLOCK_SIZE +4, img->height/BLOCK_SIZE,3);
    // img => int ipredmode[90][74]
    memory_size += get_mem2Dint(&(img->ipredmode),img->width/BLOCK_SIZE +2 , img->height/BLOCK_SIZE +2);
    // int dfMV[92][72][3]; 
    memory_size += get_mem3Dint(&(img->dfMV),img->width/BLOCK_SIZE +4, img->height/BLOCK_SIZE,3);
    // int dbMV[92][72][3];
    memory_size += get_mem3Dint(&(img->dbMV),img->width/BLOCK_SIZE +4, img->height/BLOCK_SIZE,3);
    // int fw_refFrArr[72][88];
    memory_size += get_mem2Dint(&(img->fw_refFrArr),img->height/BLOCK_SIZE,img->width/BLOCK_SIZE);
    // int bw_refFrArr[72][88];
    memory_size += get_mem2Dint(&(img->bw_refFrArr),img->height/BLOCK_SIZE,img->width/BLOCK_SIZE);
    // int fw_mv[92][72][3];
    memory_size += get_mem3Dint(&(img->fw_mv),img->width/BLOCK_SIZE +4, img->height/BLOCK_SIZE,3);
    // int bw_mv[92][72][3];
    memory_size += get_mem3Dint(&(img->bw_mv),img->width/BLOCK_SIZE +4, img->height/BLOCK_SIZE,3);
	return (memory_size);
}

/************************************************************************
*
*  Name :       void free_mem4global_buffers(struct inp_par *inp, struct img_par *img)
*
*  Description: Free allocated memory of frame size related global buffers
*               buffers are defined in global.h, allocated memory is allocated in
*               int get_mem4global_buffers()    
*
*  Input      : Input Parameters struct inp_par *inp, Image Parameters struct img_par *img
*
*  Output     : none
*
************************************************************************/
void free_mem4global_buffers(struct inp_par *inp, struct img_par *img) 
{

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久蜜桃av一区精品变态类天堂 | 欧美日韩在线播| 日韩精品一二区| 国产精品久线观看视频| 欧美一区二区国产| jizz一区二区| 九九九久久久精品| 亚洲午夜精品一区二区三区他趣| 久久精品人人做| 欧美成人免费网站| 欧美精品三级日韩久久| 色成人在线视频| 成人国产一区二区三区精品| 久久精品国产亚洲aⅴ| 亚洲图片欧美一区| 亚洲免费在线看| 亚洲国产精品黑人久久久| 精品裸体舞一区二区三区| 欧美日韩国产在线观看| 欧美艳星brazzers| 在线一区二区视频| 91麻豆自制传媒国产之光| 成人性生交大合| 国产成+人+日韩+欧美+亚洲| 国产一区二区免费视频| 久久不见久久见免费视频7| 日韩电影免费在线看| 亚洲国产综合色| 亚洲一区二区精品3399| 亚洲另类在线视频| 亚洲女爱视频在线| 亚洲另类色综合网站| 亚洲欧美日韩综合aⅴ视频| 国产精品卡一卡二| 自拍视频在线观看一区二区| 国产精品传媒视频| 亚洲乱码国产乱码精品精98午夜 | 欧美激情一区二区三区不卡| 精品福利在线导航| 日韩美女一区二区三区四区| 日韩一区二区三区观看| 日韩欧美国产三级电影视频| 精品久久久久久久人人人人传媒| 精品国精品自拍自在线| 国产喂奶挤奶一区二区三区| 国产午夜精品一区二区三区四区| 国产欧美日韩不卡免费| 国产精品伦理一区二区| 亚洲欧洲日韩在线| 一区二区三区色| 天天色图综合网| 九色porny丨国产精品| 国产黄色精品视频| 色综合久久久久网| 欧美日韩一区二区不卡| 日韩一区二区三区在线观看 | 国产精品色眯眯| 亚洲欧洲精品天堂一级| 一区二区三区四区蜜桃| 日本vs亚洲vs韩国一区三区二区 | 久久先锋影音av| 国产女主播视频一区二区| 亚洲欧美日韩一区二区| 亚洲成a人v欧美综合天堂下载| 蜜臀久久久久久久| 丰满白嫩尤物一区二区| 在线视频欧美区| 91精品国产高清一区二区三区| 精品国产乱码久久久久久1区2区 | 成人欧美一区二区三区| 亚洲线精品一区二区三区 | 成人动漫一区二区三区| 在线观看日韩国产| 精品国产乱码久久久久久久久| 国产精品福利在线播放| 日日夜夜精品视频免费| 国产999精品久久久久久| 91激情在线视频| 久久久久久一二三区| 一区二区三区在线视频免费观看 | 一本久久精品一区二区| 欧美福利电影网| 国产欧美日本一区视频| 亚洲1区2区3区4区| 成人综合婷婷国产精品久久蜜臀| 欧美另类变人与禽xxxxx| 国产精品色呦呦| 美腿丝袜亚洲色图| 欧洲精品一区二区三区在线观看| www国产精品av| 亚洲国产婷婷综合在线精品| 国产成人夜色高潮福利影视| 欧美日韩一级片在线观看| 中文在线资源观看网站视频免费不卡| 亚洲成人激情自拍| 不卡视频在线观看| 久久这里只有精品视频网| 亚洲综合久久久久| av在线播放成人| 欧美精品一区二区在线播放 | 粉嫩嫩av羞羞动漫久久久| 666欧美在线视频| 亚洲视频在线一区| 国产精品伊人色| 日韩欧美成人一区二区| 亚洲一区二区三区四区五区黄| 国产另类ts人妖一区二区| 欧美一级午夜免费电影| 亚洲综合视频在线| 91日韩一区二区三区| 久久久久久久久久久电影| 麻豆91在线观看| 91精品国产一区二区三区蜜臀| 亚洲精品国产成人久久av盗摄 | 中文字幕一区二| 国产中文一区二区三区| 日韩三级伦理片妻子的秘密按摩| 亚洲国产综合在线| 91麻豆成人久久精品二区三区| 国产亚洲欧美激情| 黄色资源网久久资源365| 日韩欧美在线综合网| 日韩精品成人一区二区在线| 欧美日本一区二区| 亚洲综合精品自拍| 欧美午夜影院一区| 亚洲一区二区欧美激情| 欧美日韩中文字幕精品| 亚洲电影第三页| 欧美日韩一区不卡| 日韩中文字幕区一区有砖一区| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 亚洲一级二级在线| 欧美丝袜丝nylons| 亚洲国产中文字幕| 欧美日韩中文字幕一区二区| 午夜视频一区二区| 在线成人高清不卡| 日本一区中文字幕| 欧美放荡的少妇| 蜜桃视频一区二区三区在线观看| 日韩三级视频在线看| 国产一区二区三区精品欧美日韩一区二区三区 | 蜜桃视频免费观看一区| 精品国产精品网麻豆系列 | 国产精品一二三四五| 国产日韩精品久久久| 成人午夜大片免费观看| 日韩一区在线免费观看| 日本韩国精品在线| 视频精品一区二区| 精品三级av在线| 国产aⅴ综合色| 一区二区高清在线| 欧美一级夜夜爽| 懂色av一区二区三区蜜臀 | 亚洲视频1区2区| 欧美色图12p| 久久精品国产亚洲一区二区三区| 久久看人人爽人人| 色婷婷久久综合| 蜜桃视频在线一区| 国产精品久久夜| 欧美自拍偷拍午夜视频| 久久国产精品72免费观看| 中文字幕乱码亚洲精品一区 | 久久久蜜桃精品| 一本久道久久综合中文字幕| 五月天丁香久久| 国产三级一区二区三区| 在线观看视频一区二区欧美日韩| 人禽交欧美网站| 亚洲色图一区二区| 欧美一二三四区在线| 成人短视频下载| 免费在线看成人av| 日本一区二区免费在线观看视频 | 成人av高清在线| 偷拍亚洲欧洲综合| 欧美激情一区二区| 欧美日韩免费一区二区三区视频 | 欧美一区二区久久久| 成人黄色a**站在线观看| 日韩精品电影一区亚洲| 国产精品色一区二区三区| 欧美一区二区精品在线| 一本久久综合亚洲鲁鲁五月天 | 国产午夜精品美女毛片视频| 欧美性淫爽ww久久久久无| 国产精品99久久久久久似苏梦涵 | 欧美日韩亚洲综合一区| 国产99久久久精品| 日本aⅴ免费视频一区二区三区| 亚洲特黄一级片| 国产亚洲欧美日韩在线一区| 91精品国产综合久久福利软件 | 在线看一区二区| 高清不卡一二三区| 久久成人18免费观看| 天天色天天爱天天射综合|