--- gst-openmax-0.10.0.4+ti1.5.4.1.orig/debian/changelog +++ gst-openmax-0.10.0.4+ti1.5.4.1/debian/changelog @@ -0,0 +1,177 @@ +gst-openmax (0.10.0.4+ti1.5.4.1-1) oneiric; urgency=low + + * New upstream release, based on commit 0fcde578 + + -- Olivier Naudan Mon, 23 Apr 2012 06:50:02 -0400 + +gst-openmax (0.10.0.4+ti1.5.3.3-1) oneiric; urgency=low + + * New upstream release, based on commit b9e09e53 + + -- Olivier Naudan Tue, 20 Dec 2011 11:05:11 -0500 + +gst-openmax (0.10.0.4+ti1.5.3.2-1) oneiric; urgency=low + + * New upstream release, based on commit d80e88cc + + -- Olivier Naudan Mon, 19 Dec 2011 07:37:54 -0500 + +gst-openmax (0.10.0.4+ti1.5.3.1-1) oneiric; urgency=low + + * Migration to oneiric. Same upstream with a different version number + * CFLAGS: do not consider compiler warnings as errors + + -- Olivier Naudan Wed, 07 Dec 2011 08:33:05 -0500 + +gst-openmax (0.10.0.4+ti0.24.15.4-3) maverick; urgency=low + + * Reworked the patch on the OMX element table + + -- Olivier Naudan Wed, 30 Nov 2011 11:06:51 +0100 + +gst-openmax (0.10.0.4+ti0.24.15.4-1) maverick; urgency=low + + * New upstream release, based on commit 9d107fd1 + * Use dh-autoreconf instead of autogen hack + + -- Olivier Naudan Wed, 19 Oct 2011 14:11:45 +0100 + +gst-openmax (0.10.0.4+ti0.24.15.3-1) maverick; urgency=low + + * New upstream release, based on commit 34045d70 + * Removed an upstreamed debian/patches (mpeg2 support) + * Removed the timer-32k.h patch that is now upstreamed + * Combined and refreshed the patches on the OMX element table + + -- Olivier Naudan Wed, 05 Oct 2011 17:36:14 +0100 + +gst-openmax (0.10.0.4+ti0.24.15.2-0ubuntu1) maverick; urgency=low + + * New upstream release, based on commit 08defe2a + + -- Olivier Naudan Tue, 19 Jul 2011 19:52:29 +0100 + +gst-openmax (0.10.0.4+ti0.24.14.5-0ubuntu1) maverick; urgency=low + + * New upstream release, based on commit b61c55e8 + + -- Olivier Naudan Fri, 08 Jul 2011 10:51:20 +0100 + +gst-openmax (0.10.0.4+ti0.24.14.4-0ubuntu1) maverick; urgency=low + + * New upstream release, based on commit 036f42b35 + + -- Olivier Naudan Thu, 07 Jul 2011 16:37:10 +0100 + +gst-openmax (0.10.0.4+ti0.24.14.3-0ubuntu1) maverick; urgency=low + + * Realigned the upstream branch on commit 02662b61 + * Removed a patch that revert a commit that is no more upstream + + -- Olivier Naudan Wed, 06 Jul 2011 12:46:49 +0100 + +gst-openmax (0.10.0.4+ti0.24.14.2-0ubuntu2) maverick; urgency=low + + * Added a patch to revert a change that breaks play/pause + + -- Olivier Naudan Fri, 01 Jul 2011 19:45:10 +0100 + +gst-openmax (0.10.0.4+ti0.24.14.2-0ubuntu1) maverick; urgency=low + + * New upstream release, 0.10.0.4 plus TI changes (commit 9d7b6dbd) + * Removed patches that are now upstreamed + * debian/control: Added dependency on gstreamer0.10-plugins-bad-dev + * Added patch for mpeg2 support + + -- Olivier Naudan Mon, 27 Jun 2011 16:25:31 +0100 + +gst-openmax (0.10.0.4+ti0.24.13.3-0ubuntu1) maverick; urgency=low + + * New upstream release, 0.10.0.4 plus TI changes (commit e6d64c00). + * Added a patch: resume port in ready to paused transition + * Removed the patch about camera pads ALWAYS presence + + -- Olivier Naudan Wed, 01 June 2011 14:11:03 +0100 + +gst-openmax (0.10.0.4+ti0.24.13.2-0ubuntu2) maverick; urgency=low + + * Added camerabin2 patches, pending upstream approval. + + -- Olivier Naudan Fri, 20 May 2011 14:00:00 +0100 + +gst-openmax (0.10.0.4+ti0.24.13.2-0ubuntu1) maverick; urgency=low + + * New upstream release, 0.10.0.4 plus TI changes (tag L24.13). + * Removed patches that are now upstreamed + + -- Olivier Naudan Mon, 16 May 2011 14:00:00 +0100 + +gst-openmax (0.10.0.4+ti0.24.13.1-0ubuntu1) maverick; urgency=low + + * New upstream release, 0.10.0.4 plus TI changes + from latest gst-24.13-rc (commit a0fa792c). + * Rebased debian/patches + + -- Olivier Naudan Tue, 10 May 2011 13:00:00 +0100 + +gst-openmax (0.10.0.4+ti0.24.12.2-0ubuntu1+cm1) maverick; urgency=low + + * omx_camera patches + basefilter stability patch + + -- Alessandro Decina Mon, 09 May 2011 09:38:37 +0200 + +gst-openmax (0.10.0.4+ti0.24.12.2-0ubuntu1) maverick; urgency=low + + * New upstream release, 0.10.0.4 plus TI changes + from latest gst-24.12-rc (commit fd9d8c29). + + -- Olivier Naudan Mon, 02 May 2011 13:00:00 +0100 + +gst-openmax (0.10.0.4+ti0.24.12.1-0ubuntu1) maverick; urgency=low + + * New upstream release, 0.10.0.4 plus TI changes from + latest gst-24.12-rc (commit ec2ab0bf). + * Added a patch that removes bellagio related elements, not available on TI platform + * Refreshed the tempory patch about 32k timer + * DOMX library was renamed + * Fixed -dbg package which was empty + + -- Olivier Naudan Wed, 13 Apr 2011 16:00:00 +0100 + +gst-openmax (0.10.0.4+ti0.24.11.3-0ubuntu1) maverick; urgency=low + + * New upstream release, 0.10.0.4 plus TI changes from latest gst-24.11-rc. + + -- Olivier Naudan Thu, 20 Jan 2011 16:00:00 +0100 + +gst-openmax (0.10.0.4+ti0.24.11.2-0ubuntu2) maverick; urgency=low + + * Added a temporary patch to access OMAP 32K timer (not yet exported by the kernel) + * Updated build dependencies + + -- Olivier Naudan Thu, 16 Dec 2010 13:00:00 +0100 + +gst-openmax (0.10.0.4+ti0.24.11.2-0ubuntu1) maverick; urgency=low + + * New upstream release, 0.10.0.4 plus TI changes from gst-24.11-rc. + * Removed the focus region patch that is now upstream. + + -- Olivier Naudan Fri, 03 Dec 2010 18:00:00 +0100 + +gst-openmax (0.10.0.4+ti0.24.11~rc1-0ubuntu1) maverick; urgency=low + + * Added focus region patch for camera + + -- David Bercovitz Thu, 11 Nov 2010 11:00:25 +0100 + +gst-openmax (0.10.0.4+ti0.24.10.1-0ubuntu2) maverick; urgency=low + + * New upstream release, 0.10.0.4 plus TI changes from gst-24.10-rc + + -- Olivier Naudan Mon, 18 Oct 2010 15:00:00 +0200 + +gst-openmax (0.10.0.4+ti0.24.9.rc1-0ubuntu4) maverick; urgency=low + + * New upstream relase, 0.10.0.4 plus TI changes from 0.24.9.rc1 + + -- David Bercovitz Fri, 24 Sep 2010 12:00:00 +0200 --- gst-openmax-0.10.0.4+ti1.5.4.1.orig/debian/copyright +++ gst-openmax-0.10.0.4+ti1.5.4.1/debian/copyright @@ -0,0 +1,43 @@ + This package was debianized by Marc-Andre Lureau + on Thu, 06 Mar 2008 11:20:29 +0200 + + It was downloaded from . + + Upstream Author + =============== + + Felipe Contreras + + + Copyright + ========= + + Copyright (C) 2007-2008 Nokia Corporation. All rights reserved. + + + Licensing + ========= + + All files, unless otherwise specified, are under the LGPL version 2.1. + + + + LGPL 2.1 + -------- + + 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; either + version 2.1 of the License, or (at your option) any later version. + + This package 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 package; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +On Debian systems, the complete text of the GNU Lesser General +Public License can be found in `/usr/share/common-licenses/LGPL'. --- gst-openmax-0.10.0.4+ti1.5.4.1.orig/debian/compat +++ gst-openmax-0.10.0.4+ti1.5.4.1/debian/compat @@ -0,0 +1 @@ +7 --- gst-openmax-0.10.0.4+ti1.5.4.1.orig/debian/gstreamer0.10-openmax.install +++ gst-openmax-0.10.0.4+ti1.5.4.1/debian/gstreamer0.10-openmax.install @@ -0,0 +1 @@ +debian/tmp/usr/lib/gstreamer-0.10/libgstomx.so --- gst-openmax-0.10.0.4+ti1.5.4.1.orig/debian/control +++ gst-openmax-0.10.0.4+ti1.5.4.1/debian/control @@ -0,0 +1,41 @@ +Source: gst-openmax +Maintainer: Maemo Multimedia +XSBC-Maintainer: Maintainers of GStreamer packages +XSBC-Uploaders: Marc-Andre Lureau , Loic Minier +Section: libs +Priority: optional +Standards-Version: 3.8.4 +Build-Depends: debhelper (>= 7.4.20), + cdbs (>= 0.4.43), + autotools-dev, + libtool, + pkg-config, + dpkg-dev (>= 1.13.19), + dh-autoreconf, + libgstreamer0.10-dev ( >= 0.10.30-1+ti0.24.12), + libgstreamer-plugins-base0.10-dev ( >= 0.10.30-2+ti0.24.12), + gstreamer0.10-plugins-bad-dev (>= 0.10.20-1ubuntu1+ti0.24.11), + libtiopenmax-domx-dev (>= 0.24.12) +Vcs-Svn: svn:///svn.debian.org/pkg-gstreamer/experimental/gst-openmax +Vcs-Browser: http://svn.debian.org/wsvn/pkg-gstreamer/experimental/gst-openmax +Homepage: http://freedesktop.org/wiki/GstOpenMAX + +Package: gstreamer0.10-openmax +Architecture: armel +Section: libs +Depends: ${misc:Depends}, ${shlibs:Depends}, libtiopenmax-domx1 (>= 0.24.12) +Suggests: libomxil-bellagio0, libomxil-ti0 +Description: gst-openmax is a GStreamer plug-in that allows communication with + OpenMAX IL components. + . + Multiple OpenMAX IL implementations can be used, including but not limited to + Texas Instruments and Bellagio. + +Package: gstreamer0.10-openmax-dbg +Section: debug +Priority: extra +Architecture: armel +Depends: ${misc:Depends}, gstreamer0.10-openmax (= ${binary:Version}) +Description: Debug symbols for gst-openmax. + gst-openmax is a GStreamer plug-in that allows communication with + OpenMAX IL components. --- gst-openmax-0.10.0.4+ti1.5.4.1.orig/debian/rules +++ gst-openmax-0.10.0.4+ti1.5.4.1/debian/rules @@ -0,0 +1,21 @@ +#!/usr/bin/make -f + +include /usr/share/cdbs/1/rules/debhelper.mk +include /usr/share/cdbs/1/class/autotools.mk +include /usr/share/cdbs/1/rules/simple-patchsys.mk +include /usr/share/cdbs/1/rules/utils.mk +include /usr/share/cdbs/1/rules/autoreconf.mk + +DEB_DH_STRIP_ARGS := --dbg-package=gstreamer0.10-openmax-dbg + +# Add here any variable or target overrides you need. +CFLAGS += -Wno-error + +makebuilddir/gstreamer0.10-openmax:: + echo $(DEB_VERSION) > .version + +binary-install/gstreamer0.10-openmax:: + rm -f debian/gstreamer0.10-openmax/usr/lib/gstreamer-0.10/*.la + rm -f debian/gstreamer0.10-openmax/usr/lib/gstreamer-0.10/*.a + +DEB_MAKE_INSTALL_TARGET := install DESTDIR=$(CURDIR)/debian/tmp/ --- gst-openmax-0.10.0.4+ti1.5.4.1.orig/debian/patches/0050-Reworked-GST-rank-for-OMX-elements.patch +++ gst-openmax-0.10.0.4+ti1.5.4.1/debian/patches/0050-Reworked-GST-rank-for-OMX-elements.patch @@ -0,0 +1,79 @@ +From 655999974ed6a30ddb3d3a849d8020ea7777ef7f Mon Sep 17 00:00:00 2001 +From: Olivier Naudan +Date: Fri, 25 Nov 2011 16:27:04 +0100 +Subject: [PATCH] Reworked GST rank for OMX elements: + * OMX decoder ranks are reduced, so that DCE or ffmpeg decoders are prefered. + * The following elements are disabled, as not available in Ducati firmware or not supported: + - VP6, VP7 and WMV video decoders. + - JPEG codec. + * All TI audio decoders and non-TI elements are removed. + +--- + omx/gstomx.c | 51 +++++++++++++++------------------------------------ + 1 files changed, 15 insertions(+), 36 deletions(-) + +diff --git a/omx/gstomx.c b/omx/gstomx.c +index 7290016..a0568d9 100644 +--- a/omx/gstomx.c ++++ b/omx/gstomx.c +@@ -74,42 +74,21 @@ typedef struct TableItem + + static TableItem element_table[] = + { +- { "omx_dummy", "libOMX_Core.so", "OMX.TI.DUCATI1.MISC.SAMPLE", NULL, GST_RANK_NONE, gst_omx_dummy_get_type }, +- { "omx_mpeg4dec", "libOMX_Core.so", "OMX.TI.DUCATI1.VIDEO.DECODER", "video_decoder.mpeg4", GST_RANK_PRIMARY, gst_omx_mpeg4dec_get_type }, +- { "omx_mpeg2dec", "libOMX_Core.so", "OMX.TI.DUCATI1.VIDEO.DECODER", "video_decoder.mpeg2", GST_RANK_PRIMARY, gst_omx_mpeg2dec_get_type }, +- { "omx_vc1dec", "libOMX_Core.so", "OMX.TI.DUCATI1.VIDEO.DECODER", "video_decoder.wmv", GST_RANK_PRIMARY, gst_omx_vc1dec_get_type }, +- { "omx_h264dec", "libOMX_Core.so", "OMX.TI.DUCATI1.VIDEO.DECODER", "video_decoder.avc", GST_RANK_PRIMARY, gst_omx_h264dec_get_type }, +- { "omx_h263dec", "libOMX_Core.so", "OMX.TI.DUCATI1.VIDEO.DECODER", "video_decoder.h263", GST_RANK_PRIMARY, gst_omx_h263dec_get_type }, +- { "omx_vp6dec", "libOMX_Core.so", "OMX.TI.DUCATI1.VIDEO.DECODER", "video_decoder.vp6", GST_RANK_PRIMARY, gst_omx_vp6dec_get_type }, +- { "omx_vp7dec", "libOMX_Core.so", "OMX.TI.DUCATI1.VIDEO.DECODER", "video_decoder.vp7", GST_RANK_PRIMARY, gst_omx_vp7dec_get_type }, +- { "omx_wmvdec", "libOMX_Core.so", "OMX.TI.Video.Decoder", NULL, GST_RANK_NONE, gst_omx_wmvdec_get_type }, +- { "omx_mpeg4enc", "libOMX_Core.so", "OMX.TI.DUCATI1.VIDEO.MPEG4E", NULL, GST_RANK_PRIMARY, gst_omx_mpeg4enc_get_type }, +- { "omx_h264enc", "libOMX_Core.so", "OMX.TI.DUCATI1.VIDEO.H264E", NULL, GST_RANK_PRIMARY, gst_omx_h264enc_get_type }, +- { "omx_h263enc", "libOMX_Core.so", "OMX.TI.DUCATI1.VIDEO.MPEG4E", NULL, GST_RANK_PRIMARY, gst_omx_h263enc_get_type }, +- { "omx_vorbisdec", "libomxil-bellagio.so.0", "OMX.st.audio_decoder.ogg.single", NULL, GST_RANK_NONE, gst_omx_vorbisdec_get_type }, +- { "omx_mp3dec", "libOMX_Core.so", "OMX.TI.AUDIO.DECODE", "audio_decode.dsp.mp3", GST_RANK_NONE, gst_omx_mp3dec_get_type }, +- { "omx_mp2dec", "libomxil-bellagio.so.0", "OMX.st.audio_decoder.mp3.mad", NULL, GST_RANK_NONE, gst_omx_mp2dec_get_type }, +- { "omx_amrnbdec", "libomxil-bellagio.so.0", "OMX.st.audio_decoder.amrnb", NULL, GST_RANK_NONE, gst_omx_amrnbdec_get_type }, +- { "omx_amrnbenc", "libomxil-bellagio.so.0", "OMX.st.audio_encoder.amrnb", NULL, GST_RANK_NONE, gst_omx_amrnbenc_get_type }, +- { "omx_amrwbdec", "libomxil-bellagio.so.0", "OMX.st.audio_decoder.amrwb", NULL, GST_RANK_NONE, gst_omx_amrwbdec_get_type }, +- { "omx_amrwbenc", "libomxil-bellagio.so.0", "OMX.st.audio_encoder.amrwb", NULL, GST_RANK_NONE, gst_omx_amrwbenc_get_type }, +- { "omx_aacdec", "libOMX_Core.so", "OMX.TI.AUDIO.DECODE", "audio_decode.dsp.aac", GST_RANK_NONE, gst_omx_aacdec_get_type }, +- { "omx_aacenc", "libOMX_Core.so", "OMX.TI.AUDIO.ENCODE", "audio_encode.dsp.aac", GST_RANK_NONE, gst_omx_aacenc_get_type }, +- { "omx_adpcmdec", "libomxil-bellagio.so.0", "OMX.st.audio_decoder.adpcm", NULL, GST_RANK_NONE, gst_omx_adpcmdec_get_type }, +- { "omx_adpcmenc", "libomxil-bellagio.so.0", "OMX.st.audio_encoder.adpcm", NULL, GST_RANK_NONE, gst_omx_adpcmenc_get_type }, +- { "omx_g711dec", "libomxil-bellagio.so.0", "OMX.st.audio_decoder.g711", NULL, GST_RANK_NONE, gst_omx_g711dec_get_type }, +- { "omx_g711enc", "libomxil-bellagio.so.0", "OMX.st.audio_encoder.g711", NULL, GST_RANK_NONE, gst_omx_g711enc_get_type }, +- { "omx_g729dec", "libomxil-bellagio.so.0", "OMX.st.audio_decoder.g729", NULL, GST_RANK_NONE, gst_omx_g729dec_get_type }, +- { "omx_g729enc", "libomxil-bellagio.so.0", "OMX.st.audio_encoder.g729", NULL, GST_RANK_NONE, gst_omx_g729enc_get_type }, +- { "omx_ilbcdec", "libomxil-bellagio.so.0", "OMX.st.audio_decoder.ilbc", NULL, GST_RANK_NONE, gst_omx_ilbcdec_get_type }, +- { "omx_ilbcenc", "libomxil-bellagio.so.0", "OMX.st.audio_encoder.ilbc", NULL, GST_RANK_NONE, gst_omx_ilbcenc_get_type }, +- { "omx_jpegenc", "libOMX_Core.so", "OMX.TI.JPEG.encoder", NULL, GST_RANK_NONE, gst_omx_jpegenc_get_type }, +- { "omx_jpegdec", "libOMX_Core.so", "OMX.TI.DUCATI1.IMAGE.JPEGD", NULL, GST_RANK_NONE, gst_omx_jpegdec_get_type }, +- { "omx_audiosink", "libomxil-bellagio.so.0", "OMX.st.alsa.alsasink", NULL, GST_RANK_NONE, gst_omx_audiosink_get_type }, +- { "omx_videosink", "libomxil-bellagio.so.0", "OMX.st.videosink", NULL, GST_RANK_NONE, gst_omx_videosink_get_type }, +- { "omx_filereadersrc", "libomxil-bellagio.so.0", "OMX.st.audio_filereader", NULL, GST_RANK_NONE, gst_omx_filereadersrc_get_type }, +- { "omx_volume", "libomxil-bellagio.so.0", "OMX.st.volume.component", NULL, GST_RANK_NONE, gst_omx_volume_get_type }, +- { "omx_camera", "libOMX_Core.so", "OMX.TI.DUCATI1.VIDEO.CAMERA", NULL, GST_RANK_PRIMARY, gst_omx_camera_get_type }, ++ { "omx_dummy", "libOMX_Core.so.0", "OMX.TI.DUCATI1.MISC.SAMPLE", NULL, GST_RANK_NONE, gst_omx_dummy_get_type }, ++ { "omx_mpeg4dec", "libOMX_Core.so.0", "OMX.TI.DUCATI1.VIDEO.DECODER", "video_decoder.mpeg4", GST_RANK_NONE+1, gst_omx_mpeg4dec_get_type }, ++ { "omx_mpeg2dec", "libOMX_Core.so.0", "OMX.TI.DUCATI1.VIDEO.DECODER", "video_decoder.mpeg2", GST_RANK_NONE+1, gst_omx_mpeg2dec_get_type }, ++ { "omx_vc1dec", "libOMX_Core.so.0", "OMX.TI.DUCATI1.VIDEO.DECODER", "video_decoder.wmv", GST_RANK_NONE+1, gst_omx_vc1dec_get_type }, ++ { "omx_h264dec", "libOMX_Core.so.0", "OMX.TI.DUCATI1.VIDEO.DECODER", "video_decoder.avc", GST_RANK_NONE+1, gst_omx_h264dec_get_type }, ++ { "omx_h263dec", "libOMX_Core.so.0", "OMX.TI.DUCATI1.VIDEO.DECODER", "video_decoder.h263", GST_RANK_NONE+1, gst_omx_h263dec_get_type }, ++ { "omx_vp6dec", "libOMX_Core.so.0", "OMX.TI.DUCATI1.VIDEO.DECODER", "video_decoder.vp6", GST_RANK_NONE, gst_omx_vp6dec_get_type }, ++ { "omx_vp7dec", "libOMX_Core.so.0", "OMX.TI.DUCATI1.VIDEO.DECODER", "video_decoder.vp7", GST_RANK_NONE, gst_omx_vp7dec_get_type }, ++ { "omx_wmvdec", "libOMX_Core.so.0", "OMX.TI.Video.Decoder", NULL, GST_RANK_NONE, gst_omx_wmvdec_get_type }, ++ { "omx_mpeg4enc", "libOMX_Core.so.0", "OMX.TI.DUCATI1.VIDEO.MPEG4E", NULL, GST_RANK_NONE+1, gst_omx_mpeg4enc_get_type }, ++ { "omx_h264enc", "libOMX_Core.so.0", "OMX.TI.DUCATI1.VIDEO.H264E", NULL, GST_RANK_NONE+1, gst_omx_h264enc_get_type }, ++ { "omx_h263enc", "libOMX_Core.so.0", "OMX.TI.DUCATI1.VIDEO.MPEG4E", NULL, GST_RANK_NONE+1, gst_omx_h263enc_get_type }, ++ { "omx_jpegenc", "libOMX_Core.so.0", "OMX.TI.JPEG.encoder", NULL, GST_RANK_NONE, gst_omx_jpegenc_get_type }, ++ { "omx_jpegdec", "libOMX_Core.so.0", "OMX.TI.DUCATI1.IMAGE.JPEGD", NULL, GST_RANK_NONE, gst_omx_jpegdec_get_type }, ++ { "omx_camera", "libOMX_Core.so.0", "OMX.TI.DUCATI1.VIDEO.CAMERA", NULL, GST_RANK_PRIMARY, gst_omx_camera_get_type }, + { NULL, NULL, NULL, NULL, 0, NULL }, + }; + +-- +1.7.1 + --- gst-openmax-0.10.0.4+ti1.5.4.1.orig/debian/source/format +++ gst-openmax-0.10.0.4+ti1.5.4.1/debian/source/format @@ -0,0 +1 @@ +1.0