summaryrefslogtreecommitdiff
path: root/sys/vdpau/h264/gsth264dpb.h
diff options
context:
space:
mode:
authorEdward Hervey <bilboed@bilboed.com>2012-09-20 19:03:11 +0200
committerEdward Hervey <edward@collabora.com>2013-03-31 19:05:31 +0200
commite3c71c65fe86b9810024980f19a422016eaf0b3c (patch)
tree52186abdca4d52f464abb15bb4f80fa2ddf7f6c8 /sys/vdpau/h264/gsth264dpb.h
parent2296296a51450c2db5581a09b9707a95fa149153 (diff)
downloadgstreamer-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.h25
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