video: GST_EXPORT -> GST_VIDEO_API

We need different export decorators for the different libs.
For now no actual change though, just rename before the release,
and add prelude headers to define the new decorator to GST_EXPORT.
This commit is contained in:
Tim-Philipp Müller 2018-03-13 11:48:31 +00:00
parent b618c5776d
commit ae429de8f6
34 changed files with 343 additions and 294 deletions

View file

@ -8,7 +8,8 @@ glib_enum_headers = video.h video-format.h video-color.h video-info.h video-dith
glib_enum_define = GST_VIDEO
glib_gen_prefix = gst_video
glib_gen_basename = video
glib_gen_decl_banner=GST_EXPORT
glib_gen_decl_banner=GST_VIDEO_API
glib_gen_decl_include=\#include <gst/video/video-prelude.h>
built_sources = video-enumtypes.c
built_headers = video-enumtypes.h
@ -60,6 +61,7 @@ libgstvideo_@GST_API_VERSION@include_HEADERS = \
colorbalancechannel.h \
navigation.h \
video.h \
video-prelude.h \
video-event.h \
video-format.h \
video-chroma.h \

View file

@ -90,31 +90,31 @@ struct _GstColorBalanceInterface {
gpointer _gst_reserved[GST_PADDING];
};
GST_EXPORT
GST_VIDEO_API
GType gst_color_balance_get_type (void);
/* virtual class function wrappers */
GST_EXPORT
GST_VIDEO_API
const GList *
gst_color_balance_list_channels (GstColorBalance *balance);
GST_EXPORT
GST_VIDEO_API
void gst_color_balance_set_value (GstColorBalance *balance,
GstColorBalanceChannel *channel,
gint value);
GST_EXPORT
GST_VIDEO_API
gint gst_color_balance_get_value (GstColorBalance *balance,
GstColorBalanceChannel *channel);
GST_EXPORT
GST_VIDEO_API
GstColorBalanceType
gst_color_balance_get_balance_type (GstColorBalance *balance);
/* trigger signal */
GST_EXPORT
GST_VIDEO_API
void gst_color_balance_value_changed (GstColorBalance *balance,
GstColorBalanceChannel *channel,
gint value);

View file

@ -23,6 +23,7 @@
#define __GST_COLOR_BALANCE_CHANNEL_H__
#include <gst/gst.h>
#include <gst/video/video-prelude.h>
G_BEGIN_DECLS
@ -78,7 +79,7 @@ struct _GstColorBalanceChannelClass {
gpointer _gst_reserved[GST_PADDING];
};
GST_EXPORT
GST_VIDEO_API
GType gst_color_balance_channel_get_type (void);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

@ -61,18 +61,18 @@ struct _GstVideoAffineTransformationMeta
gfloat matrix[16];
};
GST_EXPORT
GST_VIDEO_API
GType gst_video_affine_transformation_meta_api_get_type (void);
GST_EXPORT
GST_VIDEO_API
const GstMetaInfo *gst_video_affine_transformation_meta_get_info (void);
#define gst_buffer_get_video_affine_transformation_meta(b) \
((GstVideoAffineTransformationMeta *)gst_buffer_get_meta((b),GST_VIDEO_AFFINE_TRANSFORMATION_META_API_TYPE))
GST_EXPORT
GST_VIDEO_API
GstVideoAffineTransformationMeta *gst_buffer_add_video_affine_transformation_meta (GstBuffer * buffer);
GST_EXPORT
GST_VIDEO_API
void gst_video_affine_transformation_meta_apply_matrix (GstVideoAffineTransformationMeta * meta,
const gfloat matrix[16]);

View file

@ -118,7 +118,7 @@ typedef struct _GstVideoDecoderPrivate GstVideoDecoderPrivate;
/* do not use this one, use macro below */
GST_EXPORT
GST_VIDEO_API
GstFlowReturn _gst_video_decoder_error (GstVideoDecoder *dec, gint weight,
GQuark domain, gint code,
gchar *txt, gchar *debug,
@ -341,134 +341,134 @@ struct _GstVideoDecoderClass
gpointer padding[GST_PADDING_LARGE-6];
};
GST_EXPORT
GST_VIDEO_API
GType gst_video_decoder_get_type (void);
/* Context parameters */
GST_EXPORT
GST_VIDEO_API
void gst_video_decoder_set_packetized (GstVideoDecoder * decoder,
gboolean packetized);
GST_EXPORT
GST_VIDEO_API
gboolean gst_video_decoder_get_packetized (GstVideoDecoder * decoder);
GST_EXPORT
GST_VIDEO_API
void gst_video_decoder_set_estimate_rate (GstVideoDecoder * dec,
gboolean enabled);
GST_EXPORT
GST_VIDEO_API
gint gst_video_decoder_get_estimate_rate (GstVideoDecoder * dec);
GST_EXPORT
GST_VIDEO_API
void gst_video_decoder_set_max_errors (GstVideoDecoder * dec,
gint num);
GST_EXPORT
GST_VIDEO_API
gint gst_video_decoder_get_max_errors (GstVideoDecoder * dec);
GST_EXPORT
GST_VIDEO_API
void gst_video_decoder_set_needs_format (GstVideoDecoder * dec,
gboolean enabled);
GST_EXPORT
GST_VIDEO_API
gboolean gst_video_decoder_get_needs_format (GstVideoDecoder * dec);
GST_EXPORT
GST_VIDEO_API
void gst_video_decoder_set_latency (GstVideoDecoder *decoder,
GstClockTime min_latency,
GstClockTime max_latency);
GST_EXPORT
GST_VIDEO_API
void gst_video_decoder_get_latency (GstVideoDecoder *decoder,
GstClockTime *min_latency,
GstClockTime *max_latency);
GST_EXPORT
GST_VIDEO_API
void gst_video_decoder_get_allocator (GstVideoDecoder *decoder,
GstAllocator **allocator,
GstAllocationParams *params);
GST_EXPORT
GST_VIDEO_API
GstBufferPool *gst_video_decoder_get_buffer_pool (GstVideoDecoder *decoder);
/* Object methods */
GST_EXPORT
GST_VIDEO_API
GstVideoCodecFrame *gst_video_decoder_get_frame (GstVideoDecoder *decoder,
int frame_number);
GST_EXPORT
GST_VIDEO_API
GstVideoCodecFrame *gst_video_decoder_get_oldest_frame (GstVideoDecoder *decoder);
GST_EXPORT
GST_VIDEO_API
GList * gst_video_decoder_get_frames (GstVideoDecoder *decoder);
/* Parsing related methods */
GST_EXPORT
GST_VIDEO_API
void gst_video_decoder_add_to_frame (GstVideoDecoder *decoder,
int n_bytes);
GST_EXPORT
GST_VIDEO_API
GstFlowReturn gst_video_decoder_have_frame (GstVideoDecoder *decoder);
GST_EXPORT
GST_VIDEO_API
gsize gst_video_decoder_get_pending_frame_size (GstVideoDecoder *decoder);
GST_EXPORT
GST_VIDEO_API
GstBuffer *gst_video_decoder_allocate_output_buffer (GstVideoDecoder * decoder);
GST_EXPORT
GST_VIDEO_API
GstFlowReturn gst_video_decoder_allocate_output_frame_with_params (GstVideoDecoder *decoder,
GstVideoCodecFrame * frame,
GstBufferPoolAcquireParams *params);
GST_EXPORT
GST_VIDEO_API
GstFlowReturn gst_video_decoder_allocate_output_frame (GstVideoDecoder *decoder,
GstVideoCodecFrame *frame);
GST_EXPORT
GST_VIDEO_API
GstVideoCodecState *gst_video_decoder_set_output_state (GstVideoDecoder *decoder,
GstVideoFormat fmt, guint width, guint height,
GstVideoCodecState *reference);
GST_EXPORT
GST_VIDEO_API
GstVideoCodecState *gst_video_decoder_get_output_state (GstVideoDecoder *decoder);
GST_EXPORT
GST_VIDEO_API
gboolean gst_video_decoder_negotiate (GstVideoDecoder * decoder);
GST_EXPORT
GST_VIDEO_API
GstClockTimeDiff gst_video_decoder_get_max_decode_time (GstVideoDecoder *decoder,
GstVideoCodecFrame *frame);
GST_EXPORT
GST_VIDEO_API
gdouble gst_video_decoder_get_qos_proportion (GstVideoDecoder * decoder);
GST_EXPORT
GST_VIDEO_API
GstFlowReturn gst_video_decoder_finish_frame (GstVideoDecoder *decoder,
GstVideoCodecFrame *frame);
GST_EXPORT
GST_VIDEO_API
GstFlowReturn gst_video_decoder_drop_frame (GstVideoDecoder *dec,
GstVideoCodecFrame *frame);
GST_EXPORT
GST_VIDEO_API
void gst_video_decoder_release_frame (GstVideoDecoder * dec,
GstVideoCodecFrame * frame);
GST_EXPORT
GST_VIDEO_API
void gst_video_decoder_merge_tags (GstVideoDecoder *decoder,
const GstTagList *tags,
GstTagMergeMode mode);
GST_EXPORT
GST_VIDEO_API
GstCaps * gst_video_decoder_proxy_getcaps (GstVideoDecoder * decoder,
GstCaps * caps,
GstCaps * filter);
GST_EXPORT
GST_VIDEO_API
void gst_video_decoder_set_use_default_pad_acceptcaps (GstVideoDecoder * decoder,
gboolean use);

View file

@ -299,82 +299,82 @@ struct _GstVideoEncoderClass
gpointer _gst_reserved[GST_PADDING_LARGE-4];
};
GST_EXPORT
GST_VIDEO_API
GType gst_video_encoder_get_type (void);
GST_EXPORT
GST_VIDEO_API
GstVideoCodecState* gst_video_encoder_get_output_state (GstVideoEncoder *encoder);
GST_EXPORT
GST_VIDEO_API
GstVideoCodecState* gst_video_encoder_set_output_state (GstVideoEncoder * encoder,
GstCaps * caps,
GstVideoCodecState * reference);
GST_EXPORT
GST_VIDEO_API
gboolean gst_video_encoder_negotiate (GstVideoEncoder * encoder);
GST_EXPORT
GST_VIDEO_API
GstVideoCodecFrame* gst_video_encoder_get_frame (GstVideoEncoder *encoder,
int frame_number);
GST_EXPORT
GST_VIDEO_API
GstVideoCodecFrame* gst_video_encoder_get_oldest_frame (GstVideoEncoder *encoder);
GST_EXPORT
GST_VIDEO_API
GList * gst_video_encoder_get_frames (GstVideoEncoder *encoder);
GST_EXPORT
GST_VIDEO_API
GstBuffer * gst_video_encoder_allocate_output_buffer (GstVideoEncoder * encoder,
gsize size);
GST_EXPORT
GST_VIDEO_API
GstFlowReturn gst_video_encoder_allocate_output_frame (GstVideoEncoder *encoder,
GstVideoCodecFrame *frame,
gsize size);
GST_EXPORT
GST_VIDEO_API
GstFlowReturn gst_video_encoder_finish_frame (GstVideoEncoder *encoder,
GstVideoCodecFrame *frame);
GST_EXPORT
GST_VIDEO_API
GstCaps * gst_video_encoder_proxy_getcaps (GstVideoEncoder * enc,
GstCaps * caps,
GstCaps * filter);
GST_EXPORT
GST_VIDEO_API
void gst_video_encoder_set_latency (GstVideoEncoder *encoder,
GstClockTime min_latency,
GstClockTime max_latency);
GST_EXPORT
GST_VIDEO_API
void gst_video_encoder_get_latency (GstVideoEncoder *encoder,
GstClockTime *min_latency,
GstClockTime *max_latency);
GST_EXPORT
GST_VIDEO_API
void gst_video_encoder_set_headers (GstVideoEncoder *encoder,
GList *headers);
GST_EXPORT
GST_VIDEO_API
void gst_video_encoder_merge_tags (GstVideoEncoder *encoder,
const GstTagList *tags,
GstTagMergeMode mode);
GST_EXPORT
GST_VIDEO_API
void gst_video_encoder_get_allocator (GstVideoEncoder *encoder,
GstAllocator **allocator,
GstAllocationParams *params);
GST_EXPORT
GST_VIDEO_API
void gst_video_encoder_set_min_pts(GstVideoEncoder *encoder, GstClockTime min_pts);
GST_EXPORT
GST_VIDEO_API
void gst_video_encoder_set_qos_enabled (GstVideoEncoder * encoder, gboolean enabled);
GST_EXPORT
GST_VIDEO_API
gboolean gst_video_encoder_is_qos_enabled (GstVideoEncoder * encoder);
GST_EXPORT
GST_VIDEO_API
GstClockTimeDiff gst_video_encoder_get_max_encode_time (GstVideoEncoder *encoder, GstVideoCodecFrame * frame);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

@ -79,7 +79,7 @@ struct _GstVideoFilterClass {
gpointer _gst_reserved[GST_PADDING];
};
GST_EXPORT
GST_VIDEO_API
GType gst_video_filter_get_type (void);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

@ -76,33 +76,33 @@ struct _GstVideoMeta {
gboolean (*unmap) (GstVideoMeta *meta, guint plane, GstMapInfo *info);
};
GST_EXPORT
GST_VIDEO_API
GType gst_video_meta_api_get_type (void);
GST_EXPORT
GST_VIDEO_API
const GstMetaInfo * gst_video_meta_get_info (void);
GST_EXPORT
GST_VIDEO_API
GstVideoMeta * gst_buffer_get_video_meta (GstBuffer *buffer);
GST_EXPORT
GST_VIDEO_API
GstVideoMeta * gst_buffer_get_video_meta_id (GstBuffer *buffer, gint id);
GST_EXPORT
GST_VIDEO_API
GstVideoMeta * gst_buffer_add_video_meta (GstBuffer *buffer, GstVideoFrameFlags flags,
GstVideoFormat format, guint width, guint height);
GST_EXPORT
GST_VIDEO_API
GstVideoMeta * gst_buffer_add_video_meta_full (GstBuffer *buffer, GstVideoFrameFlags flags,
GstVideoFormat format, guint width, guint height,
guint n_planes, gsize offset[GST_VIDEO_MAX_PLANES],
gint stride[GST_VIDEO_MAX_PLANES]);
GST_EXPORT
GST_VIDEO_API
gboolean gst_video_meta_map (GstVideoMeta *meta, guint plane, GstMapInfo *info,
gpointer *data, gint *stride, GstMapFlags flags);
GST_EXPORT
GST_VIDEO_API
gboolean gst_video_meta_unmap (GstVideoMeta *meta, guint plane, GstMapInfo *info);
/**
@ -124,10 +124,10 @@ struct _GstVideoCropMeta {
guint height;
};
GST_EXPORT
GST_VIDEO_API
GType gst_video_crop_meta_api_get_type (void);
GST_EXPORT
GST_VIDEO_API
const GstMetaInfo * gst_video_crop_meta_get_info (void);
#define gst_buffer_get_video_crop_meta(b) ((GstVideoCropMeta*)gst_buffer_get_meta((b),GST_VIDEO_CROP_META_API_TYPE))
@ -135,7 +135,7 @@ const GstMetaInfo * gst_video_crop_meta_get_info (void);
/* video metadata transforms */
GST_EXPORT
GST_VIDEO_API
GQuark gst_video_meta_transform_scale_get_quark (void);
/**
* gst_video_meta_transform_scale:
@ -247,15 +247,15 @@ struct _GstVideoGLTextureUploadMeta {
GBoxedFreeFunc user_data_free;
};
GST_EXPORT
GST_VIDEO_API
GType gst_video_gl_texture_upload_meta_api_get_type (void);
GST_EXPORT
GST_VIDEO_API
const GstMetaInfo * gst_video_gl_texture_upload_meta_get_info (void);
#define gst_buffer_get_video_gl_texture_upload_meta(b) ((GstVideoGLTextureUploadMeta*)gst_buffer_get_meta((b),GST_VIDEO_GL_TEXTURE_UPLOAD_META_API_TYPE))
GST_EXPORT
GST_VIDEO_API
GstVideoGLTextureUploadMeta *
gst_buffer_add_video_gl_texture_upload_meta (GstBuffer *buffer,
GstVideoGLTextureOrientation texture_orientation,
@ -266,7 +266,7 @@ GstVideoGLTextureUploadMeta *
GBoxedCopyFunc user_data_copy,
GBoxedFreeFunc user_data_free);
GST_EXPORT
GST_VIDEO_API
gboolean gst_video_gl_texture_upload_meta_upload (GstVideoGLTextureUploadMeta *meta,
guint texture_id[4]);
@ -300,20 +300,20 @@ typedef struct {
GList *params;
} GstVideoRegionOfInterestMeta;
GST_EXPORT
GST_VIDEO_API
GType gst_video_region_of_interest_meta_api_get_type (void);
#define GST_VIDEO_REGION_OF_INTEREST_META_API_TYPE (gst_video_region_of_interest_meta_api_get_type())
GST_EXPORT
GST_VIDEO_API
const GstMetaInfo *gst_video_region_of_interest_meta_get_info (void);
#define GST_VIDEO_REGION_OF_INTEREST_META_INFO (gst_video_region_of_interest_meta_get_info())
#define gst_buffer_get_video_region_of_interest_meta(b) \
((GstVideoRegionOfInterestMeta*)gst_buffer_get_meta((b),GST_VIDEO_REGION_OF_INTEREST_META_API_TYPE))
GST_EXPORT
GST_VIDEO_API
GstVideoRegionOfInterestMeta *gst_buffer_get_video_region_of_interest_meta_id (GstBuffer * buffer,
gint id);
GST_EXPORT
GST_VIDEO_API
GstVideoRegionOfInterestMeta *gst_buffer_add_video_region_of_interest_meta (GstBuffer * buffer,
const gchar * roi_type,
guint x,
@ -321,18 +321,18 @@ GstVideoRegionOfInterestMeta *gst_buffer_add_video_region_of_interest_meta (G
guint w,
guint h);
GST_EXPORT
GST_VIDEO_API
GstVideoRegionOfInterestMeta *gst_buffer_add_video_region_of_interest_meta_id (GstBuffer * buffer,
GQuark roi_type,
guint x,
guint y,
guint w,
guint h);
GST_EXPORT
GST_VIDEO_API
void gst_video_region_of_interest_meta_add_param (GstVideoRegionOfInterestMeta * meta,
GstStructure * s);
GST_EXPORT
GST_VIDEO_API
GstStructure *gst_video_region_of_interest_meta_get_param (GstVideoRegionOfInterestMeta * meta,
const gchar * name);
@ -354,22 +354,22 @@ typedef struct {
GstVideoTimeCode tc;
} GstVideoTimeCodeMeta;
GST_EXPORT
GST_VIDEO_API
GType gst_video_time_code_meta_api_get_type (void);
#define GST_VIDEO_TIME_CODE_META_API_TYPE (gst_video_time_code_meta_api_get_type())
GST_EXPORT
GST_VIDEO_API
const GstMetaInfo *gst_video_time_code_meta_get_info (void);
#define GST_VIDEO_TIME_CODE_META_INFO (gst_video_time_code_meta_get_info())
#define gst_buffer_get_video_time_code_meta(b) \
((GstVideoTimeCodeMeta*)gst_buffer_get_meta((b),GST_VIDEO_TIME_CODE_META_API_TYPE))
GST_EXPORT
GST_VIDEO_API
GstVideoTimeCodeMeta *gst_buffer_add_video_time_code_meta (GstBuffer * buffer,
GstVideoTimeCode * tc);
GST_EXPORT
GST_VIDEO_API
GstVideoTimeCodeMeta *
gst_buffer_add_video_time_code_meta_full (GstBuffer * buffer,
guint fps_n,

View file

@ -47,10 +47,10 @@ G_BEGIN_DECLS
/* setting a bufferpool config */
GST_EXPORT
GST_VIDEO_API
void gst_buffer_pool_config_set_video_alignment (GstStructure *config, GstVideoAlignment *align);
GST_EXPORT
GST_VIDEO_API
gboolean gst_buffer_pool_config_get_video_alignment (GstStructure *config, GstVideoAlignment *align);
/* video bufferpool */
@ -75,10 +75,10 @@ struct _GstVideoBufferPoolClass
GstBufferPoolClass parent_class;
};
GST_EXPORT
GST_VIDEO_API
GType gst_video_buffer_pool_get_type (void);
GST_EXPORT
GST_VIDEO_API
GstBufferPool * gst_video_buffer_pool_new (void);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

@ -25,6 +25,7 @@
#include <gst/gst.h>
#include <gst/base/gstbasesink.h>
#include <gst/video/video-prelude.h>
G_BEGIN_DECLS
@ -120,10 +121,10 @@ struct _GstVideoSinkClass {
gpointer _gst_reserved[GST_PADDING];
};
GST_EXPORT
GST_VIDEO_API
GType gst_video_sink_get_type (void);
GST_EXPORT
GST_VIDEO_API
void gst_video_sink_center_rect (GstVideoRectangle src, GstVideoRectangle dst,
GstVideoRectangle *result, gboolean scaling);

View file

@ -21,6 +21,7 @@
#define __GST_VIDEO_TIME_CODE_H__
#include <gst/gst.h>
#include <gst/video/video-prelude.h>
G_BEGIN_DECLS
@ -123,10 +124,10 @@ struct _GstVideoTimeCodeInterval {
#define GST_VIDEO_TIME_CODE_INIT { {0, 0, 0, NULL}, 0, 0, 0, 0, 0 }
#define GST_TYPE_VIDEO_TIME_CODE (gst_video_time_code_get_type())
GST_EXPORT
GST_VIDEO_API
GType gst_video_time_code_get_type (void);
GST_EXPORT
GST_VIDEO_API
GstVideoTimeCode * gst_video_time_code_new (guint fps_n,
guint fps_d,
GDateTime * latest_daily_jam,
@ -137,26 +138,26 @@ GstVideoTimeCode * gst_video_time_code_new (guint fp
guint frames,
guint field_count);
GST_EXPORT
GST_VIDEO_API
GstVideoTimeCode * gst_video_time_code_new_empty (void);
GST_EXPORT
GST_VIDEO_API
GstVideoTimeCode * gst_video_time_code_new_from_string (const gchar * tc_str);
GST_EXPORT
GST_VIDEO_API
GstVideoTimeCode * gst_video_time_code_new_from_date_time (guint fps_n,
guint fps_d,
GDateTime * dt,
GstVideoTimeCodeFlags flags,
guint field_count);
GST_EXPORT
GST_VIDEO_API
void gst_video_time_code_free (GstVideoTimeCode * tc);
GST_EXPORT
GST_VIDEO_API
GstVideoTimeCode * gst_video_time_code_copy (const GstVideoTimeCode * tc);
GST_EXPORT
GST_VIDEO_API
void gst_video_time_code_init (GstVideoTimeCode * tc,
guint fps_n,
guint fps_d,
@ -168,7 +169,7 @@ void gst_video_time_code_init (GstVideoTimeCode * tc
guint frames,
guint field_count);
GST_EXPORT
GST_VIDEO_API
void gst_video_time_code_init_from_date_time (GstVideoTimeCode * tc,
guint fps_n,
guint fps_d,
@ -176,65 +177,65 @@ void gst_video_time_code_init_from_date_time (GstVideoTimeCode * tc
GstVideoTimeCodeFlags flags,
guint field_count);
GST_EXPORT
GST_VIDEO_API
void gst_video_time_code_clear (GstVideoTimeCode * tc);
GST_EXPORT
GST_VIDEO_API
gboolean gst_video_time_code_is_valid (const GstVideoTimeCode * tc);
GST_EXPORT
GST_VIDEO_API
gint gst_video_time_code_compare (const GstVideoTimeCode * tc1,
const GstVideoTimeCode * tc2);
GST_EXPORT
GST_VIDEO_API
void gst_video_time_code_increment_frame (GstVideoTimeCode * tc);
GST_EXPORT
GST_VIDEO_API
void gst_video_time_code_add_frames (GstVideoTimeCode * tc,
gint64 frames);
GST_EXPORT
GST_VIDEO_API
gchar *gst_video_time_code_to_string (const GstVideoTimeCode * tc);
GST_EXPORT
GST_VIDEO_API
GDateTime *gst_video_time_code_to_date_time (const GstVideoTimeCode * tc);
GST_EXPORT
GST_VIDEO_API
guint64 gst_video_time_code_nsec_since_daily_jam (const GstVideoTimeCode * tc);
GST_EXPORT
GST_VIDEO_API
guint64 gst_video_time_code_frames_since_daily_jam (const GstVideoTimeCode * tc);
GST_EXPORT
GST_VIDEO_API
GstVideoTimeCode * gst_video_time_code_add_interval (const GstVideoTimeCode * tc, const GstVideoTimeCodeInterval * tc_inter);
#define GST_TYPE_VIDEO_TIME_CODE_INTERVAL (gst_video_time_code_interval_get_type())
GST_EXPORT
GST_VIDEO_API
GType gst_video_time_code_interval_get_type (void);
GST_EXPORT
GST_VIDEO_API
GstVideoTimeCodeInterval * gst_video_time_code_interval_new (guint hours,
guint minutes,
guint seconds,
guint frames);
GST_EXPORT
GST_VIDEO_API
GstVideoTimeCodeInterval * gst_video_time_code_interval_new_from_string (const gchar * tc_inter_str);
GST_EXPORT
GST_VIDEO_API
void gst_video_time_code_interval_free (GstVideoTimeCodeInterval * tc);
GST_EXPORT
GST_VIDEO_API
GstVideoTimeCodeInterval * gst_video_time_code_interval_copy (const GstVideoTimeCodeInterval * tc);
GST_EXPORT
GST_VIDEO_API
void gst_video_time_code_interval_init (GstVideoTimeCodeInterval * tc,
guint hours,
guint minutes,
guint seconds,
guint frames);
GST_EXPORT
GST_VIDEO_API
void gst_video_time_code_interval_clear (GstVideoTimeCodeInterval * tc);
G_END_DECLS

View file

@ -27,6 +27,7 @@
#define _GST_VIDEO_UTILS_H_
#include <gst/gst.h>
#include <gst/video/video-prelude.h>
G_BEGIN_DECLS
#define GST_TYPE_VIDEO_CODEC_STATE \
@ -265,33 +266,33 @@ struct _GstVideoCodecFrame
/* GstVideoCodecState */
GST_EXPORT
GST_VIDEO_API
GType gst_video_codec_state_get_type (void);
GST_EXPORT
GST_VIDEO_API
GstVideoCodecState *gst_video_codec_state_ref (GstVideoCodecState * state);
GST_EXPORT
GST_VIDEO_API
void gst_video_codec_state_unref (GstVideoCodecState * state);
/* GstVideoCodecFrame */
GST_EXPORT
GST_VIDEO_API
GType gst_video_codec_frame_get_type (void);
GST_EXPORT
GST_VIDEO_API
GstVideoCodecFrame *gst_video_codec_frame_ref (GstVideoCodecFrame * frame);
GST_EXPORT
GST_VIDEO_API
void gst_video_codec_frame_unref (GstVideoCodecFrame * frame);
GST_EXPORT
GST_VIDEO_API
void gst_video_codec_frame_set_user_data (GstVideoCodecFrame *frame,
gpointer user_data,
GDestroyNotify notify);
GST_EXPORT
GST_VIDEO_API
gpointer gst_video_codec_frame_get_user_data (GstVideoCodecFrame *frame);
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC

View file

@ -55,6 +55,7 @@ video_headers = [
'video-dither.h',
'video-info.h',
'video-frame.h',
'video-prelude.h',
'video-scaler.h',
'video-tile.h',
'videodirection.h',

View file

@ -24,6 +24,7 @@
#define __GST_NAVIGATION_H__
#include <gst/gst.h>
#include <gst/video/video-prelude.h>
G_BEGIN_DECLS
@ -53,7 +54,7 @@ struct _GstNavigationInterface {
void (*send_event) (GstNavigation *navigation, GstStructure *structure);
};
GST_EXPORT
GST_VIDEO_API
GType gst_navigation_get_type (void);
/* Navigation commands */
@ -149,35 +150,35 @@ typedef enum
GST_NAVIGATION_QUERY_ANGLES = 2
} GstNavigationQueryType;
GST_EXPORT
GST_VIDEO_API
GstNavigationQueryType gst_navigation_query_get_type (GstQuery *query);
GST_EXPORT
GST_VIDEO_API
GstQuery * gst_navigation_query_new_commands (void);
GST_EXPORT
GST_VIDEO_API
void gst_navigation_query_set_commands (GstQuery *query, gint n_cmds, ...);
GST_EXPORT
GST_VIDEO_API
void gst_navigation_query_set_commandsv (GstQuery *query, gint n_cmds,
GstNavigationCommand *cmds);
GST_EXPORT
GST_VIDEO_API
gboolean gst_navigation_query_parse_commands_length (GstQuery *query,
guint *n_cmds);
GST_EXPORT
GST_VIDEO_API
gboolean gst_navigation_query_parse_commands_nth (GstQuery *query, guint nth,
GstNavigationCommand *cmd);
GST_EXPORT
GST_VIDEO_API
GstQuery * gst_navigation_query_new_angles (void);
GST_EXPORT
GST_VIDEO_API
void gst_navigation_query_set_angles (GstQuery *query, guint cur_angle,
guint n_angles);
GST_EXPORT
GST_VIDEO_API
gboolean gst_navigation_query_parse_angles (GstQuery *query, guint *cur_angle,
guint *n_angles);
@ -208,35 +209,35 @@ typedef enum {
GST_NAVIGATION_MESSAGE_EVENT
} GstNavigationMessageType;
GST_EXPORT
GST_VIDEO_API
GstNavigationMessageType gst_navigation_message_get_type (GstMessage *message);
GST_EXPORT
GST_VIDEO_API
GstMessage * gst_navigation_message_new_mouse_over (GstObject *src,
gboolean active);
GST_EXPORT
GST_VIDEO_API
gboolean gst_navigation_message_parse_mouse_over (GstMessage *message,
gboolean *active);
GST_EXPORT
GST_VIDEO_API
GstMessage * gst_navigation_message_new_commands_changed (GstObject *src);
GST_EXPORT
GST_VIDEO_API
GstMessage * gst_navigation_message_new_angles_changed (GstObject *src,
guint cur_angle,
guint n_angles);
GST_EXPORT
GST_VIDEO_API
gboolean gst_navigation_message_parse_angles_changed (GstMessage *message,
guint *cur_angle,
guint *n_angles);
GST_EXPORT
GST_VIDEO_API
GstMessage * gst_navigation_message_new_event (GstObject *src,
GstEvent *event);
GST_EXPORT
GST_VIDEO_API
gboolean gst_navigation_message_parse_event (GstMessage *message,
GstEvent ** event);
/* event parsing functions */
@ -273,40 +274,40 @@ typedef enum {
GST_NAVIGATION_EVENT_COMMAND = 6
} GstNavigationEventType;
GST_EXPORT
GST_VIDEO_API
GstNavigationEventType gst_navigation_event_get_type (GstEvent *event);
GST_EXPORT
GST_VIDEO_API
gboolean gst_navigation_event_parse_key_event (GstEvent *event,
const gchar **key);
GST_EXPORT
GST_VIDEO_API
gboolean gst_navigation_event_parse_mouse_button_event (GstEvent *event,
gint *button, gdouble *x, gdouble *y);
GST_EXPORT
GST_VIDEO_API
gboolean gst_navigation_event_parse_mouse_move_event (GstEvent *event,
gdouble *x, gdouble *y);
GST_EXPORT
GST_VIDEO_API
gboolean gst_navigation_event_parse_command (GstEvent *event,
GstNavigationCommand *command);
/* interface virtual function wrappers */
GST_EXPORT
GST_VIDEO_API
void gst_navigation_send_event (GstNavigation *navigation,
GstStructure *structure);
GST_EXPORT
GST_VIDEO_API
void gst_navigation_send_key_event (GstNavigation *navigation,
const char *event, const char *key);
GST_EXPORT
GST_VIDEO_API
void gst_navigation_send_mouse_event (GstNavigation *navigation,
const char *event, int button, double x, double y);
GST_EXPORT
GST_VIDEO_API
void gst_navigation_send_command (GstNavigation *navigation,
GstNavigationCommand command);

View file

@ -27,12 +27,12 @@
#include <gst/gst.h>
#include <gst/video/video.h>
GST_EXPORT
GST_VIDEO_API
void gst_video_blend_scale_linear_RGBA (GstVideoInfo * src, GstBuffer * src_buffer,
gint dest_height, gint dest_width,
GstVideoInfo * dest, GstBuffer ** dest_buffer);
GST_EXPORT
GST_VIDEO_API
gboolean gst_video_blend (GstVideoFrame * dest,
GstVideoFrame * src,
gint x, gint y,

View file

@ -21,6 +21,7 @@
#define __GST_VIDEO_CHROMA_H__
#include <gst/gst.h>
#include <gst/video/video-prelude.h>
G_BEGIN_DECLS
@ -51,10 +52,10 @@ typedef enum {
GST_VIDEO_CHROMA_SITE_DV = (GST_VIDEO_CHROMA_SITE_COSITED | GST_VIDEO_CHROMA_SITE_ALT_LINE),
} GstVideoChromaSite;
GST_EXPORT
GST_VIDEO_API
GstVideoChromaSite gst_video_chroma_from_string (const gchar * s);
GST_EXPORT
GST_VIDEO_API
const gchar * gst_video_chroma_to_string (GstVideoChromaSite site);
/**
@ -88,21 +89,21 @@ typedef struct _GstVideoChromaResample GstVideoChromaResample;
/* circular dependency, need to include this after defining the enums */
#include <gst/video/video-format.h>
GST_EXPORT
GST_VIDEO_API
GstVideoChromaResample * gst_video_chroma_resample_new (GstVideoChromaMethod method,
GstVideoChromaSite site,
GstVideoChromaFlags flags,
GstVideoFormat format,
gint h_factor, gint v_factor);
GST_EXPORT
GST_VIDEO_API
void gst_video_chroma_resample_free (GstVideoChromaResample *resample);
GST_EXPORT
GST_VIDEO_API
void gst_video_chroma_resample_get_info (GstVideoChromaResample *resample,
guint * n_lines, gint *offset);
GST_EXPORT
GST_VIDEO_API
void gst_video_chroma_resample (GstVideoChromaResample *resample,
gpointer lines[], gint width);

View file

@ -65,7 +65,7 @@ typedef enum {
GST_VIDEO_COLOR_MATRIX_BT2020
} GstVideoColorMatrix;
GST_EXPORT
GST_VIDEO_API
gboolean gst_video_color_matrix_get_Kr_Kb (GstVideoColorMatrix matrix, gdouble * Kr, gdouble * Kb);
/**
@ -110,10 +110,10 @@ typedef enum {
GST_VIDEO_TRANSFER_ADOBERGB
} GstVideoTransferFunction;
GST_EXPORT
GST_VIDEO_API
gdouble gst_video_color_transfer_encode (GstVideoTransferFunction func, gdouble val);
GST_EXPORT
GST_VIDEO_API
gdouble gst_video_color_transfer_decode (GstVideoTransferFunction func, gdouble val);
/**
@ -169,7 +169,7 @@ typedef struct {
gdouble Bx, By;
} GstVideoColorPrimariesInfo;
GST_EXPORT
GST_VIDEO_API
const GstVideoColorPrimariesInfo *
gst_video_color_primaries_get_info (GstVideoColorPrimaries primaries);
@ -198,21 +198,21 @@ typedef struct {
#define GST_VIDEO_COLORIMETRY_SRGB "sRGB"
#define GST_VIDEO_COLORIMETRY_BT2020 "bt2020"
GST_EXPORT
GST_VIDEO_API
gboolean gst_video_colorimetry_matches (const GstVideoColorimetry *cinfo, const gchar *color);
GST_EXPORT
GST_VIDEO_API
gboolean gst_video_colorimetry_from_string (GstVideoColorimetry *cinfo, const gchar *color);
GST_EXPORT
GST_VIDEO_API
gchar * gst_video_colorimetry_to_string (const GstVideoColorimetry *cinfo);
GST_EXPORT
GST_VIDEO_API
gboolean gst_video_colorimetry_is_equal (const GstVideoColorimetry *cinfo, const GstVideoColorimetry *other);
/* compute offset and scale */
GST_EXPORT
GST_VIDEO_API
void gst_video_color_range_offsets (GstVideoColorRange range,
const GstVideoFormatInfo *info,
gint offset[GST_VIDEO_MAX_COMPONENTS],

View file

@ -275,21 +275,21 @@ typedef enum {
typedef struct _GstVideoConverter GstVideoConverter;
GST_EXPORT
GST_VIDEO_API
GstVideoConverter * gst_video_converter_new (GstVideoInfo *in_info,
GstVideoInfo *out_info,
GstStructure *config);
GST_EXPORT
GST_VIDEO_API
void gst_video_converter_free (GstVideoConverter * convert);
GST_EXPORT
GST_VIDEO_API
gboolean gst_video_converter_set_config (GstVideoConverter * convert, GstStructure *config);
GST_EXPORT
GST_VIDEO_API
const GstStructure * gst_video_converter_get_config (GstVideoConverter * convert);
GST_EXPORT
GST_VIDEO_API
void gst_video_converter_frame (GstVideoConverter * convert,
const GstVideoFrame *src, GstVideoFrame *dest);

View file

@ -21,6 +21,7 @@
#define __GST_VIDEO_DITHER_H__
#include <gst/gst.h>
#include <gst/video/video-prelude.h>
G_BEGIN_DECLS
@ -61,17 +62,17 @@ typedef struct _GstVideoDither GstVideoDither;
/* circular dependency, need to include this after defining the enums */
#include <gst/video/video-format.h>
GST_EXPORT
GST_VIDEO_API
GstVideoDither * gst_video_dither_new (GstVideoDitherMethod method,
GstVideoDitherFlags flags,
GstVideoFormat format,
guint quantizer[GST_VIDEO_MAX_COMPONENTS],
guint width);
GST_EXPORT
GST_VIDEO_API
void gst_video_dither_free (GstVideoDither *dither);
GST_EXPORT
GST_VIDEO_API
void gst_video_dither_line (GstVideoDither *dither,
gpointer line, guint x, guint y, guint width);

View file

@ -21,27 +21,28 @@
#define __GST_VIDEO_EVENT_H__
#include <gst/gst.h>
#include <gst/video/video-prelude.h>
G_BEGIN_DECLS
/* video still frame event creation and parsing */
GST_EXPORT
GST_VIDEO_API
GstEvent * gst_video_event_new_still_frame (gboolean in_still);
GST_EXPORT
GST_VIDEO_API
gboolean gst_video_event_parse_still_frame (GstEvent * event, gboolean * in_still);
/* video force key unit event creation and parsing */
GST_EXPORT
GST_VIDEO_API
GstEvent * gst_video_event_new_downstream_force_key_unit (GstClockTime timestamp,
GstClockTime stream_time,
GstClockTime running_time,
gboolean all_headers,
guint count);
GST_EXPORT
GST_VIDEO_API
gboolean gst_video_event_parse_downstream_force_key_unit (GstEvent * event,
GstClockTime * timestamp,
GstClockTime * stream_time,
@ -49,18 +50,18 @@ gboolean gst_video_event_parse_downstream_force_key_unit (GstEvent * event,
gboolean * all_headers,
guint * count);
GST_EXPORT
GST_VIDEO_API
GstEvent * gst_video_event_new_upstream_force_key_unit (GstClockTime running_time,
gboolean all_headers,
guint count);
GST_EXPORT
GST_VIDEO_API
gboolean gst_video_event_parse_upstream_force_key_unit (GstEvent * event,
GstClockTime * running_time,
gboolean * all_headers,
guint * count);
GST_EXPORT
GST_VIDEO_API
gboolean gst_video_event_is_force_key_unit(GstEvent *event);
G_END_DECLS

View file

@ -505,28 +505,28 @@ struct _GstVideoFormatInfo {
/* format properties */
GST_EXPORT
GST_VIDEO_API
GstVideoFormat gst_video_format_from_masks (gint depth, gint bpp, gint endianness,
guint red_mask, guint green_mask,
guint blue_mask, guint alpha_mask) G_GNUC_CONST;
GST_EXPORT
GST_VIDEO_API
GstVideoFormat gst_video_format_from_fourcc (guint32 fourcc) G_GNUC_CONST;
GST_EXPORT
GST_VIDEO_API
GstVideoFormat gst_video_format_from_string (const gchar *format) G_GNUC_CONST;
GST_EXPORT
GST_VIDEO_API
guint32 gst_video_format_to_fourcc (GstVideoFormat format) G_GNUC_CONST;
GST_EXPORT
GST_VIDEO_API
const gchar * gst_video_format_to_string (GstVideoFormat format) G_GNUC_CONST;
GST_EXPORT
GST_VIDEO_API
const GstVideoFormatInfo *
gst_video_format_get_info (GstVideoFormat format) G_GNUC_CONST;
GST_EXPORT
GST_VIDEO_API
gconstpointer gst_video_format_get_palette (GstVideoFormat format, gsize *size);
#define GST_VIDEO_SIZE_RANGE "(int) [ 1, max ]"

View file

@ -84,21 +84,21 @@ struct _GstVideoFrame {
gpointer _gst_reserved[GST_PADDING];
};
GST_EXPORT
GST_VIDEO_API
gboolean gst_video_frame_map (GstVideoFrame *frame, GstVideoInfo *info,
GstBuffer *buffer, GstMapFlags flags);
GST_EXPORT
GST_VIDEO_API
gboolean gst_video_frame_map_id (GstVideoFrame *frame, GstVideoInfo *info,
GstBuffer *buffer, gint id, GstMapFlags flags);
GST_EXPORT
GST_VIDEO_API
void gst_video_frame_unmap (GstVideoFrame *frame);
GST_EXPORT
GST_VIDEO_API
gboolean gst_video_frame_copy (GstVideoFrame *dest, const GstVideoFrame *src);
GST_EXPORT
GST_VIDEO_API
gboolean gst_video_frame_copy_plane (GstVideoFrame *dest, const GstVideoFrame *src,
guint plane);

View file

@ -55,10 +55,10 @@ typedef enum {
GST_VIDEO_INTERLACE_MODE_FIELDS
} GstVideoInterlaceMode;
GST_EXPORT
GST_VIDEO_API
const gchar * gst_video_interlace_mode_to_string (GstVideoInterlaceMode mode);
GST_EXPORT
GST_VIDEO_API
GstVideoInterlaceMode gst_video_interlace_mode_from_string (const gchar * mode);
/**
@ -250,10 +250,10 @@ typedef enum {
GST_VIDEO_FIELD_ORDER_BOTTOM_FIELD_FIRST = 2,
} GstVideoFieldOrder;
GST_EXPORT
GST_VIDEO_API
const gchar * gst_video_field_order_to_string (GstVideoFieldOrder order);
GST_EXPORT
GST_VIDEO_API
GstVideoFieldOrder gst_video_field_order_from_string (const gchar * order);
/**
@ -318,7 +318,7 @@ struct _GstVideoInfo {
};
#define GST_TYPE_VIDEO_INFO (gst_video_info_get_type ())
GST_EXPORT
GST_VIDEO_API
GType gst_video_info_get_type (void);
/* general info */
@ -370,42 +370,42 @@ GType gst_video_info_get_type (void);
#define GST_VIDEO_INFO_COMP_PSTRIDE(i,c) GST_VIDEO_FORMAT_INFO_PSTRIDE((i)->finfo,(c))
#define GST_VIDEO_INFO_COMP_POFFSET(i,c) GST_VIDEO_FORMAT_INFO_POFFSET((i)->finfo,(c))
GST_EXPORT
GST_VIDEO_API
GstVideoInfo * gst_video_info_new (void);
GST_EXPORT
GST_VIDEO_API
void gst_video_info_init (GstVideoInfo *info);
GST_EXPORT
GST_VIDEO_API
GstVideoInfo * gst_video_info_copy (const GstVideoInfo *info);
GST_EXPORT
GST_VIDEO_API
void gst_video_info_free (GstVideoInfo *info);
GST_EXPORT
GST_VIDEO_API
gboolean gst_video_info_set_format (GstVideoInfo *info, GstVideoFormat format,
guint width, guint height);
GST_EXPORT
GST_VIDEO_API
gboolean gst_video_info_from_caps (GstVideoInfo *info, const GstCaps * caps);
GST_EXPORT
GST_VIDEO_API
GstCaps * gst_video_info_to_caps (GstVideoInfo *info);
GST_EXPORT
GST_VIDEO_API
gboolean gst_video_info_convert (GstVideoInfo *info,
GstFormat src_format,
gint64 src_value,
GstFormat dest_format,
gint64 *dest_value);
GST_EXPORT
GST_VIDEO_API
gboolean gst_video_info_is_equal (const GstVideoInfo *info,
const GstVideoInfo *other);
#include <gst/video/video.h>
GST_EXPORT
GST_VIDEO_API
gboolean gst_video_info_align (GstVideoInfo * info, GstVideoAlignment * align);

View file

@ -21,39 +21,40 @@
#define __GST_VIDEO_MULTIVIEW_H__
#include <gst/gst.h>
#include <gst/video/video-prelude.h>
G_BEGIN_DECLS
#define GST_TYPE_VIDEO_MULTIVIEW_FLAGSET (gst_video_multiview_flagset_get_type())
GST_EXPORT
GST_VIDEO_API
GType gst_video_multiview_flagset_get_type (void);
GST_EXPORT
GST_VIDEO_API
const gchar * gst_video_multiview_mode_to_caps_string (GstVideoMultiviewMode mview_mode);
GST_EXPORT
GST_VIDEO_API
GstVideoMultiviewMode gst_video_multiview_mode_from_caps_string (const gchar * caps_mview_mode);
GST_EXPORT
GST_VIDEO_API
const GValue *gst_video_multiview_get_mono_modes(void);
GST_EXPORT
GST_VIDEO_API
const GValue *gst_video_multiview_get_unpacked_modes(void);
GST_EXPORT
GST_VIDEO_API
const GValue *gst_video_multiview_get_doubled_height_modes(void);
GST_EXPORT
GST_VIDEO_API
const GValue *gst_video_multiview_get_doubled_width_modes(void);
GST_EXPORT
GST_VIDEO_API
const GValue *gst_video_multiview_get_doubled_size_modes(void);
GST_EXPORT
GST_VIDEO_API
void gst_video_multiview_video_info_change_mode (GstVideoInfo *info,
GstVideoMultiviewMode out_mview_mode, GstVideoMultiviewFlags out_mview_flags);
GST_EXPORT
GST_VIDEO_API
gboolean gst_video_multiview_guess_half_aspect (GstVideoMultiviewMode mv_mode,
guint width, guint height, guint par_n, guint par_d);

View file

@ -124,66 +124,66 @@ typedef enum {
" I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444," \
" NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }"
GST_EXPORT
GST_VIDEO_API
GType gst_video_overlay_rectangle_get_type (void);
GST_EXPORT
GST_VIDEO_API
GstVideoOverlayRectangle * gst_video_overlay_rectangle_new_raw (GstBuffer * pixels,
gint render_x, gint render_y,
guint render_width, guint render_height,
GstVideoOverlayFormatFlags flags);
GST_EXPORT
GST_VIDEO_API
GstVideoOverlayRectangle * gst_video_overlay_rectangle_copy (GstVideoOverlayRectangle * rectangle);
GST_EXPORT
GST_VIDEO_API
guint gst_video_overlay_rectangle_get_seqnum (GstVideoOverlayRectangle * rectangle);
GST_EXPORT
GST_VIDEO_API
void gst_video_overlay_rectangle_set_render_rectangle (GstVideoOverlayRectangle * rectangle,
gint render_x,
gint render_y,
guint render_width,
guint render_height);
GST_EXPORT
GST_VIDEO_API
gboolean gst_video_overlay_rectangle_get_render_rectangle (GstVideoOverlayRectangle * rectangle,
gint * render_x,
gint * render_y,
guint * render_width,
guint * render_height);
GST_EXPORT
GST_VIDEO_API
GstBuffer * gst_video_overlay_rectangle_get_pixels_raw (GstVideoOverlayRectangle * rectangle,
GstVideoOverlayFormatFlags flags);
GST_EXPORT
GST_VIDEO_API
GstBuffer * gst_video_overlay_rectangle_get_pixels_argb (GstVideoOverlayRectangle * rectangle,
GstVideoOverlayFormatFlags flags);
GST_EXPORT
GST_VIDEO_API
GstBuffer * gst_video_overlay_rectangle_get_pixels_ayuv (GstVideoOverlayRectangle * rectangle,
GstVideoOverlayFormatFlags flags);
GST_EXPORT
GST_VIDEO_API
GstBuffer * gst_video_overlay_rectangle_get_pixels_unscaled_raw (GstVideoOverlayRectangle * rectangle,
GstVideoOverlayFormatFlags flags);
GST_EXPORT
GST_VIDEO_API
GstBuffer * gst_video_overlay_rectangle_get_pixels_unscaled_argb (GstVideoOverlayRectangle * rectangle,
GstVideoOverlayFormatFlags flags);
GST_EXPORT
GST_VIDEO_API
GstBuffer * gst_video_overlay_rectangle_get_pixels_unscaled_ayuv (GstVideoOverlayRectangle * rectangle,
GstVideoOverlayFormatFlags flags);
GST_EXPORT
GST_VIDEO_API
GstVideoOverlayFormatFlags gst_video_overlay_rectangle_get_flags (GstVideoOverlayRectangle * rectangle);
GST_EXPORT
GST_VIDEO_API
gfloat gst_video_overlay_rectangle_get_global_alpha (GstVideoOverlayRectangle * rectangle);
GST_EXPORT
GST_VIDEO_API
void gst_video_overlay_rectangle_set_global_alpha (GstVideoOverlayRectangle * rectangle,
gfloat global_alpha);
@ -235,34 +235,34 @@ gst_video_overlay_composition_unref (GstVideoOverlayComposition * comp)
gst_mini_object_unref (GST_MINI_OBJECT_CAST (comp));
}
GST_EXPORT
GST_VIDEO_API
GType gst_video_overlay_composition_get_type (void);
GST_EXPORT
GST_VIDEO_API
GstVideoOverlayComposition * gst_video_overlay_composition_copy (GstVideoOverlayComposition * comp);
GST_EXPORT
GST_VIDEO_API
GstVideoOverlayComposition * gst_video_overlay_composition_make_writable (GstVideoOverlayComposition * comp);
GST_EXPORT
GST_VIDEO_API
GstVideoOverlayComposition * gst_video_overlay_composition_new (GstVideoOverlayRectangle * rectangle);
GST_EXPORT
GST_VIDEO_API
void gst_video_overlay_composition_add_rectangle (GstVideoOverlayComposition * comp,
GstVideoOverlayRectangle * rectangle);
GST_EXPORT
GST_VIDEO_API
guint gst_video_overlay_composition_n_rectangles (GstVideoOverlayComposition * comp);
GST_EXPORT
GST_VIDEO_API
GstVideoOverlayRectangle * gst_video_overlay_composition_get_rectangle (GstVideoOverlayComposition * comp, guint n);
GST_EXPORT
GST_VIDEO_API
guint gst_video_overlay_composition_get_seqnum (GstVideoOverlayComposition * comp);
/* blend composition onto raw video buffer */
GST_EXPORT
GST_VIDEO_API
gboolean gst_video_overlay_composition_blend (GstVideoOverlayComposition * comp,
GstVideoFrame * video_buf);
@ -289,13 +289,13 @@ struct _GstVideoOverlayCompositionMeta
GstVideoOverlayComposition *overlay;
};
GST_EXPORT
GST_VIDEO_API
GType gst_video_overlay_composition_meta_api_get_type (void);
GST_EXPORT
GST_VIDEO_API
const GstMetaInfo *gst_video_overlay_composition_meta_get_info (void);
GST_EXPORT
GST_VIDEO_API
GstVideoOverlayCompositionMeta * gst_buffer_add_video_overlay_composition_meta (GstBuffer * buf,
GstVideoOverlayComposition * comp);

View file

@ -0,0 +1,31 @@
/* GStreamer Video Library
* Copyright (C) 2018 GStreamer developers
*
* video-prelude.h: prelude include header for gst-video library
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
#ifndef __GST_VIDEO_PRELUDE_H__
#define __GST_VIDEO_PRELUDE_H__
#include <gst/gst.h>
#ifndef GST_VIDEO_API
#define GST_VIDEO_API GST_EXPORT
#endif
#endif /* __GST_VIDEO_PRELUDE_H__ */

View file

@ -21,6 +21,7 @@
#define __GST_VIDEO_RESAMPLER_H__
#include <gst/gst.h>
#include <gst/video/video-prelude.h>
G_BEGIN_DECLS
@ -160,7 +161,7 @@ struct _GstVideoResampler
};
GST_EXPORT
GST_VIDEO_API
gboolean gst_video_resampler_init (GstVideoResampler *resampler,
GstVideoResamplerMethod method,
GstVideoResamplerFlags flags,
@ -169,7 +170,7 @@ gboolean gst_video_resampler_init (GstVideoResampler *resampler,
guint in_size, guint out_size,
GstStructure *options);
GST_EXPORT
GST_VIDEO_API
void gst_video_resampler_clear (GstVideoResampler *resampler);
G_END_DECLS

View file

@ -50,44 +50,44 @@ typedef enum {
typedef struct _GstVideoScaler GstVideoScaler;
GST_EXPORT
GST_VIDEO_API
GstVideoScaler * gst_video_scaler_new (GstVideoResamplerMethod method,
GstVideoScalerFlags flags,
guint n_taps,
guint in_size, guint out_size,
GstStructure * options);
GST_EXPORT
GST_VIDEO_API
void gst_video_scaler_free (GstVideoScaler *scale);
GST_EXPORT
GST_VIDEO_API
guint gst_video_scaler_get_max_taps (GstVideoScaler *scale);
GST_EXPORT
GST_VIDEO_API
const gdouble * gst_video_scaler_get_coeff (GstVideoScaler *scale,
guint out_offset,
guint *in_offset,
guint *n_taps);
GST_EXPORT
GST_VIDEO_API
void gst_video_scaler_horizontal (GstVideoScaler *scale,
GstVideoFormat format,
gpointer src, gpointer dest,
guint dest_offset, guint width);
GST_EXPORT
GST_VIDEO_API
void gst_video_scaler_vertical (GstVideoScaler *scale,
GstVideoFormat format,
gpointer src_lines[], gpointer dest,
guint dest_offset, guint width);
GST_EXPORT
GST_VIDEO_API
GstVideoScaler * gst_video_scaler_combine_packed_YUV (GstVideoScaler * y_scale,
GstVideoScaler *uv_scale,
GstVideoFormat in_format,
GstVideoFormat out_format);
GST_EXPORT
GST_VIDEO_API
void gst_video_scaler_2d (GstVideoScaler *hscale,
GstVideoScaler *vscale,
GstVideoFormat format,

View file

@ -21,6 +21,7 @@
#define __GST_VIDEO_TILE_H__
#include <gst/gst.h>
#include <gst/video/video-prelude.h>
G_BEGIN_DECLS
@ -112,7 +113,7 @@ typedef enum
GST_VIDEO_TILE_MODE_ZFLIPZ_2X2 = GST_VIDEO_TILE_MAKE_MODE (1, INDEXED),
} GstVideoTileMode;
GST_EXPORT
GST_VIDEO_API
guint gst_video_tile_get_index (GstVideoTileMode mode, gint x, gint y,
gint x_tiles, gint y_tiles);

View file

@ -22,6 +22,8 @@
#include <gst/gst.h>
#include <gst/video/video-prelude.h>
typedef struct _GstVideoAlignment GstVideoAlignment;
#include <gst/video/video-format.h>
@ -121,13 +123,13 @@ typedef enum {
*/
#define GST_META_TAG_VIDEO_COLORSPACE_STR "colorspace"
GST_EXPORT
GST_VIDEO_API
void gst_video_alignment_reset (GstVideoAlignment *align);
/* some helper functions */
GST_EXPORT
GST_VIDEO_API
gboolean gst_video_calculate_display_ratio (guint * dar_n,
guint * dar_d,
guint video_width,
@ -137,7 +139,7 @@ gboolean gst_video_calculate_display_ratio (guint * dar_n,
guint display_par_n,
guint display_par_d);
GST_EXPORT
GST_VIDEO_API
gboolean gst_video_guess_framerate (GstClockTime duration,
gint * dest_n, gint * dest_d);
@ -145,7 +147,7 @@ gboolean gst_video_guess_framerate (GstClockTime duration,
typedef void (*GstVideoConvertSampleCallback) (GstSample * sample, GError *error, gpointer user_data);
GST_EXPORT
GST_VIDEO_API
void gst_video_convert_sample_async (GstSample * sample,
const GstCaps * to_caps,
GstClockTime timeout,
@ -153,7 +155,7 @@ void gst_video_convert_sample_async (GstSample * sam
gpointer user_data,
GDestroyNotify destroy_notify);
GST_EXPORT
GST_VIDEO_API
GstSample * gst_video_convert_sample (GstSample * sample,
const GstCaps * to_caps,
GstClockTime timeout,

View file

@ -8,11 +8,11 @@
import sys, os, shutil, subprocess
h_array = ['--fhead',
"#ifndef __GST_VIDEO_ENUM_TYPES_H__\n#define __GST_VIDEO_ENUM_TYPES_H__\n\n#include <gst/gst.h>\n\nG_BEGIN_DECLS\n",
"#ifndef __GST_VIDEO_ENUM_TYPES_H__\n#define __GST_VIDEO_ENUM_TYPES_H__\n\n#include <gst/gst.h>\n#include <gst/video/video-prelude.h>\nG_BEGIN_DECLS\n",
'--fprod',
"\n/* enumerations from \"@filename@\" */\n",
'--vhead',
"GST_EXPORT GType @enum_name@_get_type (void);\n#define GST_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n",
"GST_VIDEO_API GType @enum_name@_get_type (void);\n#define GST_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n",
'--ftail',
"G_END_DECLS\n\n#endif /* __GST_VIDEO_ENUM_TYPES_H__ */"
]

View file

@ -23,6 +23,7 @@
#define __GST_VIDEO_DIRECTION_H__
#include <gst/gst.h>
#include <gst/video/video-prelude.h>
G_BEGIN_DECLS
#define GST_TYPE_VIDEO_DIRECTION \
@ -56,7 +57,7 @@ struct _GstVideoDirectionInterface
GTypeInterface iface;
};
GST_EXPORT
GST_VIDEO_API
GType gst_video_direction_get_type (void);
G_END_DECLS

View file

@ -23,6 +23,7 @@
#define __GST_VIDEO_ORIENTATION_H__
#include <gst/gst.h>
#include <gst/video/video-prelude.h>
G_BEGIN_DECLS
@ -76,33 +77,33 @@ struct _GstVideoOrientationInterface {
gboolean (* set_vcenter) (GstVideoOrientation *video_orientation, gint center);
};
GST_EXPORT
GST_VIDEO_API
GType gst_video_orientation_get_type (void);
/* virtual class function wrappers */
GST_EXPORT
GST_VIDEO_API
gboolean gst_video_orientation_get_hflip (GstVideoOrientation *video_orientation, gboolean *flip);
GST_EXPORT
GST_VIDEO_API
gboolean gst_video_orientation_get_vflip (GstVideoOrientation *video_orientation, gboolean *flip);
GST_EXPORT
GST_VIDEO_API
gboolean gst_video_orientation_get_hcenter (GstVideoOrientation *video_orientation, gint *center);
GST_EXPORT
GST_VIDEO_API
gboolean gst_video_orientation_get_vcenter (GstVideoOrientation *video_orientation, gint *center);
GST_EXPORT
GST_VIDEO_API
gboolean gst_video_orientation_set_hflip (GstVideoOrientation *video_orientation, gboolean flip);
GST_EXPORT
GST_VIDEO_API
gboolean gst_video_orientation_set_vflip (GstVideoOrientation *video_orientation, gboolean flip);
GST_EXPORT
GST_VIDEO_API
gboolean gst_video_orientation_set_hcenter (GstVideoOrientation *video_orientation, gint center);
GST_EXPORT
GST_VIDEO_API
gboolean gst_video_orientation_set_vcenter (GstVideoOrientation *video_orientation, gint center);
G_END_DECLS

View file

@ -72,46 +72,46 @@ struct _GstVideoOverlayInterface {
void (*set_window_handle) (GstVideoOverlay *overlay, guintptr handle);
};
GST_EXPORT
GST_VIDEO_API
GType gst_video_overlay_get_type (void);
/* virtual function wrappers */
GST_EXPORT
GST_VIDEO_API
gboolean gst_video_overlay_set_render_rectangle (GstVideoOverlay * overlay,
gint x,
gint y,
gint width,
gint height);
GST_EXPORT
GST_VIDEO_API
void gst_video_overlay_expose (GstVideoOverlay * overlay);
GST_EXPORT
GST_VIDEO_API
void gst_video_overlay_handle_events (GstVideoOverlay * overlay,
gboolean handle_events);
GST_EXPORT
GST_VIDEO_API
void gst_video_overlay_set_window_handle (GstVideoOverlay * overlay,
guintptr handle);
/* public methods to dispatch bus messages */
GST_EXPORT
GST_VIDEO_API
void gst_video_overlay_got_window_handle (GstVideoOverlay * overlay,
guintptr handle);
GST_EXPORT
GST_VIDEO_API
void gst_video_overlay_prepare_window_handle (GstVideoOverlay * overlay);
GST_EXPORT
GST_VIDEO_API
gboolean gst_is_video_overlay_prepare_window_handle_message (GstMessage * msg);
GST_EXPORT
GST_VIDEO_API
void gst_video_overlay_install_properties (GObjectClass * oclass,
gint last_prop_id);
GST_EXPORT
GST_VIDEO_API
gboolean gst_video_overlay_set_property (GObject * object,
gint last_prop_id,
guint property_id,