diff options
author | Edward Hervey <bilboed@bilboed.com> | 2012-09-20 19:03:11 +0200 |
---|---|---|
committer | Edward Hervey <edward@collabora.com> | 2013-03-31 19:05:31 +0200 |
commit | e3c71c65fe86b9810024980f19a422016eaf0b3c (patch) | |
tree | 52186abdca4d52f464abb15bb4f80fa2ddf7f6c8 /sys/vdpau/h264/gsth264dpb.h | |
parent | 2296296a51450c2db5581a09b9707a95fa149153 (diff) | |
download | gstreamer-plugins-bad-e3c71c65fe86b9810024980f19a422016eaf0b3c.tar.gz |
vdpau: Port to 1.0
New base class for vdpau decoders
* mpeg2 ported and activated
* h264 ported but deactivated
* Uses GstMpegVideo meta
Diffstat (limited to 'sys/vdpau/h264/gsth264dpb.h')
-rw-r--r-- | sys/vdpau/h264/gsth264dpb.h | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/sys/vdpau/h264/gsth264dpb.h b/sys/vdpau/h264/gsth264dpb.h index a68904c5a..81956390d 100644 --- a/sys/vdpau/h264/gsth264dpb.h +++ b/sys/vdpau/h264/gsth264dpb.h @@ -22,16 +22,15 @@ #define _GST_H264_DPB_H_ #include <glib-object.h> +#include <vdpau/vdpau.h> -#include "../gstvdp/gstvdpvideobuffer.h" - -#include "gsth264frame.h" +#include <gst/video/video.h> +#include <gst/codecparsers/gsth264meta.h> G_BEGIN_DECLS #define MAX_DPB_SIZE 16 - #define GST_TYPE_H264_DPB (gst_h264_dpb_get_type ()) #define GST_H264_DPB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_H264_DPB, GstH264DPB)) #define GST_H264_DPB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_H264_DPB, GstH264DPBClass)) @@ -42,21 +41,33 @@ G_BEGIN_DECLS typedef struct _GstH264DPB GstH264DPB; typedef struct _GstH264DPBClass GstH264DPBClass; +typedef struct _GstH264Frame +{ + GstVideoCodecFrame *frame; + + guint poc; + guint16 frame_idx; + gboolean is_reference; + gboolean is_long_term; + gboolean output_needed; +} GstH264Frame; + + typedef GstFlowReturn (*GstH264DPBOutputFunc) (GstH264DPB *dpb, GstH264Frame *h264_frame, gpointer user_data); struct _GstH264DPB { GObject parent_instance; - /* private */ + /* private */ GstH264Frame *frames[MAX_DPB_SIZE]; guint n_frames; guint max_frames; gint max_longterm_frame_idx; - GstH264DPBOutputFunc output; - gpointer user_data; + GstH264DPBOutputFunc output; + gpointer user_data; }; struct _GstH264DPBClass |