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

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

?? sei.c

?? 此code含H.264解碼需要的 lib和 src
?? C
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
#ifdef PRINT_USER_DATA_UNREGISTERED_INFO
    printf("Unreg data payload_byte = %d\n", payload_byte);
#endif
  }
#ifdef PRINT_USER_DATA_UNREGISTERED_INFO
#undef PRINT_USER_DATA_UNREGISTERED_INFO
#endif
}


/*!
 ************************************************************************
 *  \brief
 *     Interpret the User data registered by ITU-T T.35 SEI message
 *  \param payload
 *     a pointer that point to the sei payload
 *  \param size
 *     the size of the sei message
 *  \param img
 *     the image pointer
 *
 ************************************************************************
 */
void interpret_user_data_registered_itu_t_t35_info( byte* payload, int size, ImageParameters *img )
{
  int offset = 0;
  byte itu_t_t35_country_code, itu_t_t35_country_code_extension_byte, payload_byte;

  itu_t_t35_country_code = payload[offset];
  offset++;
#ifdef PRINT_USER_DATA_REGISTERED_ITU_T_T35_INFO
  printf("User data registered by ITU-T T.35 SEI message\n");
  printf(" itu_t_t35_country_code = %d \n", itu_t_t35_country_code);
#endif
  if(itu_t_t35_country_code == 0xFF)
  {
    itu_t_t35_country_code_extension_byte = payload[offset];
    offset++;
#ifdef PRINT_USER_DATA_REGISTERED_ITU_T_T35_INFO
    printf(" ITU_T_T35_COUNTRY_CODE_EXTENSION_BYTE %d \n", itu_t_t35_country_code_extension_byte);
#endif
  }
  while (offset < size)
  {
    payload_byte = payload[offset];
    offset ++;
#ifdef PRINT_USER_DATA_REGISTERED_ITU_T_T35_INFO
    printf("itu_t_t35 payload_byte = %d\n", payload_byte);
#endif
  }
#ifdef PRINT_USER_DATA_REGISTERED_ITU_T_T35_INFO
#undef PRINT_USER_DATA_REGISTERED_ITU_T_T35_INFO
#endif
}


/*!
 ************************************************************************
 *  \brief
 *     Interpret the Pan scan rectangle SEI message
 *  \param payload
 *     a pointer that point to the sei payload
 *  \param size
 *     the size of the sei message
 *  \param img
 *     the image pointer
 *
 ************************************************************************
 */
void interpret_pan_scan_rect_info( byte* payload, int size, ImageParameters *img )
{
  int pan_scan_rect_cancel_flag;
  int pan_scan_cnt_minus1, i;
  int pan_scan_rect_repetition_period;
  int pan_scan_rect_id, pan_scan_rect_left_offset, pan_scan_rect_right_offset;
  int pan_scan_rect_top_offset, pan_scan_rect_bottom_offset;

  Bitstream* buf;

  buf = malloc(sizeof(Bitstream));
  buf->bitstream_length = size;
  buf->streamBuffer = payload;
  buf->frame_bitoffset = 0;

  UsedBits = 0;

  pan_scan_rect_id = ue_v("SEI: pan_scan_rect_id", buf);

  pan_scan_rect_cancel_flag = u_1("SEI: pan_scan_rect_cancel_flag", buf);
  if (!pan_scan_rect_cancel_flag) {
    pan_scan_cnt_minus1 = ue_v("SEI: pan_scan_cnt_minus1", buf);
    for (i = 0; i <= pan_scan_cnt_minus1; i++) {
      pan_scan_rect_left_offset   = se_v("SEI: pan_scan_rect_left_offset"  , buf);
      pan_scan_rect_right_offset  = se_v("SEI: pan_scan_rect_right_offset" , buf);
      pan_scan_rect_top_offset    = se_v("SEI: pan_scan_rect_top_offset"   , buf);
      pan_scan_rect_bottom_offset = se_v("SEI: pan_scan_rect_bottom_offset", buf);
#ifdef PRINT_PAN_SCAN_RECT
      printf("Pan scan rectangle SEI message %d/%d\n", i, pan_scan_cnt_minus1);
      printf("pan_scan_rect_id            = %d\n", pan_scan_rect_id);
      printf("pan_scan_rect_left_offset   = %d\n", pan_scan_rect_left_offset);
      printf("pan_scan_rect_right_offset  = %d\n", pan_scan_rect_right_offset);
      printf("pan_scan_rect_top_offset    = %d\n", pan_scan_rect_top_offset);
      printf("pan_scan_rect_bottom_offset = %d\n", pan_scan_rect_bottom_offset);
#endif
    }
    pan_scan_rect_repetition_period = ue_v("SEI: pan_scan_rect_repetition_period", buf);
  }

  free (buf);
#ifdef PRINT_PAN_SCAN_RECT
#undef PRINT_PAN_SCAN_RECT
#endif
}


/*!
 ************************************************************************
 *  \brief
 *     Interpret the Random access point SEI message
 *  \param payload
 *     a pointer that point to the sei payload
 *  \param size
 *     the size of the sei message
 *  \param img
 *     the image pointer
 *
 ************************************************************************
 */
void interpret_recovery_point_info( byte* payload, int size, ImageParameters *img )
{
  int recovery_frame_cnt, exact_match_flag, broken_link_flag, changing_slice_group_idc;


  Bitstream* buf;


  buf = malloc(sizeof(Bitstream));
  buf->bitstream_length = size;
  buf->streamBuffer = payload;
  buf->frame_bitoffset = 0;

  UsedBits = 0;

  recovery_frame_cnt       = ue_v(    "SEI: recovery_frame_cnt"      , buf);
  exact_match_flag         = u_1 (    "SEI: exact_match_flag"        , buf);
  broken_link_flag         = u_1 (    "SEI: broken_link_flag"        , buf);
  changing_slice_group_idc = u_v ( 2, "SEI: changing_slice_group_idc", buf);

  img->recovery_point = 1;
  img->recovery_frame_cnt = recovery_frame_cnt;

#ifdef PRINT_RECOVERY_POINT
  printf("Recovery point SEI message\n");
  printf("recovery_frame_cnt       = %d\n", recovery_frame_cnt);
  printf("exact_match_flag         = %d\n", exact_match_flag);
  printf("broken_link_flag         = %d\n", broken_link_flag);
  printf("changing_slice_group_idc = %d\n", changing_slice_group_idc);
#endif
  free (buf);
#ifdef PRINT_RECOVERY_POINT
#undef PRINT_RECOVERY_POINT
#endif
}


/*!
 ************************************************************************
 *  \brief
 *     Interpret the Decoded Picture Buffer Management Repetition SEI message
 *  \param payload
 *     a pointer that point to the sei payload
 *  \param size
 *     the size of the sei message
 *  \param img
 *     the image pointer
 *
 ************************************************************************
 */
void interpret_dec_ref_pic_marking_repetition_info( byte* payload, int size, ImageParameters *img )
{
  int original_idr_flag, original_frame_num;

  DecRefPicMarking_t *tmp_drpm;

  DecRefPicMarking_t *old_drpm;
  int old_idr_flag , old_no_output_of_prior_pics_flag, old_long_term_reference_flag , old_adaptive_ref_pic_buffering_flag;


  Bitstream* buf;

  buf = malloc(sizeof(Bitstream));
  buf->bitstream_length = size;
  buf->streamBuffer = payload;
  buf->frame_bitoffset = 0;

  UsedBits = 0;

  original_idr_flag     = u_1 (    "SEI: original_idr_flag"    , buf);
  original_frame_num    = ue_v(    "SEI: original_frame_num"   , buf);

#ifdef PRINT_DEC_REF_PIC_MARKING
  printf("Decoded Picture Buffer Management Repetition SEI message\n");
  printf("original_idr_flag       = %d\n", original_idr_flag);
  printf("original_frame_num      = %d\n", original_frame_num);
#endif

  // we need to save everything that is probably overwritten in dec_ref_pic_marking()
  old_drpm = img->dec_ref_pic_marking_buffer;
  old_idr_flag = img->idr_flag;

  old_no_output_of_prior_pics_flag = img->no_output_of_prior_pics_flag;
  old_long_term_reference_flag = img->long_term_reference_flag;
  old_adaptive_ref_pic_buffering_flag = img->adaptive_ref_pic_buffering_flag;

  // set new initial values
  img->idr_flag = original_idr_flag;
  img->dec_ref_pic_marking_buffer = NULL;

  dec_ref_pic_marking(buf);

  // print out decoded values
#ifdef PRINT_DEC_REF_PIC_MARKING
  if (img->idr_flag)
  {
    printf("no_output_of_prior_pics_flag = %d\n", img->no_output_of_prior_pics_flag);
    printf("long_term_reference_flag     = %d\n", img->long_term_reference_flag);
  }
  else
  {
    printf("adaptive_ref_pic_buffering_flag  = %d\n", img->adaptive_ref_pic_buffering_flag);
    if (img->adaptive_ref_pic_buffering_flag)
    {
      tmp_drpm=img->dec_ref_pic_marking_buffer;
      while (tmp_drpm != NULL)
      {
        printf("memory_management_control_operation  = %d\n", tmp_drpm->memory_management_control_operation);

        if ((tmp_drpm->memory_management_control_operation==1)||(tmp_drpm->memory_management_control_operation==3))
        {
          printf("difference_of_pic_nums_minus1        = %d\n", tmp_drpm->difference_of_pic_nums_minus1);
        }
        if (tmp_drpm->memory_management_control_operation==2)
        {
          printf("long_term_pic_num                    = %d\n", tmp_drpm->long_term_pic_num);
        }
        if ((tmp_drpm->memory_management_control_operation==3)||(tmp_drpm->memory_management_control_operation==6))
        {
          printf("long_term_frame_idx                  = %d\n", tmp_drpm->long_term_frame_idx);
        }
        if (tmp_drpm->memory_management_control_operation==4)
        {
          printf("max_long_term_pic_idx_plus1          = %d\n", tmp_drpm->max_long_term_frame_idx_plus1);
        }
        tmp_drpm = tmp_drpm->Next;
      }
    }
  }
#endif

  while (img->dec_ref_pic_marking_buffer)
  {
    tmp_drpm=img->dec_ref_pic_marking_buffer;

    img->dec_ref_pic_marking_buffer=tmp_drpm->Next;
    free (tmp_drpm);
  }

  // restore old values in img
  img->dec_ref_pic_marking_buffer = old_drpm;
  img->idr_flag = old_idr_flag;
  img->no_output_of_prior_pics_flag = old_no_output_of_prior_pics_flag;
  img->long_term_reference_flag = old_long_term_reference_flag;
  img->adaptive_ref_pic_buffering_flag = old_adaptive_ref_pic_buffering_flag;

  free (buf);
#ifdef PRINT_DEC_REF_PIC_MARKING
#undef PRINT_DEC_REF_PIC_MARKING
#endif
}

/*!
 ************************************************************************
 *  \brief
 *     Interpret the Full-frame freeze SEI message
 *  \param payload
 *     a pointer that point to the sei payload
 *  \param size
 *     the size of the sei message
 *  \param img
 *     the image pointer
 *
 ************************************************************************
 */
void interpret_full_frame_freeze_info( byte* payload, int size, ImageParameters *img )
{
#ifdef PRINT_FULL_FRAME_FREEZE_INFO
  printf("Full-frame freeze SEI message\n");
  if (size)
  {
    printf("payload size of this message should be zero, but is %d bytes.\n", size);
  }
#endif

#ifdef PRINT_FULL_FRAME_FREEZE_INFO
#undef PRINT_FULL_FRAME_FREEZE_INFO
#endif
}


/*!
 ************************************************************************
 *  \brief
 *     Interpret the Full-frame freeze release SEI message
 *  \param payload
 *     a pointer that point to the sei payload
 *  \param size
 *     the size of the sei message
 *  \param img
 *     the image pointer
 *
 ************************************************************************
 */
void interpret_full_frame_freeze_release_info( byte* payload, int size, ImageParameters *img )
{
#ifdef PRINT_FULL_FRAME_FREEZE_RELEASE_INFO
  printf("Full-frame freeze release SEI message\n");
  if (size)
  {
    printf("payload size of this message should be zero, but is %d bytes.\n", size);
  }
#endif

#ifdef PRINT_FULL_FRAME_FREEZE_RELEASE_INFO
#undef PRINT_FULL_FRAME_FREEZE_RELEASE_INFO
#endif
}

/*!
 ************************************************************************
 *  \brief
 *     Interpret the Full-frame snapshot SEI message
 *  \param payload
 *     a pointer that point to the sei payload
 *  \param size
 *     the size of the sei message
 *  \param img
 *     the image pointer
 *
 ************************************************************************
 */
void interpret_full_frame_snapshot_info( byte* payload, int size, ImageParameters *img )
{
  int snapshot_id;

  Bitstream* buf;

  buf = malloc(sizeof(Bitstream));
  buf->bitstream_length = size;
  buf->streamBuffer = payload;
  buf->frame_bitoffset = 0;

  UsedBits = 0;

  snapshot_id = ue_v("SEI: snapshot_id", buf);

#ifdef PRINT_FULL_FRAME_SNAPSHOT_INFO
  printf("Full-frame snapshot SEI message\n");
  printf("snapshot_id = %d\n", snapshot_id);
#endif
  free (buf);
#ifdef PRINT_FULL_FRAME_SNAPSHOT_INFO
#undef PRINT_FULL_FRAME_SNAPSHOT_INFO
#endif
}

/*!
 ************************************************************************
 *  \brief
 *     Interpret the Progressive refinement segment start SEI message
 *  \param payload
 *     a pointer that point to the sei payload
 *  \param size
 *     the size of the sei message
 *  \param img

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区久久久久| 成人黄色免费短视频| 天天综合天天综合色| 亚洲精品成人少妇| 亚洲精品免费在线播放| 亚洲欧美一区二区在线观看| 欧美国产日本韩| 国产精品美日韩| 中文字幕日韩一区二区| 亚洲色图欧美偷拍| 一区二区三国产精华液| 亚洲精品免费在线观看| 亚洲国产精品久久一线不卡| 亚洲成人动漫av| 日产精品久久久久久久性色| 青青草精品视频| 国产一区二区电影| 国产91富婆露脸刺激对白| 成人av免费在线播放| 99精品久久99久久久久| 日本韩国欧美三级| 欧美嫩在线观看| 日韩视频在线一区二区| 久久一夜天堂av一区二区三区| 久久久久国产精品麻豆ai换脸| 国产日韩欧美精品在线| 成人欧美一区二区三区视频网页| 亚洲精品成人悠悠色影视| 婷婷综合久久一区二区三区| 日韩av成人高清| 国产激情偷乱视频一区二区三区| av午夜一区麻豆| 欧美性做爰猛烈叫床潮| 日韩一区二区三区三四区视频在线观看 | 国产精品无码永久免费888| 国产精品国产自产拍高清av | 中文字幕一区二区三区不卡在线| 亚洲欧美怡红院| 日日夜夜精品视频天天综合网| 久久99热99| 99久免费精品视频在线观看| 欧美色网站导航| 久久久久亚洲综合| 夫妻av一区二区| 91成人在线免费观看| 日韩免费福利电影在线观看| 中文字幕av不卡| 五月综合激情婷婷六月色窝| 韩国午夜理伦三级不卡影院| voyeur盗摄精品| 欧美一区二区三区四区五区| 国产日韩欧美综合在线| 亚洲一区二区av电影| 精久久久久久久久久久| 91原创在线视频| 亚洲精品一线二线三线无人区| |精品福利一区二区三区| 日本成人在线视频网站| 99久久精品情趣| 日韩精品专区在线影院观看| 亚洲欧洲在线观看av| 免费观看一级特黄欧美大片| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 亚洲在线一区二区三区| 国产精品亚洲一区二区三区在线| 欧美性欧美巨大黑白大战| 久久久99免费| 日韩成人av影视| 一本大道久久a久久综合| 欧美精品一区二区精品网| 亚洲一区在线视频| 成人黄动漫网站免费app| 日韩免费电影一区| 亚洲成人免费视频| 99久久久精品免费观看国产蜜| 精品国产不卡一区二区三区| 亚洲一二三区视频在线观看| 成人激情午夜影院| 精品99999| 蜜桃久久久久久| 欧美系列日韩一区| 亚洲精品伦理在线| a在线欧美一区| 国产欧美视频一区二区| 精品一区二区成人精品| 91.com视频| 亚洲大片精品永久免费| 日本道色综合久久| 亚洲少妇30p| jlzzjlzz欧美大全| 国产精品视频yy9299一区| 精品系列免费在线观看| 日韩一区二区三区视频| 天堂一区二区在线| 欧美日韩国产123区| 一区二区免费在线| 欧美性三三影院| 亚洲福利电影网| 欧美日韩中文精品| 亚洲国产日韩a在线播放性色| 色悠悠久久综合| 亚洲精品免费在线观看| 91丨porny丨在线| 亚洲欧美aⅴ...| 色拍拍在线精品视频8848| 亚洲人123区| 91精彩视频在线| 一区二区三区精品视频在线| 色菇凉天天综合网| 亚洲午夜激情av| 欧美日韩国产一级| 蜜桃一区二区三区在线| 日韩欧美久久一区| 加勒比av一区二区| 久久精品亚洲麻豆av一区二区 | 国产成人啪免费观看软件| 国产亚洲精品中文字幕| 成人黄页在线观看| 中文字幕人成不卡一区| 日本高清不卡一区| 五月天中文字幕一区二区| 91精品久久久久久蜜臀| 久久成人18免费观看| 精品一区免费av| 国产亚洲精品aa午夜观看| 欧美午夜电影在线播放| 亚洲五码中文字幕| 欧美一个色资源| 国产精品久久久久久久浪潮网站 | 99久久精品国产麻豆演员表| 国产精品青草久久| 色欧美88888久久久久久影院| 一区二区三区日韩在线观看| 欧美精品三级日韩久久| 秋霞电影一区二区| 国产三级一区二区三区| 91麻豆自制传媒国产之光| 亚洲国产视频a| 欧美精品一区二区三区视频| 不卡一卡二卡三乱码免费网站 | 成人免费视频网站在线观看| 一区二区在线观看视频在线观看| 欧美日韩精品综合在线| 久久99国产精品久久99| 国产精品家庭影院| 制服丝袜激情欧洲亚洲| 国产69精品久久99不卡| 一区二区三区四区在线播放| 日韩区在线观看| av亚洲产国偷v产偷v自拍| 日欧美一区二区| 欧美国产欧美综合| 56国语精品自产拍在线观看| 高清国产一区二区| 日韩精品一二区| 国产精品三级av在线播放| 欧美精品18+| 成人亚洲一区二区一| 午夜久久福利影院| 国产精品免费人成网站| 91精品国产综合久久久久| 成人黄色在线网站| 毛片av中文字幕一区二区| 亚洲日本在线天堂| 久久伊人中文字幕| 欧美老女人在线| av不卡免费在线观看| 免费人成网站在线观看欧美高清| 国产精品国产自产拍高清av| 日韩欧美在线1卡| 欧洲日韩一区二区三区| 国产宾馆实践打屁股91| 蜜臀av一区二区在线免费观看| 亚洲欧美偷拍另类a∨色屁股| 久久综合九色综合97_久久久| 欧美日韩国产美女| 色综合一个色综合亚洲| 国产乱码精品一品二品| 五月婷婷欧美视频| 亚洲精品欧美综合四区| 欧美国产一区二区| 久久久欧美精品sm网站| 欧美一区二区三区精品| 欧美亚洲免费在线一区| 91原创在线视频| 成人免费的视频| 国产成人在线视频网站| 蜜桃视频一区二区三区| 天堂影院一区二区| 亚洲一区视频在线观看视频| 中文字幕在线一区| 久久精品视频网| 26uuu精品一区二区| 欧美一级夜夜爽| 6080午夜不卡| 欧美肥大bbwbbw高潮| 欧美亚洲高清一区| 91成人在线免费观看| 色综合一区二区| 一本一本大道香蕉久在线精品|