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

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

?? bitstream.c

?? AVS編解碼是學習AVS程序開發的入門資料,可以幫助初學者獲得很多的收獲.
?? C
?? 第 1 頁 / 共 2 頁
字號:
	
  return bitscount;
}


int WriteSequenceEnd()
{
	write_start_code(pORABS, 0xb1);
	return 32;
}

/*
*************************************************************************
* Function:Write sequence display extension information
* Input:
* Output:
* Return: sequence display extension information lenght
* Attention:
*************************************************************************
*/


int WriteSequenceDisplayExtension()
{
	Bitstream *bitstream;
	byte SequenceDisplayExtension[MAXHEADERSIZE];
	int  bitscount=0;
	int  stuffbits;
	int  i,j,k;
	
	if ((bitstream=calloc(1, sizeof(Bitstream)))==NULL)
		no_mem_exit("Sequence Display Extension: bitstream");
	input->video_format=1;
	input->video_range=1;
	input->display_horizontal_size=1920;
	input->display_vertical_size=1280;
	
	bitstream->streamBuffer = SequenceDisplayExtension;
	bitstream->bits_to_go = 8;
	
	bitscount+=u_v(32,"sequence display extension start code",0x1b5,bitstream);
	bitscount+=u_v(4,"extension id",2,bitstream);
	bitscount+=u_v(3,"video format",input->video_format,bitstream);
	bitscount+=u_v(1,"video range",input->video_range,bitstream);
	bitscount+=u_v(1,"color description",input->color_description,bitstream);
	
	if(input->color_description)
	{
		bitscount+=u_v(8,"color primaries",input->color_primaries,bitstream);
		bitscount+=u_v(8,"transfer characteristics",input->transfer_characteristics,bitstream);
		bitscount+=u_v(8,"matrix coefficients",input->matrix_coefficients,bitstream);
	}
	
	bitscount+=u_v(14,"display horizontal size",input->display_horizontal_size,bitstream);
	//xyji 12.23
	bitscount+=u_v(1,"marker bit",1,bitstream);
	bitscount+=u_v(14,"display vertical size", input->display_vertical_size,bitstream);
	//xyji 12.23
	bitscount+=u_v(2,"reserved bits",0,bitstream);
	
	k = bitscount >> 3;
	j = bitscount % 8;

	stuffbits = 8-(bitscount%8);
	
	if (stuffbits<8)
	{
		bitscount+=u_v(stuffbits,"stuff bits for byte align",0,bitstream);
	}
	
		write_start_code(pORABS, 0xb5);
	for(i=4;i<k;i++)
		write_n_bit(pORABS,SequenceDisplayExtension[i],8);
	write_n_bit(pORABS,SequenceDisplayExtension[k],j);
	write_align_stuff(pORABS);
	//	fwrite(SequenceDisplayExtension,1,bitscount/8,f);

	free(bitstream);
	
  return bitscount;
}

/*
*************************************************************************
* Function:Write copyright extension information
* Input:
* Output:
* Return: copyright extension information lenght
* Attention:
*************************************************************************
*/
int WriteCopyrightExtension()
{
  Bitstream *bitstream;
  byte CopyrightExtension[MAXHEADERSIZE];
  int  bitscount=0;
  int  stuffbits;
  int  i,j,k;
  
  if ((bitstream=calloc(1, sizeof(Bitstream)))==NULL)
    no_mem_exit("Copyright Extension: bitstream");
  
  bitstream->streamBuffer = CopyrightExtension;
  bitstream->bits_to_go = 8;
  
  bitscount+=u_v(32,"copyright extension start code",0x1b5,bitstream);
  bitscount+=u_v(4,"extension id",4,bitstream);
  bitscount+=u_v(1,"copyright flag",cp->copyright_flag,bitstream);
  bitscount+=u_v(8,"copyright id",cp->copyright_id,bitstream);
  bitscount+=u_v(1,"original or copy",cp->original_or_copy,bitstream);

  bitscount+=u_v(7,"reserved_bits",0,bitstream);
  bitscount+=u_v(1,"marker bit", 1,bitstream);
  
  bitscount+=u_v(20,"copyright number 1",cp->copyright_number,bitstream);
  bitscount+=u_v(1,"marker bit", 1,bitstream);
  bitscount+=u_v(22,"copyright number 2",cp->copyright_number,bitstream);
  bitscount+=u_v(1,"marker bit", 1,bitstream);
  bitscount+=u_v(22,"copyright number 3",cp->copyright_number,bitstream);

  k = bitscount >> 3;
  j = bitscount % 8;

  stuffbits = 8-(bitscount%8);
  
  if (stuffbits<8)
  {
    bitscount+=u_v(stuffbits,"stuff bits for byte align",0,bitstream);
  }
  
  	write_start_code(pORABS, 0xb5);
	for(i=4;i<k;i++)
		write_n_bit(pORABS,CopyrightExtension[i],8);
	write_n_bit(pORABS,CopyrightExtension[k],j);
	write_align_stuff(pORABS);
	//	fwrite(CopyrightExtension,1,bitscount/8,f);

  free(bitstream);
  
  return bitscount;
}


/*
*************************************************************************
* Function:Write camera parameter extension information
* Input:
* Output:
* Return: camera parameter  extension information lenght
* Attention:
*************************************************************************
*/
int WriteCameraParametersExtension()
{
  Bitstream *bitstream;
  byte CameraParametersExtension[MAXHEADERSIZE];
  int  bitscount=0;
  int  stuffbits;
	int  i,j,k;
  
  if ((bitstream=calloc(1, sizeof(Bitstream)))==NULL)
    no_mem_exit("Camera Parameters Extension: bitstream");
  
  bitstream->streamBuffer = CameraParametersExtension;
  bitstream->bits_to_go = 8;
  
  bitscount+=u_v(32,"camera parameters extension start code",0x1b5,bitstream);
  bitscount+=u_v(4,"extension id",11,bitstream);
  bitscount+=u_v(1,"reserved_bits",0,bitstream);
  bitscount+=u_v(7,"camera id",camera->camera_id, bitstream);
  bitscount+=u_v(1,"marker bit",1, bitstream);

  bitscount+=u_v(22,"height_of_image_device",camera->height_of_image_device,bitstream);
  bitscount+=u_v(1,"marker bit",1, bitstream);
  
  bitscount+=u_v(22,"focal_length",camera->focal_length,bitstream);
  bitscount+=u_v(1,"marker bit",1, bitstream);

  bitscount+=u_v(22,"f_number",camera->f_number,bitstream);
  bitscount+=u_v(1,"marker bit",1, bitstream);

  bitscount+=u_v(22,"vertical_angle_of_view",camera->vertical_angle_of_view,bitstream);
  bitscount+=u_v(1,"marker bit",1, bitstream);
  
  bitscount+=u_v(16,"camera_position_x_upper",camera->camera_direction_x,bitstream);
  bitscount+=u_v(1,"marker bit",1, bitstream);
  bitscount+=u_v(16,"camera_position_x_lower",camera->camera_direction_x,bitstream);
  bitscount+=u_v(1,"marker bit",1, bitstream);

  bitscount+=u_v(16,"camera_position_y_upper",camera->camera_direction_y,bitstream);
  bitscount+=u_v(1,"marker bit",1, bitstream);

  bitscount+=u_v(16,"camera_position_y_lower",camera->camera_direction_y,bitstream);
  bitscount+=u_v(1,"marker bit",1, bitstream);

  bitscount+=u_v(16,"camera_position_z_upper",camera->camera_direction_z,bitstream);
  bitscount+=u_v(1,"marker bit",1, bitstream);
  bitscount+=u_v(16,"camera_position_z_lower",camera->camera_direction_z,bitstream);
  bitscount+=u_v(1,"marker bit",1, bitstream);

  bitscount+=u_v(22,"camera_direction_x",camera->camera_direction_x,bitstream);
  bitscount+=u_v(1,"marker bit",1, bitstream);

  bitscount+=u_v(22,"camera_direction_y",camera->camera_direction_y,bitstream);
  bitscount+=u_v(1,"marker bit",1, bitstream);

  bitscount+=u_v(22,"camera_direction_z",camera->camera_direction_z,bitstream);
  bitscount+=u_v(1,"marker bit",1, bitstream);

  bitscount+=u_v(22,"image_plane_vertical_x",camera->image_plane_vertical_x,bitstream);
  bitscount+=u_v(1,"marker bit",1, bitstream);

  bitscount+=u_v(22,"image_plane_vertical_y",camera->image_plane_vertical_y,bitstream);
  bitscount+=u_v(1,"marker bit",1, bitstream);

  bitscount+=u_v(22,"image_plane_vertical_z",camera->image_plane_vertical_z,bitstream);
  bitscount+=u_v(1,"marker bit",1, bitstream);
  
  bitscount+=u_v(32,"reserved_bits",0,bitstream);
  
  k = bitscount >> 3;
  j = bitscount % 8;

  stuffbits = 8-(bitscount%8);
  
  if (stuffbits<8)
  {
    bitscount+=u_v(stuffbits,"stuff bits for byte align",0,bitstream);
  }
  
  write_start_code(pORABS, 0xb5);
	for(i=4;i<k;i++)
		write_n_bit(pORABS,CameraParametersExtension[i],8);
	write_n_bit(pORABS,CameraParametersExtension[k],j);
	write_align_stuff(pORABS);
//	fwrite(CameraParametersExtension,1,bitscount/8,f);

  free(bitstream);
  
  return bitscount;
}

/*
*************************************************************************
* Function:Write user data
* Input:
* Output:
* Return: user data length
* Attention:
*************************************************************************
*/

int WriteUserData(char *userdata)
{
  Bitstream *bitstream;
  byte UserData[MAXHEADERSIZE];
  int  bitscount=0;
  
  if ((bitstream=calloc(1, sizeof(Bitstream)))==NULL) no_mem_exit("User data: bitstream");
  bitstream->streamBuffer = UserData;
  bitstream->bits_to_go = 8;
  
  bitscount += u_v(32,"user data start code", 0x1b2,bitstream);
	write_start_code(pORABS, 0xb2);
	while (*userdata)
	{
		write_n_bit(pORABS,*userdata,8);
		bitscount += u_v(8,"user data", *userdata++,bitstream);
	}
	write_align_stuff(pORABS);
//	fwrite(UserData,1,bitscount/8,f);
  free(bitstream);
  
  return bitscount;
}

/*
*************************************************************************
* Function:Write bit steam to file
* Input:
* Output:
* Return: none
* Attention:
*************************************************************************
*/

void WriteBitstreamtoFile()
{
	int n, i;
	n = currBitStream->byte_pos;
	  
	// added by jlzheng 6.30
   for(i=0;i<n;i++)
   {
    if(currBitStream->streamBuffer[i]==0 && currBitStream->streamBuffer[i+1]==0 && currBitStream->streamBuffer[i+2]==1)	
      {
		write_start_code(pORABS, currBitStream->streamBuffer[i+3]);
		i=i+4;
	  }                                      

		write_n_bit(pORABS, currBitStream->streamBuffer[i],8);
   }    


//   write_align_stuff(pORABS);       //commented by cjw AVS 20070204
    
	//bytecount = fwrite(currBitStream->streamBuffer,1,currBitStream->byte_pos,f);
	stat->bit_ctr += 8*n;
}
#endif

/////////////////////////////////////////////////////////////////////////////////////////////
/*
*************************************************************************
* Function:
* Input:
* Output:
* Return: 
* Attention:
*************************************************************************
*/
void error(char *text, int code)
{
	fprintf(stderr, "%s\n", text);
	exit(code);
}
/*
*************************************************************************
* Function:
* Input:
* Output:
* Return: 
* Attention:
*************************************************************************
*/
int start_sequence()
{
	int len = 0;
	char id_string[255] = "AVS test stream";
	if(img->number==0)		//Added by cjw, 20070327
		OpenBitStreamFile(input->outfile);
	len = WriteSequenceHeader();
	len += WriteSequenceDisplayExtension();
	len += WriteCopyrightExtension();
	len += WriteCameraParametersExtension();
	if (strlen(id_string) > 1)
		len += WriteUserData(id_string);
	return len;
}
/*
*************************************************************************
* Function:
* Input:
* Output:
* Return: 
* Attention:Mainly flushing of everything Add termination symbol, etc.
*************************************************************************
*/
int terminate_sequence()
{
	int len;
	len = WriteSequenceEnd();
	CloseBitStreamFile();
	return len;   // make lint happy
}
 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产综合久久香蕉麻豆| 亚洲免费视频中文字幕| 麻豆91在线观看| 91麻豆精品国产自产在线观看一区| 日韩综合在线视频| 日韩欧美的一区二区| 极品瑜伽女神91| 国产精品嫩草影院com| 9色porny自拍视频一区二区| 一区二区三区中文字幕精品精品| 欧美日韩在线不卡| 麻豆91在线观看| 久久嫩草精品久久久精品一| 不卡视频在线观看| 亚洲福利一二三区| 欧美一区二区观看视频| 国模无码大尺度一区二区三区| 中文久久乱码一区二区| 91麻豆福利精品推荐| 午夜精品久久久久影视| 日韩免费视频一区二区| 国产成人h网站| 一区二区三区在线视频播放| 欧美一区永久视频免费观看| 东方欧美亚洲色图在线| 一级女性全黄久久生活片免费| 欧美极品美女视频| 97精品视频在线观看自产线路二| 亚洲综合一区二区三区| 日韩女优电影在线观看| 成人自拍视频在线观看| 亚洲一区日韩精品中文字幕| 精品1区2区在线观看| 99国产麻豆精品| 日本亚洲三级在线| 亚洲少妇30p| 美女国产一区二区三区| 色综合久久88色综合天天| 国产精品成人免费精品自在线观看| 国产精品一二三区在线| 久久久久国产精品麻豆| 不卡一区二区中文字幕| 成人免费在线视频| 欧美在线啊v一区| 午夜精品免费在线| 日韩免费视频一区| 国产揄拍国内精品对白| 亚洲欧美日韩在线播放| 在线观看亚洲精品| 日产精品久久久久久久性色| 日韩精品一区二区三区在线| 国产高清精品久久久久| 亚洲视频在线一区| 精品1区2区3区| 九色porny丨国产精品| 亚洲国产精华液网站w| 成人一级视频在线观看| 亚洲精品菠萝久久久久久久| 欧美精品在欧美一区二区少妇| 久久国产生活片100| 国产目拍亚洲精品99久久精品| 日本久久精品电影| 男人操女人的视频在线观看欧美| 久久综合999| 91国偷自产一区二区三区成为亚洲经典 | 精品久久久久久久一区二区蜜臀| 国产精品99精品久久免费| 亚洲欧美日韩中文字幕一区二区三区| 欧美另类高清zo欧美| 国产高清成人在线| 亚洲电影你懂得| 久久色视频免费观看| 欧美写真视频网站| 国产精品一区二区三区网站| 亚洲午夜激情av| 国产日韩影视精品| 欧美酷刑日本凌虐凌虐| 国产不卡一区视频| 日韩av网站在线观看| 国产精品免费久久久久| 欧美电影免费观看高清完整版| 成人18视频在线播放| 久久成人免费网站| 亚洲国产精品影院| 欧美国产日韩a欧美在线观看 | 成人91在线观看| 日韩电影一二三区| 一区二区三区日韩精品视频| 久久人人爽爽爽人久久久| 欧美日韩国产中文| 91一区二区在线观看| 国产麻豆精品一区二区| 亚洲成人午夜电影| 亚洲激情图片qvod| 欧美激情一区在线观看| 欧美精品一区二区三区一线天视频| 欧美亚洲国产bt| 99精品国产热久久91蜜凸| 国产精品一级片在线观看| 秋霞电影网一区二区| 亚洲国产成人高清精品| 亚洲乱码中文字幕| 国产精品嫩草久久久久| 久久精品夜色噜噜亚洲a∨| 日韩一区二区三区电影| 91精品国产综合久久久蜜臀粉嫩| 日本丶国产丶欧美色综合| a美女胸又www黄视频久久| 国产成人精品1024| 国产一区二区三区日韩| aaa欧美色吧激情视频| 国产一区二区不卡| 精品一区二区三区蜜桃| 美洲天堂一区二卡三卡四卡视频| 婷婷综合久久一区二区三区| 亚洲国产综合在线| 亚洲高清在线精品| 亚洲国产日韩av| 午夜激情综合网| 日韩av午夜在线观看| 青青草97国产精品免费观看| 开心九九激情九九欧美日韩精美视频电影 | 久久久亚洲高清| 国产午夜一区二区三区| 中文字幕不卡在线观看| 国产精品视频yy9299一区| 国产精品久久久久毛片软件| 国产精品久久久久久亚洲毛片| 亚洲欧美怡红院| 亚洲美女免费在线| 中文字幕在线观看不卡| 亚洲免费观看高清在线观看| 一区二区三区国产精品| 日韩二区三区四区| 国产一区 二区 三区一级| 粉嫩嫩av羞羞动漫久久久| 97久久精品人人做人人爽 | 成人av影院在线| 91玉足脚交白嫩脚丫在线播放| 91女神在线视频| 欧美视频日韩视频在线观看| 欧洲一区二区三区在线| 欧美一区日本一区韩国一区| 久久久久高清精品| 亚洲乱码国产乱码精品精98午夜 | 91啪在线观看| 欧美精品黑人性xxxx| 国产日产欧美一区二区视频| 亚洲黄色小说网站| 极品少妇xxxx偷拍精品少妇| 91免费观看视频| 日韩美女一区二区三区四区| 综合久久给合久久狠狠狠97色| 日本午夜精品视频在线观看| av高清不卡在线| 日韩一卡二卡三卡四卡| 日韩一区在线播放| 久草精品在线观看| 91欧美一区二区| 精品粉嫩aⅴ一区二区三区四区| 亚洲日本护士毛茸茸| 黄色资源网久久资源365| 国产午夜亚洲精品理论片色戒 | 国产黄色成人av| 99久久er热在这里只有精品66| 在线综合+亚洲+欧美中文字幕| 国产精品不卡在线观看| 天堂资源在线中文精品| 国产精品自拍在线| 欧美精品第1页| 亚洲六月丁香色婷婷综合久久| 国产精品一区二区你懂的| 制服丝袜亚洲色图| 亚洲激情自拍偷拍| 成人免费va视频| 久久综合999| 久久av老司机精品网站导航| 91久久精品国产91性色tv| 国产精品欧美久久久久一区二区| 裸体在线国模精品偷拍| 欧美在线|欧美| 亚洲综合色自拍一区| 99久久久国产精品免费蜜臀| 久久综合精品国产一区二区三区 | 亚洲在线免费播放| 99这里只有久久精品视频| 国产日韩欧美亚洲| 狠狠色狠狠色综合系列| 欧美大尺度电影在线| 三级在线观看一区二区| 在线观看免费亚洲| 一区二区三区四区激情| 色婷婷综合视频在线观看| 亚洲欧洲精品成人久久奇米网| 国产 欧美在线| 中文字幕第一页久久| jvid福利写真一区二区三区| 综合久久久久综合| av色综合久久天堂av综合| 亚洲美女少妇撒尿|