mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-20 23:36:38 +00:00
h264parse: Start SEI parsing work
This commit is contained in:
parent
397abd5741
commit
e1cfd384d6
2 changed files with 39 additions and 0 deletions
|
@ -210,6 +210,35 @@ gst_nal_bs_read_ue (GstNalBs * bs)
|
|||
return ((1 << i) - 1 + gst_nal_bs_read (bs, i));
|
||||
}
|
||||
|
||||
/* SEI type */
|
||||
typedef enum
|
||||
{
|
||||
SEI_BUF_PERIOD = 0,
|
||||
SEI_PIC_TIMING = 1
|
||||
/* and more... */
|
||||
} GstSeiPayloadType;
|
||||
|
||||
/* SEI pic_struct type */
|
||||
typedef enum
|
||||
{
|
||||
SEI_PIC_STRUCT_FRAME = 0, /* 0: %frame */
|
||||
SEI_PIC_STRUCT_TOP_FIELD = 1, /* 1: top field */
|
||||
SEI_PIC_STRUCT_BOTTOM_FIELD = 2, /* 2: bottom field */
|
||||
SEI_PIC_STRUCT_TOP_BOTTOM = 3, /* 3: top field, bottom field, in that order */
|
||||
SEI_PIC_STRUCT_BOTTOM_TOP = 4, /* 4: bottom field, top field, in that order */
|
||||
SEI_PIC_STRUCT_TOP_BOTTOM_TOP = 5, /* 5: top field, bottom field, top field repeated, in that order */
|
||||
SEI_PIC_STRUCT_BOTTOM_TOP_BOTTOM = 6, /* 6: bottom field, top field, bottom field repeated, in that order */
|
||||
SEI_PIC_STRUCT_FRAME_DOUBLING = 7, /* 7: %frame doubling */
|
||||
SEI_PIC_STRUCT_FRAME_TRIPLING = 8 /* 8: %frame tripling */
|
||||
} GstSeiPicStructType;
|
||||
|
||||
/* pic_struct to NumClockTS lookup table */
|
||||
static const guint8 sei_num_clock_ts_table[9] = {
|
||||
1, 1, 1, 2, 2, 3, 3, 2, 3
|
||||
};
|
||||
|
||||
#define Extended_SAR 255
|
||||
|
||||
/* SPS: sequential parameter sets */
|
||||
struct _GstH264Sps
|
||||
{
|
||||
|
|
|
@ -80,6 +80,16 @@ struct _GstH264Parse
|
|||
/* PPS: sequential parameter set */
|
||||
GstH264Pps *pps_buffers[MAX_PPS_COUNT];
|
||||
GstH264Pps *pps; /* Current PPS */
|
||||
|
||||
/* SEI: supplemental enhancement messages */
|
||||
/* buffering period */
|
||||
guint32 initial_cpb_removal_delay[32];
|
||||
/* picture timing */
|
||||
guint32 sei_cpb_removal_delay;
|
||||
guint32 sei_dpb_output_delay;
|
||||
guint8 sei_pic_struct;
|
||||
guint8 sei_ct_type;
|
||||
/* And more... */
|
||||
};
|
||||
|
||||
struct _GstH264ParseClass
|
||||
|
|
Loading…
Reference in a new issue