From a1023d43ceed1be7f3739289d40f1ee7ff2a6876 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= Date: Fri, 11 Apr 2008 13:57:03 +0000 Subject: configure.ac: Bump core/base requirements to released versions to avoid confusion. Original commit message from CVS: * configure.ac: Bump core/base requirements to released versions to avoid confusion. * gst/deinterlace/gstdeinterlace.c: (deinterlace_debug), (GST_CAT_DEFAULT), (gst_deinterlace_base_init), (gst_deinterlace_set_caps), (plugin_init): Add debug category, use _set_element_details_simple and remove special code path for Y42B to calculate offsets and strides; libgstvideo knows how to handle this format now. --- ChangeLog | 13 ++++++++++ configure.ac | 4 ++-- gst/deinterlace/gstdeinterlace.c | 51 ++++++++++++++-------------------------- 3 files changed, 32 insertions(+), 36 deletions(-) diff --git a/ChangeLog b/ChangeLog index 92b40b88..303508a5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2008-04-11 Tim-Philipp Müller + + * configure.ac: + Bump core/base requirements to released versions to avoid + confusion. + + * gst/deinterlace/gstdeinterlace.c: (deinterlace_debug), + (GST_CAT_DEFAULT), (gst_deinterlace_base_init), + (gst_deinterlace_set_caps), (plugin_init): + Add debug category, use _set_element_details_simple and + remove special code path for Y42B to calculate offsets and + strides; libgstvideo knows how to handle this format now. + 2008-04-11 Tim-Philipp Müller * gst/cdxaparse/Makefile.am: diff --git a/configure.ac b/configure.ac index 81722a00..db59d781 100644 --- a/configure.ac +++ b/configure.ac @@ -46,8 +46,8 @@ AM_PROG_LIBTOOL dnl *** required versions of GStreamer stuff *** dnl *** remove rtpmanager stuff below when this is updated -GST_REQ=0.10.17 -GSTPB_REQ=0.10.17.1 +GST_REQ=0.10.19 +GSTPB_REQ=0.10.19 dnl *** autotools stuff **** diff --git a/gst/deinterlace/gstdeinterlace.c b/gst/deinterlace/gstdeinterlace.c index f0cc9880..39105b57 100644 --- a/gst/deinterlace/gstdeinterlace.c +++ b/gst/deinterlace/gstdeinterlace.c @@ -1,6 +1,6 @@ /* GStreamer simple deinterlacing plugin * Copyright (C) 1999 Erik Walthinsen - * Copyright (C) 2006 Tim-Philipp Müller + * Copyright (C) 2006-2008 Tim-Philipp Müller * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public @@ -28,13 +28,8 @@ #include "gstdeinterlace.h" #include - -/* elementfactory information */ -static const GstElementDetails deinterlace_details = -GST_ELEMENT_DETAILS ("Deinterlace", - "Filter/Effect/Video", - "Deinterlace video", - "Wim Taymans "); +GST_DEBUG_CATEGORY_STATIC (deinterlace_debug); +#define GST_CAT_DEFAULT deinterlace_debug #define DEFAULT_DI_AREA_ONLY FALSE #define DEFAULT_NI_AREA_ONLY FALSE @@ -91,7 +86,9 @@ gst_deinterlace_base_init (gpointer g_class) gst_element_class_add_pad_template (element_class, gst_static_pad_template_get (&sink_factory)); - gst_element_class_set_details (element_class, &deinterlace_details); + gst_element_class_set_details_simple (element_class, "Deinterlace", + "Filter/Effect/Video", "Deinterlace video", + "Wim Taymans "); } static void @@ -203,34 +200,17 @@ gst_deinterlace_set_caps (GstBaseTransform * trans, GstCaps * incaps, fmt = gst_video_format_from_fourcc (fourcc); - if (fmt == GST_VIDEO_FORMAT_UNKNOWN) { - /* this is Y42B (4:2:2 planar) which -base <= 0.10.17 doesn't know about */ - /* FIXME: remove this once we can depend on -base >= 0.10.17.1 */ - g_assert (fourcc == GST_MAKE_FOURCC ('Y', '4', '2', 'B')); - - filter->uv_height = filter->height; - filter->y_stride = GST_ROUND_UP_4 (filter->width); - filter->u_stride = GST_ROUND_UP_8 (filter->width) / 2; - filter->v_stride = GST_ROUND_UP_8 (filter->width) / 2; - - filter->y_off = 0; - filter->u_off = 0 + filter->y_stride * filter->height; - filter->v_off = filter->u_off + filter->u_stride * filter->height; + filter->y_stride = gst_video_format_get_row_stride (fmt, 0, w); + filter->u_stride = gst_video_format_get_row_stride (fmt, 1, w); + filter->v_stride = gst_video_format_get_row_stride (fmt, 2, w); - picsize = filter->v_off + (filter->v_stride * filter->height); - } else { - filter->y_stride = gst_video_format_get_row_stride (fmt, 0, w); - filter->u_stride = gst_video_format_get_row_stride (fmt, 1, w); - filter->v_stride = gst_video_format_get_row_stride (fmt, 2, w); + filter->uv_height = gst_video_format_get_component_height (fmt, 1, h); - filter->uv_height = gst_video_format_get_component_height (fmt, 1, h); + filter->y_off = gst_video_format_get_component_offset (fmt, 0, w, h); + filter->u_off = gst_video_format_get_component_offset (fmt, 1, w, h); + filter->v_off = gst_video_format_get_component_offset (fmt, 2, w, h); - filter->y_off = gst_video_format_get_component_offset (fmt, 0, w, h); - filter->u_off = gst_video_format_get_component_offset (fmt, 1, w, h); - filter->v_off = gst_video_format_get_component_offset (fmt, 2, w, h); - - picsize = gst_video_format_get_size (fmt, w, h); - } + picsize = gst_video_format_get_size (fmt, w, h); if (filter->picsize != picsize) { filter->picsize = picsize; @@ -453,6 +433,9 @@ gst_deinterlace_get_property (GObject * object, guint prop_id, GValue * value, static gboolean plugin_init (GstPlugin * plugin) { + GST_DEBUG_CATEGORY_INIT (deinterlace_debug, "deinterlace", 0, + "deinterlace element"); + if (!gst_element_register (plugin, "deinterlace", GST_RANK_NONE, gst_deinterlace_get_type ())) return FALSE; -- cgit v1.2.1