diff --git a/ext/vp8/gstvp8dec.h b/ext/vp8/gstvp8dec.h index 6e3de8410d..f68c85f2e1 100644 --- a/ext/vp8/gstvp8dec.h +++ b/ext/vp8/gstvp8dec.h @@ -25,7 +25,6 @@ #include #include -#include /* FIXME: Undef HAVE_CONFIG_H because vpx_codec.h uses it, * which causes compilation failures */ diff --git a/ext/vp8/gstvp8enc.h b/ext/vp8/gstvp8enc.h index 0c14eb45dc..0a216471be 100644 --- a/ext/vp8/gstvp8enc.h +++ b/ext/vp8/gstvp8enc.h @@ -24,7 +24,6 @@ #include #include -#include /* FIXME: Undef HAVE_CONFIG_H because vpx_codec.h uses it, * which causes compilation failures */ diff --git a/gst-libs/gst/video/Makefile.am b/gst-libs/gst/video/Makefile.am index a0c4026ec2..a31276b1bd 100644 --- a/gst-libs/gst/video/Makefile.am +++ b/gst-libs/gst/video/Makefile.am @@ -11,7 +11,6 @@ libgstbasevideo_@GST_MAJORMINOR@_la_SOURCES = \ libgstbasevideo_@GST_MAJORMINOR@includedir = $(includedir)/gstreamer-@GST_MAJORMINOR@/gst/video libgstbasevideo_@GST_MAJORMINOR@include_HEADERS = \ - gstbasevideoutils.h \ gstbasevideocodec.h \ gstbasevideodecoder.h \ gstbasevideoencoder.h diff --git a/gst-libs/gst/video/gstbasevideocodec.h b/gst-libs/gst/video/gstbasevideocodec.h index 450928670b..8ef4893ac5 100644 --- a/gst-libs/gst/video/gstbasevideocodec.h +++ b/gst-libs/gst/video/gstbasevideocodec.h @@ -26,7 +26,8 @@ #endif #include -#include +#include +#include G_BEGIN_DECLS @@ -78,9 +79,60 @@ G_BEGIN_DECLS */ #define GST_BASE_VIDEO_CODEC_FLOW_NEED_DATA GST_FLOW_CUSTOM_SUCCESS +typedef struct _GstVideoState GstVideoState; +typedef struct _GstVideoFrame GstVideoFrame; typedef struct _GstBaseVideoCodec GstBaseVideoCodec; typedef struct _GstBaseVideoCodecClass GstBaseVideoCodecClass; +struct _GstVideoState +{ + GstVideoFormat format; + int width, height; + int fps_n, fps_d; + int par_n, par_d; + + gboolean have_interlaced; + gboolean interlaced; + gboolean top_field_first; + + int clean_width, clean_height; + int clean_offset_left, clean_offset_top; + + int bytes_per_picture; + + //GstSegment segment; + + int picture_number; + GstBuffer *codec_data; + +}; + +struct _GstVideoFrame +{ + GstClockTime decode_timestamp; + GstClockTime presentation_timestamp; + GstClockTime presentation_duration; + + gint system_frame_number; + gint decode_frame_number; + gint presentation_frame_number; + + int distance_from_sync; + gboolean is_sync_point; + gboolean is_eos; + + GstBuffer *sink_buffer; + GstBuffer *src_buffer; + + int field_index; + int n_fields; + + void *coder_hook; + GstClockTime deadline; + + gboolean force_keyframe; +}; + struct _GstBaseVideoCodec { GstElement element; @@ -127,6 +179,16 @@ GstVideoFrame * gst_base_video_codec_new_frame (GstBaseVideoCodec *base_video_co void gst_base_video_codec_free_frame (GstVideoFrame *frame); +gboolean gst_base_video_rawvideo_convert (GstVideoState *state, + GstFormat src_format, gint64 src_value, + GstFormat * dest_format, gint64 *dest_value); +gboolean gst_base_video_encoded_video_convert (GstVideoState *state, + GstFormat src_format, gint64 src_value, + GstFormat * dest_format, gint64 *dest_value); + +GstClockTime gst_video_state_get_timestamp (const GstVideoState *state, + GstSegment *segment, int frame_number); + G_END_DECLS #endif diff --git a/gst-libs/gst/video/gstbasevideoencoder.c b/gst-libs/gst/video/gstbasevideoencoder.c index fb518fc1b2..b4b7e30c6a 100644 --- a/gst-libs/gst/video/gstbasevideoencoder.c +++ b/gst-libs/gst/video/gstbasevideoencoder.c @@ -22,7 +22,6 @@ #endif #include "gstbasevideoencoder.h" -#include "gstbasevideoutils.h" GST_DEBUG_CATEGORY (basevideoencoder_debug); #define GST_CAT_DEFAULT basevideoencoder_debug diff --git a/gst-libs/gst/video/gstbasevideoencoder.h b/gst-libs/gst/video/gstbasevideoencoder.h index 759519630c..b1e3e3c63c 100644 --- a/gst-libs/gst/video/gstbasevideoencoder.h +++ b/gst-libs/gst/video/gstbasevideoencoder.h @@ -26,7 +26,6 @@ #endif #include -#include G_BEGIN_DECLS diff --git a/gst-libs/gst/video/gstbasevideoutils.c b/gst-libs/gst/video/gstbasevideoutils.c index 4ccdd58c5e..d706394389 100644 --- a/gst-libs/gst/video/gstbasevideoutils.c +++ b/gst-libs/gst/video/gstbasevideoutils.c @@ -21,7 +21,7 @@ #include "config.h" #endif -#include "gstbasevideoutils.h" +#include "gstbasevideocodec.h" #include diff --git a/gst-libs/gst/video/gstbasevideoutils.h b/gst-libs/gst/video/gstbasevideoutils.h deleted file mode 100644 index 5f71aee510..0000000000 --- a/gst-libs/gst/video/gstbasevideoutils.h +++ /dev/null @@ -1,101 +0,0 @@ -/* GStreamer - * Copyright (C) 2008 David Schleef - * - * 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., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#ifndef _GST_BASE_VIDEO_UTILS_H_ -#define _GST_BASE_VIDEO_UTILS_H_ - -#ifndef GST_USE_UNSTABLE_API -#warning "The base video utils API is unstable and may change in future." -#warning "You can define GST_USE_UNSTABLE_API to avoid this warning." -#endif - -#include -#include -#include - -G_BEGIN_DECLS - -typedef struct _GstVideoState GstVideoState; -typedef struct _GstVideoFrame GstVideoFrame; - -struct _GstVideoState -{ - GstVideoFormat format; - int width, height; - int fps_n, fps_d; - int par_n, par_d; - - gboolean have_interlaced; - gboolean interlaced; - gboolean top_field_first; - - int clean_width, clean_height; - int clean_offset_left, clean_offset_top; - - int bytes_per_picture; - - //GstSegment segment; - - int picture_number; - GstBuffer *codec_data; - -}; - -struct _GstVideoFrame -{ - GstClockTime decode_timestamp; - GstClockTime presentation_timestamp; - GstClockTime presentation_duration; - - gint system_frame_number; - gint decode_frame_number; - gint presentation_frame_number; - - int distance_from_sync; - gboolean is_sync_point; - gboolean is_eos; - - GstBuffer *sink_buffer; - GstBuffer *src_buffer; - - int field_index; - int n_fields; - - void *coder_hook; - GstClockTime deadline; - - gboolean force_keyframe; -}; - -gboolean gst_base_video_rawvideo_convert (GstVideoState *state, - GstFormat src_format, gint64 src_value, - GstFormat * dest_format, gint64 *dest_value); -gboolean gst_base_video_encoded_video_convert (GstVideoState *state, - GstFormat src_format, gint64 src_value, - GstFormat * dest_format, gint64 *dest_value); - -GstClockTime gst_video_state_get_timestamp (const GstVideoState *state, - GstSegment *segment, int frame_number); - -GstBuffer *gst_adapter_get_buffer (GstAdapter *adapter); - -G_END_DECLS - -#endif -