sei.h File Reference

definitions for Supplemental Enhanced Information More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  bufferingperiod_information_struct
struct  sei_struct
 SEI structure. More...
struct  spare_picture_struct
 Spare Picture. More...
struct  subseq_information_struct
 Subseq Information. More...
struct  subseq_layer_information_struct
 Subseq Layer Information. More...
struct  subseq_char_information_struct
 Subseq Characteristics. More...
struct  scene_information_struct
struct  panscanrect_information_struct
 PanScanRect Information. More...
struct  user_data_unregistered_information_struct
 User_data_unregistered Information. More...
struct  user_data_registered_itu_t_t35_information_struct
 User_data_registered_itu_t_t35 Information. More...
struct  recovery_point_information_struct
 Recovery Point Information. More...
struct  pictiming_information_struct
 Picture timing Information. More...
struct  drpm_repetition_information_struct
 Picture timing Information. More...
struct  post_filter_information_struct
 Post Filter Hints Information. More...
struct  ToneMappingSEI
struct  sei_params

Defines

#define MAX_LAYER_NUMBER   2
#define MAX_DEPENDENT_SUBSEQ   5
#define MAX_CODED_BIT_DEPTH   12
#define MAX_SEI_BIT_DEPTH   12
#define MAX_NUM_PIVOTS   (1<<MAX_CODED_BIT_DEPTH)
#define MAX_CPB_CNT_MINUS1   31
#define MAX_PIC_STRUCT_VALUE   16
#define MAX_FN   256
#define AGGREGATION_PACKET_TYPE   4
#define SEI_PACKET_TYPE   5
#define NORMAL_SEI   0
#define AGGREGATION_SEI   1

Typedefs

typedef struct sei_params SEIParameters

Enumerations

enum  SEI_type {
  SEI_BUFFERING_PERIOD = 0, SEI_PIC_TIMING, SEI_PAN_SCAN_RECT, SEI_FILLER_PAYLOAD,
  SEI_USER_DATA_REGISTERED_ITU_T_T35, SEI_USER_DATA_UNREGISTERED, SEI_RECOVERY_POINT, SEI_DEC_REF_PIC_MARKING_REPETITION,
  SEI_SPARE_PIC, SEI_SCENE_INFO, SEI_SUB_SEQ_INFO, SEI_SUB_SEQ_LAYER_CHARACTERISTICS,
  SEI_SUB_SEQ_CHARACTERISTICS, SEI_FULL_FRAME_FREEZE, SEI_FULL_FRAME_FREEZE_RELEASE, SEI_FULL_FRAME_SNAPSHOT,
  SEI_PROGRESSIVE_REFINEMENT_SEGMENT_START, SEI_PROGRESSIVE_REFINEMENT_SEGMENT_END, SEI_MOTION_CONSTRAINED_SLICE_GROUP_SET, SEI_FILM_GRAIN_CHARACTERISTICS,
  SEI_DEBLOCKING_FILTER_DISPLAY_PREFERENCE, SEI_STEREO_VIDEO_INFO, SEI_POST_FILTER_HINTS, SEI_TONE_MAPPING,
  SEI_MAX_ELEMENTS
}

Functions

void InitSEIMessages (ImageParameters *p_Img, InputParameters *p_Inp)
void CloseSEIMessages (ImageParameters *p_Img, InputParameters *p_Inp)
Boolean HaveAggregationSEI (ImageParameters *p_Img)
void clear_sei_message (SEIParameters *p_SEI, int id)
void AppendTmpbits2Buf (Bitstream *dest, Bitstream *source)
void PrepareAggregationSEIMessage (ImageParameters *p_Img)
void CalculateSparePicture ()
Boolean CompressSpareMBMap (ImageParameters *p_Img, unsigned char **map_sp, Bitstream *bitstream)
void InitSubseqInfo (SEIParameters *p_SEI, int currLayer)
void UpdateSubseqInfo (ImageParameters *p_Img, InputParameters *p_Inp, int currLayer)
void CloseSubseqInfo (SEIParameters *p_SEI, int currLayer)
void CloseSubseqLayerInfo ()
void UpdateSubseqChar (ImageParameters *p_Img)
void InitSceneInformation (SEIParameters *p_SEI)
void CloseSceneInformation (SEIParameters *p_SEI)
void UpdateSceneInformation (SEIParameters *p_SEI, Boolean HasSceneInformation, int sceneID, int sceneTransType, int secondSceneID)
void FinalizeSceneInformation (SEIParameters *p_SEI)
void UpdatePanScanRectInfo (SEIParameters *p_SEI)
void UpdateUser_data_unregistered (SEIParameters *p_SEI)
void UpdateUser_data_registered_itu_t_t35 (SEIParameters *p_SEI)
void ClearRandomAccess (SEIParameters *p_SEI)
void UpdateRandomAccess (ImageParameters *p_Img)
void UpdateToneMapping (SEIParameters *p_SEI)
void init_sei (SEIParameters *p_SEI)
int Write_SEI_NALU (ImageParameters *p_Img, int len)
void InitBufferingPeriod (ImageParameters *p_Img)
void ClearBufferingPeriod (SEIParameters *p_SEI, seq_parameter_set_rbsp_t *active_sps)
void UpdateBufferingPeriod (ImageParameters *p_Img, InputParameters *p_Inp)
void ClearPicTiming (SEIParameters *p_SEI)
void UpdatePicTiming (ImageParameters *p_Img, InputParameters *p_Inp)
void ClearDRPMRepetition (SEIParameters *p_SEI)
void UpdateDRPMRepetition (SEIParameters *p_SEI)
void free_drpm_buffer (DecRefPicMarking_t *pDRPM)
void UpdatePostFilterHints (SEIParameters *p_SEI)
void ComposeSparePictureMessage (SEIParameters *p_SEI, int delta_spare_frame_num, int ref_area_indicator, Bitstream *tmpBitstream)


Detailed Description

definitions for Supplemental Enhanced Information

sei.h

Author:
(s)
************************************************************************

Definition in file sei.h.


Define Documentation

#define MAX_CPB_CNT_MINUS1   31

Buffering Period Information.

Definition at line 26 of file sei.h.


Enumeration Type Documentation

enum SEI_type

definition of SEI payload type

Enumerator:
SEI_MAX_ELEMENTS  number of maximum syntax elements

Definition at line 38 of file sei.h.


Function Documentation

void AppendTmpbits2Buf ( Bitstream dest,
Bitstream source 
)

copy the bits from one bitstream buffer to another one

Parameters:
dest pointer to the dest bitstream buffer
source pointer to the source bitstream buffer
Output
the content of the dest bitstream is changed.

Definition at line 301 of file sei.c.

References Bitstream::bits_to_go, Bitstream::byte_buf, Bitstream::byte_pos, and Bitstream::streamBuffer.

Referenced by ComposeSparePictureMessage(), and FinalizeSpareMBMap().

void CalculateSparePicture (  ) 

Calculate the spare picture info, save the result in map_sp then compose the spare picture information.

Output
the spare picture payload is available in *seiSparePicturePayload* the syntax elements in the loop (see FCD), excluding the two elements at the beginning.

Definition at line 413 of file sei.c.

void clear_sei_message ( SEIParameters *  p_SEI,
int  id 
)

empty the sei message buffer

Parameters:
p_SEI the SEI message to be cleared
id 0, if this is the normal packet
1, if this is a aggregation packet
Output
the content of the sei message is cleared and ready for storing new messages

Definition at line 282 of file sei.c.

References MAXRTPPAYLOADLEN.

Referenced by PrepareAggregationSEIMessage().

void CloseSubseqInfo ( SEIParameters *  p_SEI,
int  currLayer 
)

Close the global variables for spare picture information.

Definition at line 973 of file sei.c.

void ComposeSparePictureMessage ( SEIParameters *  p_SEI,
int  delta_spare_frame_num,
int  ref_area_indicator,
Bitstream tmpBitstream 
)

compose the spare picture information.

Parameters:
p_SEI SEI message
delta_spare_frame_num see FCD
ref_area_indicator Indicate how to represent the spare mb map
tmpBitstream pointer to a buffer to save the payload
Output
bitstream: the composed spare picture payload are ready to put into the sei_message.

Definition at line 596 of file sei.c.

References AppendTmpbits2Buf(), syntaxelement::type, ue_linfo(), syntaxelement::value1, and writeSyntaxElement2Buf_UVLC().

Here is the call graph for this function:

Boolean CompressSpareMBMap ( ImageParameters p_Img,
unsigned char **  map_sp,
Bitstream bitstream 
)

test if the compressed spare mb map will occupy less mem and fill the payload buffer.

Parameters:
p_Img Image parameters for current picture coding
map_sp in which the spare picture information are stored.
bitstream pointer to a buffer to save the payload
Returns:
TRUE: If it is compressed version,
FALSE: If it is not compressed.

Definition at line 628 of file sei.c.

References Bitstream::bits_to_go, Bitstream::byte_buf, Bitstream::byte_pos, img_par::height, Bitstream::streamBuffer, syntaxelement::type, ue_linfo(), syntaxelement::value1, img_par::width, and writeSyntaxElement2Buf_UVLC().

Here is the call graph for this function:

void free_drpm_buffer ( DecRefPicMarking_t pDRPM  ) 

Free dec_ref_pic_marking_bufffer structure.

Definition at line 2729 of file sei.c.

void InitSubseqInfo ( SEIParameters *  p_SEI,
int  currLayer 
)

init subseqence info

Definition at line 858 of file sei.c.

References MAXRTPPAYLOADLEN, and no_mem_exit().

Here is the call graph for this function:

void PrepareAggregationSEIMessage ( ImageParameters p_Img  ) 

Prepare the aggregation sei message.

Date:
September 10, 2002
Author:
Dong Tian tian@cs.tut.fi

Definition at line 2597 of file sei.c.

References clear_sei_message(), ClearSubseqInfoPayload(), finalize_sei_message(), FinalizeSpareMBMap(), FinalizeSubseqInfo(), FinalizeSubseqLayerInfo(), img_par::layer, img_par::number, and write_sei_message().

Referenced by write_non_vcl_nalu().

Here is the call graph for this function:

void UpdateSubseqInfo ( ImageParameters p_Img,
InputParameters p_Inp,
int  currLayer 
)

update subsequence info

Definition at line 885 of file sei.c.

References img_par::gop_number, inp_par_enc::no_frm_base, img_par::number, and inp_par_enc::NumberBFrames.

Referenced by write_non_vcl_nalu().


Documentation generated with DoxyGen