<commit_before>/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */

/*
 * Copyright (C) 2008 Texas Instruments - http://www.ti.com/
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation
 * version 2.1 of the License.
 *
 *
 * 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
 * Lesser General Public License for more details.
 *
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 */

#ifdef HAVE_CONFIG_H
#include <config.h>
#endif

#include "gstgoodecmpeg4.h"

GST_BOILERPLATE (GstGooDecMpeg4, gst_goo_decmpeg4, GstGooVideoDec, GST_TYPE_GOO_VIDEODEC);

GST_DEBUG_CATEGORY_STATIC (gst_goo_decmpeg4_debug);
#define GST_CAT_DEFAULT gst_goo_decmpeg4_debug

/* signals */
enum
{
 	LAST_SIGNAL
};

/* args */
enum
{
	PROP_0
};

static const GstElementDetails details =
	GST_ELEMENT_DETAILS (
						"OpenMAX MPEG4 decoder",
						"Codedc/Decoder/Video",
						"Decodes MPEG4 streams with OpenMAX",
						"Texas Instrument"
						);

/* FIXME: make three caps, for mpegversion 1, 2 and 2.5 */
static GstStaticPadTemplate sink_factory =
	GST_STATIC_PAD_TEMPLATE (
    						"sink",
							GST_PAD_SINK,
							GST_PAD_ALWAYS,
							GST_STATIC_CAPS ("video/mpeg, "
											"mpegversion = (int) 4, "
											"systemstream = (boolean) FALSE,"
											"width = (int) [16, 4096], "
											"height = (int) [16, 4096], "
											"framerate = (GstFraction) [0/1, 60/1]"));


static void
gst_goo_decmpeg4_base_init (gpointer g_klass)
{
	GST_DEBUG_CATEGORY_INIT (gst_goo_decmpeg4_debug, "goodecmpeg4", 0,
							"OpenMAX MPEG4 decoder element");

	GstElementClass* e_klass = GST_ELEMENT_CLASS (g_klass);

	gst_element_class_add_pad_template (e_klass,
		gst_static_pad_template_get (&sink_factory));

	gst_element_class_set_details (e_klass, &details);<commit_msg>gstgoodecmpeg4: Add DivX/Xvid caps.<commit_after>/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */

/*
 * Copyright (C) 2008 Texas Instruments - http://www.ti.com/
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation
 * version 2.1 of the License.
 *
 *
 * 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
 * Lesser General Public License for more details.
 *
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 */

#ifdef HAVE_CONFIG_H
#include <config.h>
#endif

#include "gstgoodecmpeg4.h"

GST_BOILERPLATE (GstGooDecMpeg4, gst_goo_decmpeg4, GstGooVideoDec, GST_TYPE_GOO_VIDEODEC);

GST_DEBUG_CATEGORY_STATIC (gst_goo_decmpeg4_debug);
#define GST_CAT_DEFAULT gst_goo_decmpeg4_debug

/* signals */
enum
{
 	LAST_SIGNAL
};

/* args */
enum
{
	PROP_0
};

static const GstElementDetails details =
	GST_ELEMENT_DETAILS (
						"OpenMAX MPEG4 decoder",
						"Codedc/Decoder/Video",
						"Decodes MPEG4 streams with OpenMAX",
						"Texas Instrument"
						);

/* FIXME: make three caps, for mpegversion 1, 2 and 2.5 */
static GstStaticPadTemplate sink_factory =
	GST_STATIC_PAD_TEMPLATE (
    						"sink",
							GST_PAD_SINK,
							GST_PAD_ALWAYS,
							GST_STATIC_CAPS ("video/mpeg, "
											"mpegversion = (int) 4, "
											"systemstream = (boolean) FALSE,"
											"width = (int) [16, 4096], "
											"height = (int) [16, 4096], "
											"framerate = (GstFraction) [0/1, 60/1]; "
							"video/x-divx, "
											"divxversion = (int) [4, 5], "
											"width = (int) [16, 4096], "
											"height = (int) [16, 4096], "
											"framerate = (GstFraction) [0/1, 60/1]; "
							"video/x-xvid, "
											"width = (int) [16, 4096], "
											"height = (int) [16, 4096], "
											"framerate = (GstFraction) [0/1, 60/1]; "
							"video/x-3ivx, "
											"width = (int) [16, 4096], "
											"height = (int) [16, 4096], "
											"framerate = (GstFraction) [0/1, 60/1]"));


static void
gst_goo_decmpeg4_base_init (gpointer g_klass)
{
	GST_DEBUG_CATEGORY_INIT (gst_goo_decmpeg4_debug, "goodecmpeg4", 0,
							"OpenMAX MPEG4 decoder element");

	GstElementClass* e_klass = GST_ELEMENT_CLASS (g_klass);

	gst_element_class_add_pad_template (e_klass,
		gst_static_pad_template_get (&sink_factory));

	gst_element_class_set_details (e_klass, &details);
{'fraction_non_alphanumeric': 0.1087216248506571, 'fraction_numerical': 0.032457188371166866, 'mean_word_length': 3.274893617021277, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '618554', 'n_tokens_mistral': 2229, 'n_tokens_neox': 1799, 'n_words': 491}