From 5d25c00e4b613b9cdf2c04fa3a68dffa03834a68 Mon Sep 17 00:00:00 2001 From: Thomas Vander Stichele Date: Sun, 14 Mar 2004 22:34:33 +0000 Subject: gst-indent Original commit message from CVS: gst-indent --- ext/jpeg/gstjpegenc.c | 226 ++++++++++++++++++++++++++------------------------ 1 file changed, 119 insertions(+), 107 deletions(-) (limited to 'ext/jpeg/gstjpegenc.c') diff --git a/ext/jpeg/gstjpegenc.c b/ext/jpeg/gstjpegenc.c index 7f43ea97..44941719 100644 --- a/ext/jpeg/gstjpegenc.c +++ b/ext/jpeg/gstjpegenc.c @@ -35,30 +35,34 @@ GstElementDetails gst_jpegenc_details = { }; /* JpegEnc signals and args */ -enum { +enum +{ FRAME_ENCODED, /* FILL ME */ LAST_SIGNAL }; -enum { +enum +{ ARG_0, ARG_QUALITY, ARG_SMOOTHING, /* FILL ME */ }; -static void gst_jpegenc_base_init (gpointer g_class); -static void gst_jpegenc_class_init (GstJpegEnc *klass); -static void gst_jpegenc_init (GstJpegEnc *jpegenc); +static void gst_jpegenc_base_init (gpointer g_class); +static void gst_jpegenc_class_init (GstJpegEnc * klass); +static void gst_jpegenc_init (GstJpegEnc * jpegenc); -static void gst_jpegenc_chain (GstPad *pad, GstData *_data); -static GstPadLinkReturn gst_jpegenc_link (GstPad *pad, const GstCaps *caps); -static GstCaps * gst_jpegenc_getcaps (GstPad *pad); +static void gst_jpegenc_chain (GstPad * pad, GstData * _data); +static GstPadLinkReturn gst_jpegenc_link (GstPad * pad, const GstCaps * caps); +static GstCaps *gst_jpegenc_getcaps (GstPad * pad); -static void gst_jpegenc_resync (GstJpegEnc *jpegenc); -static void gst_jpegenc_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec); -static void gst_jpegenc_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec); +static void gst_jpegenc_resync (GstJpegEnc * jpegenc); +static void gst_jpegenc_set_property (GObject * object, guint prop_id, + const GValue * value, GParamSpec * pspec); +static void gst_jpegenc_get_property (GObject * object, guint prop_id, + GValue * value, GParamSpec * pspec); static GstElementClass *parent_class = NULL; static guint gst_jpegenc_signals[LAST_SIGNAL] = { 0 }; @@ -70,46 +74,44 @@ gst_jpegenc_get_type (void) if (!jpegenc_type) { static const GTypeInfo jpegenc_info = { - sizeof(GstJpegEnc), + sizeof (GstJpegEnc), gst_jpegenc_base_init, NULL, - (GClassInitFunc)gst_jpegenc_class_init, + (GClassInitFunc) gst_jpegenc_class_init, NULL, NULL, - sizeof(GstJpegEnc), + sizeof (GstJpegEnc), 0, - (GInstanceInitFunc)gst_jpegenc_init, + (GInstanceInitFunc) gst_jpegenc_init, }; - jpegenc_type = g_type_register_static(GST_TYPE_ELEMENT, "GstJpegEnc", &jpegenc_info, 0); + jpegenc_type = + g_type_register_static (GST_TYPE_ELEMENT, "GstJpegEnc", &jpegenc_info, + 0); } return jpegenc_type; } static GstStaticPadTemplate gst_jpegenc_sink_pad_template = -GST_STATIC_PAD_TEMPLATE ( - "sink", +GST_STATIC_PAD_TEMPLATE ("sink", GST_PAD_SINK, GST_PAD_ALWAYS, - GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV("I420")) -); + GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV ("I420")) + ); static GstStaticPadTemplate gst_jpegenc_src_pad_template = -GST_STATIC_PAD_TEMPLATE ( - "src", +GST_STATIC_PAD_TEMPLATE ("src", GST_PAD_SRC, GST_PAD_ALWAYS, GST_STATIC_CAPS ("image/jpeg, " - "width = (int) [ 16, 4096 ], " - "height = (int) [ 16, 4096 ], " - "framerate = (double) [ 1, MAX ]" - ) -); + "width = (int) [ 16, 4096 ], " + "height = (int) [ 16, 4096 ], " "framerate = (double) [ 1, MAX ]") + ); static void gst_jpegenc_base_init (gpointer g_class) { GstElementClass *element_class = GST_ELEMENT_CLASS (g_class); - + gst_element_class_add_pad_template (element_class, gst_static_pad_template_get (&gst_jpegenc_sink_pad_template)); gst_element_class_add_pad_template (element_class, @@ -118,29 +120,29 @@ gst_jpegenc_base_init (gpointer g_class) } static void -gst_jpegenc_class_init (GstJpegEnc *klass) +gst_jpegenc_class_init (GstJpegEnc * klass) { GObjectClass *gobject_class; GstElementClass *gstelement_class; - gobject_class = (GObjectClass*)klass; - gstelement_class = (GstElementClass*)klass; + gobject_class = (GObjectClass *) klass; + gstelement_class = (GstElementClass *) klass; - parent_class = g_type_class_ref(GST_TYPE_ELEMENT); + parent_class = g_type_class_ref (GST_TYPE_ELEMENT); gst_jpegenc_signals[FRAME_ENCODED] = - g_signal_new ("frame-encoded", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (GstJpegEncClass, frame_encoded), NULL, NULL, - g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); + g_signal_new ("frame-encoded", G_TYPE_FROM_CLASS (klass), + G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GstJpegEncClass, frame_encoded), NULL, + NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); g_object_class_install_property (gobject_class, ARG_QUALITY, g_param_spec_int ("quality", "Quality", "Quality of encoding", - 0, 100, 85, G_PARAM_READWRITE)); + 0, 100, 85, G_PARAM_READWRITE)); #if 0 /* disabled, since it doesn't seem to work */ g_object_class_install_property (gobject_class, ARG_SMOOTHING, g_param_spec_int ("smoothing", "Smoothing", "Smoothing factor", - 0, 100, 0, G_PARAM_READWRITE)); + 0, 100, 0, G_PARAM_READWRITE)); #endif gobject_class->set_property = gst_jpegenc_set_property; @@ -160,44 +162,47 @@ gst_jpegenc_flush_destination (j_compress_ptr cinfo) return TRUE; } -static void gst_jpegenc_term_destination (j_compress_ptr cinfo) +static void +gst_jpegenc_term_destination (j_compress_ptr cinfo) { GST_DEBUG ("gst_jpegenc_chain: term_source"); } static void -gst_jpegenc_init (GstJpegEnc *jpegenc) +gst_jpegenc_init (GstJpegEnc * jpegenc) { /* create the sink and src pads */ - jpegenc->sinkpad = gst_pad_new_from_template ( - gst_static_pad_template_get (&gst_jpegenc_sink_pad_template), "sink"); - gst_pad_set_chain_function(jpegenc->sinkpad,gst_jpegenc_chain); - gst_pad_set_getcaps_function(jpegenc->sinkpad, gst_jpegenc_getcaps); - gst_pad_set_link_function(jpegenc->sinkpad, gst_jpegenc_link); - gst_element_add_pad(GST_ELEMENT(jpegenc),jpegenc->sinkpad); - - jpegenc->srcpad = gst_pad_new_from_template ( - gst_static_pad_template_get (&gst_jpegenc_src_pad_template), "src"); - gst_pad_set_getcaps_function(jpegenc->sinkpad, gst_jpegenc_getcaps); - gst_pad_set_link_function(jpegenc->sinkpad, gst_jpegenc_link); - gst_element_add_pad(GST_ELEMENT(jpegenc),jpegenc->srcpad); + jpegenc->sinkpad = + gst_pad_new_from_template (gst_static_pad_template_get + (&gst_jpegenc_sink_pad_template), "sink"); + gst_pad_set_chain_function (jpegenc->sinkpad, gst_jpegenc_chain); + gst_pad_set_getcaps_function (jpegenc->sinkpad, gst_jpegenc_getcaps); + gst_pad_set_link_function (jpegenc->sinkpad, gst_jpegenc_link); + gst_element_add_pad (GST_ELEMENT (jpegenc), jpegenc->sinkpad); + + jpegenc->srcpad = + gst_pad_new_from_template (gst_static_pad_template_get + (&gst_jpegenc_src_pad_template), "src"); + gst_pad_set_getcaps_function (jpegenc->sinkpad, gst_jpegenc_getcaps); + gst_pad_set_link_function (jpegenc->sinkpad, gst_jpegenc_link); + gst_element_add_pad (GST_ELEMENT (jpegenc), jpegenc->srcpad); /* reset the initial video state */ jpegenc->width = -1; jpegenc->height = -1; /* setup jpeglib */ - memset(&jpegenc->cinfo, 0, sizeof(jpegenc->cinfo)); - memset(&jpegenc->jerr, 0, sizeof(jpegenc->jerr)); - jpegenc->cinfo.err = jpeg_std_error(&jpegenc->jerr); - jpeg_create_compress(&jpegenc->cinfo); + memset (&jpegenc->cinfo, 0, sizeof (jpegenc->cinfo)); + memset (&jpegenc->jerr, 0, sizeof (jpegenc->jerr)); + jpegenc->cinfo.err = jpeg_std_error (&jpegenc->jerr); + jpeg_create_compress (&jpegenc->cinfo); GST_DEBUG ("gst_jpegenc_init: setting line buffers"); jpegenc->line[0] = NULL; jpegenc->line[1] = NULL; jpegenc->line[2] = NULL; - gst_jpegenc_resync(jpegenc); + gst_jpegenc_resync (jpegenc); jpegenc->jdest.init_destination = gst_jpegenc_init_destination; jpegenc->jdest.empty_output_buffer = gst_jpegenc_flush_destination; @@ -209,7 +214,7 @@ gst_jpegenc_init (GstJpegEnc *jpegenc) } static GstCaps * -gst_jpegenc_getcaps (GstPad *pad) +gst_jpegenc_getcaps (GstPad * pad) { GstJpegEnc *jpegenc = GST_JPEGENC (gst_pad_get_parent (pad)); GstPad *otherpad; @@ -225,7 +230,7 @@ gst_jpegenc_getcaps (GstPad *pad) } else { name = "video/x-raw-yuv"; } - for (i=0;ifps); - gst_structure_get_int (structure, "width", &jpegenc->width); - gst_structure_get_int (structure, "height", &jpegenc->height); - + gst_structure_get_int (structure, "width", &jpegenc->width); + gst_structure_get_int (structure, "height", &jpegenc->height); + othercaps = gst_caps_copy (gst_pad_get_pad_template_caps (otherpad)); gst_caps_set_simple (othercaps, - "width", G_TYPE_INT, jpegenc->width, - "height", G_TYPE_INT, jpegenc->height, - "framerate", G_TYPE_DOUBLE, jpegenc->fps, - NULL); + "width", G_TYPE_INT, jpegenc->width, + "height", G_TYPE_INT, jpegenc->height, + "framerate", G_TYPE_DOUBLE, jpegenc->fps, NULL); ret = gst_pad_try_set_caps (jpegenc->srcpad, othercaps); - gst_caps_free(othercaps); + gst_caps_free (othercaps); if (GST_PAD_LINK_SUCCESSFUL (ret)) { gst_jpegenc_resync (jpegenc); @@ -269,7 +273,7 @@ gst_jpegenc_link (GstPad *pad, const GstCaps *caps) } static void -gst_jpegenc_resync (GstJpegEnc *jpegenc) +gst_jpegenc_resync (GstJpegEnc * jpegenc) { guint size = 0; gint width, height; @@ -282,11 +286,11 @@ gst_jpegenc_resync (GstJpegEnc *jpegenc) GST_DEBUG ("gst_jpegenc_resync: wdith %d, height %d", width, height); - jpeg_set_defaults(&jpegenc->cinfo); + jpeg_set_defaults (&jpegenc->cinfo); jpegenc->cinfo.dct_method = JDCT_FASTEST; - /*jpegenc->cinfo.dct_method = JDCT_DEFAULT;*/ + /*jpegenc->cinfo.dct_method = JDCT_DEFAULT; */ /*jpegenc->cinfo.smoothing_factor = jpegenc->smoothing; */ - jpeg_set_quality(&jpegenc->cinfo, jpegenc->quality, TRUE); + jpeg_set_quality (&jpegenc->cinfo, jpegenc->quality, TRUE); #if 0 switch (jpegenc->format) { @@ -310,24 +314,27 @@ gst_jpegenc_resync (GstJpegEnc *jpegenc) jpegenc->cinfo.comp_info[2].v_samp_factor = 1; if (height != -1) { - jpegenc->line[0] = g_realloc(jpegenc->line[0], height*sizeof(char*)); - jpegenc->line[1] = g_realloc(jpegenc->line[1], height*sizeof(char*)/2); - jpegenc->line[2] = g_realloc(jpegenc->line[2], height*sizeof(char*)/2); + jpegenc->line[0] = + g_realloc (jpegenc->line[0], height * sizeof (char *)); + jpegenc->line[1] = + g_realloc (jpegenc->line[1], height * sizeof (char *) / 2); + jpegenc->line[2] = + g_realloc (jpegenc->line[2], height * sizeof (char *) / 2); } GST_DEBUG ("gst_jpegenc_resync: setting format done"); #if 0 break; default: - printf("gst_jpegenc_resync: unsupported colorspace, using RGB\n"); + printf ("gst_jpegenc_resync: unsupported colorspace, using RGB\n"); size = 3; jpegenc->cinfo.in_color_space = JCS_RGB; break; } #endif - jpegenc->bufsize = jpegenc->width*jpegenc->height*size; + jpegenc->bufsize = jpegenc->width * jpegenc->height * size; - jpeg_suppress_tables(&jpegenc->cinfo, TRUE); + jpeg_suppress_tables (&jpegenc->cinfo, TRUE); //jpeg_suppress_tables(&jpegenc->cinfo, FALSE); jpegenc->buffer = NULL; @@ -335,17 +342,18 @@ gst_jpegenc_resync (GstJpegEnc *jpegenc) } static void -gst_jpegenc_chain (GstPad *pad, GstData *_data) +gst_jpegenc_chain (GstPad * pad, GstData * _data) { GstBuffer *buf = GST_BUFFER (_data); GstJpegEnc *jpegenc; guchar *data, *outdata; gulong size, outsize; GstBuffer *outbuf; + /* GstMeta *meta; */ guint height, width, width2; guchar *base[3]; - gint i,j, k; + gint i, j, k; g_return_if_fail (pad != NULL); g_return_if_fail (GST_IS_PAD (pad)); @@ -355,53 +363,58 @@ gst_jpegenc_chain (GstPad *pad, GstData *_data) /*usleep(10000); */ jpegenc = GST_JPEGENC (GST_OBJECT_PARENT (pad)); - data = GST_BUFFER_DATA(buf); - size = GST_BUFFER_SIZE(buf); + data = GST_BUFFER_DATA (buf); + size = GST_BUFFER_SIZE (buf); - GST_DEBUG ("gst_jpegenc_chain: got buffer of %ld bytes in '%s'",size, - GST_OBJECT_NAME (jpegenc)); + GST_DEBUG ("gst_jpegenc_chain: got buffer of %ld bytes in '%s'", size, + GST_OBJECT_NAME (jpegenc)); - outbuf = gst_buffer_new(); - outsize = GST_BUFFER_SIZE(outbuf) = jpegenc->bufsize; - outdata = GST_BUFFER_DATA(outbuf) = g_malloc(outsize); - GST_BUFFER_TIMESTAMP(outbuf) = GST_BUFFER_TIMESTAMP(buf); + outbuf = gst_buffer_new (); + outsize = GST_BUFFER_SIZE (outbuf) = jpegenc->bufsize; + outdata = GST_BUFFER_DATA (outbuf) = g_malloc (outsize); + GST_BUFFER_TIMESTAMP (outbuf) = GST_BUFFER_TIMESTAMP (buf); width = jpegenc->width; height = jpegenc->height; base[0] = data; - base[1] = base[0]+width*height; - base[2] = base[1]+width*height/4; + base[1] = base[0] + width * height; + base[2] = base[1] + width * height / 4; jpegenc->jdest.next_output_byte = outdata; jpegenc->jdest.free_in_buffer = outsize; jpegenc->cinfo.smoothing_factor = jpegenc->smoothing; - jpeg_set_quality(&jpegenc->cinfo, jpegenc->quality, TRUE); - jpeg_start_compress(&jpegenc->cinfo, TRUE); + jpeg_set_quality (&jpegenc->cinfo, jpegenc->quality, TRUE); + jpeg_start_compress (&jpegenc->cinfo, TRUE); - width2 = width>>1; + width2 = width >> 1; GST_DEBUG ("gst_jpegdec_chain: compressing"); - for (i = 0; i < height; i += 2*DCTSIZE) { - for (j=0, k=0; j<2*DCTSIZE;j+=2, k++) { - jpegenc->line[0][j] = base[0]; base[0] += width; - jpegenc->line[0][j+1] = base[0]; base[0] += width; - jpegenc->line[1][k] = base[1]; base[1] += width2; - jpegenc->line[2][k] = base[2]; base[2] += width2; + for (i = 0; i < height; i += 2 * DCTSIZE) { + for (j = 0, k = 0; j < 2 * DCTSIZE; j += 2, k++) { + jpegenc->line[0][j] = base[0]; + base[0] += width; + jpegenc->line[0][j + 1] = base[0]; + base[0] += width; + jpegenc->line[1][k] = base[1]; + base[1] += width2; + jpegenc->line[2][k] = base[2]; + base[2] += width2; } - jpeg_write_raw_data(&jpegenc->cinfo, jpegenc->line, 2*DCTSIZE); + jpeg_write_raw_data (&jpegenc->cinfo, jpegenc->line, 2 * DCTSIZE); } - jpeg_finish_compress(&jpegenc->cinfo); + jpeg_finish_compress (&jpegenc->cinfo); GST_DEBUG ("gst_jpegdec_chain: compressing done"); - GST_BUFFER_SIZE(outbuf) = (((outsize - jpegenc->jdest.free_in_buffer)+3)&~3); + GST_BUFFER_SIZE (outbuf) = + (((outsize - jpegenc->jdest.free_in_buffer) + 3) & ~3); - gst_pad_push(jpegenc->srcpad, GST_DATA (outbuf)); + gst_pad_push (jpegenc->srcpad, GST_DATA (outbuf)); - g_signal_emit(G_OBJECT(jpegenc),gst_jpegenc_signals[FRAME_ENCODED], 0); + g_signal_emit (G_OBJECT (jpegenc), gst_jpegenc_signals[FRAME_ENCODED], 0); - gst_buffer_unref(buf); + gst_buffer_unref (buf); } static void @@ -412,7 +425,7 @@ gst_jpegenc_set_property (GObject * object, guint prop_id, g_return_if_fail (GST_IS_JPEGENC (object)); jpegenc = GST_JPEGENC (object); - + switch (prop_id) { case ARG_QUALITY: jpegenc->quality = g_value_get_int (value); @@ -423,7 +436,7 @@ gst_jpegenc_set_property (GObject * object, guint prop_id, default: break; } -} +} static void gst_jpegenc_get_property (GObject * object, guint prop_id, GValue * value, @@ -446,4 +459,3 @@ gst_jpegenc_get_property (GObject * object, guint prop_id, GValue * value, break; } } - -- cgit