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

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

?? sei.c

?? 一個(gè)簡(jiǎn)單的視頻會(huì)議VC++MFC工程文件
?? C
?? 第 1 頁(yè) / 共 4 頁(yè)
字號(hào):
  seiHasPanScanRectInfo = TRUE;
}

void UpdatePanScanRectInfo()
{
  seiPanScanRectInfo.pan_scan_rect_id = 3;
  seiPanScanRectInfo.pan_scan_rect_left_offset = 10;
  seiPanScanRectInfo.pan_scan_rect_right_offset = 40;
  seiPanScanRectInfo.pan_scan_rect_top_offset = 20;
  seiPanScanRectInfo.pan_scan_rect_bottom_offset =32;
  seiHasPanScanRectInfo = TRUE;
}

void FinalizePanScanRectInfo()
{
  SyntaxElement sym;
  Bitstream *dest = seiPanScanRectInfo.data;


  sym.type = SE_HEADER;
  sym.mapping = ue_linfo;

  sym.value1 = seiPanScanRectInfo.pan_scan_rect_id;
  writeSyntaxElement2Buf_UVLC(&sym, dest);
  sym.value1 = seiPanScanRectInfo.pan_scan_rect_left_offset;
  writeSyntaxElement2Buf_UVLC(&sym, dest);
  sym.value1 = seiPanScanRectInfo.pan_scan_rect_right_offset;
  writeSyntaxElement2Buf_UVLC(&sym, dest);
  sym.value1 = seiPanScanRectInfo.pan_scan_rect_top_offset;
  writeSyntaxElement2Buf_UVLC(&sym, dest);
  sym.value1 = seiPanScanRectInfo.pan_scan_rect_bottom_offset;
  writeSyntaxElement2Buf_UVLC(&sym, dest);

// #define PRINT_PAN_SCAN_RECT
#ifdef PRINT_PAN_SCAN_RECT
  printf("Pan Scan Id %d Left %d Right %d Top %d Bottom %d \n", seiPanScanRectInfo.pan_scan_rect_id, seiPanScanRectInfo.pan_scan_rect_left_offset, seiPanScanRectInfo.pan_scan_rect_right_offset, seiPanScanRectInfo.pan_scan_rect_top_offset, seiPanScanRectInfo.pan_scan_rect_bottom_offset);
#endif
#ifdef PRINT_PAN_SCAN_RECT
#undef PRINT_PAN_SCAN_RECT
#endif
  // make sure the payload is byte aligned, stuff bits are 10..0
  if ( dest->bits_to_go != 8 )
  {
    (dest->byte_buf) <<= 1;
    dest->byte_buf |= 1;
    dest->bits_to_go--;
    if ( dest->bits_to_go != 0 ) (dest->byte_buf) <<= (dest->bits_to_go);
    dest->bits_to_go = 8;
    dest->streamBuffer[dest->byte_pos++]=dest->byte_buf;
    dest->byte_buf = 0;
  }
  seiPanScanRectInfo.payloadSize = dest->byte_pos;
}



void ClosePanScanRectInfo()
{
  if (seiPanScanRectInfo.data)
  {
    free(seiPanScanRectInfo.data->streamBuffer);
    free(seiPanScanRectInfo.data);
  }
  seiPanScanRectInfo.data = NULL;
}

/*
 **++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 *  \functions on arbitrary (unregistered) data
 *  \brief
 *      Based on FCD
 *  \author
 *      Shankar Regunathan                 <tian@cs.tut.fi>
 **++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 */
Boolean seiHasUser_data_unregistered_info;
user_data_unregistered_information_struct seiUser_data_unregistered;
void InitUser_data_unregistered()
{

  seiUser_data_unregistered.data = malloc( sizeof(Bitstream) );
  if( seiUser_data_unregistered.data == NULL ) no_mem_exit("InitUser_data_unregistered: seiUser_data_unregistered.data");
  seiUser_data_unregistered.data->streamBuffer = malloc(MAXRTPPAYLOADLEN);
  if( seiUser_data_unregistered.data->streamBuffer == NULL ) no_mem_exit("InitUser_data_unregistered: seiUser_data_unregistered.data->streamBuffer");
  seiUser_data_unregistered.byte = malloc(MAXRTPPAYLOADLEN);
  if( seiUser_data_unregistered.byte == NULL ) no_mem_exit("InitUser_data_unregistered: seiUser_data_unregistered.byte");
  ClearUser_data_unregistered();

}


void ClearUser_data_unregistered()
{
  memset( seiUser_data_unregistered.data->streamBuffer, 0, MAXRTPPAYLOADLEN);
  seiUser_data_unregistered.data->bits_to_go  = 8;
  seiUser_data_unregistered.data->byte_pos    = 0;
  seiUser_data_unregistered.data->byte_buf    = 0;
  seiUser_data_unregistered.payloadSize       = 0;

  memset( seiUser_data_unregistered.byte, 0, MAXRTPPAYLOADLEN);
  seiUser_data_unregistered.total_byte = 0;

  seiHasUser_data_unregistered_info = TRUE;
}

void UpdateUser_data_unregistered()
{
  int i, temp_data;
  int total_byte;


  total_byte = 7;
  for(i = 0; i < total_byte; i++)
  {
    temp_data = i * 4;
    seiUser_data_unregistered.byte[i] = max(0, min(temp_data, 255));
  }
  seiUser_data_unregistered.total_byte = total_byte;
}

void FinalizeUser_data_unregistered()
{
  int i;
  SyntaxElement sym;
  Bitstream *dest = seiUser_data_unregistered.data;

  sym.type = SE_HEADER;
  sym.mapping = ue_linfo;

// #define PRINT_USER_DATA_UNREGISTERED_INFO
  for( i = 0; i < seiUser_data_unregistered.total_byte; i++)
  {
    sym.bitpattern = seiUser_data_unregistered.byte[i];
    sym.len = 8; // b (8)
    writeSyntaxElement2Buf_Fixed(&sym, dest);
#ifdef PRINT_USER_DATA_UNREGISTERED_INFO
    printf("Unreg data payload_byte = %d\n", seiUser_data_unregistered.byte[i]);
#endif
  }
#ifdef PRINT_USER_DATA_UNREGISTERED_INFO
#undef PRINT_USER_DATA_UNREGISTERED_INFO
#endif
  // make sure the payload is byte aligned, stuff bits are 10..0
  if ( dest->bits_to_go != 8 )
  {
    (dest->byte_buf) <<= 1;
    dest->byte_buf |= 1;
    dest->bits_to_go--;
    if ( dest->bits_to_go != 0 ) (dest->byte_buf) <<= (dest->bits_to_go);
    dest->bits_to_go = 8;
    dest->streamBuffer[dest->byte_pos++]=dest->byte_buf;
    dest->byte_buf = 0;
  }
  seiUser_data_unregistered.payloadSize = dest->byte_pos;
}

void CloseUser_data_unregistered()
{
  if (seiUser_data_unregistered.data)
  {
    free(seiUser_data_unregistered.data->streamBuffer);
    free(seiUser_data_unregistered.data);
  }
  seiUser_data_unregistered.data = NULL;
  if(seiUser_data_unregistered.byte)
  {
    free(seiUser_data_unregistered.byte);
  }
}


/*
 **++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 *  \functions on registered ITU_T_T35 user data
 *  \brief
 *      Based on FCD
 *  \author
 *      Shankar Regunathan                 <tian@cs.tut.fi>
 **++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 */
Boolean seiHasUser_data_registered_itu_t_t35_info;
user_data_registered_itu_t_t35_information_struct seiUser_data_registered_itu_t_t35;
void InitUser_data_registered_itu_t_t35()
{

  seiUser_data_registered_itu_t_t35.data = malloc( sizeof(Bitstream) );
  if( seiUser_data_registered_itu_t_t35.data == NULL ) no_mem_exit("InitUser_data_unregistered: seiUser_data_registered_itu_t_t35.data");
  seiUser_data_registered_itu_t_t35.data->streamBuffer = malloc(MAXRTPPAYLOADLEN);
  if( seiUser_data_registered_itu_t_t35.data->streamBuffer == NULL ) no_mem_exit("InitUser_data_unregistered: seiUser_data_registered_itu_t_t35.data->streamBuffer");
  seiUser_data_registered_itu_t_t35.byte = malloc(MAXRTPPAYLOADLEN);
  if( seiUser_data_registered_itu_t_t35.data == NULL ) no_mem_exit("InitUser_data_unregistered: seiUser_data_registered_itu_t_t35.byte");
  ClearUser_data_registered_itu_t_t35();

}


void ClearUser_data_registered_itu_t_t35()
{
  memset( seiUser_data_registered_itu_t_t35.data->streamBuffer, 0, MAXRTPPAYLOADLEN);
  seiUser_data_registered_itu_t_t35.data->bits_to_go  = 8;
  seiUser_data_registered_itu_t_t35.data->byte_pos    = 0;
  seiUser_data_registered_itu_t_t35.data->byte_buf    = 0;
  seiUser_data_registered_itu_t_t35.payloadSize       = 0;

  memset( seiUser_data_registered_itu_t_t35.byte, 0, MAXRTPPAYLOADLEN);
  seiUser_data_registered_itu_t_t35.total_byte = 0;
  seiUser_data_registered_itu_t_t35.itu_t_t35_country_code = 0;
  seiUser_data_registered_itu_t_t35.itu_t_t35_country_code_extension_byte = 0;

  seiHasUser_data_registered_itu_t_t35_info = TRUE;
}

void UpdateUser_data_registered_itu_t_t35()
{
  int i, temp_data;
  int total_byte;
  int country_code;

  country_code = 82; // Country_code for India

  if(country_code < 0xFF) 
  {
    seiUser_data_registered_itu_t_t35.itu_t_t35_country_code = country_code;
  }
  else 
  {
    seiUser_data_registered_itu_t_t35.itu_t_t35_country_code = 0xFF;
    seiUser_data_registered_itu_t_t35.itu_t_t35_country_code_extension_byte = country_code - 0xFF;
  }

  total_byte = 7;
  for(i = 0; i < total_byte; i++)
  {
    temp_data = i * 3;
    seiUser_data_registered_itu_t_t35.byte[i] = max(0, min(temp_data, 255));
  }
  seiUser_data_registered_itu_t_t35.total_byte = total_byte;
}

void FinalizeUser_data_registered_itu_t_t35()
{
  int i;
  SyntaxElement sym;
  Bitstream *dest = seiUser_data_registered_itu_t_t35.data;

  sym.type = SE_HEADER;
  sym.mapping = ue_linfo;

  sym.bitpattern = seiUser_data_registered_itu_t_t35.itu_t_t35_country_code;
  sym.len = 8;
  writeSyntaxElement2Buf_Fixed(&sym, dest);

// #define PRINT_USER_DATA_REGISTERED_ITU_T_T35_INFO
#ifdef PRINT_USER_DATA_REGISTERED_ITU_T_T35_INFO
  printf(" ITU_T_T35_COUNTRTY_CODE %d \n", seiUser_data_registered_itu_t_t35.itu_t_t35_country_code);
#endif

  if(seiUser_data_registered_itu_t_t35.itu_t_t35_country_code == 0xFF)
  {
    sym.bitpattern = seiUser_data_registered_itu_t_t35.itu_t_t35_country_code_extension_byte;
    sym.len = 8;
    writeSyntaxElement2Buf_Fixed(&sym, dest);
#ifdef PRINT_USER_DATA_REGISTERED_ITU_T_T35_INFO
    printf(" ITU_T_T35_COUNTRTY_CODE_EXTENSION_BYTE %d \n", seiUser_data_registered_itu_t_t35.itu_t_t35_country_code_extension_byte);
#endif
  }

  for( i = 0; i < seiUser_data_registered_itu_t_t35.total_byte; i++)
  {
    sym.bitpattern = seiUser_data_registered_itu_t_t35.byte[i];
    sym.len = 8; // b (8)
    writeSyntaxElement2Buf_Fixed(&sym, dest);
#ifdef PRINT_USER_DATA_REGISTERED_ITU_T_T35_INFO
    printf("itu_t_t35 payload_byte = %d\n", seiUser_data_registered_itu_t_t35.byte[i]);
#endif
  }
#ifdef PRINT_USER_DATA_REGISTERED_ITU_T_T35_INFO
#undef PRINT_USER_DATA_REGISTERED_ITU_T_T35_INFO
#endif
  // make sure the payload is byte aligned, stuff bits are 10..0
  if ( dest->bits_to_go != 8 )
  {
    (dest->byte_buf) <<= 1;
    dest->byte_buf |= 1;
    dest->bits_to_go--;
    if ( dest->bits_to_go != 0 ) (dest->byte_buf) <<= (dest->bits_to_go);
    dest->bits_to_go = 8;
    dest->streamBuffer[dest->byte_pos++]=dest->byte_buf;
    dest->byte_buf = 0;
  }
  seiUser_data_registered_itu_t_t35.payloadSize = dest->byte_pos;
}

void CloseUser_data_registered_itu_t_t35()
{
  if (seiUser_data_registered_itu_t_t35.data)
  {
    free(seiUser_data_registered_itu_t_t35.data->streamBuffer);
    free(seiUser_data_registered_itu_t_t35.data);
  }
  seiUser_data_registered_itu_t_t35.data = NULL;
  if(seiUser_data_registered_itu_t_t35.byte)
  {
    free(seiUser_data_registered_itu_t_t35.byte);
  }
}

/*
 **++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 *  \functions on random access message
 *  \brief
 *      Based on FCD
 *  \author
 *      Shankar Regunathan                 <tian@cs.tut.fi>
 **++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 */
Boolean seiHasRandomAccess_info;
randomaccess_information_struct seiRandomAccess;
void InitRandomAccess()
{

  seiRandomAccess.data = malloc( sizeof(Bitstream) );
  if( seiRandomAccess.data == NULL ) no_mem_exit("InitRandomAccess: seiRandomAccess.data");
  seiRandomAccess.data->streamBuffer = malloc(MAXRTPPAYLOADLEN);
  if( seiRandomAccess.data->streamBuffer == NULL ) no_mem_exit("InitRandomAccess: seiRandomAccess.data->streamBuffer");
  ClearRandomAccess();

}


void ClearRandomAccess()
{
  memset( seiRandomAccess.data->streamBuffer, 0, MAXRTPPAYLOADLEN);
  seiRandomAccess.data->bits_to_go  = 8;
  seiRandomAccess.data->byte_pos    = 0;
  seiRandomAccess.data->byte_buf    = 0;
  seiRandomAccess.payloadSize       = 0;

  seiRandomAccess.recovery_point_flag = 0;
  seiRandomAccess.broken_link_flag = 0;
  seiRandomAccess.exact_match_flag = 0;

  seiHasRandomAccess_info = FALSE;
}

void UpdateRandomAccess()
{

  if(img->type == I_SLICE)
  {
    seiRandomAccess.recovery_point_flag = 0;
    seiRandomAccess.exact_match_flag = 1;
    seiRandomAccess.broken_link_flag = 0;
    seiHasRandomAccess_info = TRUE;
  }
  else
  {
    seiHasRandomAccess_info = FALSE;
  }
}

void FinalizeRandomAccess()
{
  SyntaxElement sym;
  Bitstream *dest = seiRandomAccess.data;

  sym.type = SE_HEADER;
  sym.mapping = ue_linfo;

  sym.value1 = seiRandomAccess.recovery_point_flag;
  writeSyntaxElement2Buf_UVLC(&sym, dest);

  sym.bitpattern = seiRandomAccess.exact_match_flag;
  sym.len = 1;
  writeSyntaxElement2Buf_Fixed(&sym, dest);

  sym.bitpattern = seiRandomAccess.broken_link_flag;
  sym.len = 1;
  writeSyntaxElement2Buf_Fixed(&sym, dest);

// #define PRINT_RANDOM_ACCESS
#ifdef PRINT_RANDOM_ACCESS
  printf(" recovery_point_flag %d exact_match_flag %d broken_link_flag %d \n", seiRandomAccess.recovery_point_flag, seiRandomAccess.exact_match_flag, seiRandomAccess.broken_link_flag);
  printf(" %d %d \n", dest->byte_pos, dest->bits_to_go);
#endif
#ifdef PRINT_RANDOM_ACCESS
#undef PRINT_RANDOM_ACCESS
#endif
  // make sure the payload is byte aligned, stuff bits are 10..0
  if ( dest->bits_to_go != 8 )
  {
    (dest->byte_buf) <<= 1;
    dest->byte_buf |= 1;
    dest->bits_to_go--;
    if ( dest->bits_to_go != 0 ) (dest->byte_buf) <<= (dest->bits_to_go);
    dest->bits_to_go = 8;
    dest->streamBuffer[dest->byte_pos++]=dest->byte_buf;
    dest->byte_buf = 0;
  }
  seiRandomAccess.payloadSize = dest->byte_pos;
}

void CloseRandomAccess()
{
  if (seiRandomAccess.data)
  {
    free(seiRandomAccess.data->streamBuffer);
    free(seiRandomAccess.data);
  }
  seiRandomAccess.data = NULL;
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久三级国产网站| 国产.欧美.日韩| 精品美女一区二区三区| 色哟哟精品一区| 亚洲激情图片小说视频| 中文字幕一区二区三区在线播放| 欧美日韩午夜在线视频| 成人国产亚洲欧美成人综合网| 久久精品国产在热久久| 国产福利一区在线| 99久久国产综合色|国产精品| 欧美视频三区在线播放| 成人免费高清在线| 国产一区二区精品久久91| 亚洲第一av色| 亚洲第一激情av| 亚洲一区在线观看视频| 亚洲人成网站色在线观看| 中文字幕第一区第二区| 久久久久久97三级| 中文字幕免费观看一区| 亚洲日本va在线观看| 综合电影一区二区三区 | 国产女主播一区| 精品国产乱码久久| 精品999在线播放| 久久网站最新地址| 中文字幕欧美日本乱码一线二线| 国产欧美一区二区在线| 亚洲国产精品t66y| 亚洲男同性视频| 日产国产高清一区二区三区| 日韩精品乱码av一区二区| 蜜臀久久久99精品久久久久久| 男女男精品视频网| 国产成人亚洲综合a∨婷婷图片 | 717成人午夜免费福利电影| 欧美一区二区三区影视| 精品久久久久久久久久久久久久久久久 | 美女久久久精品| 不卡的av电影在线观看| 在线欧美小视频| 久久丝袜美腿综合| 亚洲精品欧美二区三区中文字幕| 日本欧美一区二区三区乱码| 国产麻豆91精品| 欧美男女性生活在线直播观看| 精品国精品自拍自在线| 亚洲制服欧美中文字幕中文字幕| 国产一区在线视频| 8x8x8国产精品| ●精品国产综合乱码久久久久| 天天色天天操综合| 色婷婷国产精品综合在线观看| 欧美xxx久久| 美女www一区二区| 99re66热这里只有精品3直播| 精品国内二区三区| 奇米精品一区二区三区在线观看 | 国产原创一区二区三区| 91激情五月电影| 中文字幕制服丝袜成人av| 国产一区二区三区四区五区美女| 色婷婷国产精品综合在线观看| 欧美丰满高潮xxxx喷水动漫| 人人精品人人爱| 欧美亚洲丝袜传媒另类| 日韩一区二区视频| 亚洲影视资源网| 石原莉奈在线亚洲二区| 国产91对白在线观看九色| 在线观看av一区| 国产精品久久久久影院亚瑟| 久久精品国产77777蜜臀| 亚洲主播在线播放| 亚洲一二三级电影| 亚洲va欧美va人人爽午夜| 亚洲线精品一区二区三区八戒| 亚洲欧美日韩人成在线播放| 精品久久久久久久久久久院品网 | 国产精品系列在线播放| 欧美三级三级三级| 欧美国产日韩在线观看| 国产精品影视天天线| 精品国产免费久久| 午夜精品福利一区二区三区av| 韩国欧美一区二区| 欧美日本国产视频| 亚洲一区二区成人在线观看| 一本大道久久a久久精品综合| 国产精品久久久久aaaa樱花| 成人av综合一区| 国产精品国产三级国产| 色哟哟在线观看一区二区三区| 亚洲人精品一区| 久久婷婷国产综合精品青草| 经典三级视频一区| 中文字幕在线不卡一区二区三区| 欧美肥大bbwbbw高潮| 国产一区二区导航在线播放| 中文字幕人成不卡一区| 日韩天堂在线观看| 一本一道波多野结衣一区二区| 亚洲国产精品久久久久秋霞影院 | 欧美色男人天堂| 99国产精品一区| 91在线免费视频观看| 91丝袜美女网| 欧美片网站yy| 黑人巨大精品欧美一区| 一区二区免费看| 国产精品视频九色porn| 精品久久久久av影院| 欧美天天综合网| 自拍av一区二区三区| 精品国产乱码久久久久久夜甘婷婷 | 国产女主播在线一区二区| 欧美日韩精品一区二区三区蜜桃| 国产成人精品免费在线| 日韩二区三区四区| 亚洲综合999| 亚洲免费在线观看| 中文字幕一区二区三区蜜月| 91理论电影在线观看| 喷白浆一区二区| 五月天激情综合| 欧美国产国产综合| 欧美大肚乱孕交hd孕妇| 在线综合视频播放| 欧美揉bbbbb揉bbbbb| 色婷婷综合久久久| 91亚洲大成网污www| 色婷婷综合久久久久中文 | 一色桃子久久精品亚洲| 国产精品美女一区二区在线观看| 国产亚洲欧美日韩俺去了| 精品久久久久久综合日本欧美| 欧美r级在线观看| 久久嫩草精品久久久精品一| 欧美一区二区三级| 精品奇米国产一区二区三区| 制服丝袜在线91| 日韩欧美一区电影| 久久久99免费| 亚洲天天做日日做天天谢日日欢| 中文字幕av一区二区三区| 一区二区三区四区中文字幕| 亚洲伊人伊色伊影伊综合网| 午夜精品福利一区二区蜜股av| 午夜精品久久久久久久蜜桃app| 国产在线视频不卡二| 成+人+亚洲+综合天堂| 欧美在线观看一区| 欧美变态tickling挠脚心| 国产精品网站在线| 午夜不卡av免费| 成人国产精品视频| 欧美中文字幕一区二区三区亚洲| 欧美精品三级在线观看| 久久久九九九九| 亚洲在线视频免费观看| 国产一区二区三区四区在线观看| 国产精品中文欧美| 欧美午夜电影在线播放| 欧美一级理论性理论a| 中文字幕在线免费不卡| 麻豆国产欧美一区二区三区| 色呦呦日韩精品| 久久久美女艺术照精彩视频福利播放 | 精品一区二区三区欧美| 91在线精品一区二区三区| 精品国产一区二区三区av性色| 亚洲女人的天堂| 大尺度一区二区| 久久综合九色综合97_久久久| 亚洲午夜电影网| 成人黄色a**站在线观看| 久久久久亚洲综合| 麻豆精品国产传媒mv男同| 精品婷婷伊人一区三区三| 亚洲人被黑人高潮完整版| 国产精品 日产精品 欧美精品| 精品奇米国产一区二区三区| 日韩精品电影在线观看| 91精品国产入口| 久久成人精品无人区| 制服丝袜激情欧洲亚洲| 日本欧美在线看| 久久精品欧美一区二区三区麻豆| 国产在线乱码一区二区三区| 欧美一区二区网站| 麻豆91精品视频| 日韩精品中文字幕在线一区| 一级做a爱片久久| 欧美日韩精品久久久| 亚洲6080在线| 91啪亚洲精品| 日韩极品在线观看| 欧美精品一区二区精品网| 蜜臀av性久久久久蜜臀aⅴ四虎 |