gstmpegvideometa

gstmpegvideometa

Synopsis

#include <gst/codecparsers/gstmpegvideometa.h>

#define             GST_MPEG_VIDEO_META_API_TYPE
#define             GST_MPEG_VIDEO_META_INFO
struct              GstMpegVideoMeta;
GstMpegVideoMeta *  gst_buffer_add_mpeg_video_meta      (GstBuffer *buffer,
                                                         const GstMpegVideoSequenceHdr *seq_hdr,
                                                         const GstMpegVideoSequenceExt *seq_ext,
                                                         const GstMpegVideoSequenceDisplayExt *disp_ext,
                                                         const GstMpegVideoPictureHdr *pic_hdr,
                                                         const GstMpegVideoPictureExt *pic_ext,
                                                         const GstMpegVideoQuantMatrixExt *quant_ext);
#define             gst_buffer_get_mpeg_video_meta      (b)
const GstMetaInfo * gst_mpeg_video_meta_get_info        (void);

Description

Details

GST_MPEG_VIDEO_META_API_TYPE

#define GST_MPEG_VIDEO_META_API_TYPE  (gst_mpeg_video_meta_api_get_type())

GST_MPEG_VIDEO_META_INFO

#define GST_MPEG_VIDEO_META_INFO  (gst_mpeg_video_meta_get_info())

struct GstMpegVideoMeta

struct GstMpegVideoMeta {
  GstMeta            meta;

  GstMpegVideoSequenceHdr        *sequencehdr;
  GstMpegVideoSequenceExt        *sequenceext;
  GstMpegVideoSequenceDisplayExt *sequencedispext;
  GstMpegVideoPictureHdr         *pichdr;
  GstMpegVideoPictureExt         *picext;
  GstMpegVideoQuantMatrixExt     *quantext;

  guint num_slices;
  gsize slice_offset;
};

Extra buffer metadata describing the contents of a MPEG1/2 Video frame

Can be used by elements (mainly decoders) to avoid having to parse Mpeg video 1/2 packets if it can be done upstream.

The various fields are only valid during the lifetime of the GstMpegVideoMeta. If elements wish to use those for longer, they are required to make a copy.

GstMeta meta;

parent GstMeta

GstMpegVideoSequenceHdr *sequencehdr;

the GstMpegVideoSequenceHdr if present in the buffer

GstMpegVideoSequenceExt *sequenceext;

the GstMpegVideoSequenceExt if present in the buffer

GstMpegVideoSequenceDisplayExt *sequencedispext;

the GstMpegVideoSequenceDisplayExt if present in the buffer.

GstMpegVideoPictureHdr *pichdr;

the GstMpegVideoPictureHdr if present in the buffer.

GstMpegVideoPictureExt *picext;

the GstMpegVideoPictureExt if present in the buffer.

GstMpegVideoQuantMatrixExt *quantext;

the GstMpegVideoQuantMatrixExt if present in the buffer

guint num_slices;

gsize slice_offset;

Since 1.2


gst_buffer_add_mpeg_video_meta ()

GstMpegVideoMeta *  gst_buffer_add_mpeg_video_meta      (GstBuffer *buffer,
                                                         const GstMpegVideoSequenceHdr *seq_hdr,
                                                         const GstMpegVideoSequenceExt *seq_ext,
                                                         const GstMpegVideoSequenceDisplayExt *disp_ext,
                                                         const GstMpegVideoPictureHdr *pic_hdr,
                                                         const GstMpegVideoPictureExt *pic_ext,
                                                         const GstMpegVideoQuantMatrixExt *quant_ext);

Creates and adds a GstMpegVideoMeta to a buffer.

Provided structures must either be NULL or GSlice-allocated.

buffer :

a GstBuffer

Returns :

a newly created GstMpegVideoMeta. [transfer full]

Since 1.2


gst_buffer_get_mpeg_video_meta()

#define gst_buffer_get_mpeg_video_meta(b) ((GstMpegVideoMeta*)gst_buffer_get_meta((b),GST_MPEG_VIDEO_META_API_TYPE))

gst_mpeg_video_meta_get_info ()

const GstMetaInfo * gst_mpeg_video_meta_get_info        (void);