v4l2codecs: Don't needlessly expose decoder types
We have explicit register functions and have no use for these types in other components. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5555>
This commit is contained in:
parent
76b36f1493
commit
d13a414ddc
@ -23,6 +23,9 @@
|
|||||||
#include "config.h"
|
#include "config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define GST_USE_UNSTABLE_API
|
||||||
|
#include <gst/codecs/gstav1decoder.h>
|
||||||
|
|
||||||
#include "gstv4l2codecallocator.h"
|
#include "gstv4l2codecallocator.h"
|
||||||
#include "gstv4l2codecav1dec.h"
|
#include "gstv4l2codecav1dec.h"
|
||||||
#include "gstv4l2codecpool.h"
|
#include "gstv4l2codecpool.h"
|
||||||
@ -38,6 +41,11 @@
|
|||||||
GST_DEBUG_CATEGORY_STATIC (v4l2_av1dec_debug);
|
GST_DEBUG_CATEGORY_STATIC (v4l2_av1dec_debug);
|
||||||
#define GST_CAT_DEFAULT v4l2_av1dec_debug
|
#define GST_CAT_DEFAULT v4l2_av1dec_debug
|
||||||
|
|
||||||
|
#define GST_TYPE_V4L2_CODEC_AV1_DEC \
|
||||||
|
(gst_v4l2_codec_av1_dec_get_type())
|
||||||
|
#define GST_V4L2_CODEC_AV1_DEC(obj) \
|
||||||
|
(G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_V4L2_CODEC_AV1_DEC,GstV4l2CodecAV1Dec))
|
||||||
|
|
||||||
/* Used to mark picture that have been outputted */
|
/* Used to mark picture that have been outputted */
|
||||||
#define FLAG_PICTURE_HOLDS_BUFFER GST_MINI_OBJECT_FLAG_LAST
|
#define FLAG_PICTURE_HOLDS_BUFFER GST_MINI_OBJECT_FLAG_LAST
|
||||||
|
|
||||||
@ -62,6 +70,15 @@ GST_STATIC_PAD_TEMPLATE (GST_VIDEO_DECODER_SINK_NAME,
|
|||||||
static GstStaticCaps static_src_caps = GST_STATIC_CAPS (SRC_CAPS);
|
static GstStaticCaps static_src_caps = GST_STATIC_CAPS (SRC_CAPS);
|
||||||
static GstStaticCaps static_src_caps_no_drm = GST_STATIC_CAPS (SRC_CAPS_NO_DRM);
|
static GstStaticCaps static_src_caps_no_drm = GST_STATIC_CAPS (SRC_CAPS_NO_DRM);
|
||||||
|
|
||||||
|
typedef struct _GstV4l2CodecAV1Dec GstV4l2CodecAV1Dec;
|
||||||
|
typedef struct _GstV4l2CodecAV1DecClass GstV4l2CodecAV1DecClass;
|
||||||
|
|
||||||
|
struct _GstV4l2CodecAV1DecClass
|
||||||
|
{
|
||||||
|
GstAV1DecoderClass parent_class;
|
||||||
|
GstV4l2CodecDevice *device;
|
||||||
|
};
|
||||||
|
|
||||||
struct _GstV4l2CodecAV1Dec
|
struct _GstV4l2CodecAV1Dec
|
||||||
{
|
{
|
||||||
GstAV1Decoder parent;
|
GstAV1Decoder parent;
|
||||||
@ -100,6 +117,8 @@ struct _GstV4l2CodecAV1Dec
|
|||||||
GstMapInfo bitstream_map;
|
GstMapInfo bitstream_map;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static GType gst_v4l2_codec_av1_dec_get_type (void);
|
||||||
|
|
||||||
G_DEFINE_ABSTRACT_TYPE (GstV4l2CodecAV1Dec, gst_v4l2_codec_av1_dec,
|
G_DEFINE_ABSTRACT_TYPE (GstV4l2CodecAV1Dec, gst_v4l2_codec_av1_dec,
|
||||||
GST_TYPE_AV1_DECODER);
|
GST_TYPE_AV1_DECODER);
|
||||||
|
|
||||||
|
@ -19,30 +19,10 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#define GST_USE_UNSTABLE_API
|
|
||||||
#include <gst/codecs/gstav1decoder.h>
|
|
||||||
|
|
||||||
#include "gstv4l2decoder.h"
|
#include "gstv4l2decoder.h"
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
#define GST_TYPE_V4L2_CODEC_AV1_DEC (gst_v4l2_codec_av1_dec_get_type())
|
|
||||||
#define GST_V4L2_CODEC_AV1_DEC(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_V4L2_CODEC_AV1_DEC,GstV4l2CodecAV1Dec))
|
|
||||||
#define GST_V4L2_CODEC_AV1_DEC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_V4L2_CODEC_AV1_DEC,GstV4l2CodecAV1DecClass))
|
|
||||||
#define GST_V4L2_CODEC_AV1_DEC_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_V4L2_CODEC_AV1_DEC, GstV4l2CodecAV1DecClass))
|
|
||||||
#define GST_IS_V4L2_CODEC_AV1_DEC(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_V4L2_CODEC_AV1_DEC))
|
|
||||||
#define GST_IS_V4L2_CODEC_AV1_DEC_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_V4L2_CODEC_AV1_DEC))
|
|
||||||
|
|
||||||
typedef struct _GstV4l2CodecAV1Dec GstV4l2CodecAV1Dec;
|
|
||||||
typedef struct _GstV4l2CodecAV1DecClass GstV4l2CodecAV1DecClass;
|
|
||||||
|
|
||||||
struct _GstV4l2CodecAV1DecClass
|
|
||||||
{
|
|
||||||
GstAV1DecoderClass parent_class;
|
|
||||||
GstV4l2CodecDevice *device;
|
|
||||||
};
|
|
||||||
|
|
||||||
GType gst_v4l2_codec_av1_dec_get_type (void);
|
|
||||||
void gst_v4l2_codec_av1_dec_register (GstPlugin * plugin,
|
void gst_v4l2_codec_av1_dec_register (GstPlugin * plugin,
|
||||||
GstV4l2Decoder * decoder,
|
GstV4l2Decoder * decoder,
|
||||||
GstV4l2CodecDevice * device,
|
GstV4l2CodecDevice * device,
|
||||||
|
@ -21,6 +21,9 @@
|
|||||||
#include <config.h>
|
#include <config.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define GST_USE_UNSTABLE_API
|
||||||
|
#include <gst/codecs/gsth264decoder.h>
|
||||||
|
|
||||||
#include "gstv4l2codecallocator.h"
|
#include "gstv4l2codecallocator.h"
|
||||||
#include "gstv4l2codech264dec.h"
|
#include "gstv4l2codech264dec.h"
|
||||||
#include "gstv4l2codecpool.h"
|
#include "gstv4l2codecpool.h"
|
||||||
@ -36,6 +39,11 @@
|
|||||||
GST_DEBUG_CATEGORY_STATIC (v4l2_h264dec_debug);
|
GST_DEBUG_CATEGORY_STATIC (v4l2_h264dec_debug);
|
||||||
#define GST_CAT_DEFAULT v4l2_h264dec_debug
|
#define GST_CAT_DEFAULT v4l2_h264dec_debug
|
||||||
|
|
||||||
|
#define GST_TYPE_V4L2_CODEC_H264_DEC \
|
||||||
|
(gst_v4l2_codec_h264_dec_get_type())
|
||||||
|
#define GST_V4L2_CODEC_H264_DEC(obj) \
|
||||||
|
(G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_V4L2_CODEC_H264_DEC,GstV4l2CodecH264Dec))
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
PROP_0,
|
PROP_0,
|
||||||
@ -60,6 +68,15 @@ GST_STATIC_PAD_TEMPLATE (GST_VIDEO_DECODER_SINK_NAME,
|
|||||||
static GstStaticCaps static_src_caps = GST_STATIC_CAPS (SRC_CAPS);
|
static GstStaticCaps static_src_caps = GST_STATIC_CAPS (SRC_CAPS);
|
||||||
static GstStaticCaps static_src_caps_no_drm = GST_STATIC_CAPS (SRC_CAPS_NO_DRM);
|
static GstStaticCaps static_src_caps_no_drm = GST_STATIC_CAPS (SRC_CAPS_NO_DRM);
|
||||||
|
|
||||||
|
typedef struct _GstV4l2CodecH264Dec GstV4l2CodecH264Dec;
|
||||||
|
typedef struct _GstV4l2CodecH264DecClass GstV4l2CodecH264DecClass;
|
||||||
|
|
||||||
|
struct _GstV4l2CodecH264DecClass
|
||||||
|
{
|
||||||
|
GstH264DecoderClass parent_class;
|
||||||
|
GstV4l2CodecDevice *device;
|
||||||
|
};
|
||||||
|
|
||||||
struct _GstV4l2CodecH264Dec
|
struct _GstV4l2CodecH264Dec
|
||||||
{
|
{
|
||||||
GstH264Decoder parent;
|
GstH264Decoder parent;
|
||||||
@ -100,6 +117,8 @@ struct _GstV4l2CodecH264Dec
|
|||||||
GstMapInfo bitstream_map;
|
GstMapInfo bitstream_map;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static GType gst_v4l2_codec_h264_dec_get_type (void);
|
||||||
|
|
||||||
G_DEFINE_ABSTRACT_TYPE (GstV4l2CodecH264Dec, gst_v4l2_codec_h264_dec,
|
G_DEFINE_ABSTRACT_TYPE (GstV4l2CodecH264Dec, gst_v4l2_codec_h264_dec,
|
||||||
GST_TYPE_H264_DECODER);
|
GST_TYPE_H264_DECODER);
|
||||||
|
|
||||||
|
@ -19,30 +19,10 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#define GST_USE_UNSTABLE_API
|
|
||||||
#include <gst/codecs/gsth264decoder.h>
|
|
||||||
|
|
||||||
#include "gstv4l2decoder.h"
|
#include "gstv4l2decoder.h"
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
#define GST_TYPE_V4L2_CODEC_H264_DEC (gst_v4l2_codec_h264_dec_get_type())
|
|
||||||
#define GST_V4L2_CODEC_H264_DEC(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_V4L2_CODEC_H264_DEC,GstV4l2CodecH264Dec))
|
|
||||||
#define GST_V4L2_CODEC_H264_DEC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_V4L2_CODEC_H264_DEC,GstV4l2CodecH264DecClass))
|
|
||||||
#define GST_V4L2_CODEC_H264_DEC_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_V4L2_CODEC_H264_DEC, GstV4l2CodecH264DecClass))
|
|
||||||
#define GST_IS_V4L2_CODEC_H264_DEC(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_V4L2_CODEC_H264_DEC))
|
|
||||||
#define GST_IS_V4L2_CODEC_H264_DEC_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_V4L2_CODEC_H264_DEC))
|
|
||||||
|
|
||||||
typedef struct _GstV4l2CodecH264Dec GstV4l2CodecH264Dec;
|
|
||||||
typedef struct _GstV4l2CodecH264DecClass GstV4l2CodecH264DecClass;
|
|
||||||
|
|
||||||
struct _GstV4l2CodecH264DecClass
|
|
||||||
{
|
|
||||||
GstH264DecoderClass parent_class;
|
|
||||||
GstV4l2CodecDevice *device;
|
|
||||||
};
|
|
||||||
|
|
||||||
GType gst_v4l2_codec_h264_dec_get_type (void);
|
|
||||||
void gst_v4l2_codec_h264_dec_register (GstPlugin * plugin,
|
void gst_v4l2_codec_h264_dec_register (GstPlugin * plugin,
|
||||||
GstV4l2Decoder * decoder,
|
GstV4l2Decoder * decoder,
|
||||||
GstV4l2CodecDevice * device,
|
GstV4l2CodecDevice * device,
|
||||||
|
@ -22,6 +22,9 @@
|
|||||||
#include <config.h>
|
#include <config.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define GST_USE_UNSTABLE_API
|
||||||
|
#include <gst/codecs/gsth265decoder.h>
|
||||||
|
|
||||||
#include "gstv4l2codecallocator.h"
|
#include "gstv4l2codecallocator.h"
|
||||||
#include "gstv4l2codech265dec.h"
|
#include "gstv4l2codech265dec.h"
|
||||||
#include "gstv4l2codecpool.h"
|
#include "gstv4l2codecpool.h"
|
||||||
@ -37,6 +40,11 @@
|
|||||||
GST_DEBUG_CATEGORY_STATIC (v4l2_h265dec_debug);
|
GST_DEBUG_CATEGORY_STATIC (v4l2_h265dec_debug);
|
||||||
#define GST_CAT_DEFAULT v4l2_h265dec_debug
|
#define GST_CAT_DEFAULT v4l2_h265dec_debug
|
||||||
|
|
||||||
|
#define GST_TYPE_V4L2_CODEC_H265_DEC \
|
||||||
|
(gst_v4l2_codec_h265_dec_get_type())
|
||||||
|
#define GST_V4L2_CODEC_H265_DEC(obj) \
|
||||||
|
(G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_V4L2_CODEC_H265_DEC,GstV4l2CodecH265Dec))
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
PROP_0,
|
PROP_0,
|
||||||
@ -61,6 +69,15 @@ GST_STATIC_PAD_TEMPLATE (GST_VIDEO_DECODER_SINK_NAME,
|
|||||||
static GstStaticCaps static_src_caps = GST_STATIC_CAPS (SRC_CAPS);
|
static GstStaticCaps static_src_caps = GST_STATIC_CAPS (SRC_CAPS);
|
||||||
static GstStaticCaps static_src_caps_no_drm = GST_STATIC_CAPS (SRC_CAPS_NO_DRM);
|
static GstStaticCaps static_src_caps_no_drm = GST_STATIC_CAPS (SRC_CAPS_NO_DRM);
|
||||||
|
|
||||||
|
typedef struct _GstV4l2CodecH265Dec GstV4l2CodecH265Dec;
|
||||||
|
typedef struct _GstV4l2CodecH265DecClass GstV4l2CodecH265DecClass;
|
||||||
|
|
||||||
|
struct _GstV4l2CodecH265DecClass
|
||||||
|
{
|
||||||
|
GstH265DecoderClass parent_class;
|
||||||
|
GstV4l2CodecDevice *device;
|
||||||
|
};
|
||||||
|
|
||||||
struct _GstV4l2CodecH265Dec
|
struct _GstV4l2CodecH265Dec
|
||||||
{
|
{
|
||||||
GstH265Decoder parent;
|
GstH265Decoder parent;
|
||||||
@ -108,6 +125,8 @@ struct _GstV4l2CodecH265Dec
|
|||||||
gint crop_rect_x, crop_rect_y;
|
gint crop_rect_x, crop_rect_y;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static GType gst_v4l2_codec_h265_dec_get_type (void);
|
||||||
|
|
||||||
G_DEFINE_ABSTRACT_TYPE (GstV4l2CodecH265Dec, gst_v4l2_codec_h265_dec,
|
G_DEFINE_ABSTRACT_TYPE (GstV4l2CodecH265Dec, gst_v4l2_codec_h265_dec,
|
||||||
GST_TYPE_H265_DECODER);
|
GST_TYPE_H265_DECODER);
|
||||||
|
|
||||||
|
@ -20,30 +20,10 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#define GST_USE_UNSTABLE_API
|
|
||||||
#include <gst/codecs/gsth265decoder.h>
|
|
||||||
|
|
||||||
#include "gstv4l2decoder.h"
|
#include "gstv4l2decoder.h"
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
#define GST_TYPE_V4L2_CODEC_H265_DEC (gst_v4l2_codec_h265_dec_get_type())
|
|
||||||
#define GST_V4L2_CODEC_H265_DEC(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_V4L2_CODEC_H265_DEC,GstV4l2CodecH265Dec))
|
|
||||||
#define GST_V4L2_CODEC_H265_DEC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_V4L2_CODEC_H265_DEC,GstV4l2CodecH265DecClass))
|
|
||||||
#define GST_V4L2_CODEC_H265_DEC_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_V4L2_CODEC_H265_DEC, GstV4l2CodecH265DecClass))
|
|
||||||
#define GST_IS_V4L2_CODEC_H265_DEC(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_V4L2_CODEC_H265_DEC))
|
|
||||||
#define GST_IS_V4L2_CODEC_H265_DEC_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_V4L2_CODEC_H265_DEC))
|
|
||||||
|
|
||||||
typedef struct _GstV4l2CodecH265Dec GstV4l2CodecH265Dec;
|
|
||||||
typedef struct _GstV4l2CodecH265DecClass GstV4l2CodecH265DecClass;
|
|
||||||
|
|
||||||
struct _GstV4l2CodecH265DecClass
|
|
||||||
{
|
|
||||||
GstH265DecoderClass parent_class;
|
|
||||||
GstV4l2CodecDevice *device;
|
|
||||||
};
|
|
||||||
|
|
||||||
GType gst_v4l2_codec_h265_dec_get_type (void);
|
|
||||||
void gst_v4l2_codec_h265_dec_register (GstPlugin * plugin,
|
void gst_v4l2_codec_h265_dec_register (GstPlugin * plugin,
|
||||||
GstV4l2Decoder * decoder,
|
GstV4l2Decoder * decoder,
|
||||||
GstV4l2CodecDevice * device,
|
GstV4l2CodecDevice * device,
|
||||||
|
@ -22,6 +22,9 @@
|
|||||||
#include <config.h>
|
#include <config.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define GST_USE_UNSTABLE_API
|
||||||
|
#include <gst/codecs/gstmpeg2decoder.h>
|
||||||
|
|
||||||
#include "gstv4l2codecallocator.h"
|
#include "gstv4l2codecallocator.h"
|
||||||
#include "gstv4l2codecmpeg2dec.h"
|
#include "gstv4l2codecmpeg2dec.h"
|
||||||
#include "gstv4l2codecpool.h"
|
#include "gstv4l2codecpool.h"
|
||||||
@ -40,6 +43,11 @@
|
|||||||
GST_DEBUG_CATEGORY_STATIC (v4l2_mpeg2dec_debug);
|
GST_DEBUG_CATEGORY_STATIC (v4l2_mpeg2dec_debug);
|
||||||
#define GST_CAT_DEFAULT v4l2_mpeg2dec_debug
|
#define GST_CAT_DEFAULT v4l2_mpeg2dec_debug
|
||||||
|
|
||||||
|
#define GST_TYPE_V4L2_CODEC_MPEG2_DEC \
|
||||||
|
(gst_v4l2_codec_mpeg2_dec_get_type())
|
||||||
|
#define GST_V4L2_CODEC_MPEG2_DEC(obj) \
|
||||||
|
(G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_V4L2_CODEC_MPEG2_DEC,GstV4l2CodecMpeg2Dec))
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
PROP_0,
|
PROP_0,
|
||||||
@ -63,6 +71,16 @@ GST_STATIC_PAD_TEMPLATE (GST_VIDEO_DECODER_SINK_NAME,
|
|||||||
static GstStaticCaps static_src_caps = GST_STATIC_CAPS (SRC_CAPS);
|
static GstStaticCaps static_src_caps = GST_STATIC_CAPS (SRC_CAPS);
|
||||||
static GstStaticCaps static_src_caps_no_drm = GST_STATIC_CAPS (SRC_CAPS_NO_DRM);
|
static GstStaticCaps static_src_caps_no_drm = GST_STATIC_CAPS (SRC_CAPS_NO_DRM);
|
||||||
|
|
||||||
|
typedef struct _GstV4l2CodecMpeg2Dec GstV4l2CodecMpeg2Dec;
|
||||||
|
typedef struct _GstV4l2CodecMpeg2DecClass GstV4l2CodecMpeg2DecClass;
|
||||||
|
|
||||||
|
struct _GstV4l2CodecMpeg2DecClass
|
||||||
|
{
|
||||||
|
GstMpeg2DecoderClass parent_class;
|
||||||
|
GstV4l2CodecDevice *device;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
struct _GstV4l2CodecMpeg2Dec
|
struct _GstV4l2CodecMpeg2Dec
|
||||||
{
|
{
|
||||||
GstMpeg2Decoder parent;
|
GstMpeg2Decoder parent;
|
||||||
@ -98,6 +116,8 @@ struct _GstV4l2CodecMpeg2Dec
|
|||||||
gboolean copy_frames;
|
gboolean copy_frames;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static GType gst_v4l2_codec_mpeg2_dec_get_type (void);
|
||||||
|
|
||||||
G_DEFINE_ABSTRACT_TYPE (GstV4l2CodecMpeg2Dec, gst_v4l2_codec_mpeg2_dec,
|
G_DEFINE_ABSTRACT_TYPE (GstV4l2CodecMpeg2Dec, gst_v4l2_codec_mpeg2_dec,
|
||||||
GST_TYPE_MPEG2_DECODER);
|
GST_TYPE_MPEG2_DECODER);
|
||||||
|
|
||||||
|
@ -19,30 +19,10 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#define GST_USE_UNSTABLE_API
|
|
||||||
#include <gst/codecs/gstmpeg2decoder.h>
|
|
||||||
|
|
||||||
#include "gstv4l2decoder.h"
|
#include "gstv4l2decoder.h"
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
#define GST_TYPE_V4L2_CODEC_MPEG2_DEC (gst_v4l2_codec_mpeg2_dec_get_type())
|
|
||||||
#define GST_V4L2_CODEC_MPEG2_DEC(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_V4L2_CODEC_MPEG2_DEC,GstV4l2CodecMpeg2Dec))
|
|
||||||
#define GST_V4L2_CODEC_MPEG2_DEC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_V4L2_CODEC_MPEG2_DEC,GstV4l2CodecMpeg2DecClass))
|
|
||||||
#define GST_V4L2_CODEC_MPEG2_DEC_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_V4L2_CODEC_MPEG2_DEC, GstV4l2CodecMpeg2DecClass))
|
|
||||||
#define GST_IS_V4L2_CODEC_MPEG2_DEC(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_V4L2_CODEC_MPEG2_DEC))
|
|
||||||
#define GST_IS_V4L2_CODEC_MPEG2_DEC_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_V4L2_CODEC_MPEG2_DEC))
|
|
||||||
|
|
||||||
typedef struct _GstV4l2CodecMpeg2Dec GstV4l2CodecMpeg2Dec;
|
|
||||||
typedef struct _GstV4l2CodecMpeg2DecClass GstV4l2CodecMpeg2DecClass;
|
|
||||||
|
|
||||||
struct _GstV4l2CodecMpeg2DecClass
|
|
||||||
{
|
|
||||||
GstMpeg2DecoderClass parent_class;
|
|
||||||
GstV4l2CodecDevice *device;
|
|
||||||
};
|
|
||||||
|
|
||||||
GType gst_v4l2_codec_mpeg2_dec_get_type (void);
|
|
||||||
void gst_v4l2_codec_mpeg2_dec_register (GstPlugin * plugin,
|
void gst_v4l2_codec_mpeg2_dec_register (GstPlugin * plugin,
|
||||||
GstV4l2Decoder * decoder,
|
GstV4l2Decoder * decoder,
|
||||||
GstV4l2CodecDevice * device,
|
GstV4l2CodecDevice * device,
|
||||||
|
@ -21,6 +21,9 @@
|
|||||||
#include <config.h>
|
#include <config.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define GST_USE_UNSTABLE_API
|
||||||
|
#include <gst/codecs/gstvp8decoder.h>
|
||||||
|
|
||||||
#include "gstv4l2codecallocator.h"
|
#include "gstv4l2codecallocator.h"
|
||||||
#include "gstv4l2codecalphadecodebin.h"
|
#include "gstv4l2codecalphadecodebin.h"
|
||||||
#include "gstv4l2codecpool.h"
|
#include "gstv4l2codecpool.h"
|
||||||
@ -36,6 +39,11 @@
|
|||||||
GST_DEBUG_CATEGORY_STATIC (v4l2_vp8dec_debug);
|
GST_DEBUG_CATEGORY_STATIC (v4l2_vp8dec_debug);
|
||||||
#define GST_CAT_DEFAULT v4l2_vp8dec_debug
|
#define GST_CAT_DEFAULT v4l2_vp8dec_debug
|
||||||
|
|
||||||
|
#define GST_TYPE_V4L2_CODEC_VP8_DEC \
|
||||||
|
(gst_v4l2_codec_vp8_dec_get_type())
|
||||||
|
#define GST_V4L2_CODEC_VP8_DEC(obj) \
|
||||||
|
(G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_V4L2_CODEC_VP8_DEC,GstV4l2CodecVp8Dec))
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
PROP_0,
|
PROP_0,
|
||||||
@ -64,6 +72,15 @@ GST_STATIC_PAD_TEMPLATE (GST_VIDEO_DECODER_SINK_NAME,
|
|||||||
static GstStaticCaps static_src_caps = GST_STATIC_CAPS (SRC_CAPS);
|
static GstStaticCaps static_src_caps = GST_STATIC_CAPS (SRC_CAPS);
|
||||||
static GstStaticCaps static_src_caps_no_drm = GST_STATIC_CAPS (SRC_CAPS_NO_DRM);
|
static GstStaticCaps static_src_caps_no_drm = GST_STATIC_CAPS (SRC_CAPS_NO_DRM);
|
||||||
|
|
||||||
|
typedef struct _GstV4l2CodecVp8Dec GstV4l2CodecVp8Dec;
|
||||||
|
typedef struct _GstV4l2CodecVp8DecClass GstV4l2CodecVp8DecClass;
|
||||||
|
|
||||||
|
struct _GstV4l2CodecVp8DecClass
|
||||||
|
{
|
||||||
|
GstVp8DecoderClass parent_class;
|
||||||
|
GstV4l2CodecDevice *device;
|
||||||
|
};
|
||||||
|
|
||||||
struct _GstV4l2CodecVp8Dec
|
struct _GstV4l2CodecVp8Dec
|
||||||
{
|
{
|
||||||
GstVp8Decoder parent;
|
GstVp8Decoder parent;
|
||||||
@ -87,6 +104,8 @@ struct _GstV4l2CodecVp8Dec
|
|||||||
GstMapInfo bitstream_map;
|
GstMapInfo bitstream_map;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static GType gst_v4l2_codec_vp8_dec_get_type (void);
|
||||||
|
|
||||||
G_DEFINE_ABSTRACT_TYPE (GstV4l2CodecVp8Dec, gst_v4l2_codec_vp8_dec,
|
G_DEFINE_ABSTRACT_TYPE (GstV4l2CodecVp8Dec, gst_v4l2_codec_vp8_dec,
|
||||||
GST_TYPE_VP8_DECODER);
|
GST_TYPE_VP8_DECODER);
|
||||||
|
|
||||||
|
@ -19,30 +19,10 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#define GST_USE_UNSTABLE_API
|
|
||||||
#include <gst/codecs/gstvp8decoder.h>
|
|
||||||
|
|
||||||
#include "gstv4l2decoder.h"
|
#include "gstv4l2decoder.h"
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
#define GST_TYPE_V4L2_CODEC_VP8_DEC (gst_v4l2_codec_vp8_dec_get_type())
|
|
||||||
#define GST_V4L2_CODEC_VP8_DEC(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_V4L2_CODEC_VP8_DEC,GstV4l2CodecVp8Dec))
|
|
||||||
#define GST_V4L2_CODEC_VP8_DEC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_V4L2_CODEC_VP8_DEC,GstV4l2CodecVp8DecClass))
|
|
||||||
#define GST_V4L2_CODEC_VP8_DEC_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_V4L2_CODEC_VP8_DEC, GstV4l2CodecVp8DecClass))
|
|
||||||
#define GST_IS_V4L2_CODEC_VP8_DEC(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_V4L2_CODEC_VP8_DEC))
|
|
||||||
#define GST_IS_V4L2_CODEC_VP8_DEC_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_V4L2_CODEC_VP8_DEC))
|
|
||||||
|
|
||||||
typedef struct _GstV4l2CodecVp8Dec GstV4l2CodecVp8Dec;
|
|
||||||
typedef struct _GstV4l2CodecVp8DecClass GstV4l2CodecVp8DecClass;
|
|
||||||
|
|
||||||
struct _GstV4l2CodecVp8DecClass
|
|
||||||
{
|
|
||||||
GstVp8DecoderClass parent_class;
|
|
||||||
GstV4l2CodecDevice *device;
|
|
||||||
};
|
|
||||||
|
|
||||||
GType gst_v4l2_codec_vp8_dec_get_type (void);
|
|
||||||
void gst_v4l2_codec_vp8_dec_register (GstPlugin * plugin,
|
void gst_v4l2_codec_vp8_dec_register (GstPlugin * plugin,
|
||||||
GstV4l2Decoder * decoder,
|
GstV4l2Decoder * decoder,
|
||||||
GstV4l2CodecDevice * device,
|
GstV4l2CodecDevice * device,
|
||||||
|
@ -22,6 +22,9 @@
|
|||||||
#include <config.h>
|
#include <config.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define GST_USE_UNSTABLE_API
|
||||||
|
#include <gst/codecs/gstvp9decoder.h>
|
||||||
|
|
||||||
#include "gstv4l2codecallocator.h"
|
#include "gstv4l2codecallocator.h"
|
||||||
#include "gstv4l2codecalphadecodebin.h"
|
#include "gstv4l2codecalphadecodebin.h"
|
||||||
#include "gstv4l2codecpool.h"
|
#include "gstv4l2codecpool.h"
|
||||||
@ -33,6 +36,11 @@
|
|||||||
GST_DEBUG_CATEGORY_STATIC (v4l2_vp9dec_debug);
|
GST_DEBUG_CATEGORY_STATIC (v4l2_vp9dec_debug);
|
||||||
#define GST_CAT_DEFAULT v4l2_vp9dec_debug
|
#define GST_CAT_DEFAULT v4l2_vp9dec_debug
|
||||||
|
|
||||||
|
#define GST_TYPE_V4L2_CODEC_VP9_DEC \
|
||||||
|
(gst_v4l2_codec_vp9_dec_get_type())
|
||||||
|
#define GST_V4L2_CODEC_VP9_DEC(obj) \
|
||||||
|
(G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_V4L2_CODEC_VP9_DEC,GstV4l2CodecVp9Dec))
|
||||||
|
|
||||||
/* Used to mark picture that have been outputed */
|
/* Used to mark picture that have been outputed */
|
||||||
#define FLAG_PICTURE_HOLDS_BUFFER GST_MINI_OBJECT_FLAG_LAST
|
#define FLAG_PICTURE_HOLDS_BUFFER GST_MINI_OBJECT_FLAG_LAST
|
||||||
|
|
||||||
@ -65,6 +73,15 @@ GST_STATIC_PAD_TEMPLATE (GST_VIDEO_DECODER_SINK_NAME,
|
|||||||
static GstStaticCaps static_src_caps = GST_STATIC_CAPS (SRC_CAPS);
|
static GstStaticCaps static_src_caps = GST_STATIC_CAPS (SRC_CAPS);
|
||||||
static GstStaticCaps static_src_caps_no_drm = GST_STATIC_CAPS (SRC_CAPS_NO_DRM);
|
static GstStaticCaps static_src_caps_no_drm = GST_STATIC_CAPS (SRC_CAPS_NO_DRM);
|
||||||
|
|
||||||
|
typedef struct _GstV4l2CodecVp9Dec GstV4l2CodecVp9Dec;
|
||||||
|
typedef struct _GstV4l2CodecVp9DecClass GstV4l2CodecVp9DecClass;
|
||||||
|
|
||||||
|
struct _GstV4l2CodecVp9DecClass
|
||||||
|
{
|
||||||
|
GstVp9DecoderClass parent_class;
|
||||||
|
GstV4l2CodecDevice *device;
|
||||||
|
};
|
||||||
|
|
||||||
struct _GstV4l2CodecVp9Dec
|
struct _GstV4l2CodecVp9Dec
|
||||||
{
|
{
|
||||||
GstVp9Decoder parent;
|
GstVp9Decoder parent;
|
||||||
@ -98,6 +115,8 @@ struct _GstV4l2CodecVp9Dec
|
|||||||
guint subsampling_y;
|
guint subsampling_y;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static GType gst_v4l2_codec_vp9_dec_get_type (void);
|
||||||
|
|
||||||
G_DEFINE_ABSTRACT_TYPE (GstV4l2CodecVp9Dec, gst_v4l2_codec_vp9_dec,
|
G_DEFINE_ABSTRACT_TYPE (GstV4l2CodecVp9Dec, gst_v4l2_codec_vp9_dec,
|
||||||
GST_TYPE_VP9_DECODER);
|
GST_TYPE_VP9_DECODER);
|
||||||
|
|
||||||
|
@ -20,30 +20,10 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#define GST_USE_UNSTABLE_API
|
|
||||||
#include <gst/codecs/gstvp9decoder.h>
|
|
||||||
|
|
||||||
#include "gstv4l2decoder.h"
|
#include "gstv4l2decoder.h"
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
#define GST_TYPE_V4L2_CODEC_VP9_DEC (gst_v4l2_codec_vp9_dec_get_type())
|
|
||||||
#define GST_V4L2_CODEC_VP9_DEC(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_V4L2_CODEC_VP9_DEC,GstV4l2CodecVp9Dec))
|
|
||||||
#define GST_V4L2_CODEC_VP9_DEC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_V4L2_CODEC_VP9_DEC,GstV4l2CodecVp9DecClass))
|
|
||||||
#define GST_V4L2_CODEC_VP9_DEC_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_V4L2_CODEC_VP9_DEC, GstV4l2CodecVp9DecClass))
|
|
||||||
#define GST_IS_V4L2_CODEC_VP9_DEC(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_V4L2_CODEC_VP9_DEC))
|
|
||||||
#define GST_IS_V4L2_CODEC_VP9_DEC_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_V4L2_CODEC_VP9_DEC))
|
|
||||||
|
|
||||||
typedef struct _GstV4l2CodecVp9Dec GstV4l2CodecVp9Dec;
|
|
||||||
typedef struct _GstV4l2CodecVp9DecClass GstV4l2CodecVp9DecClass;
|
|
||||||
|
|
||||||
struct _GstV4l2CodecVp9DecClass
|
|
||||||
{
|
|
||||||
GstVp9DecoderClass parent_class;
|
|
||||||
GstV4l2CodecDevice *device;
|
|
||||||
};
|
|
||||||
|
|
||||||
GType gst_v4l2_codec_vp9_dec_get_type (void);
|
|
||||||
void gst_v4l2_codec_vp9_dec_register (GstPlugin * plugin,
|
void gst_v4l2_codec_vp9_dec_register (GstPlugin * plugin,
|
||||||
GstV4l2Decoder * decoder,
|
GstV4l2Decoder * decoder,
|
||||||
GstV4l2CodecDevice * device,
|
GstV4l2CodecDevice * device,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user