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

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

?? parset.c

?? 一個簡單的視頻會議VC++MFC工程文件
?? C
?? 第 1 頁 / 共 2 頁
字號:
			
      break;
    default:
      printf ("Parset.c: slice_group_map_type invalid, default\n");
      assert (0==1);
    }
// End FMO stuff

  pps->num_ref_idx_l0_active_minus1 = sps->frame_mbs_only_flag ? (sps->num_ref_frames-1) : (2 * sps->num_ref_frames - 1) ;   // set defaults
  pps->num_ref_idx_l1_active_minus1 = sps->frame_mbs_only_flag ? (sps->num_ref_frames-1) : (2 * sps->num_ref_frames - 1) ;   // set defaults
  //pps->num_ref_idx_l1_active_minus1 = sps->frame_mbs_only_flag ? 0 : 1 ;   // set defaults

  
  pps->weighted_pred_flag = input->WeightedPrediction;
  pps->weighted_bipred_idc = input->WeightedBiprediction;

  pps->pic_init_qp_minus26 = 0;         // hard coded to zero, QP lives in the slice header
  pps->pic_init_qs_minus26 = 0;

  pps->chroma_qp_index_offset = input->chroma_qp_index_offset;      // double check: is this chroma fidelity thing already implemented???

  pps->deblocking_filter_control_present_flag = input->LFSendParameters;
  pps->constrained_intra_pred_flag = input->UseConstrainedIntraPred;
  
  pps->redundant_pic_cnt_present_flag = 0;

  // the picture vui consists currently of the cropping rectangle, which cannot
  // used by the current decoder and hence is never sent.
  sps->frame_cropping_flag = FALSE;
};



/*! 
 *************************************************************************************
 * \brief
 *    int GenerateSeq_parameter_set_rbsp (seq_parameter_set_rbsp_t *sps, char *rbsp);
 *
 * \param sps
 *    sequence parameter structure
 * \param rbsp
 *    buffer to be filled with the rbsp, size should be at least MAXIMUMPARSETRBSPSIZE
 *
 * \return
 *    size of the RBSP in bytes
 *
 * \note
 *    Sequence Parameter VUI function is called, but the function implements
 *    an exit (-1)
 *************************************************************************************
 */
 
int GenerateSeq_parameter_set_rbsp (seq_parameter_set_rbsp_t *sps, char *rbsp)
{
  DataPartition *partition;
  int len = 0, LenInBytes;
  unsigned i;

  assert (rbsp != NULL);
  // In order to use the entropy coding functions from golomb.c we need 
  // to allocate a partition structure.  It will be freed later in this
  // function
  if ((partition=calloc(1,sizeof(DataPartition)))==NULL) no_mem_exit("SeqParameterSet:partition");
  if ((partition->bitstream=calloc(1, sizeof(Bitstream)))==NULL) no_mem_exit("SeqParameterSet:bitstream");
  // .. and use the rbsp provided (or allocated above) for the data
  partition->bitstream->streamBuffer = rbsp;
  partition->bitstream->bits_to_go = 8;

  len+=u_v  (8, "SPS: profile_idc",                             sps->profile_idc,                               partition);

  len+=u_1  ("SPS: constrained_set0_flag",                      sps->constrained_set0_flag,    partition);
  len+=u_1  ("SPS: constrained_set1_flag",                      sps->constrained_set1_flag,    partition);
  len+=u_1  ("SPS: constrained_set2_flag",                      sps->constrained_set2_flag,    partition);
  len+=u_v  (5, "SPS: reserved_zero",                           0,                             partition);

  len+=u_v  (8, "SPS: level_idc",                               sps->level_idc,                                 partition);

  len+=ue_v ("SPS: seq_parameter_set_id",                    sps->seq_parameter_set_id,                      partition);
  len+=ue_v ("SPS: log2_max_frame_num_minus4",               sps->log2_max_frame_num_minus4,                 partition);
  len+=ue_v ("SPS: pic_order_cnt_type",                      sps->pic_order_cnt_type,                        partition);
  // POC200301
  if (sps->pic_order_cnt_type == 0)
    len+=ue_v ("SPS: log2_max_pic_order_cnt_lsb_minus4",     sps->log2_max_pic_order_cnt_lsb_minus4,         partition);
  else if (sps->pic_order_cnt_type == 1)
  {
    len+=u_1  ("SPS: delta_pic_order_always_zero_flag",        sps->delta_pic_order_always_zero_flag,          partition);
    len+=se_v ("SPS: offset_for_non_ref_pic",                  sps->offset_for_non_ref_pic,                    partition);
    len+=se_v ("SPS: offset_for_top_to_bottom_field",          sps->offset_for_top_to_bottom_field,            partition);
    len+=ue_v ("SPS: num_ref_frames_in_pic_order_cnt_cycle",   sps->num_ref_frames_in_pic_order_cnt_cycle,     partition);
    for (i=0; i<sps->num_ref_frames_in_pic_order_cnt_cycle; i++)
      len+=se_v ("SPS: offset_for_ref_frame",                  sps->offset_for_ref_frame[i],                      partition);
  }
  len+=ue_v ("SPS: num_ref_frames",                          sps->num_ref_frames,                            partition);
  len+=u_1  ("SPS: gaps_in_frame_num_value_allowed_flag",    sps->gaps_in_frame_num_value_allowed_flag,      partition);
  len+=ue_v ("SPS: pic_width_in_mbs_minus1",                 sps->pic_width_in_mbs_minus1,                   partition);
  len+=ue_v ("SPS: pic_height_in_map_units_minus1",          sps->pic_height_in_map_units_minus1,            partition);
  len+=u_1  ("SPS: frame_mbs_only_flag",                     sps->frame_mbs_only_flag,                       partition);
  if (!sps->frame_mbs_only_flag)
  {
    len+=u_1  ("SPS: mb_adaptive_frame_field_flag",            sps->mb_adaptive_frame_field_flag,              partition);
  }
  len+=u_1  ("SPS: direct_8x8_inference_flag",               sps->direct_8x8_inference_flag,                 partition);

  len+=u_1  ("SPS: frame_cropping_flag",                      sps->frame_cropping_flag,                       partition);
  if (sps->frame_cropping_flag)
  {
    len+=ue_v ("SPS: frame_cropping_rect_left_offset",          sps->frame_cropping_rect_left_offset,           partition);
    len+=ue_v ("SPS: frame_cropping_rect_right_offset",         sps->frame_cropping_rect_right_offset,          partition);
    len+=ue_v ("SPS: frame_cropping_rect_top_offset",           sps->frame_cropping_rect_top_offset,            partition);
    len+=ue_v ("SPS: frame_cropping_rect_bottom_offset",        sps->frame_cropping_rect_bottom_offset,         partition);
  }

  len+=u_1  ("SPS: vui_parameters_present_flag",             sps->vui_parameters_present_flag,               partition);
  if (sps->vui_parameters_present_flag)
    len+=GenerateVUISequenceParameters();    // currently a dummy, asserting

  SODBtoRBSP(partition->bitstream);     // copies the last couple of bits into the byte buffer
  
  LenInBytes=partition->bitstream->byte_pos;

  free (partition->bitstream);
  free (partition);
  
  return LenInBytes;
}


/*! 
 *************************************************************************************
 * \brief
 *    int GeneratePic_parameter_set_rbsp (pic_parameter_set_rbsp_t *sps, char *rbsp);
 *
 * \param pps
 *    picture parameter structure
 * \param rbsp
 *    buffer to be filled with the rbsp, size should be at least MAXIMUMPARSETRBSPSIZE
 *
 * \return
 *    size of the RBSP in bytes, negative in case of an error
 *
 * \note
 *    Picture Parameter VUI function is called, but the function implements
 *    an exit (-1)
 *************************************************************************************
 */
 
int GeneratePic_parameter_set_rbsp (pic_parameter_set_rbsp_t *pps, char *rbsp)
{
  DataPartition *partition;
  int len = 0, LenInBytes;
  unsigned i;
  unsigned NumberBitsPerSliceGroupId;

  assert (rbsp != NULL);

  // In order to use the entropy coding functions from golomb.c we need 
  // to allocate a partition structure.  It will be freed later in this
  // function
  if ((partition=calloc(1,sizeof(DataPartition)))==NULL) no_mem_exit("PicParameterSet:partition");
  if ((partition->bitstream=calloc(1, sizeof(Bitstream)))==NULL) no_mem_exit("PicParameterSet:bitstream");
  // .. and use the rbsp provided (or allocated above) for the data
  partition->bitstream->streamBuffer = rbsp;
  partition->bitstream->bits_to_go = 8;
  //sw paff
  pps->pic_order_present_flag = img->pic_order_present_flag;

  len+=ue_v ("PPS: pic_parameter_set_id",                    pps->pic_parameter_set_id,                      partition);
  len+=ue_v ("PPS: seq_parameter_set_id",                    pps->seq_parameter_set_id,                      partition);
  len+=u_1  ("PPS: entropy_coding_mode_flag",                pps->entropy_coding_mode_flag,                  partition);
  len+=u_1  ("PPS: pic_order_present_flag",                  pps->pic_order_present_flag,                    partition);
  len+=ue_v ("PPS: num_slice_groups_minus1",                 pps->num_slice_groups_minus1,                   partition);

  // FMO stuff
  if(pps->num_slice_groups_minus1 > 0 )
  {
    len+=ue_v ("PPS: slice_group_map_type",                 pps->slice_group_map_type,                   partition);
    if (pps->slice_group_map_type == 0)
      for (i=0; i<=pps->num_slice_groups_minus1; i++)
        len+=ue_v ("PPS: run_length_minus1[i]",                           pps->run_length_minus1[i],                             partition);
    else if (pps->slice_group_map_type==2)
      for (i=0; i<pps->num_slice_groups_minus1; i++)
      {

        len+=ue_v ("PPS: top_left[i]",                          pps->top_left[i],                           partition);
        len+=ue_v ("PPS: bottom_right[i]",                      pps->bottom_right[i],                       partition);
      }
    else if (pps->slice_group_map_type == 3 ||
             pps->slice_group_map_type == 4 ||
             pps->slice_group_map_type == 5) 
    {
      len+=u_1  ("PPS: slice_group_change_direction_flag",         pps->slice_group_change_direction_flag,         partition);
      len+=ue_v ("PPS: slice_group_change_rate_minus1",            pps->slice_group_change_rate_minus1,            partition);
    } 
    else if (pps->slice_group_map_type == 6)
    {
      if (pps->num_slice_groups_minus1>=4)
        NumberBitsPerSliceGroupId=3;
      else if (pps->num_slice_groups_minus1>=2)
        NumberBitsPerSliceGroupId=2;
      else if (pps->num_slice_groups_minus1>=1)
        NumberBitsPerSliceGroupId=1;
      else
        NumberBitsPerSliceGroupId=0;
        
      len+=ue_v ("PPS: pic_size_in_map_units_minus1",          pps->pic_size_in_map_units_minus1,             partition);
      for(i=0; i<=pps->pic_size_in_map_units_minus1; i++)
        len+= u_v  (NumberBitsPerSliceGroupId, "PPS: >slice_group_id[i]",   pps->slice_group_id[i],           partition);			
    }
  }
  // End of FMO stuff

  len+=ue_v ("PPS: num_ref_idx_l0_active_minus1",             pps->num_ref_idx_l0_active_minus1,              partition);
  len+=ue_v ("PPS: num_ref_idx_l1_active_minus1",             pps->num_ref_idx_l1_active_minus1,              partition);
  len+=u_1  ("PPS: weighted_pred_flag",                       pps->weighted_pred_flag,                        partition);
  len+=u_v  (2, "PPS: weighted_bipred_idc",                   pps->weighted_bipred_idc,                       partition);
  len+=se_v ("PPS: pic_init_qp_minus26",                      pps->pic_init_qp_minus26,                       partition);
  len+=se_v ("PPS: pic_init_qs_minus26",                      pps->pic_init_qs_minus26,                       partition);
  len+=se_v ("PPS: chroma_qp_index_offset",                   pps->chroma_qp_index_offset,                    partition);
  len+=u_1  ("PPS: deblocking_filter_control_present_flag",   pps->deblocking_filter_control_present_flag,    partition);
  len+=u_1  ("PPS: constrained_intra_pred_flag",              pps->constrained_intra_pred_flag,               partition);
  len+=u_1  ("PPS: redundant_pic_cnt_present_flag",           pps->redundant_pic_cnt_present_flag,            partition);

  SODBtoRBSP(partition->bitstream);     // copies the last couple of bits into the byte buffer
  
  LenInBytes=partition->bitstream->byte_pos;

  // Get rid of the helper structures
  free (partition->bitstream);
  free (partition);

  return LenInBytes;
}



/*! 
 *************************************************************************************
 * \brief
 *    Returns the Profile
 *
 * \return
 *    Profile according to Annex A
 *
 * \note
 *    Function is currently a dummy.  Should "calculate" the profile from those
 *    config file parameters.  E.g.
 *
 *    Profile = Baseline;
 *    if (CABAC Used || Interlace used) Profile=Main;
 *    if (!Cabac Used) && (Bframes | SPframes) Profile = Streaming;
 *
 *************************************************************************************
 */
int IdentifyProfile()
{
  return input->ProfileIDC;
};

/*! 
 *************************************************************************************
 * \brief
 *    Returns the Level
 *
 * \return
 *    Level according to Annex A
 *
 * \note
 *    This function is currently a dummy, but should calculate the level out of 
 *    the config file parameters (primarily the picture size)
 *************************************************************************************
 */
int IdentifyLevel()
{
  return input->LevelIDC;
};


/*! 
 *************************************************************************************
 * \brief
 *    Returns the number of reference frame buffers
 *
 * \return
 *    Number of reference frame buffers used
 *
 * \note
 *    This function currently maps to input->num_reference_frames.  With all this interlace
 *    stuff this may or may not be correct.  If you determine a problem with the
 *    memory management for Interlace, then this could be one possible problem.
 *    However, so far no problem have been determined by my limited testing of
 *    a stupid 1950's technology :-)  StW, 11/27/02
 *************************************************************************************
 */

int IdentifyNumRefFrames()
{
  if(input->num_reference_frames > 16)error("no ref frames too large",-100);
  
  return input->num_reference_frames;
}


/*! 
 *************************************************************************************
 * \brief
 *    Function body for VUI Parameter generation (to be done)
 *
 * \return
 *    exits with error message
 *************************************************************************************
 */
static int GenerateVUISequenceParameters()
{
  printf ("Sequence Parameter VUI not yet implemented, this should never happen, exit\n");
  exit (-1);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品美女一区二区在线观看| 免费看精品久久片| 国产成人综合自拍| 久久综合色天天久久综合图片| 日韩在线卡一卡二| 337p亚洲精品色噜噜| 天天色天天操综合| 欧美成人欧美edvon| 国产一区二三区| 国产精品久久久久久一区二区三区 | 欧美色精品天天在线观看视频| 国产精品素人一区二区| 成人av电影免费观看| 伊人一区二区三区| 国产精品亲子伦对白| 91在线精品一区二区三区| 樱花影视一区二区| 精品国一区二区三区| 99re热视频这里只精品| 亚洲激情图片一区| 精品国产自在久精品国产| 国产风韵犹存在线视精品| 中文字幕亚洲视频| 日韩欧美中文字幕制服| 99久久伊人网影院| 亚洲va欧美va人人爽| 久久久另类综合| 在线免费观看日韩欧美| 久久av中文字幕片| 亚洲国产一区二区视频| 久久婷婷国产综合国色天香| 91免费精品国自产拍在线不卡| 秋霞av亚洲一区二区三| 亚洲色图.com| 中文字幕国产一区| 国产性色一区二区| 91麻豆精品国产91久久久久| 日本精品一级二级| zzijzzij亚洲日本少妇熟睡| 美美哒免费高清在线观看视频一区二区| 亚洲欧美自拍偷拍色图| 国产精品私人自拍| 国产女人18水真多18精品一级做| 91精品国产综合久久久久久久久久| 欧美第一区第二区| 欧美成人vps| 精品免费一区二区三区| 欧美一级一区二区| 日韩一二三区视频| 日韩欧美一二三| 精品第一国产综合精品aⅴ| 91精品国产高清一区二区三区 | 日韩极品在线观看| 日韩av电影天堂| 久久精品免费观看| 蓝色福利精品导航| 国产iv一区二区三区| 成人美女在线观看| 精品少妇一区二区三区在线播放| 日韩欧美自拍偷拍| 亚洲欧美怡红院| 一区二区三区精品视频在线| 午夜精品一区二区三区三上悠亚| 亚洲伊人色欲综合网| 久久精品免费看| 91在线视频网址| 欧美大白屁股肥臀xxxxxx| 久久精品这里都是精品| 一区二区三区产品免费精品久久75| 亚洲欧美日韩国产成人精品影院| 日韩精品免费视频人成| 国产麻豆9l精品三级站| 欧美探花视频资源| www久久精品| 亚洲成人激情自拍| av在线不卡电影| 精品国产乱子伦一区| 亚洲精品久久久久久国产精华液| 奇米影视在线99精品| 成人午夜电影网站| 2023国产精品视频| 视频一区欧美日韩| 色婷婷一区二区三区四区| 久久久综合激的五月天| 日韩av中文字幕一区二区三区| 成人免费视频一区| 久久综合九色综合97婷婷女人| 亚洲电影一级黄| kk眼镜猥琐国模调教系列一区二区| 欧美日韩你懂的| 亚洲与欧洲av电影| 色综合久久66| 亚洲一级二级在线| 91小视频免费观看| 中文字幕人成不卡一区| 国产不卡一区视频| 久久综合久久99| 老色鬼精品视频在线观看播放| 欧美日韩高清影院| 亚洲成在人线在线播放| 欧美在线观看视频在线| 一区二区免费看| 欧美做爰猛烈大尺度电影无法无天| 国产精品久久久久久户外露出 | 国产综合久久久久久久久久久久| 6080yy午夜一二三区久久| 午夜欧美电影在线观看| 欧美一二三区在线| 成人在线视频一区| 中文字幕一区二区三区乱码在线| 菠萝蜜视频在线观看一区| ●精品国产综合乱码久久久久| 成人午夜av影视| 天天综合色天天| 欧美激情艳妇裸体舞| 欧美自拍偷拍一区| 韩国成人精品a∨在线观看| 中文字幕av在线一区二区三区| 91麻豆精品在线观看| 日韩高清中文字幕一区| 亚洲国产精品成人久久综合一区| 欧美在线制服丝袜| 粉嫩av亚洲一区二区图片| 亚洲激情自拍视频| 国产婷婷一区二区| 精品视频一区 二区 三区| 国产一区二区在线免费观看| 亚洲影视资源网| 久久久久国产精品免费免费搜索| 欧美专区日韩专区| 91在线观看污| 国产成人免费9x9x人网站视频| 亚洲成av人片在线观看无码| 国产精品传媒入口麻豆| 夜色激情一区二区| 一区二区三区免费网站| 国产精品国产三级国产专播品爱网| 日韩欧美不卡在线观看视频| 在线亚洲精品福利网址导航| 97国产一区二区| 99久久精品免费看国产| 成人一道本在线| 盗摄精品av一区二区三区| 久久国产精品区| 久久99国产精品久久99果冻传媒| 午夜视频一区二区三区| 日日夜夜精品视频免费| 丝袜美腿亚洲一区| 奇米色777欧美一区二区| 亚洲成av人影院| 日本欧美大码aⅴ在线播放| 石原莉奈在线亚洲二区| 日产欧产美韩系列久久99| 日欧美一区二区| 秋霞成人午夜伦在线观看| 国内成人精品2018免费看| 九九久久精品视频| 国产乱码字幕精品高清av| 成人免费va视频| 在线观看一区日韩| 一区二区免费在线| 青青草原综合久久大伊人精品| 国产一区二区三区日韩| 国产宾馆实践打屁股91| 99国产精品视频免费观看| 91精品国产入口| 久久精品视频网| 亚洲一区二区av在线| 国产成人免费视| 欧美区在线观看| 中文字幕日韩av资源站| 免费成人av资源网| 在线观看三级视频欧美| 久久婷婷国产综合精品青草| 怡红院av一区二区三区| 麻豆高清免费国产一区| 91久久一区二区| 国产精品亲子伦对白| 精品亚洲porn| 91精品国产入口| 天天av天天翘天天综合网| 99九九99九九九视频精品| 久久精品欧美一区二区三区麻豆| 一区二区三区四区亚洲| 国产99久久久久久免费看农村| 91麻豆精品国产综合久久久久久| 国产精品久久久久永久免费观看| 青青草91视频| 欧美不卡一区二区| 久久精品国产精品青草| 91精品免费观看| 久久99精品国产麻豆婷婷| 欧美视频日韩视频在线观看| 最近日韩中文字幕| 91国偷自产一区二区三区成为亚洲经典 | 色琪琪一区二区三区亚洲区| 中文字幕av一区二区三区免费看 | 亚洲免费观看视频| 在线观看网站黄不卡| 视频精品一区二区|