From d13a414ddc28aa495c9797e6e617083a40f99fd7 Mon Sep 17 00:00:00 2001 From: Nicolas Dufresne Date: Thu, 14 Dec 2023 15:26:27 -0500 Subject: [PATCH] v4l2codecs: Don't needlessly expose decoder types We have explicit register functions and have no use for these types in other components. Part-of: --- .../sys/v4l2codecs/gstv4l2codecav1dec.c | 19 ++++++++++++++++++ .../sys/v4l2codecs/gstv4l2codecav1dec.h | 20 ------------------- .../sys/v4l2codecs/gstv4l2codech264dec.c | 19 ++++++++++++++++++ .../sys/v4l2codecs/gstv4l2codech264dec.h | 20 ------------------- .../sys/v4l2codecs/gstv4l2codech265dec.c | 19 ++++++++++++++++++ .../sys/v4l2codecs/gstv4l2codech265dec.h | 20 ------------------- .../sys/v4l2codecs/gstv4l2codecmpeg2dec.c | 20 +++++++++++++++++++ .../sys/v4l2codecs/gstv4l2codecmpeg2dec.h | 20 ------------------- .../sys/v4l2codecs/gstv4l2codecvp8dec.c | 19 ++++++++++++++++++ .../sys/v4l2codecs/gstv4l2codecvp8dec.h | 20 ------------------- .../sys/v4l2codecs/gstv4l2codecvp9dec.c | 19 ++++++++++++++++++ .../sys/v4l2codecs/gstv4l2codecvp9dec.h | 20 ------------------- 12 files changed, 115 insertions(+), 120 deletions(-) diff --git a/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecav1dec.c b/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecav1dec.c index 671d35d551..5365153037 100644 --- a/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecav1dec.c +++ b/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecav1dec.c @@ -23,6 +23,9 @@ #include "config.h" #endif +#define GST_USE_UNSTABLE_API +#include + #include "gstv4l2codecallocator.h" #include "gstv4l2codecav1dec.h" #include "gstv4l2codecpool.h" @@ -38,6 +41,11 @@ GST_DEBUG_CATEGORY_STATIC (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 */ #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_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 { GstAV1Decoder parent; @@ -100,6 +117,8 @@ struct _GstV4l2CodecAV1Dec GstMapInfo bitstream_map; }; +static GType gst_v4l2_codec_av1_dec_get_type (void); + G_DEFINE_ABSTRACT_TYPE (GstV4l2CodecAV1Dec, gst_v4l2_codec_av1_dec, GST_TYPE_AV1_DECODER); diff --git a/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecav1dec.h b/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecav1dec.h index 52a1092956..9519e64cf7 100644 --- a/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecav1dec.h +++ b/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecav1dec.h @@ -19,30 +19,10 @@ #pragma once -#define GST_USE_UNSTABLE_API -#include - #include "gstv4l2decoder.h" 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, GstV4l2Decoder * decoder, GstV4l2CodecDevice * device, diff --git a/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codech264dec.c b/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codech264dec.c index 666dd5e5ec..033f80aaf8 100644 --- a/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codech264dec.c +++ b/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codech264dec.c @@ -21,6 +21,9 @@ #include #endif +#define GST_USE_UNSTABLE_API +#include + #include "gstv4l2codecallocator.h" #include "gstv4l2codech264dec.h" #include "gstv4l2codecpool.h" @@ -36,6 +39,11 @@ GST_DEBUG_CATEGORY_STATIC (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 { 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_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 { GstH264Decoder parent; @@ -100,6 +117,8 @@ struct _GstV4l2CodecH264Dec GstMapInfo bitstream_map; }; +static GType gst_v4l2_codec_h264_dec_get_type (void); + G_DEFINE_ABSTRACT_TYPE (GstV4l2CodecH264Dec, gst_v4l2_codec_h264_dec, GST_TYPE_H264_DECODER); diff --git a/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codech264dec.h b/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codech264dec.h index 0dd46927e4..87e27571e9 100644 --- a/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codech264dec.h +++ b/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codech264dec.h @@ -19,30 +19,10 @@ #pragma once -#define GST_USE_UNSTABLE_API -#include - #include "gstv4l2decoder.h" 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, GstV4l2Decoder * decoder, GstV4l2CodecDevice * device, diff --git a/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codech265dec.c b/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codech265dec.c index cabd68e204..f97c660be3 100644 --- a/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codech265dec.c +++ b/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codech265dec.c @@ -22,6 +22,9 @@ #include #endif +#define GST_USE_UNSTABLE_API +#include + #include "gstv4l2codecallocator.h" #include "gstv4l2codech265dec.h" #include "gstv4l2codecpool.h" @@ -37,6 +40,11 @@ GST_DEBUG_CATEGORY_STATIC (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 { 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_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 { GstH265Decoder parent; @@ -108,6 +125,8 @@ struct _GstV4l2CodecH265Dec 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, GST_TYPE_H265_DECODER); diff --git a/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codech265dec.h b/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codech265dec.h index a5ed3ecff8..93b7bfbb02 100644 --- a/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codech265dec.h +++ b/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codech265dec.h @@ -20,30 +20,10 @@ #pragma once -#define GST_USE_UNSTABLE_API -#include - #include "gstv4l2decoder.h" 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, GstV4l2Decoder * decoder, GstV4l2CodecDevice * device, diff --git a/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecmpeg2dec.c b/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecmpeg2dec.c index eb320d9d55..ab8d0403e1 100644 --- a/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecmpeg2dec.c +++ b/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecmpeg2dec.c @@ -22,6 +22,9 @@ #include #endif +#define GST_USE_UNSTABLE_API +#include + #include "gstv4l2codecallocator.h" #include "gstv4l2codecmpeg2dec.h" #include "gstv4l2codecpool.h" @@ -40,6 +43,11 @@ GST_DEBUG_CATEGORY_STATIC (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 { 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_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 { GstMpeg2Decoder parent; @@ -98,6 +116,8 @@ struct _GstV4l2CodecMpeg2Dec gboolean copy_frames; }; +static GType gst_v4l2_codec_mpeg2_dec_get_type (void); + G_DEFINE_ABSTRACT_TYPE (GstV4l2CodecMpeg2Dec, gst_v4l2_codec_mpeg2_dec, GST_TYPE_MPEG2_DECODER); diff --git a/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecmpeg2dec.h b/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecmpeg2dec.h index 272783b588..648c7f07aa 100644 --- a/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecmpeg2dec.h +++ b/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecmpeg2dec.h @@ -19,30 +19,10 @@ #pragma once -#define GST_USE_UNSTABLE_API -#include - #include "gstv4l2decoder.h" 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, GstV4l2Decoder * decoder, GstV4l2CodecDevice * device, diff --git a/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecvp8dec.c b/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecvp8dec.c index 86429032f8..4a7ecd687c 100644 --- a/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecvp8dec.c +++ b/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecvp8dec.c @@ -21,6 +21,9 @@ #include #endif +#define GST_USE_UNSTABLE_API +#include + #include "gstv4l2codecallocator.h" #include "gstv4l2codecalphadecodebin.h" #include "gstv4l2codecpool.h" @@ -36,6 +39,11 @@ GST_DEBUG_CATEGORY_STATIC (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 { 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_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 { GstVp8Decoder parent; @@ -87,6 +104,8 @@ struct _GstV4l2CodecVp8Dec GstMapInfo bitstream_map; }; +static GType gst_v4l2_codec_vp8_dec_get_type (void); + G_DEFINE_ABSTRACT_TYPE (GstV4l2CodecVp8Dec, gst_v4l2_codec_vp8_dec, GST_TYPE_VP8_DECODER); diff --git a/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecvp8dec.h b/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecvp8dec.h index fd7a6742c5..33d0247395 100644 --- a/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecvp8dec.h +++ b/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecvp8dec.h @@ -19,30 +19,10 @@ #pragma once -#define GST_USE_UNSTABLE_API -#include - #include "gstv4l2decoder.h" 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, GstV4l2Decoder * decoder, GstV4l2CodecDevice * device, diff --git a/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecvp9dec.c b/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecvp9dec.c index dc00cd75ef..da1edd1539 100644 --- a/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecvp9dec.c +++ b/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecvp9dec.c @@ -22,6 +22,9 @@ #include #endif +#define GST_USE_UNSTABLE_API +#include + #include "gstv4l2codecallocator.h" #include "gstv4l2codecalphadecodebin.h" #include "gstv4l2codecpool.h" @@ -33,6 +36,11 @@ GST_DEBUG_CATEGORY_STATIC (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 */ #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_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 { GstVp9Decoder parent; @@ -98,6 +115,8 @@ struct _GstV4l2CodecVp9Dec guint subsampling_y; }; +static GType gst_v4l2_codec_vp9_dec_get_type (void); + G_DEFINE_ABSTRACT_TYPE (GstV4l2CodecVp9Dec, gst_v4l2_codec_vp9_dec, GST_TYPE_VP9_DECODER); diff --git a/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecvp9dec.h b/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecvp9dec.h index 1da355f631..1ced650195 100644 --- a/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecvp9dec.h +++ b/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecvp9dec.h @@ -20,30 +20,10 @@ #pragma once -#define GST_USE_UNSTABLE_API -#include - #include "gstv4l2decoder.h" 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, GstV4l2Decoder * decoder, GstV4l2CodecDevice * device,