GstVc1Parser
For more details about the structures, look at the smpte specifications (S421m-2006.pdf).
Functions
gst_vc1_bitplanes_ensure_size
gboolean gst_vc1_bitplanes_ensure_size (GstVC1BitPlanes * bitplanes, GstVC1SeqHdr * seqhdr)
Fills the bitplanes structure from seqhdr, this function should be called after gst_vc1_parse_sequence_header if in simple or main mode, or after gst_vc1_parse_entry_point_header if in advanced mode.
Parameters:
bitplanes
–
The GstVC1BitPlanes to reset
seqhdr
–
The GstVC1SeqHdr from which to set bitplanes
gst_vc1_bitplanes_free
void gst_vc1_bitplanes_free (GstVC1BitPlanes * bitplanes)
Parameters:
bitplanes
–
gst_vc1_bitplanes_free_1
void gst_vc1_bitplanes_free_1 (GstVC1BitPlanes * bitplanes)
Parameters:
bitplanes
–
gst_vc1_bitplanes_new
GstVC1BitPlanes * gst_vc1_bitplanes_new ()
Creates a new GstVC1BitPlanes. It should be freed with gst_vc1_bitplanes_free after use.
a new GstVC1BitPlanes
gst_vc1_identify_next_bdu
GstVC1ParserResult gst_vc1_identify_next_bdu (guint8 * data, gsize size, GstVC1BDU * bdu)
Parses data and fills bdu fields
Parameters:
data
–
The data to parse
size
–
the size of data
bdu
–
The GstVC1BDU where to store parsed bdu headers
gst_vc1_parse_entry_point_header
GstVC1ParserResult gst_vc1_parse_entry_point_header (guint8 * data, gsize size, GstVC1EntryPointHdr * entrypoint, GstVC1SeqHdr * seqhdr)
Parses data, and sets entrypoint fields.
Parameters:
data
–
The data to parse
size
–
the size of data
entrypoint
–
The GstVC1EntryPointHdr to set.
seqhdr
–
The GstVC1SeqHdr currently being parsed
gst_vc1_parse_field_header
GstVC1ParserResult gst_vc1_parse_field_header (guint8 * data, gsize size, GstVC1FrameHdr * fieldhdr, GstVC1SeqHdr * seqhdr, GstVC1BitPlanes * bitplanes)
Parses data, and fills fieldhdr fields.
Parameters:
data
–
The data to parse
size
–
the size of data
fieldhdr
–
The GstVC1FrameHdr to fill.
seqhdr
–
The GstVC1SeqHdr currently being parsed
bitplanes
–
The GstVC1BitPlanes to store bitplanes in or NULL
gst_vc1_parse_frame_header
GstVC1ParserResult gst_vc1_parse_frame_header (guint8 * data, gsize size, GstVC1FrameHdr * framehdr, GstVC1SeqHdr * seqhdr, GstVC1BitPlanes * bitplanes)
Parses data, and fills entrypoint fields.
Parameters:
data
–
The data to parse
size
–
the size of data
framehdr
–
The GstVC1FrameHdr to fill.
seqhdr
–
The GstVC1SeqHdr currently being parsed
bitplanes
–
The GstVC1BitPlanes to store bitplanes in or NULL
gst_vc1_parse_frame_layer
GstVC1ParserResult gst_vc1_parse_frame_layer (guint8 * data, gsize size, GstVC1FrameLayer * framelayer)
Parses data, and fills framelayer fields.
Parameters:
data
–
The data to parse
size
–
the size of data
framelayer
–
The GstVC1FrameLayer to fill.
gst_vc1_parse_sequence_header
GstVC1ParserResult gst_vc1_parse_sequence_header (guint8 * data, gsize size, GstVC1SeqHdr * seqhdr)
Parses data, and fills seqhdr fields.
gst_vc1_parse_sequence_header_struct_a
GstVC1ParserResult gst_vc1_parse_sequence_header_struct_a (guint8 * data, gsize size, GstVC1SeqStructA * structa)
Parses data, and fills structa fields.
gst_vc1_parse_sequence_header_struct_b
GstVC1ParserResult gst_vc1_parse_sequence_header_struct_b (guint8 * data, gsize size, GstVC1SeqStructB * structb)
Parses data, and fills structb fields.
gst_vc1_parse_sequence_header_struct_c
GstVC1ParserResult gst_vc1_parse_sequence_header_struct_c (guint8 * data, gsize size, GstVC1SeqStructC * structc)
Parses data, and fills structc fields.
gst_vc1_parse_sequence_layer
GstVC1ParserResult gst_vc1_parse_sequence_layer (guint8 * data, gsize size, GstVC1SeqLayer * seqlayer)
Parses data, and fills seqlayer fields.
gst_vc1_parse_slice_header
GstVC1ParserResult gst_vc1_parse_slice_header (guint8 * data, gsize size, GstVC1SliceHdr * slicehdr, GstVC1SeqHdr * seqhdr)
Parses data, and fills slicehdr fields.
Parameters:
data
–
The data to parse
size
–
The size of data
slicehdr
–
The GstVC1SliceHdr to fill
seqhdr
–
The GstVC1SeqHdr that was previously parsed
Since : 1.2
Structures
GstVC1AdvancedSeqHdr
struct _GstVC1AdvancedSeqHdr { GstVC1Level level; guint8 frmrtq_postproc; guint8 bitrtq_postproc; guint8 postprocflag; guint16 max_coded_width; guint16 max_coded_height; guint8 pulldown; guint8 interlace; guint8 tfcntrflag; guint8 finterpflag; guint8 psf; guint8 display_ext; guint16 disp_horiz_size; guint16 disp_vert_size; guint8 aspect_ratio_flag; guint8 aspect_ratio; guint8 aspect_horiz_size; guint8 aspect_vert_size; guint8 framerate_flag; guint8 framerateind; guint8 frameratenr; guint8 frameratedr; guint16 framerateexp; guint8 color_format_flag; guint8 color_prim; guint8 transfer_char; guint8 matrix_coef; guint8 hrd_param_flag; guint8 colordiff_format; GstVC1HrdParam hrd_param; /* computed */ guint framerate; /* Around in fps, 0 if unknown*/ guint bitrate; /* Around in kpbs, 0 if unknown*/ guint par_n; guint par_d; guint fps_n; guint fps_d; /* The last parsed entry point */ GstVC1EntryPointHdr entrypoint; };
Structure for the advanced profile sequence headers specific parameters.
Fields
level
(GstVC1Level)
–
frmrtq_postproc
(guint8)
–
bitrtq_postproc
(guint8)
–
postprocflag
(guint8)
–
max_coded_width
(guint16)
–
max_coded_height
(guint16)
–
pulldown
(guint8)
–
interlace
(guint8)
–
tfcntrflag
(guint8)
–
finterpflag
(guint8)
–
psf
(guint8)
–
display_ext
(guint8)
–
disp_horiz_size
(guint16)
–
disp_vert_size
(guint16)
–
aspect_ratio_flag
(guint8)
–
aspect_ratio
(guint8)
–
aspect_horiz_size
(guint8)
–
aspect_vert_size
(guint8)
–
framerate_flag
(guint8)
–
framerateind
(guint8)
–
frameratenr
(guint8)
–
frameratedr
(guint8)
–
framerateexp
(guint16)
–
color_format_flag
(guint8)
–
color_prim
(guint8)
–
transfer_char
(guint8)
–
matrix_coef
(guint8)
–
hrd_param_flag
(guint8)
–
colordiff_format
(guint8)
–
hrd_param
(GstVC1HrdParam)
–
framerate
(guint)
–
bitrate
(guint)
–
par_n
(guint)
–
par_d
(guint)
–
fps_n
(guint)
–
fps_d
(guint)
–
entrypoint
(GstVC1EntryPointHdr)
–
GstVC1BDU
struct _GstVC1BDU { GstVC1StartCode type; guint size; guint sc_offset; guint offset; guint8 * data; };
Structure that represents a Bitstream Data Unit.
Fields
type
(GstVC1StartCode)
–
size
(guint)
–
sc_offset
(guint)
–
offset
(guint)
–
data
(guint8 *)
–
GstVC1BitPlanes
struct _GstVC1BitPlanes { guint8 *acpred; guint8 *fieldtx; guint8 *overflags; guint8 *mvtypemb; guint8 *skipmb; guint8 *directmb; guint8 *forwardmb; guint size; /* Size of the arrays */ };
Fields
acpred
(guint8 *)
–
fieldtx
(guint8 *)
–
overflags
(guint8 *)
–
mvtypemb
(guint8 *)
–
skipmb
(guint8 *)
–
directmb
(guint8 *)
–
forwardmb
(guint8 *)
–
size
(guint)
–
GstVC1EntryPointHdr
struct _GstVC1EntryPointHdr { guint8 broken_link; guint8 closed_entry; guint8 panscan_flag; guint8 refdist_flag; guint8 loopfilter; guint8 fastuvmc; guint8 extended_mv; guint8 dquant; guint8 vstransform; guint8 overlap; guint8 quantizer; guint8 coded_size_flag; guint16 coded_width; guint16 coded_height; guint8 extended_dmv; guint8 range_mapy_flag; guint8 range_mapy; guint8 range_mapuv_flag; guint8 range_mapuv; guint8 hrd_full[MAX_HRD_NUM_LEAKY_BUCKETS]; };
Structure for entrypoint header, this will be used only in advanced profiles
Fields
broken_link
(guint8)
–
closed_entry
(guint8)
–
panscan_flag
(guint8)
–
refdist_flag
(guint8)
–
loopfilter
(guint8)
–
fastuvmc
(guint8)
–
extended_mv
(guint8)
–
dquant
(guint8)
–
vstransform
(guint8)
–
overlap
(guint8)
–
quantizer
(guint8)
–
coded_size_flag
(guint8)
–
coded_width
(guint16)
–
coded_height
(guint16)
–
extended_dmv
(guint8)
–
range_mapy_flag
(guint8)
–
range_mapy
(guint8)
–
range_mapuv_flag
(guint8)
–
range_mapuv
(guint8)
–
hrd_full
(guint8[31] )
–
GstVC1FrameHdr
struct _GstVC1FrameHdr { /* common fields */ GstVC1PictureType ptype; guint8 interpfrm; guint8 halfqp; guint8 transacfrm; guint8 transdctab; guint8 pqindex; guint8 pquantizer; /* Computed */ guint8 pquant; /* Convenience fields */ guint8 profile; guint8 dquant; /* If dquant */ GstVC1VopDquant vopdquant; union { GstVC1PicSimpleMain simple; GstVC1PicAdvanced advanced; } pic; /* Size of the picture layer in bits */ guint header_size; };
Structure that represent picture in any profile or mode. You should look at ptype and profile to know what is currently in use.
Fields
ptype
(GstVC1PictureType)
–
interpfrm
(guint8)
–
halfqp
(guint8)
–
transacfrm
(guint8)
–
transdctab
(guint8)
–
pqindex
(guint8)
–
pquantizer
(guint8)
–
pquant
(guint8)
–
profile
(guint8)
–
dquant
(guint8)
–
vopdquant
(GstVC1VopDquant)
–
pic.simple
(GstVC1PicSimpleMain)
–
pic.advanced
(GstVC1PicAdvanced)
–
header_size
(guint)
–
GstVC1FrameLayer
struct _GstVC1FrameLayer { guint8 key; guint32 framesize; guint32 timestamp; /* calculated */ guint32 next_framelayer_offset; guint8 skiped_p_frame; };
Fields
key
(guint8)
–
framesize
(guint32)
–
timestamp
(guint32)
–
next_framelayer_offset
(guint32)
–
skiped_p_frame
(guint8)
–
GstVC1HrdParam
struct _GstVC1HrdParam { guint8 hrd_num_leaky_buckets; guint8 bit_rate_exponent; guint8 buffer_size_exponent; guint16 hrd_rate[MAX_HRD_NUM_LEAKY_BUCKETS]; guint16 hrd_buffer[MAX_HRD_NUM_LEAKY_BUCKETS]; };
Fields
hrd_num_leaky_buckets
(guint8)
–
bit_rate_exponent
(guint8)
–
buffer_size_exponent
(guint8)
–
hrd_rate
(guint16[31] )
–
hrd_buffer
(guint16[31] )
–
GstVC1PicAdvanced
struct _GstVC1PicAdvanced { GstVC1FrameCodingMode fcm; guint8 tfcntr; guint8 rptfrm; guint8 tff; guint8 rff; guint8 ps_present; guint32 ps_hoffset; guint32 ps_voffset; guint16 ps_width; guint16 ps_height; guint8 rndctrl; guint8 uvsamp; guint8 postproc; /* B and P picture specific */ guint8 mvrange; guint8 mvmode; guint8 mvtab; guint8 cbptab; guint8 ttmbf; guint8 ttfrm; /* B and BI picture only * Should be divided by #GST_VC1_BFRACTION_BASIS * to get the real value. */ guint16 bfraction; /* ppic */ guint8 mvmode2; guint8 lumscale; guint8 lumshift; /* bipic */ guint8 bf; guint8 condover; guint8 transacfrm2; /* Biplane value, those fields only mention the fact * that the bitplane is in raw mode or not */ guint8 acpred; guint8 overflags; guint8 mvtypemb; guint8 skipmb; guint8 directmb; guint8 forwardmb; /* B pic interlace field only */ /* For interlaced pictures only */ guint8 fieldtx; /* P and B pictures */ guint8 intcomp; guint8 dmvrange; guint8 mbmodetab; guint8 imvtab; guint8 icbptab; guint8 mvbptab2; guint8 mvbptab4; /* If 4mvswitch in ppic */ /* P picture */ guint8 mvswitch4; /* For interlaced fields only */ guint16 refdist; guint8 fptype; /* Raw value */ /* P pic */ guint8 numref; guint8 reffield; guint8 lumscale2; guint8 lumshift2; guint8 intcompfield; };
Fields
fcm
(GstVC1FrameCodingMode)
–
tfcntr
(guint8)
–
rptfrm
(guint8)
–
tff
(guint8)
–
rff
(guint8)
–
ps_present
(guint8)
–
ps_hoffset
(guint32)
–
ps_voffset
(guint32)
–
ps_width
(guint16)
–
ps_height
(guint16)
–
rndctrl
(guint8)
–
uvsamp
(guint8)
–
postproc
(guint8)
–
mvrange
(guint8)
–
mvmode
(guint8)
–
mvtab
(guint8)
–
cbptab
(guint8)
–
ttmbf
(guint8)
–
ttfrm
(guint8)
–
bfraction
(guint16)
–
mvmode2
(guint8)
–
lumscale
(guint8)
–
lumshift
(guint8)
–
bf
(guint8)
–
condover
(guint8)
–
transacfrm2
(guint8)
–
acpred
(guint8)
–
overflags
(guint8)
–
mvtypemb
(guint8)
–
skipmb
(guint8)
–
directmb
(guint8)
–
forwardmb
(guint8)
–
fieldtx
(guint8)
–
intcomp
(guint8)
–
dmvrange
(guint8)
–
mbmodetab
(guint8)
–
imvtab
(guint8)
–
icbptab
(guint8)
–
mvbptab2
(guint8)
–
mvbptab4
(guint8)
–
mvswitch4
(guint8)
–
refdist
(guint16)
–
fptype
(guint8)
–
numref
(guint8)
–
reffield
(guint8)
–
lumscale2
(guint8)
–
lumshift2
(guint8)
–
intcompfield
(guint8)
–
GstVC1PicSimpleMain
struct _GstVC1PicSimpleMain { guint8 frmcnt; guint8 mvrange; guint8 rangeredfrm; /* I and P pic simple and main profiles only */ guint8 respic; /* I and BI pic simple and main profiles only */ guint8 transacfrm2; guint8 bf; /* B and P pic simple and main profiles only */ guint8 mvmode; guint8 mvtab; guint8 ttmbf; /* P pic simple and main profiles only */ guint8 mvmode2; guint8 lumscale; guint8 lumshift; guint8 cbptab; guint8 ttfrm; /* B and BI picture only * Should be divided by #GST_VC1_BFRACTION_BASIS * to get the real value. */ guint16 bfraction; /* Biplane value, those fields only mention the fact * that the bitplane is in raw mode or not */ guint8 mvtypemb; guint8 skipmb; guint8 directmb; /* B pic main profile only */ };
Fields
frmcnt
(guint8)
–
mvrange
(guint8)
–
rangeredfrm
(guint8)
–
respic
(guint8)
–
transacfrm2
(guint8)
–
bf
(guint8)
–
mvmode
(guint8)
–
mvtab
(guint8)
–
ttmbf
(guint8)
–
mvmode2
(guint8)
–
lumscale
(guint8)
–
lumshift
(guint8)
–
cbptab
(guint8)
–
ttfrm
(guint8)
–
bfraction
(guint16)
–
mvtypemb
(guint8)
–
skipmb
(guint8)
–
directmb
(guint8)
–
GstVC1SeqHdr
struct _GstVC1SeqHdr { GstVC1Profile profile; GstVC1SeqStructC struct_c; /* calculated */ guint mb_height; guint mb_width; guint mb_stride; GstVC1AdvancedSeqHdr advanced; };
Structure for sequence headers in any profile.
Fields
profile
(GstVC1Profile)
–
struct_c
(GstVC1SeqStructC)
–
mb_height
(guint)
–
mb_width
(guint)
–
mb_stride
(guint)
–
advanced
(GstVC1AdvancedSeqHdr)
–
GstVC1SeqLayer
struct _GstVC1SeqLayer { guint32 numframes; GstVC1SeqStructA struct_a; GstVC1SeqStructB struct_b; GstVC1SeqStructC struct_c; };
Fields
numframes
(guint32)
–
struct_a
(GstVC1SeqStructA)
–
struct_b
(GstVC1SeqStructB)
–
struct_c
(GstVC1SeqStructC)
–
GstVC1SeqStructA
struct _GstVC1SeqStructA { guint32 vert_size; guint32 horiz_size; };
Fields
vert_size
(guint32)
–
horiz_size
(guint32)
–
GstVC1SeqStructB
struct _GstVC1SeqStructB { GstVC1Level level; guint8 cbr; guint32 framerate; /* In simple and main profiles only */ guint32 hrd_buffer; guint32 hrd_rate; };
Fields
level
(GstVC1Level)
–
cbr
(guint8)
–
framerate
(guint32)
–
hrd_buffer
(guint32)
–
hrd_rate
(guint32)
–
GstVC1SeqStructC
struct _GstVC1SeqStructC { GstVC1Profile profile; /* Only in simple and main profiles */ guint8 frmrtq_postproc; guint8 bitrtq_postproc; guint8 res_sprite; guint8 loop_filter; guint8 multires; guint8 fastuvmc; guint8 extended_mv; guint8 dquant; guint8 vstransform; guint8 overlap; guint8 syncmarker; guint8 rangered; guint8 maxbframes; guint8 quantizer; guint8 finterpflag; /* Computed */ guint framerate; /* Around in fps, 0 if unknown*/ guint bitrate; /* Around in kpbs, 0 if unknown*/ /* This should be filled by user if previously known */ guint16 coded_width; /* This should be filled by user if previously known */ guint16 coded_height; /* Wmvp specific */ guint8 wmvp; /* Specify if the stream is wmp or not */ /* In the wmvp case, the framerate is not computed but in the bitstream */ guint8 slice_code; };
Fields
profile
(GstVC1Profile)
–
frmrtq_postproc
(guint8)
–
bitrtq_postproc
(guint8)
–
res_sprite
(guint8)
–
loop_filter
(guint8)
–
multires
(guint8)
–
fastuvmc
(guint8)
–
extended_mv
(guint8)
–
dquant
(guint8)
–
vstransform
(guint8)
–
overlap
(guint8)
–
syncmarker
(guint8)
–
rangered
(guint8)
–
maxbframes
(guint8)
–
quantizer
(guint8)
–
finterpflag
(guint8)
–
framerate
(guint)
–
bitrate
(guint)
–
coded_width
(guint16)
–
coded_height
(guint16)
–
wmvp
(guint8)
–
slice_code
(guint8)
–
GstVC1SliceHdr
struct _GstVC1SliceHdr { guint16 slice_addr; /* Size of the slice layer in bits */ guint header_size; };
Structure that represents slice layer in advanced profile.
Fields
slice_addr
(guint16)
–
header_size
(guint)
–
GstVC1VopDquant
struct _GstVC1VopDquant { guint8 pqdiff; guint8 abspq; /* Computed */ guint8 altpquant; /* if dqant != 2*/ guint8 dquantfrm; guint8 dqprofile; /* Boundary edge selection. This represents DQSBEDGE * if dqprofile == GST_VC1_DQPROFILE_SINGLE_EDGE or * DQDBEDGE if dqprofile == GST_VC1_DQPROFILE_DOUBLE_EDGE */ guint8 dqbedge; /* FIXME: remove */ guint8 unused; /* if dqprofile == GST_VC1_DQPROFILE_ALL_MBS */ guint8 dqbilevel; };
Fields
pqdiff
(guint8)
–
abspq
(guint8)
–
altpquant
(guint8)
–
dquantfrm
(guint8)
–
dqprofile
(guint8)
–
dqbedge
(guint8)
–
unused
(guint8)
–
dqbilevel
(guint8)
–
Enumerations
GstVC1Condover
typedef enum { GST_VC1_CONDOVER_NONE, GST_VC1_CONDOVER_ALL, GST_VC1_CONDOVER_SELECT } GstVC1Condover;
Members
GST_VC1_CONDOVER_NONE
(0)
–
GST_VC1_CONDOVER_ALL
(1)
–
GST_VC1_CONDOVER_SELECT
(2)
–
GstVC1DQProfile
typedef enum { GST_VC1_DQPROFILE_FOUR_EDGES, GST_VC1_DQPROFILE_DOUBLE_EDGES, GST_VC1_DQPROFILE_SINGLE_EDGE, GST_VC1_DQPROFILE_ALL_MBS } GstVC1DQProfile;
Members
GST_VC1_DQPROFILE_FOUR_EDGES
(0)
–
GST_VC1_DQPROFILE_DOUBLE_EDGES
(1)
–
GST_VC1_DQPROFILE_SINGLE_EDGE
(2)
–
GST_VC1_DQPROFILE_ALL_MBS
(3)
–
GstVC1FrameCodingMode
typedef enum { GST_VC1_FRAME_PROGRESSIVE = 0x0, GST_VC1_FRAME_INTERLACE = 0x10, GST_VC1_FIELD_INTERLACE = 0x11 } GstVC1FrameCodingMode;
Members
GST_VC1_FRAME_PROGRESSIVE
(0)
–
GST_VC1_FRAME_INTERLACE
(16)
–
GST_VC1_FIELD_INTERLACE
(17)
–
GstVC1Level
typedef enum { GST_VC1_LEVEL_LOW = 0, /* Simple/Main profile low level */ GST_VC1_LEVEL_MEDIUM = 2, /* Simple/Main profile medium level */ GST_VC1_LEVEL_HIGH = 4, /* Main profile high level */ GST_VC1_LEVEL_L0 = 0, /* Advanced profile level 0 */ GST_VC1_LEVEL_L1 = 1, /* Advanced profile level 1 */ GST_VC1_LEVEL_L2 = 2, /* Advanced profile level 2 */ GST_VC1_LEVEL_L3 = 3, /* Advanced profile level 3 */ GST_VC1_LEVEL_L4 = 4, /* Advanced profile level 4 */ /* 5 to 7 reserved */ GST_VC1_LEVEL_UNKNOWN = 255 /* Unknown profile */ } GstVC1Level;
Members
GST_VC1_LEVEL_LOW
(0)
–
GST_VC1_LEVEL_MEDIUM
(2)
–
GST_VC1_LEVEL_HIGH
(4)
–
GST_VC1_LEVEL_L0
(0)
–
GST_VC1_LEVEL_L1
(1)
–
GST_VC1_LEVEL_L2
(2)
–
GST_VC1_LEVEL_L3
(3)
–
GST_VC1_LEVEL_L4
(4)
–
GST_VC1_LEVEL_UNKNOWN
(255)
–
GstVC1MvMode
typedef enum { GST_VC1_MVMODE_1MV_HPEL_BILINEAR, GST_VC1_MVMODE_1MV, GST_VC1_MVMODE_1MV_HPEL, GST_VC1_MVMODE_MIXED_MV, GST_VC1_MVMODE_INTENSITY_COMP } GstVC1MvMode;
Members
GST_VC1_MVMODE_1MV_HPEL_BILINEAR
(0)
–
GST_VC1_MVMODE_1MV
(1)
–
GST_VC1_MVMODE_1MV_HPEL
(2)
–
GST_VC1_MVMODE_MIXED_MV
(3)
–
GST_VC1_MVMODE_INTENSITY_COMP
(4)
–
GstVC1ParserResult
typedef enum { GST_VC1_PARSER_OK, GST_VC1_PARSER_BROKEN_DATA, GST_VC1_PARSER_NO_BDU, GST_VC1_PARSER_NO_BDU_END, GST_VC1_PARSER_ERROR, } GstVC1ParserResult;
Members
GST_VC1_PARSER_OK
(0)
–
GST_VC1_PARSER_BROKEN_DATA
(1)
–
GST_VC1_PARSER_NO_BDU
(2)
–
GST_VC1_PARSER_NO_BDU_END
(3)
–
GST_VC1_PARSER_ERROR
(4)
–
GstVC1PictureType
typedef enum { GST_VC1_PICTURE_TYPE_P, GST_VC1_PICTURE_TYPE_B, GST_VC1_PICTURE_TYPE_I, GST_VC1_PICTURE_TYPE_BI, GST_VC1_PICTURE_TYPE_SKIPPED } GstVC1PictureType;
Members
GST_VC1_PICTURE_TYPE_P
(0)
–
GST_VC1_PICTURE_TYPE_B
(1)
–
GST_VC1_PICTURE_TYPE_I
(2)
–
GST_VC1_PICTURE_TYPE_BI
(3)
–
GST_VC1_PICTURE_TYPE_SKIPPED
(4)
–
GstVC1Profile
typedef enum { GST_VC1_PROFILE_SIMPLE, GST_VC1_PROFILE_MAIN, GST_VC1_PROFILE_RESERVED, GST_VC1_PROFILE_ADVANCED } GstVC1Profile;
Members
GST_VC1_PROFILE_SIMPLE
(0)
–
GST_VC1_PROFILE_MAIN
(1)
–
GST_VC1_PROFILE_RESERVED
(2)
–
GST_VC1_PROFILE_ADVANCED
(3)
–
GstVC1QuantizerSpec
typedef enum { GST_VC1_QUANTIZER_IMPLICITLY, GST_VC1_QUANTIZER_EXPLICITLY, GST_VC1_QUANTIZER_NON_UNIFORM, GST_VC1_QUANTIZER_UNIFORM } GstVC1QuantizerSpec;
Members
GST_VC1_QUANTIZER_IMPLICITLY
(0)
–
GST_VC1_QUANTIZER_EXPLICITLY
(1)
–
GST_VC1_QUANTIZER_NON_UNIFORM
(2)
–
GST_VC1_QUANTIZER_UNIFORM
(3)
–
GstVC1StartCode
typedef enum { GST_VC1_END_OF_SEQ = 0x0A, GST_VC1_SLICE = 0x0B, GST_VC1_FIELD = 0x0C, GST_VC1_FRAME = 0x0D, GST_VC1_ENTRYPOINT = 0x0E, GST_VC1_SEQUENCE = 0x0F, GST_VC1_SLICE_USER = 0x1B, GST_VC1_FIELD_USER = 0x1C, GST_VC1_FRAME_USER = 0x1D, GST_VC1_ENTRY_POINT_USER = 0x1E, GST_VC1_SEQUENCE_USER = 0x1F } GstVC1StartCode;
Members
GST_VC1_END_OF_SEQ
(10)
–
GST_VC1_SLICE
(11)
–
GST_VC1_FIELD
(12)
–
GST_VC1_FRAME
(13)
–
GST_VC1_ENTRYPOINT
(14)
–
GST_VC1_SEQUENCE
(15)
–
GST_VC1_SLICE_USER
(27)
–
GST_VC1_FIELD_USER
(28)
–
GST_VC1_FRAME_USER
(29)
–
GST_VC1_ENTRY_POINT_USER
(30)
–
GST_VC1_SEQUENCE_USER
(31)
–
The results of the search are