| Top |  |  |  |  | 
| GstMpegvideoParserGstMpegvideoParser — Convenience library for mpeg1 and 2 video bitstream parsing. | 
| enum | GstMpegVideoPacketTypeCode | 
| enum | GstMpegVideoPacketExtensionCode | 
| enum | GstMpegVideoLevel | 
| enum | GstMpegVideoProfile | 
| enum | GstMpegVideoPictureType | 
| enum | GstMpegVideoPictureStructure | 
| struct | GstMpegVideoSequenceHdr | 
| struct | GstMpegVideoSequenceExt | 
| struct | GstMpegVideoPictureHdr | 
| struct | GstMpegVideoGop | 
| struct | GstMpegVideoPictureExt | 
| struct | GstMpegVideoQuantMatrixExt | 
gboolean gst_mpeg_video_parse (GstMpegVideoPacket *packet,const guint8 *data,gsize size,guint offset);
Parses the MPEG 1/2 video bitstream contained in data
, and returns the
offset, and if known also the size, in packet
. This function will scan
the data to find the next packet if needed.
gboolean gst_mpeg_video_packet_parse_sequence_header (const GstMpegVideoPacket *packet,GstMpegVideoSequenceHdr *seqhdr);
Parses the seqhdr
 MPEG Video Sequence Header structure members
from video packet
| packet | The GstMpegVideoPacket that carries the data | |
| seqhdr | The GstMpegVideoSequenceHdr structure to fill. | [out] | 
Since: 1.2
gboolean gst_mpeg_video_packet_parse_sequence_extension (const GstMpegVideoPacket *packet,GstMpegVideoSequenceExt *seqext);
Parses the seqext
 MPEG Video Sequence Extension structure members
from video packet
| packet | The GstMpegVideoPacket that carries the data | |
| seqext | The GstMpegVideoSequenceExt structure to fill. | [out] | 
Since: 1.2
gboolean gst_mpeg_video_packet_parse_sequence_display_extension (const GstMpegVideoPacket *packet,GstMpegVideoSequenceDisplayExt *seqdisplayext);
Parses the seqext
 MPEG Video Sequence Display Extension structure
members from video packet
| packet | The GstMpegVideoPacket that carries the data | |
| seqdisplayext | The GstMpegVideoSequenceDisplayExt structure to fill. | [out] | 
Since: 1.2
gboolean gst_mpeg_video_packet_parse_sequence_scalable_extension (const GstMpegVideoPacket *packet,GstMpegVideoSequenceScalableExt *seqscaleext);
Parses the seqscaleext
 MPEG Video Sequence Scalable Extension structure
members from video packet
| packet | The GstMpegVideoPacket that carries the data | |
| seqscaleext | The GstMpegVideoSequenceScalableExt structure to fill. | [out] | 
Since: 1.2
gboolean gst_mpeg_video_packet_parse_picture_header (const GstMpegVideoPacket *packet,GstMpegVideoPictureHdr *pichdr);
Parsers the pichdr
 MPEG Video Picture Header structure members
from video packet
| packet | The GstMpegVideoPacket that carries the data | |
| pichdr | The GstMpegVideoPictureHdr structure to fill. | [out] | 
Since: 1.2
gboolean gst_mpeg_video_packet_parse_picture_extension (const GstMpegVideoPacket *packet,GstMpegVideoPictureExt *picext);
Parse the ext
 MPEG Video Picture Extension structure members from
video packet
| packet | The GstMpegVideoPacket that carries the data | |
| ext | The GstMpegVideoPictureExt structure to fill. | [out] | 
Since: 1.2
gboolean gst_mpeg_video_packet_parse_gop (const GstMpegVideoPacket *packet,GstMpegVideoGop *gop);
Parses the gop
 MPEG Video Group of Picture structure members from
video packet
| packet | The GstMpegVideoPacket that carries the data | |
| gop | The GstMpegVideoGop structure to fill. | [out] | 
Since: 1.2
gboolean gst_mpeg_video_packet_parse_slice_header (const GstMpegVideoPacket *packet,GstMpegVideoSliceHdr *slice_hdr,GstMpegVideoSequenceHdr *seq_hdr,GstMpegVideoSequenceScalableExt *seqscaleext);
Parses the GstMpegVideoSliceHdr
  structure members from data
| packet | The GstMpegVideoPacket that carries the data | |
| slice_hdr | The GstMpegVideoSliceHdr structure to fill. | [out] | 
| seqhdr | The GstMpegVideoSequenceHdr header | |
| seqscaleext | The GstMpegVideoSequenceScalableExt header | 
Since: 1.2
gboolean gst_mpeg_video_packet_parse_quant_matrix_extension (const GstMpegVideoPacket *packet,GstMpegVideoQuantMatrixExt *quant);
Parses the quant
 MPEG Video Quantization Matrix Extension
structure members from video packet
| packet | The GstMpegVideoPacket that carries the data | |
| quant | The GstMpegVideoQuantMatrixExt structure to fill. | [out] | 
Since: 1.2
gboolean gst_mpeg_video_finalise_mpeg2_sequence_header (GstMpegVideoSequenceHdr *hdr,GstMpegVideoSequenceExt *seqext,GstMpegVideoSequenceDisplayExt *displayext);
void gst_mpeg_video_quant_matrix_get_raster_from_zigzag (guint8 out_quant[64],const guint8 quant[64]);
Converts quantization matrix quant
 from zigzag scan order to
raster scan order and store the resulting factors into out_quant
.
Note: it is an error to pass the same table in both quant
 and
out_quant
 arguments.
Since: 1.2
void gst_mpeg_video_quant_matrix_get_zigzag_from_raster (guint8 out_quant[64],const guint8 quant[64]);
Converts quantization matrix quant
 from raster scan order to
zigzag scan order and store the resulting factors into out_quant
.
Note: it is an error to pass the same table in both quant
 and
out_quant
 arguments.
Since: 1.2
Indicates the type of MPEG packet
Indicates what type of packets are in this block, some are mutually exclusive though - ie, sequence packs are accumulated separately. GOP & Picture may occur together or separately.
Mpeg-2 Profiles.
struct GstMpegVideoSequenceHdr {
  guint16 width, height;
  guint8  aspect_ratio_info;
  guint8  frame_rate_code;
  guint32 bitrate_value;
  guint16 vbv_buffer_size_value;
  guint8  constrained_parameters_flag;
  guint8  load_intra_quantiser_matrix;
  guint8  intra_quantizer_matrix[64];
  guint8  load_non_intra_quantiser_matrix;
  guint8  non_intra_quantizer_matrix[64];
  /* Calculated values */
  guint   par_w, par_h;
  guint   fps_n, fps_d;
  guint   bitrate;
};
The Mpeg2 Video Sequence Header structure.
| guint16  | Width of each frame | |
| guint16  | Height of each frame | |
| guint8  | ||
| guint8  | ||
| guint32  | Value of the bitrate as is in the stream (400bps unit) | |
| guint16  | ||
| guint8  | 
 | |
| guint8  | 
 | |
| guint8  | intra-quantization table, in zigzag scan order | |
| guint8  | 
 | |
| guint8  | non-intra quantization table, in zigzag scan order | |
| guint  | Calculated Pixel Aspect Ratio width | |
| guint  | Calculated Pixel Aspect Ratio height | |
| guint  | Calculated Framrate nominator | |
| guint  | Calculated Framerate denominator | |
| guint  | the real bitrate of the Mpeg video stream in bits per second, 0 if VBR stream | 
struct GstMpegVideoSequenceExt {
  /* mpeg2 decoder profile */
  guint8 profile;
  /* mpeg2 decoder level */
  guint8 level;
  guint8 progressive;
  guint8 chroma_format;
  guint8 horiz_size_ext, vert_size_ext;
  guint16 bitrate_ext;
  guint8 vbv_buffer_size_extension;
  guint8 low_delay;
  guint8 fps_n_ext, fps_d_ext;
  /* Additional information */
  guint8 profile_level_escape_bit;
};
The Mpeg2 Video Sequence Extension structure.
| guint8  | mpeg2 decoder profile | |
| guint8  | mpeg2 decoder level | |
| guint8  | ||
| guint8  | indicates the chrominance format | |
| guint8  | Horizontal size | |
| guint8  | Vertical size | |
| guint16  | The bitrate | |
| guint8  | VBV vuffer size | |
| guint8  | 
 | |
| guint8  | Framerate nominator code | |
| guint8  | Framerate denominator code | |
| guint8  | Escape bit. If set, the meaning of the
 | 
struct GstMpegVideoPictureHdr {
  guint16 tsn;
  guint8 pic_type;
  guint16 vbv_delay;
  guint8 full_pel_forward_vector, full_pel_backward_vector;
  guint8 f_code[2][2];
};
The Mpeg2 Video Picture Header structure.
struct GstMpegVideoGop {
  guint8 drop_frame_flag;
  guint8 hour, minute, second, frame;
  guint8 closed_gop;
  guint8 broken_link;
};
The Mpeg Video Group of Picture structure.
struct GstMpegVideoPictureExt {
  guint8 f_code[2][2];
  guint8 intra_dc_precision;
  guint8 picture_structure;
  guint8 top_field_first;
  guint8 frame_pred_frame_dct;
  guint8 concealment_motion_vectors;
  guint8 q_scale_type;
  guint8 intra_vlc_format;
  guint8 alternate_scan;
  guint8 repeat_first_field;
  guint8 chroma_420_type;
  guint8 progressive_frame;
  guint8 composite_display;
  guint8 v_axis;
  guint8 field_sequence;
  guint8 sub_carrier;
  guint8 burst_amplitude;
  guint8 sub_carrier_phase;
};
The Mpeg2 Video Picture Extension structure.
| guint8  | ||
| guint8  | Intra DC precision | |
| guint8  | Structure of the picture | |
| guint8  | Top field first | |
| guint8  | Frame | |
| guint8  | Concealment Motion Vectors | |
| guint8  | Q Scale Type | |
| guint8  | Intra Vlc Format | |
| guint8  | Alternate Scan | |
| guint8  | Repeat First Field | |
| guint8  | Chroma 420 Type | |
| guint8  | ||
| guint8  | ||
| guint8  | ||
| guint8  | ||
| guint8  | ||
| guint8  | ||
| guint8  | 
struct GstMpegVideoQuantMatrixExt {
 guint8 load_intra_quantiser_matrix;
 guint8 intra_quantiser_matrix[64];
 guint8 load_non_intra_quantiser_matrix;
 guint8 non_intra_quantiser_matrix[64];
 guint8 load_chroma_intra_quantiser_matrix;
 guint8 chroma_intra_quantiser_matrix[64];
 guint8 load_chroma_non_intra_quantiser_matrix;
 guint8 chroma_non_intra_quantiser_matrix[64];
};
The Quant Matrix Extension structure that exposes quantization matrices in zigzag scan order. i.e. the original encoded scan order.