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

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

?? sei.h

?? 一個簡單的視頻會議VC++MFC工程文件
?? H
字號:

/*!
 ************************************************************************
 *  \file
 *     sei.h
 *  \brief
 *     definitions for Supplemental Enhanced Information
 *  \author(s)
 *      - Dong Tian                             <tian@cs.tut.fi>
 *      - TBD
 *
 * ************************************************************************
 */

#ifndef SEI_H
#define SEI_H

#define MAX_LAYER_NUMBER 2
#define MAX_DEPENDENT_SUBSEQ 5


//! definition of SEI payload type
typedef enum {
  SEI_ZERO,        //!< 0 is undefined, useless
  SEI_TEMPORAL_REF,
  SEI_CLOCK_TIMESTAMP,
  SEI_PANSCAN_RECT,
  SEI_BUFFERING_PERIOD,
  SEI_HRD_PICTURE,
  SEI_FILLER_PAYLOAD,
  SEI_USER_DATA_REGISTERED_ITU_T_T35,
  SEI_USER_DATA_UNREGISTERED,
  SEI_RANDOM_ACCESS_POINT,
  SEI_REF_PIC_BUFFER_MANAGEMENT_REPETITION,
  SEI_SPARE_PICTURE,
  SEI_SCENE_INFORMATION,
  SEI_SUBSEQ_INFORMATION,
  SEI_SUBSEQ_LAYER_CHARACTERISTICS,
  SEI_SUBSEQ_CHARACTERISTICS,
  SEI_MAX_ELEMENTS  //!< number of maximum syntax elements
} SEI_type;

#define MAX_FN 256

#define AGGREGATION_PACKET_TYPE 4
#define SEI_PACKET_TYPE 5  // Tian Dong: See VCEG-N72, it need updates

#define NORMAL_SEI 0
#define AGGREGATION_SEI 1

//! SEI structure
typedef struct
{
  Boolean available;
  int payloadSize;
  unsigned char subPacketType;
  byte* data;
} sei_struct;

//!< sei_message[0]: this struct is to store the sei message packtized independently 
//!< sei_message[1]: this struct is to store the sei message packtized together with slice data
extern sei_struct sei_message[2];

void InitSEIMessages();
void CloseSEIMessages();
Boolean HaveAggregationSEI();
void write_sei_message(int id, byte* payload, int payload_size, int payload_type);
void finalize_sei_message(int id);
void clear_sei_message(int id);
void AppendTmpbits2Buf( Bitstream* dest, Bitstream* source );

void PrepareAggregationSEIMessage();


//! Spare Picture
typedef struct
{
  int target_frame_num;
  int num_spare_pics;
  int payloadSize;
  Bitstream* data;
} spare_picture_struct;

extern Boolean seiHasSparePicture;
//extern Boolean sei_has_sp;
extern spare_picture_struct seiSparePicturePayload;

void InitSparePicture();
void CloseSparePicture();
void CalculateSparePicture();
void ComposeSparePictureMessage(int delta_spare_frame_num, int ref_area_indicator, Bitstream *tmpBitstream);
Boolean CompressSpareMBMap(unsigned char **map_sp, Bitstream *bitstream);
void FinalizeSpareMBMap();

//! Subseq Information
typedef struct
{
  int subseq_layer_num;
  int subseq_id;
  unsigned int last_picture_flag;
  unsigned int stored_frame_cnt;

  int payloadSize;
  Bitstream* data;
} subseq_information_struct;

extern Boolean seiHasSubseqInfo;
extern subseq_information_struct seiSubseqInfo[MAX_LAYER_NUMBER];

void InitSubseqInfo(int currLayer);
void UpdateSubseqInfo(int currLayer);
void FinalizeSubseqInfo(int currLayer);
void ClearSubseqInfoPayload(int currLayer);
void CloseSubseqInfo(int currLayer);

//! Subseq Layer Information
typedef struct
{
  unsigned short bit_rate[MAX_LAYER_NUMBER];
  unsigned short frame_rate[MAX_LAYER_NUMBER];
  byte data[4*MAX_LAYER_NUMBER];
  int layer_number;
  int payloadSize;
} subseq_layer_information_struct;

extern Boolean seiHasSubseqLayerInfo;
extern subseq_layer_information_struct seiSubseqLayerInfo;

void InitSubseqLayerInfo();
void CloseSubseqLayerInfo();
void FinalizeSubseqLayerInfo();

//! Subseq Characteristics
typedef struct
{
  int subseq_layer_num;
  int subseq_id;
  int duration_flag;
  unsigned int subseq_duration;
  unsigned int average_rate_flag;
  unsigned int average_bit_rate;
  unsigned int average_frame_rate;
  int num_referenced_subseqs;
  int ref_subseq_layer_num[MAX_DEPENDENT_SUBSEQ];
  int ref_subseq_id[MAX_DEPENDENT_SUBSEQ];

  Bitstream* data;
  int payloadSize;
} subseq_char_information_struct;

extern Boolean seiHasSubseqChar;
extern subseq_char_information_struct seiSubseqChar;

void InitSubseqChar();
void ClearSubseqCharPayload();
void UpdateSubseqChar();
void FinalizeSubseqChar();
void CloseSubseqChar();


//! JVT-D099 Scene information SEI message
typedef struct
{
  int scene_id;
  int scene_transition_type;
  int second_scene_id;

  Bitstream* data;
  int payloadSize;
} scene_information_struct;

extern Boolean seiHasSceneInformation;
extern scene_information_struct seiSceneInformation;

void InitSceneInformation();
void CloseSceneInformation();
void UpdateSceneInformation(Boolean HasSceneInformation, int sceneID, int sceneTransType, int secondSceneID);
void FinalizeSceneInformation();
//! End JVT-D099 Scene information SEI message

//! Shankar Regunathan Oct 2002
//! PanScanRect Information
typedef struct
{
  int pan_scan_rect_id; 
  int pan_scan_rect_left_offset;
  int pan_scan_rect_right_offset;
  int pan_scan_rect_top_offset;
  int pan_scan_rect_bottom_offset;

  Bitstream *data;
  int payloadSize;
} panscanrect_information_struct;

extern Boolean seiHasPanScanRectInfo;
extern panscanrect_information_struct seiPanScanRectInfo;

void InitPanScanRectInfo();
void ClearPanScanRectInfoPayload();
void UpdatePanScanRectInfo();
void FinalizePanScanRectInfo();
void ClosePanScanRectInfo();

//! User_data_unregistered Information
typedef struct
{
  char *byte;
  int total_byte;
  Bitstream *data;
  int payloadSize;
} user_data_unregistered_information_struct;
Boolean seiHasUser_data_unregistered_info;
user_data_unregistered_information_struct seiUser_data_unregistered;

void InitUser_data_unregistered();
void ClearUser_data_unregistered();
void UpdateUser_data_unregistered();
void FinalizeUser_data_unregistered();
void CloseUser_data_unregistered();

//! User_data_registered_itu_t_t35 Information
typedef struct
{
  char *byte;
  int total_byte;
  int itu_t_t35_country_code;
  int itu_t_t35_country_code_extension_byte;
  Bitstream *data;
  int payloadSize;
} user_data_registered_itu_t_t35_information_struct;
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();
void ClearUser_data_registered_itu_t_t35();
void UpdateUser_data_registered_itu_t_t35();
void FinalizeUser_data_registered_itu_t_t35();
void CloseUser_data_registered_itu_t_t35();

//! RandomAccess Information
typedef struct
{
  unsigned char recovery_point_flag;
  unsigned char exact_match_flag;
  unsigned char broken_link_flag;

  Bitstream *data;
  int payloadSize;
} randomaccess_information_struct;
Boolean seiHasRandomAccess_info;
randomaccess_information_struct seiRandomAccess;

void InitRandomAccess();
void ClearRandomAccess();
void UpdateRandomAccess();
void FinalizeRandomAccess();
void CloseRandomAccess();

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色婷婷综合久久久中文字幕| 亚洲风情在线资源站| 粉嫩一区二区三区在线看| 亚洲成人自拍一区| 国产成人综合在线播放| 久久久久久免费网| 99在线精品视频| 亚洲图片欧美色图| 精品久久久久av影院| 国产综合色精品一区二区三区| 久久久91精品国产一区二区三区| 在线观看视频91| 亚洲成年人网站在线观看| 精品国产在天天线2019| 成人精品免费视频| 亚洲国产裸拍裸体视频在线观看乱了 | 国产欧美一区二区三区在线看蜜臀 | 奇米一区二区三区av| 26uuu亚洲婷婷狠狠天堂| 国产高清在线精品| 一区二区三区在线视频观看| 91精品综合久久久久久| 国产成人丝袜美腿| 亚洲aaa精品| 久久久久久久久久久久电影| 色视频成人在线观看免| 六月婷婷色综合| 亚洲欧美偷拍三级| 精品国产免费久久| 色成人在线视频| 久久电影网站中文字幕| 亚洲精品中文在线观看| 欧美刺激午夜性久久久久久久 | 99国产精品久久久久久久久久久 | 国产精品2024| 日韩av在线发布| 中文字幕佐山爱一区二区免费| 正在播放一区二区| 97精品视频在线观看自产线路二| 蜜臀91精品一区二区三区| 亚洲人快播电影网| 国产日韩欧美电影| 8v天堂国产在线一区二区| 丁香网亚洲国际| 成人免费视频app| 日韩高清电影一区| 一区二区三区国产| 成人激情校园春色| 美女久久久精品| 午夜电影网一区| 国产精品欧美综合在线| 精品三级av在线| 欧美老人xxxx18| 91国偷自产一区二区使用方法| 丁香一区二区三区| 国产一区二区三区免费播放| 青青草原综合久久大伊人精品| 亚洲你懂的在线视频| 中文一区一区三区高中清不卡| 日韩视频中午一区| 欧美一区二区久久久| 欧美三级午夜理伦三级中视频| 99视频热这里只有精品免费| 国产精品91xxx| 久久精品国产一区二区三| 日韩中文字幕一区二区三区| 亚洲一二三专区| 亚洲精品视频免费看| 最新热久久免费视频| 国产精品青草综合久久久久99| 久久久www成人免费无遮挡大片| 精品日本一线二线三线不卡 | 26uuu另类欧美| 精品国一区二区三区| 欧美精品一区二区三区很污很色的| 欧美一级在线视频| 欧美一区二区在线看| 91精品欧美福利在线观看| 欧美一区二区在线观看| 日韩免费性生活视频播放| 日韩精品一区二区在线| 精品国产欧美一区二区| 久久久国产午夜精品| 国产精品女同一区二区三区| ●精品国产综合乱码久久久久| 亚洲桃色在线一区| 亚洲福利视频一区二区| 日本欧美韩国一区三区| 蜜臀久久99精品久久久久宅男| 国产一区在线看| 99久久伊人久久99| 91国内精品野花午夜精品| 精品视频在线视频| 日韩精品影音先锋| 欧美高清在线精品一区| 一区二区三区四区不卡在线 | 成人综合在线观看| 99视频一区二区三区| 欧美日韩1234| 欧美精品一区二区在线观看| 日本一区二区久久| 亚洲一区免费观看| 精品一区二区三区在线观看国产| 粉嫩在线一区二区三区视频| 在线观看www91| 精品精品国产高清a毛片牛牛| 国产精品精品国产色婷婷| 亚洲高清免费视频| 国产精品自在在线| 色琪琪一区二区三区亚洲区| 日韩一区二区三区三四区视频在线观看| 欧美精品一区二区三区蜜桃| 亚洲欧美日韩国产综合在线| 麻豆视频一区二区| a4yy欧美一区二区三区| 日韩欧美专区在线| 亚洲婷婷国产精品电影人久久| 日韩精品国产欧美| 成人免费高清在线观看| 91麻豆精品国产自产在线观看一区 | 色综合天天综合网天天看片| 欧美一区二区三区视频在线观看| 国产亚洲一本大道中文在线| 亚洲一区二区三区影院| 国产一区福利在线| 欧美剧情电影在线观看完整版免费励志电影 | 国产精品精品国产色婷婷| 久久免费视频一区| 日韩高清欧美激情| 91网站在线观看视频| 日韩欧美成人午夜| 亚洲自拍欧美精品| 成人教育av在线| 精品久久99ma| 午夜精品在线视频一区| 91麻豆文化传媒在线观看| 久久色视频免费观看| 亚洲风情在线资源站| 91看片淫黄大片一级在线观看| 精品国产乱码久久久久久闺蜜| 亚洲国产精品麻豆| 色综合久久天天综合网| 久久久一区二区| 理论电影国产精品| 欧美日本一道本| 亚洲综合清纯丝袜自拍| 成年人国产精品| 欧美国产日韩精品免费观看| 久久国产夜色精品鲁鲁99| 欧美另类一区二区三区| 一区二区三区不卡视频在线观看| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 精品久久久久久久久久久久包黑料| 亚洲图片有声小说| 欧美视频一区二区在线观看| 亚洲欧美日韩在线播放| 91小视频免费观看| 综合久久一区二区三区| 成人av先锋影音| 国产精品欧美一级免费| 国产精品一卡二| 亚洲国产精品二十页| 国产jizzjizz一区二区| 国产欧美一区二区三区网站| 国产资源精品在线观看| www日韩大片| 国产精品亚洲第一| 中文天堂在线一区| 99在线视频精品| 亚洲日本va午夜在线影院| 色丁香久综合在线久综合在线观看| 亚洲色图丝袜美腿| 欧美亚洲国产一区二区三区va| 亚洲精品亚洲人成人网| 欧美性色黄大片| 日本亚洲欧美天堂免费| 精品免费视频.| 国产精品99久| 国产精品久久久一区麻豆最新章节| 99热在这里有精品免费| 亚洲综合成人网| 91精品久久久久久久91蜜桃 | 亚洲6080在线| 精品福利一二区| jvid福利写真一区二区三区| 亚洲精品视频在线观看免费 | 精品欧美一区二区三区精品久久| 国产一区二三区| 亚洲色欲色欲www在线观看| 色婷婷综合久久久久中文一区二区 | 欧美一区二区三区色| 精品亚洲国内自在自线福利| 精品国产123| av电影一区二区| 午夜免费久久看| 久久精品一区蜜桃臀影院| 色爱区综合激月婷婷| 日韩不卡一区二区| 亚洲国产精品黑人久久久| 欧美日韩久久不卡|