[aravis] pixel_format: don't store them in an enum.
- From: Emmanuel Pacaud <emmanuel src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [aravis] pixel_format: don't store them in an enum.
- Date: Tue, 1 May 2012 17:05:00 +0000 (UTC)
commit 71080a376dadd88aba0d8bce4ac584f6a7c90a9b
Author: Emmanuel Pacaud <emmanuel gnome org>
Date: Tue May 1 19:02:24 2012 +0200
pixel_format: don't store them in an enum.
Python gobject introspection expect enum to be int, not unsigned int.
docs/reference/aravis/aravis-docs.xml | 1 +
docs/reference/aravis/aravis-sections.txt | 52 +++++++++++++++
po/Makefile.in.in | 13 +++-
src/arvcamera.c | 15 ++++
src/arvcamera.h | 1 +
src/arvenums.h | 100 ++++++++++++++---------------
viewer/arvviewer.c | 25 +------
7 files changed, 130 insertions(+), 77 deletions(-)
---
diff --git a/docs/reference/aravis/aravis-docs.xml b/docs/reference/aravis/aravis-docs.xml
index 4a723c8..defc6ef 100644
--- a/docs/reference/aravis/aravis-docs.xml
+++ b/docs/reference/aravis/aravis-docs.xml
@@ -105,6 +105,7 @@
<chapter>
<title>Utils</title>
+ <xi:include href="xml/arvpixelformat.xml"/>
<xi:include href="xml/arvdebug.xml"/>
<xi:include href="xml/arvevaluator.xml"/>
<xi:include href="xml/arvgst.xml"/>
diff --git a/docs/reference/aravis/aravis-sections.txt b/docs/reference/aravis/aravis-sections.txt
index ba86601..7e26dd5 100644
--- a/docs/reference/aravis/aravis-sections.txt
+++ b/docs/reference/aravis/aravis-sections.txt
@@ -20,6 +20,7 @@ arv_camera_set_binning
arv_camera_get_binning
arv_camera_set_pixel_format
arv_camera_get_pixel_format
+arv_camera_get_pixel_format_as_string
arv_camera_get_available_pixel_formats
arv_camera_start_acquisition
arv_camera_stop_acquisition
@@ -56,7 +57,58 @@ ARV_CAMERA_GET_CLASS
<SUBSECTION Private>
ArvCameraPrivate
ArvCameraClass
+</SECTION>
+
+<SECTION>
+<FILE>arvpixelformat</FILE>
+<TITLE>ArvPixelFormat</TITLE>
ArvPixelFormat
+ARV_PIXEL_FORMAT_BAYER_BG_10
+ARV_PIXEL_FORMAT_BAYER_BG_12
+ARV_PIXEL_FORMAT_BAYER_BG_12_PACKED
+ARV_PIXEL_FORMAT_BAYER_BG_8
+ARV_PIXEL_FORMAT_BAYER_GB_10
+ARV_PIXEL_FORMAT_BAYER_GB_12
+ARV_PIXEL_FORMAT_BAYER_GB_8
+ARV_PIXEL_FORMAT_BAYER_GR_10
+ARV_PIXEL_FORMAT_BAYER_GR_12
+ARV_PIXEL_FORMAT_BAYER_GR_8
+ARV_PIXEL_FORMAT_BAYER_RG_10
+ARV_PIXEL_FORMAT_BAYER_RG_12
+ARV_PIXEL_FORMAT_BAYER_RG_8
+ARV_PIXEL_FORMAT_BGRA_8_PACKED
+ARV_PIXEL_FORMAT_BGR_10_PACKED
+ARV_PIXEL_FORMAT_BGR_12_PACKED
+ARV_PIXEL_FORMAT_BGR_8_PACKED
+ARV_PIXEL_FORMAT_CUSTOM_BAYER_BG_12_PACKED
+ARV_PIXEL_FORMAT_CUSTOM_BAYER_BG_16
+ARV_PIXEL_FORMAT_CUSTOM_BAYER_GB_12_PACKED
+ARV_PIXEL_FORMAT_CUSTOM_BAYER_GB_16
+ARV_PIXEL_FORMAT_CUSTOM_BAYER_GR_12_PACKED
+ARV_PIXEL_FORMAT_CUSTOM_BAYER_GR_16
+ARV_PIXEL_FORMAT_CUSTOM_BAYER_RG_12_PACKED
+ARV_PIXEL_FORMAT_CUSTOM_BAYER_RG_16
+ARV_PIXEL_FORMAT_CUSTOM_YUV_422_YUYV_PACKED
+ARV_PIXEL_FORMAT_MONO_10
+ARV_PIXEL_FORMAT_MONO_10_PACKED
+ARV_PIXEL_FORMAT_MONO_12
+ARV_PIXEL_FORMAT_MONO_12_PACKED
+ARV_PIXEL_FORMAT_MONO_14
+ARV_PIXEL_FORMAT_MONO_16
+ARV_PIXEL_FORMAT_MONO_8
+ARV_PIXEL_FORMAT_MONO_8_SIGNED
+ARV_PIXEL_FORMAT_RGBA_8_PACKED
+ARV_PIXEL_FORMAT_RGB_10_PACKED
+ARV_PIXEL_FORMAT_RGB_10_PLANAR
+ARV_PIXEL_FORMAT_RGB_12_PACKED
+ARV_PIXEL_FORMAT_RGB_12_PLANAR
+ARV_PIXEL_FORMAT_RGB_16_PLANAR
+ARV_PIXEL_FORMAT_RGB_8_PACKED
+ARV_PIXEL_FORMAT_RGB_8_PLANAR
+ARV_PIXEL_FORMAT_YUV_411_PACKED
+ARV_PIXEL_FORMAT_YUV_422_PACKED
+ARV_PIXEL_FORMAT_YUV_422_YUYV_PACKED
+ARV_PIXEL_FORMAT_YUV_444_PACKED
</SECTION>
<SECTION>
diff --git a/po/Makefile.in.in b/po/Makefile.in.in
index cc8a222..06a8cfe 100644
--- a/po/Makefile.in.in
+++ b/po/Makefile.in.in
@@ -49,8 +49,8 @@ MSGFMT = @MSGFMT@
XGETTEXT = @XGETTEXT@
INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
-MSGMERGE = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --dist
-GENPOT = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --pot
+MSGMERGE = INTLTOOL_EXTRACT="$(INTLTOOL_EXTRACT)" XGETTEXT="$(XGETTEXT)" srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --dist
+GENPOT = INTLTOOL_EXTRACT="$(INTLTOOL_EXTRACT)" XGETTEXT="$(XGETTEXT)" srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --pot
ALL_LINGUAS = @ALL_LINGUAS@
@@ -73,15 +73,20 @@ CATALOGS=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$l
.SUFFIXES:
.SUFFIXES: .po .pox .gmo .mo .msg .cat
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+INTLTOOL_V_MSGFMT = $(INTLTOOL__v_MSGFMT_$(V))
+INTLTOOL__v_MSGFMT_= $(INTLTOOL__v_MSGFMT_$(AM_DEFAULT_VERBOSITY))
+INTLTOOL__v_MSGFMT_0 = @echo " MSGFMT" $@;
+
.po.pox:
$(MAKE) $(GETTEXT_PACKAGE).pot
$(MSGMERGE) $< $(GETTEXT_PACKAGE).pot -o $*.pox
.po.mo:
- $(MSGFMT) -o $@ $<
+ $(INTLTOOL_V_MSGFMT)$(MSGFMT) -o $@ $<
.po.gmo:
- file=`echo $* | sed 's,.*/,,'`.gmo \
+ $(INTLTOOL_V_MSGFMT)file=`echo $* | sed 's,.*/,,'`.gmo \
&& rm -f $$file && $(GMSGFMT) -o $$file $<
.po.cat:
diff --git a/src/arvcamera.c b/src/arvcamera.c
index aa9c898..c450036 100644
--- a/src/arvcamera.c
+++ b/src/arvcamera.c
@@ -335,6 +335,21 @@ arv_camera_get_pixel_format (ArvCamera *camera)
}
/**
+ * arv_camera_get_pixel_format_as_string:
+ * @camera: a #ArvCamera
+ *
+ * Retuns: pixel format as string, NULL on error.
+ */
+
+const char *
+arv_camera_get_pixel_format_as_string (ArvCamera *camera)
+{
+ g_return_val_if_fail (ARV_IS_CAMERA (camera), NULL);
+
+ return arv_device_get_string_feature_value (camera->priv->device, "PixelFormat");
+}
+
+/**
* arv_camera_get_available_pixel_formats:
* @camera: a #ArvCamera
* @n_pixel_formats: (out): number of different pixel formats
diff --git a/src/arvcamera.h b/src/arvcamera.h
index ea28d4e..4214191 100644
--- a/src/arvcamera.h
+++ b/src/arvcamera.h
@@ -73,6 +73,7 @@ void arv_camera_get_binning (ArvCamera *camera, gint *dx, gint *dy);
void arv_camera_set_pixel_format (ArvCamera *camera, ArvPixelFormat format);
ArvPixelFormat arv_camera_get_pixel_format (ArvCamera *camera);
+const char * arv_camera_get_pixel_format_as_string (ArvCamera *camera);
gint64 * arv_camera_get_available_pixel_formats (ArvCamera *camera, guint *n_pixel_formats);
/* Acquisition control */
diff --git a/src/arvenums.h b/src/arvenums.h
index c00517a..bec96ca 100644
--- a/src/arvenums.h
+++ b/src/arvenums.h
@@ -75,80 +75,76 @@ typedef enum {
const char * arv_acquisition_mode_to_string (ArvAcquisitionMode value);
ArvAcquisitionMode arv_acquisition_mode_from_string (const char *string);
-/**
- * ArvPixelFormat:
- */
+/* Grey pixel formats */
-typedef enum {
- /* Grey pixel formats */
+typedef guint32 ArvPixelFormat;
- ARV_PIXEL_FORMAT_MONO_8 = 0x01080001,
- ARV_PIXEL_FORMAT_MONO_8_SIGNED = 0x01080002,
+#define ARV_PIXEL_FORMAT_MONO_8 0x01080001
+#define ARV_PIXEL_FORMAT_MONO_8_SIGNED 0x01080002
- ARV_PIXEL_FORMAT_MONO_10 = 0x01100003,
- ARV_PIXEL_FORMAT_MONO_10_PACKED = 0x010c0004,
+#define ARV_PIXEL_FORMAT_MONO_10 0x01100003
+#define ARV_PIXEL_FORMAT_MONO_10_PACKED 0x010c0004
- ARV_PIXEL_FORMAT_MONO_12 = 0x01100005,
- ARV_PIXEL_FORMAT_MONO_12_PACKED = 0x010c0006,
+#define ARV_PIXEL_FORMAT_MONO_12 0x01100005
+#define ARV_PIXEL_FORMAT_MONO_12_PACKED 0x010c0006
- ARV_PIXEL_FORMAT_MONO_14 = 0x01100025, /* https://bugzilla.gnome.org/show_bug.cgi?id=655131 */
+#define ARV_PIXEL_FORMAT_MONO_14 0x01100025 /* https://bugzilla.gnome.org/show_bug.cgi?id=655131 */
- ARV_PIXEL_FORMAT_MONO_16 = 0x01100007,
+#define ARV_PIXEL_FORMAT_MONO_16 0x01100007
- ARV_PIXEL_FORMAT_BAYER_GR_8 = 0x01080008,
- ARV_PIXEL_FORMAT_BAYER_RG_8 = 0x01080009,
- ARV_PIXEL_FORMAT_BAYER_GB_8 = 0x0108000a,
- ARV_PIXEL_FORMAT_BAYER_BG_8 = 0x0108000b,
+#define ARV_PIXEL_FORMAT_BAYER_GR_8 0x01080008
+#define ARV_PIXEL_FORMAT_BAYER_RG_8 0x01080009
+#define ARV_PIXEL_FORMAT_BAYER_GB_8 0x0108000a
+#define ARV_PIXEL_FORMAT_BAYER_BG_8 0x0108000b
- ARV_PIXEL_FORMAT_BAYER_GR_10 = 0x0110000c,
- ARV_PIXEL_FORMAT_BAYER_RG_10 = 0x0110000d,
- ARV_PIXEL_FORMAT_BAYER_GB_10 = 0x0110000e,
- ARV_PIXEL_FORMAT_BAYER_BG_10 = 0x0110000f,
+#define ARV_PIXEL_FORMAT_BAYER_GR_10 0x0110000c
+#define ARV_PIXEL_FORMAT_BAYER_RG_10 0x0110000d
+#define ARV_PIXEL_FORMAT_BAYER_GB_10 0x0110000e
+#define ARV_PIXEL_FORMAT_BAYER_BG_10 0x0110000f
- ARV_PIXEL_FORMAT_BAYER_GR_12 = 0x01100010,
- ARV_PIXEL_FORMAT_BAYER_RG_12 = 0x01100011,
- ARV_PIXEL_FORMAT_BAYER_GB_12 = 0x01100012,
- ARV_PIXEL_FORMAT_BAYER_BG_12 = 0x01100013,
+#define ARV_PIXEL_FORMAT_BAYER_GR_12 0x01100010
+#define ARV_PIXEL_FORMAT_BAYER_RG_12 0x01100011
+#define ARV_PIXEL_FORMAT_BAYER_GB_12 0x01100012
+#define ARV_PIXEL_FORMAT_BAYER_BG_12 0x01100013
- ARV_PIXEL_FORMAT_BAYER_BG_12_PACKED = 0x010c002d,
+#define ARV_PIXEL_FORMAT_BAYER_BG_12_PACKED 0x010c002d
/* Color pixel formats */
- ARV_PIXEL_FORMAT_RGB_8_PACKED = 0x02180014,
- ARV_PIXEL_FORMAT_BGR_8_PACKED = 0x02180015,
+#define ARV_PIXEL_FORMAT_RGB_8_PACKED 0x02180014
+#define ARV_PIXEL_FORMAT_BGR_8_PACKED 0x02180015
- ARV_PIXEL_FORMAT_RGBA_8_PACKED = 0x02200016,
- ARV_PIXEL_FORMAT_BGRA_8_PACKED = 0x02200017,
+#define ARV_PIXEL_FORMAT_RGBA_8_PACKED 0x02200016
+#define ARV_PIXEL_FORMAT_BGRA_8_PACKED 0x02200017
- ARV_PIXEL_FORMAT_RGB_10_PACKED = 0x02300018,
- ARV_PIXEL_FORMAT_BGR_10_PACKED = 0x02300019,
+#define ARV_PIXEL_FORMAT_RGB_10_PACKED 0x02300018
+#define ARV_PIXEL_FORMAT_BGR_10_PACKED 0x02300019
- ARV_PIXEL_FORMAT_RGB_12_PACKED = 0x0230001a,
- ARV_PIXEL_FORMAT_BGR_12_PACKED = 0x0230001b,
+#define ARV_PIXEL_FORMAT_RGB_12_PACKED 0x0230001a
+#define ARV_PIXEL_FORMAT_BGR_12_PACKED 0x0230001b
- ARV_PIXEL_FORMAT_YUV_411_PACKED = 0x020c001e,
- ARV_PIXEL_FORMAT_YUV_422_PACKED = 0x0210001f,
- ARV_PIXEL_FORMAT_YUV_444_PACKED = 0x02180020,
+#define ARV_PIXEL_FORMAT_YUV_411_PACKED 0x020c001e
+#define ARV_PIXEL_FORMAT_YUV_422_PACKED 0x0210001f
+#define ARV_PIXEL_FORMAT_YUV_444_PACKED 0x02180020
- ARV_PIXEL_FORMAT_RGB_8_PLANAR = 0x02180021,
- ARV_PIXEL_FORMAT_RGB_10_PLANAR = 0x02300022,
- ARV_PIXEL_FORMAT_RGB_12_PLANAR = 0x02300023,
- ARV_PIXEL_FORMAT_RGB_16_PLANAR = 0x02300024,
+#define ARV_PIXEL_FORMAT_RGB_8_PLANAR 0x02180021
+#define ARV_PIXEL_FORMAT_RGB_10_PLANAR 0x02300022
+#define ARV_PIXEL_FORMAT_RGB_12_PLANAR 0x02300023
+#define ARV_PIXEL_FORMAT_RGB_16_PLANAR 0x02300024
- ARV_PIXEL_FORMAT_YUV_422_YUYV_PACKED = 0x02100032,
+#define ARV_PIXEL_FORMAT_YUV_422_YUYV_PACKED 0x02100032
/* Custom */
- ARV_PIXEL_FORMAT_CUSTOM_BAYER_GR_12_PACKED = 0x810c0001,
- ARV_PIXEL_FORMAT_CUSTOM_BAYER_RG_12_PACKED = 0x810c0002,
- ARV_PIXEL_FORMAT_CUSTOM_BAYER_GB_12_PACKED = 0x810c0003,
- ARV_PIXEL_FORMAT_CUSTOM_BAYER_BG_12_PACKED = 0x810c0004,
- ARV_PIXEL_FORMAT_CUSTOM_YUV_422_YUYV_PACKED = 0x82100005,
- ARV_PIXEL_FORMAT_CUSTOM_BAYER_GR_16 = 0x81100006,
- ARV_PIXEL_FORMAT_CUSTOM_BAYER_RG_16 = 0x81100007,
- ARV_PIXEL_FORMAT_CUSTOM_BAYER_GB_16 = 0x81100008,
- ARV_PIXEL_FORMAT_CUSTOM_BAYER_BG_16 = 0x81100009
-} ArvPixelFormat;
+#define ARV_PIXEL_FORMAT_CUSTOM_BAYER_GR_12_PACKED 0x810c0001
+#define ARV_PIXEL_FORMAT_CUSTOM_BAYER_RG_12_PACKED 0x810c0002
+#define ARV_PIXEL_FORMAT_CUSTOM_BAYER_GB_12_PACKED 0x810c0003
+#define ARV_PIXEL_FORMAT_CUSTOM_BAYER_BG_12_PACKED 0x810c0004
+#define ARV_PIXEL_FORMAT_CUSTOM_YUV_422_YUYV_PACKED 0x82100005
+#define ARV_PIXEL_FORMAT_CUSTOM_BAYER_GR_16 0x81100006
+#define ARV_PIXEL_FORMAT_CUSTOM_BAYER_RG_16 0x81100007
+#define ARV_PIXEL_FORMAT_CUSTOM_BAYER_GB_16 0x81100008
+#define ARV_PIXEL_FORMAT_CUSTOM_BAYER_BG_16 0x81100009
G_END_DECLS
diff --git a/viewer/arvviewer.c b/viewer/arvviewer.c
index d28e4f2..6f5740a 100644
--- a/viewer/arvviewer.c
+++ b/viewer/arvviewer.c
@@ -42,6 +42,8 @@ typedef struct {
ArvStream *stream;
ArvBuffer *last_buffer;
+ const char *pixel_format_string;
+
GstElement *pipeline;
GstElement *appsrc;
@@ -342,25 +344,6 @@ arv_viewer_release_camera (ArvViewer *viewer)
viewer->last_timestamp = 0;
}
-static const char *
-arv_enum_to_string (GType type,
- guint enum_value)
-{
- GEnumClass *enum_class;
- GEnumValue *value;
- const char *retval = NULL;
-
- enum_class = g_type_class_ref (type);
-
- value = g_enum_get_value (enum_class, enum_value);
- if (value)
- retval = value->value_nick;
-
- g_type_class_unref (enum_class);
-
- return retval;
-}
-
void
arv_viewer_snapshot_cb (GtkButton *button, ArvViewer *viewer)
{
@@ -387,8 +370,7 @@ arv_viewer_snapshot_cb (GtkButton *button, ArvViewer *viewer)
arv_camera_get_device_id (viewer->camera),
viewer->last_buffer->width,
viewer->last_buffer->height,
- arv_enum_to_string (ARV_TYPE_PIXEL_FORMAT,
- viewer->last_buffer->pixel_format),
+ viewer->pixel_format_string != NULL ? viewer->pixel_format_string : "Unknown",
date_string);
path = g_build_filename (g_get_user_special_dir (G_USER_DIRECTORY_PICTURES),
"Aravis", filename, NULL);
@@ -460,6 +442,7 @@ arv_viewer_select_camera_cb (GtkComboBox *combo_box, ArvViewer *viewer)
arv_camera_get_region (viewer->camera, NULL, NULL, &width, &height);
pixel_format = arv_camera_get_pixel_format (viewer->camera);
+ viewer->pixel_format_string = arv_camera_get_pixel_format_as_string (viewer->camera);
arv_camera_get_exposure_time_bounds (viewer->camera, &viewer->exposure_min, &viewer->exposure_max);
arv_camera_get_gain_bounds (viewer->camera, &gain_min, &gain_max);
frame_rate = arv_camera_get_frame_rate (viewer->camera);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]