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

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

?? sei.c

?? h264標(biāo)準(zhǔn)的VC實(shí)現(xiàn)
?? C
?? 第 1 頁 / 共 4 頁
字號(hào):
    assert( fp != NULL );
    for (kk=0; kk<num_spare_pics; kk++)
    {
      for (i=0; i < img->height/16; i++)
        for (j=0; j < img->width/16; j++)
        {
          tmp=map[kk][i][j]==0? img->max_imgpel_value : 0;
          for (i0=0; i0<16; i0++)
            for (j0=0; j0<16; j0++)
              Y[i*16+i0][j*16+j0]=tmp;
        }

      // write the map image
      for (i=0; i < img->height; i++)
        for (j=0; j < img->width; j++)
          fwrite(&(Y[i][j]), symbol_size_in_bytes, 1, p_out);
        
      for (k=0; k < 2; k++)
        for (i=0; i < img->height/2; i++)
          for (j=0; j < img->width/2; j++)
            fwrite(&(img->dc_pred_value), symbol_size_in_bytes, 1, p_out);
    }
    fclose( fp );
    free_mem2Dpel( Y );
  }
  // end of writing map image
#undef WRITE_MAP_IMAGE
#endif

  free_mem3D( map, num_spare_pics );

  free(buf);
}


/*!
 ************************************************************************
 *  \brief
 *     Interpret the Sub-sequence information 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_subsequence_info( byte* payload, int size, ImageParameters *img )
{
  Bitstream* buf;
  int sub_seq_layer_num, sub_seq_id, first_ref_pic_flag, leading_non_ref_pic_flag, last_pic_flag, 
      sub_seq_frame_num_flag, sub_seq_frame_num;

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

  UsedBits = 0;

  sub_seq_layer_num        = ue_v("SEI: sub_seq_layer_num"       , buf);
  sub_seq_id               = ue_v("SEI: sub_seq_id"              , buf);
  first_ref_pic_flag       = u_1 ("SEI: first_ref_pic_flag"      , buf);
  leading_non_ref_pic_flag = u_1 ("SEI: leading_non_ref_pic_flag", buf);
  last_pic_flag            = u_1 ("SEI: last_pic_flag"           , buf);
  sub_seq_frame_num_flag   = u_1 ("SEI: sub_seq_frame_num_flag"  , buf);
  if (sub_seq_frame_num_flag)
  {
    sub_seq_frame_num        = ue_v("SEI: sub_seq_frame_num"       , buf);
  }

#ifdef PRINT_SUBSEQUENCE_INFO
  printf("Sub-sequence information SEI message\n");
  printf("sub_seq_layer_num        = %d\n", sub_seq_layer_num );
  printf("sub_seq_id               = %d\n", sub_seq_id);
  printf("first_ref_pic_flag       = %d\n", first_ref_pic_flag);
  printf("leading_non_ref_pic_flag = %d\n", leading_non_ref_pic_flag);
  printf("last_pic_flag            = %d\n", last_pic_flag);
  printf("sub_seq_frame_num_flag   = %d\n", sub_seq_frame_num_flag);
  if (sub_seq_frame_num_flag)
  {
    printf("sub_seq_frame_num        = %d\n", sub_seq_frame_num);
  }
#endif

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

/*!
 ************************************************************************
 *  \brief
 *     Interpret the Sub-sequence layer characteristics 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_subsequence_layer_characteristics_info( byte* payload, int size, ImageParameters *img )
{
  Bitstream* buf;
  long num_sub_layers, accurate_statistics_flag, average_bit_rate, average_frame_rate;
  int i;

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

  UsedBits = 0;

  num_sub_layers = 1 + ue_v("SEI: num_sub_layers_minus1", buf);

#ifdef PRINT_SUBSEQUENCE_LAYER_CHAR
  printf("Sub-sequence layer characteristics SEI message\n");
  printf("num_sub_layers_minus1 = %d\n", num_sub_layers - 1);
#endif

  for (i=0; i<num_sub_layers; i++)
  {
    accurate_statistics_flag = u_1(   "SEI: accurate_statistics_flag", buf);
    average_bit_rate         = u_v(16,"SEI: average_bit_rate"        , buf);
    average_frame_rate       = u_v(16,"SEI: average_frame_rate"      , buf);

#ifdef PRINT_SUBSEQUENCE_LAYER_CHAR
    printf("layer %d: accurate_statistics_flag = %ld \n", i, accurate_statistics_flag);
    printf("layer %d: average_bit_rate         = %ld \n", i, average_bit_rate);
    printf("layer %d: average_frame_rate       = %ld \n", i, average_frame_rate);
#endif
  }
  free (buf);
}


/*!
 ************************************************************************
 *  \brief
 *     Interpret the Sub-sequence characteristics 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_subsequence_characteristics_info( byte* payload, int size, ImageParameters *img )
{
  Bitstream* buf;
  int i;
  int sub_seq_layer_num, sub_seq_id, duration_flag, average_rate_flag, accurate_statistics_flag;
  unsigned long sub_seq_duration, average_bit_rate, average_frame_rate;
  int num_referenced_subseqs, ref_sub_seq_layer_num, ref_sub_seq_id, ref_sub_seq_direction;

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

  UsedBits = 0;

  sub_seq_layer_num = ue_v("SEI: sub_seq_layer_num", buf);
  sub_seq_id        = ue_v("SEI: sub_seq_id", buf);
  duration_flag     = u_1 ("SEI: duration_flag", buf);

#ifdef PRINT_SUBSEQUENCE_CHAR
  printf("Sub-sequence characteristics SEI message\n");
  printf("sub_seq_layer_num = %d\n", sub_seq_layer_num );
  printf("sub_seq_id        = %d\n", sub_seq_id);
  printf("duration_flag     = %d\n", duration_flag);
#endif

  if ( duration_flag )
  {
    sub_seq_duration = u_v (32, "SEI: duration_flag", buf);
#ifdef PRINT_SUBSEQUENCE_CHAR
    printf("sub_seq_duration = %ld\n", sub_seq_duration);
#endif
  }

  average_rate_flag = u_1 ("SEI: average_rate_flag", buf);

#ifdef PRINT_SUBSEQUENCE_CHAR
  printf("average_rate_flag = %d\n", average_rate_flag);
#endif

  if ( average_rate_flag )
  {
    accurate_statistics_flag = u_1 (    "SEI: accurate_statistics_flag", buf);
    average_bit_rate         = u_v (16, "SEI: average_bit_rate", buf);
    average_frame_rate       = u_v (16, "SEI: average_frame_rate", buf);

#ifdef PRINT_SUBSEQUENCE_CHAR
    printf("accurate_statistics_flag = %d\n", accurate_statistics_flag);
    printf("average_bit_rate         = %ld\n", average_bit_rate);
    printf("average_frame_rate       = %ld\n", average_frame_rate);
#endif
  }

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

#ifdef PRINT_SUBSEQUENCE_CHAR
  printf("num_referenced_subseqs = %d\n", num_referenced_subseqs);
#endif

  for (i=0; i<num_referenced_subseqs; i++)
  {
    ref_sub_seq_layer_num  = ue_v("SEI: ref_sub_seq_layer_num", buf);
    ref_sub_seq_id         = ue_v("SEI: ref_sub_seq_id", buf);
    ref_sub_seq_direction  = u_1 ("SEI: ref_sub_seq_direction", buf);

#ifdef PRINT_SUBSEQUENCE_CHAR
    printf("ref_sub_seq_layer_num = %d\n", ref_sub_seq_layer_num);
    printf("ref_sub_seq_id        = %d\n", ref_sub_seq_id);
    printf("ref_sub_seq_direction = %d\n", ref_sub_seq_direction);
#endif
  }

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


/*!
 ************************************************************************
 *  \brief
 *     Interpret the Scene information 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_scene_information( byte* payload, int size, ImageParameters *img )
{
  Bitstream* buf;
  int scene_id, scene_transition_type, second_scene_id;

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

  UsedBits = 0;

  scene_id              = ue_v("SEI: scene_id"             , buf);
  scene_transition_type = ue_v("SEI: scene_transition_type", buf);
  if ( scene_transition_type > 3 )
  {
    second_scene_id     = ue_v("SEI: scene_transition_type", buf);;
  }

#ifdef PRINT_SCENE_INFORMATION
  printf("Scene information SEI message\n");
  printf("scene_transition_type = %d\n", scene_transition_type);
  printf("scene_id              = %d\n", scene_id);
  if ( scene_transition_type > 3 )
  {
    printf("second_scene_id       = %d\n", second_scene_id);
  }
#endif
  free( buf );
#ifdef PRINT_SCENE_INFORMATION
#undef PRINT_SCENE_INFORMATION
#endif
}


/*!
 ************************************************************************
 *  \brief
 *     Interpret the Filler payload 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_filler_payload_info( byte* payload, int size, ImageParameters *img )
{
  int  offset = 0;
  byte payload_cnt = 0;

  while (offset<size)
  {
    if (payload[offset] == 0xFF)
    {
       payload_cnt++;
    }
  }


#ifdef PRINT_FILLER_PAYLOAD_INFO
  printf("Filler payload SEI message\n");
  if (payload_cnt==size)
  {
    printf("read %d bytes of filler payload\n", payload_cnt);
  }
  else
  {
    printf("error reading filler payload: not all bytes are 0xFF (%d of %d)\n", payload_cnt, size);
  }
#endif

#ifdef PRINT_FILLER_PAYLOAD_INFO
#undef PRINT_FILLER_PAYLOAD_INFO
#endif
}


/*!
 ************************************************************************
 *  \brief
 *     Interpret the User data unregistered 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_unregistered_info( byte* payload, int size, ImageParameters *img )
{
  int offset = 0;
  byte payload_byte;

#ifdef PRINT_USER_DATA_UNREGISTERED_INFO
  printf("User data unregistered SEI message\n");
  printf("uuid_iso_11578 = 0x");
#endif
  assert (size>=16);

  for (offset = 0; offset < 16; offset++)
  {
#ifdef PRINT_USER_DATA_UNREGISTERED_INFO
    printf("%02x",payload[offset]);
#endif
  }

#ifdef PRINT_USER_DATA_UNREGISTERED_INFO
    printf("\n");
#endif

  while (offset < size)
  {
    payload_byte = payload[offset];
    offset ++;
#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

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日日骚欧美日韩| 亚洲一二三区在线观看| 欧美在线制服丝袜| 看电视剧不卡顿的网站| 亚洲欧美日韩国产综合| 精品国偷自产国产一区| 欧美亚洲自拍偷拍| 成人性生交大片| 日本在线不卡一区| 亚洲人成在线观看一区二区| 久久精品在线观看| 在线成人高清不卡| 日本丰满少妇一区二区三区| 懂色中文一区二区在线播放| 天天操天天色综合| 一区二区三区在线视频播放| 国产精品久久精品日日| 337p日本欧洲亚洲大胆色噜噜| 欧美日韩一卡二卡三卡| 91天堂素人约啪| 国产不卡高清在线观看视频| 久久99久久99| 日韩av电影一区| 亚洲成av人片一区二区| 亚洲精品va在线观看| 亚洲天堂网中文字| 国产精品乱码妇女bbbb| 国产精品一区久久久久| 人人超碰91尤物精品国产| 天天射综合影视| 丝袜亚洲另类丝袜在线| 亚洲成人你懂的| 午夜精品福利一区二区三区av| 亚洲一区二区三区美女| 一区二区三区四区蜜桃| 亚洲乱码日产精品bd| 亚洲综合丁香婷婷六月香| 亚洲精品亚洲人成人网在线播放| 最新日韩在线视频| 亚洲日本丝袜连裤袜办公室| 亚洲男人的天堂一区二区| 亚洲蜜臀av乱码久久精品| 国产精品三级视频| 国产精品久久久久久福利一牛影视 | 久久久夜色精品亚洲| 精品国产凹凸成av人网站| 欧美xxxxxxxx| 亚洲国产成人午夜在线一区| 国产精品乱码一区二区三区软件| 国产91在线|亚洲| 国产成人午夜精品影院观看视频| 国产麻豆视频一区二区| 不卡一卡二卡三乱码免费网站| 国产精品77777竹菊影视小说| 成人一区二区三区在线观看| 成人免费视频国产在线观看| 色婷婷一区二区| 欧美精品在线观看播放| 精品国产乱码久久久久久夜甘婷婷| 久久老女人爱爱| 亚洲欧洲一区二区三区| 亚洲动漫第一页| 久久99最新地址| 成人av资源站| 欧美三级午夜理伦三级中视频| 欧美一区二区三区系列电影| 久久美女高清视频| 亚洲同性gay激情无套| 午夜精品福利一区二区三区av| 狂野欧美性猛交blacked| 成人免费三级在线| 在线日韩一区二区| 欧美大片在线观看一区二区| 国产精品久久网站| 亚洲成人免费在线观看| 国产传媒欧美日韩成人| 色综合色狠狠天天综合色| 日韩欧美的一区二区| 国产精品国产精品国产专区不片| 午夜天堂影视香蕉久久| 国产精品996| 欧美精品在线视频| 中文字幕在线一区免费| 日韩综合小视频| 东方欧美亚洲色图在线| 欧美日韩卡一卡二| 久久精品一区二区三区不卡牛牛| 一区二区三区在线免费播放| 韩国毛片一区二区三区| 欧美中文字幕久久| 久久久99久久| 天堂一区二区在线| 99久久久无码国产精品| 欧美成人国产一区二区| 亚洲美女屁股眼交3| 麻豆国产91在线播放| 在线中文字幕不卡| 国产三级久久久| 日本欧美一区二区三区乱码| 一本大道av一区二区在线播放| 久久色在线观看| 亚洲a一区二区| 91在线观看下载| 精品国产伦一区二区三区观看方式| 亚洲午夜久久久| 成人app在线观看| 精品国一区二区三区| 三级精品在线观看| 91久久奴性调教| 1区2区3区欧美| 成人性视频免费网站| 久久午夜羞羞影院免费观看| 日本大胆欧美人术艺术动态| 日本精品一级二级| 综合久久给合久久狠狠狠97色 | 日韩理论片在线| 国产91露脸合集magnet| 337p粉嫩大胆色噜噜噜噜亚洲 | 国产成人超碰人人澡人人澡| 欧美精品在欧美一区二区少妇| 亚洲精品中文字幕乱码三区| 不卡的电影网站| 国产女人水真多18毛片18精品视频 | 午夜在线电影亚洲一区| 色香蕉久久蜜桃| 亚洲欧洲99久久| 成人亚洲一区二区一| 亚洲国产精品ⅴa在线观看| 国产在线视视频有精品| 精品久久一区二区| 国内精品久久久久影院一蜜桃| 日韩一区二区三区电影| 麻豆国产欧美一区二区三区| 日韩午夜精品视频| 久久91精品国产91久久小草| 欧美tickling挠脚心丨vk| 蜜桃视频在线观看一区| 欧美本精品男人aⅴ天堂| 精品一区二区三区免费播放| 精品成人免费观看| 国产精品2024| 国产精品久久久久久久久免费樱桃| www.av精品| 亚洲久本草在线中文字幕| 在线观看av不卡| 日韩精品三区四区| 欧美一区二区女人| 精东粉嫩av免费一区二区三区| 欧美精品一区二区三区视频| 国产精品一区久久久久| 国产精品二三区| 欧美三级电影精品| 日韩成人一级大片| 日韩美女一区二区三区| 国产成人无遮挡在线视频| 国产女主播一区| 在线看日本不卡| 亚洲午夜在线视频| 777亚洲妇女| 国产一区欧美日韩| 亚洲欧洲日本在线| 欧美日韩久久久| 国产乱一区二区| 亚洲精品视频一区二区| 5566中文字幕一区二区电影| 久久 天天综合| 亚洲视频 欧洲视频| 欧美日韩高清在线播放| 国产综合色在线视频区| 亚洲日本在线天堂| 日韩一级成人av| 成人av手机在线观看| 亚洲高清免费视频| 国产午夜精品福利| 91国偷自产一区二区开放时间| 日韩电影在线观看一区| 日本一区二区在线不卡| 欧美午夜理伦三级在线观看| 精品一区二区三区在线视频| 亚洲视频狠狠干| 精品入口麻豆88视频| 色乱码一区二区三区88| 精品亚洲欧美一区| 亚洲一区中文日韩| 国产三级一区二区三区| 欧美久久久久久久久中文字幕| 国产一区在线精品| 午夜日韩在线电影| 中文字幕在线观看不卡| 日韩免费看的电影| 欧美专区在线观看一区| 成人深夜视频在线观看| 日韩精品国产欧美| 亚洲视频免费在线观看| 久久色在线观看| 欧美一区二区日韩| 欧美在线视频全部完| 国产999精品久久| 免费成人在线网站| 亚洲福利一区二区三区|